# Names should be added to this file with this pattern:
#
# For individuals:
#   Name <email address>
#
# For organizations:
#   Organization <fnmatch pattern>
#

Google Inc. <*@google.com>

Alexandre Ardhuin <alexandre.ardhuin@gmail.com>
Honza Bittner <git@honzabittner.cz>
Patrice Chalin <pchalin@gmail.com>
Maxim Dikun <dikmax@gmail.com>
Xavier Hainaux <xavier.hainaux@gmail.com>
Alexey Knyazev <lexa.knyazev@gmail.com>
Jawahar <jawahars_16@live.in>
Keisuke Kishida <kishidak@tcd.ie>
Guillermo López-Anglada <guillermo.lopez@outlook.com>
Juan Pablo Paulsen <juanpablo.paulsen@gmail.com>
Cameron Steffen <cam.steffen94@gmail.com>
Ivan Tugay <listepo@gmail.com>
Rohan Vanheusden <rohan.vanheusden@gmail.com>
