# People who have agreed to one of the CLAs and can contribute patches.
# The AUTHORS file lists the copyright holders; this file
# lists people.  For example, Google employees are listed here
# but not in AUTHORS, because Google holds the copyright.
#
# https://developers.google.com/open-source/cla/individual
# https://developers.google.com/open-source/cla/corporate
#
# Names should be added to this file as:
#     Name <email address>

Alex Deymo <deymo@google.com>
Alex Vakulenko <avakulenko@google.com>
Anton Muhin <antonm@google.com>
Bertrand Simonnet <bsimonnet@google.com>
Chris Sosa <sosa@google.com>
Christopher Wiley <wiley@google.com>
Daniel Erat <derat@google.com>
David Paul <davepaul@google.com>
David Zeuthen <zeuthen@google.com>
Gene Gutnik <gene@google.com>
Gerry Fan <gfan@google.com>
Jacob Marble <jacobmarble@google.com>
Johan Euphrosine <proppy@google.com>
Mike Frysinger <vapier@google.com>
Nathan Bullock <nathanbullock@google.com>
Robert Ginda <rginda@google.com>
Stefan Sauer <ensonic@google.com>
Vitaly Buka <vitalybuka@google.com>
Yunlian Jiang <yunlian@google.com>
