consistent whitespace and line endings