# This is a list of contributors to the Closure Linter.

# Names should be added to this file like so:
# Name or Organization <email address>

Google Inc.
