# Names should be added to this file with this pattern:
#
# For individuals:
#   Name <email address>
#
# For organizations:
#   Organization <fnmatch pattern>
#
# See python fnmatch module documentation for more information.

Aaron Jacobs <samusaaron3@gmail.com>
Aaron Leventhal <aaronlevbugs@gmail.com>
Aaron Randolph <aaron.randolph@gmail.com>
Adenilson Cavalcanti <a.cavalcanti@partner.samsung.com>
Aditya Bhargava <heuristicist@gmail.com>
Alex Gartrell <agartrell@cmu.edu>
Alex Scheele <alexscheele@gmail.com>
Alexander Sulfrian <alexander@sulfrian.net>
Alexandre Abreu <wiss1976@gmail.com>
Alexandru Chiculita <achicu@adobe.com>
Alexey Korepanov <alexkorep@gmail.com>
Ali Vathi <ali.akbar@gmail.com>
Amruth Raj <amruthraj@motorola.com>
Amruth Raj <ckqr36@motorola.com>
Anastasios Cassiotis <tom.cassiotis@gmail.com>
Andrei Parvu <andrei.prv@gmail.com>
Andrei Parvu <parvu@adobe.com>
Andrew Brampton <me@bramp.net>
Arthur Lussos <developer0420@gmail.com>
Arun Mankuzhi <arun.m@samsung.com>
Bem Jones-Bey <bemajaniman@gmail.com>
Bem Jones-Bey <bjonesbe@adobe.com>
Ben Karel <eschew@gmail.com>
Benjamin Jemlich <pcgod99@gmail.com>
Bernard Cafarelli <voyageur@gentoo.org>
Bobby Powers <bobbypowers@gmail.com>
Brian G. Merrell <bgmerrell@gmail.com>
Brian Merrell, Novell Inc. <bgmerrell@gmail.com>
Bruno Calvignac <bruno@flock.com>
Bruno de Oliveira Abinader <bruno.d@partner.samsung.com>
Bryan Donlan <bdonlan@gmail.com>
Byungwoo Lee <bw80.lee@samsung.com>
Caio Marcelo de Oliveira Filho <caio.de.oliveira.filho@intel.com>
Catalin Badea <badea@adobe.com>
Cem Kocagil <cem.kocagil@gmail.com>
Chamal De Silva <chamalsl@yahoo.com>
Chandra Shekar Vallala <brk376@motorola.com>
Changbin Shao <changbin.shao@intel.com>
Chaobin Zhang <zhchbin@gmail.com>
Christophe Dumez <ch.dumez@sisa.samsung.com>
Christopher Dale <chrelad@gmail.com>
Clemens Fruhwirth <clemens@endorphin.org>
Clement Scheelfeldt Skau <clementskau@gmail.com>
Clinton Staley <clintstaley@chromium.org>
Clinton Staley <clintstaley@gmail.com>
Code Aurora Forum <*@codeaurora.org>
Craig Schlenter <craig.schlenter@gmail.com>
Dai Chunyang <chunyang.dai@intel.com>
Daniel Nishi <dhnishi@gmail.com>
Daniel Trebbien <dtrebbien@gmail.com>
David Benjamin <davidben@mit.edu>
David Futcher <david.mike.futcher@gmail.com>
Devlin Cronin <rdevlin.cronin@gmail.com>
Dillon Sellars <dill.sellars@gmail.com>
Dominic Jodoin <dominic.jodoin@gmail.com>
Don Woodward <woodward@adobe.com>
Dongseong Hwang <dongseong.hwang@intel.com>
Edward Crossman <tedoc2000@gmail.com>
Ehsan Akhgari <ehsan.akhgari@gmail.com>
Eric Rescorla <ekr@rtfm.com>
Erik Hill <erikghill@gmail.com>
Erik Sjölund <erik.sjolund@gmail.com>
Eriq Augustine <eriq.augustine@gmail.com>
Etienne Laurin <etienne@atnnn.com>
Evan Peterson <evan.peterson.ep@gmail.com>
Evan Wallace <evan.exe@gmail.com>
Evangelos Foutras <evangelos@foutrelis.com>
Fabien Tassin <fta@sofaraway.org>
Felix H. Dahlke <fhd@ubercode.de>
François Beaufort <beaufort.francois@gmail.com>
Francois Kritzinger <francoisk777@gmail.com>
Gaetano Mendola <mendola@gmail.com>
Gajendra Singh <wxjg68@motorola.com>
Gao Chun <gaochun.dev@gmail.com>
Giuseppe Iuculano <giuseppe@iuculano.it>
Glenn Adams <glenn@chromium.org>
Goutham Jagannatha <wrm364@motorola.com>
Grzegorz Czajkowski <g.czajkowski@samsung.com>
Gyuyoung Kim <gyuyoung.kim@samsung.com>
Haitao Feng <haitao.feng@intel.com>
Halton Huo <halton.huo@intel.com>
Haojian Wu <hokein.wu@gmail.com>
Hongbo Min <hongbo.min@intel.com>
Horia Olaru <horia.olaru@gmail.com>
Horia Olaru <olaru@adobe.com>
Ibrar Ahmed <ibrar.ahmad@gmail.com>
Ion Rosca <rosca@adobe.com>
J. Ryan Stinnett <jryans@chromium.org>
Jacob Mandelson <jacob@mandelson.org>
Jaime Soriano Pastor <jsorianopastor@gmail.com>
Jake Helfert <jake@helfert.us>
Jakob Weigert <jakob.j.w@googlemail.com>
James Choi <jchoi42@pha.jhu.edu>
James Vega <vega.james@gmail.com>
James Wei <james.wei@intel.com>
James Willcox <jwillcox@litl.com>
Janwar Dinata <j.dinata@gmail.com>
Jared Shumway <jaredshumway94@gmail.com>
Jared Wein <weinjared@gmail.com>
Jay Soffian <jaysoffian@gmail.com>
Jesse Miller <jesse@jmiller.biz>
Jesus Sanchez-Palencia <jesus.sanchez-palencia.fernandez.fil@intel.com>
Jin Yang <jin.a.yang@intel.com>
Jingwei Liu <kingweiliu@gmail.com>
Jinwoo Song <jinwoo7.song@samsung.com>
Joe Knoll <joe.knoll@workday.com>
Joe Thomas <mhx348@motorola.com>
Joel Stanley <joel@jms.id.au>
Johannes Rudolph <johannes.rudolph@googlemail.com>
John Yani <vanuan@gmail.com>
Joone Hur <joone.hur@intel.com>
Jorge Villatoro <jorge@tomatocannon.com>
Joseph Gentle <josephg@gmail.com>
Josh Triplett <josh.triplett@intel.com>
Joshua Lock <joshua.lock@intel.com>
Joshua Roesslein <jroesslein@gmail.com>
Josué Ratelle <jorat1346@gmail.com>
Jun Jiang <jun.a.jiang@intel.com>
Junmin Zhu <junmin.zhu@intel.com>
Kamil Jiwa <kamil.jiwa@gmail.com>
Kangil Han <kangil.han@samsung.com>
Kangyuan Shu <kangyuan.shu@intel.com>
Kaspar Brand <googlecontrib@velox.ch>
Kaustubh Atrawalkar <kaustubh.ra@gmail.com>
Keene Pan <keenepan@linpus.com>
Kenneth Rohde Christiansen <kenneth.r.christiansen@intel.com>
Kevin Lee Helpingstine <sig11@reprehensible.net>
Kevin M. McCormick <mckev@amazon.com>
Kihong Kwon <kihong.kwon@samsung.com>
Kim Christensen <kimworking@gmail.com>
Kunal Thakar <kunalt@gmail.com>
Kushal Pisavadia <kushi.p@gmail.com>
Kyle Nahrgang <kpn24@drexel.edu>
Laszlo Gombos <l.gombos@samsung.com>
Laszlo Radanyi <bekkra@gmail.com>
Lauri Oherd <lauri.oherd@gmail.com>
Leith Bade <leith@leithalweapon.geek.nz>
Li Yin <li.yin@intel.com>
Lu Guanqun <guanqun.lu@gmail.com>
Luke Zarko <lukezarko@gmail.com>
Maarten Lankhorst <m.b.lankhorst@gmail.com>
Magnus Danielsson <fuzzac@gmail.com>
Mao Yujie <maojie0924@gmail.com>
Mao Yujie <yujie.mao@intel.com>
Marco Rodrigues <gothicx@gmail.com>
Mark Hahnenberg <mhahnenb@andrew.cmu.edu>
Mark Seaborn <mrs@mythic-beasts.com>
Martin Bednorz <m.s.bednorz@gmail.com>
Masahiro Yado <yado.masa@gmail.com>
Matheus Bratfisch <matheusbrat@gmail.com>
Mathias Bynens <mathias@qiwi.be>
Matt Arpidone <mma.public@gmail.com>
Matthew Robertson <matthewrobertson03@gmail.com>
Matthew Willis <appamatto@gmail.com>
Matthias Reitinger <reimarvin@gmail.com>
Max Perepelitsyn <pph34r@gmail.com>
Max Vujovic <mvujovic@adobe.com>
Michael Gilbert <floppymaster@gmail.com>
Michael Zugelder <michael@zugelder.org>
Mihai Maerean <mmaerean@adobe.com>
Mihai Tica <mihai.o.tica@gmail.com>
Mihai Tica <mitica@adobe.com>
Mike Tilburg <mtilburg@adobe.com>
Mingmin Xie <melvinxie@gmail.com>
Mirela Budaes <mbudaes@gmail.com>
Mirela Budaes <mbudaes@adobe.com>
Mitchell Rosen <mitchellwrosen@chromium.org>
Mohamed I. Hammad <ibraaaa@gmail.com>
Mohamed Mansour <m0.interactive@gmail.com>
Mrunal Kapade <mrunal.kapade@intel.com>
Myles C. Maxfield <mymax@amazon.com>
Naoki Takano <takano.naoki@gmail.com>
Naveen Bobbili <naveenbobbili@motorola.com>
Naveen Bobbili <qghc36@motorola.com>
Nayan Kumar K <qtc746@motorola.com>
Nikita Ofitserov <himikof@gmail.com>
Ningxin Hu <ningxin.hu@intel.com>
Pan Deng <pan.deng@intel.com>
Parag Radke <nrqv63@motorola.com>
Patrasciuc Sorin Cristian <cristian.patrasciuc@gmail.com>
Patrick Riordan <patrickriordan177@gmail.com>
Paul Kehrer <paul.l.kehrer@gmail.com>
Paul Lind <paul.lind@imgtec.com>
Paul Nettleship <pnettleship@gmail.com>
Paul Robinson <paulrobinson85@googlemail.com>
Paul Wicks <pwicks86@gmail.com>
Pavel Ivanov <paivanof@gmail.com>
Paweł Hajdan jr <phajdan.jr@gmail.com>
Petar Jovanovic <petarj@mips.com>
Peter Beverloo <peter@chromium.org>
Peter Bright <drpizza@quiscalusmexicanus.org>
Peter Brophy <pbrophy@adobe.com>
Peter Collingbourne <peter@pcc.me.uk>
Philippe Beauchamp <philippe.beauchamp@gmail.com>
Philippe Beaudoin <philippe.beaudoin@gmail.com>
Pierre-Antoine LaFayette <pierre.lafayette@gmail.com>
Po-Chun Chang <pochang0403@gmail.com>
Qiankun Miao <qiankun.miao@intel.com>
Radu Stavila <stavila@adobe.com>
Raman Tenneti <raman.tenneti@gmail.com>
Ramkumar Gokarnesan <ramkumar.gokarnesan@gmail.com>
Ramkumar Ramachandra <artagnon@gmail.com>
Randy Posynick <randy.posynick@gmail.com>
Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com>
Rene Bolldorf <rb@radix.io>
Rijubrata Bhaumik <rijubrata.bhaumik@intel.com>
Robert Bear Travis <bear.travis@gmail.com>
Robert Bear Travis <betravis@adobe.com>
Robert Goldberg <goldberg@adobe.com>
Robert Nagy <robert.nagy@gmail.com>
Robert Sesek <rsesek@bluestatic.org>
Rosen Dash <nqk836@motorola.com>
Rosen Dash <rosen.dash@gmail.com>
ruben <chromium@hybridsource.org>
Ruben Terrazas <rubentopo@gmail.com>
Ryan Norton <rnorton10@gmail.com>
Ryan Sleevi <ryan-chromium-dev@sleevi.com>
Ryuan Choi <ryuan.choi@samsung.com>
Sam Larison <qufighter@gmail.com>
Sam McDonald <sam@sammcd.com>
Sanjoy Pal <ncj674@motorola.com>
Sanjoy Pal <sanjoy.pal@samsung.com>
Sanne Wouda <sanne.wouda@gmail.com>
Sathish Kuppuswamy <sathish.kuppuswamy@intel.com>
Satoshi Matsuzaki <satoshi.matsuzaki@gmail.com>
Sean Bryant <sean@cyberwang.net>
Seo Sanghyeon <sanxiyn@gmail.com>
Seokju Kwon <seokju.kwon@gmail.com>
Sergio Carlos Morales Angeles <carloschilazo@gmail.com>
Sergiy Byelozyorov <rryk.ua@gmail.com>
Seshadri Mahalingam <seshadri.mahalingam@gmail.com>
Sevan Janiyan <venture37@geeklan.co.uk>
ShankarGanesh K <blr.bmlab@gmail.com>
Shez Baig <sbaig1@bloomberg.net>
Shiliu Wang <aofdwsl@gmail.com>
Shouqun Liu <shouqun.liu@intel.com>
Shreyas VA <v.a.shreyas@gmail.com>
Simon Arlott <simon.arlott@gmail.com>
Song YeWen <ffmpeg@gmail.com>
Stephen Searles <stephen.searles@gmail.com>
Steven Pennington <spenn@engr.uvic.ca>
Suchit Agrawal <a.suchit@samsung.com>
Sudarsana Babu Nagineni <sudarsana.nagineni@intel.com>
Sudarshan Parthasarathy <sudarshan.p@samsung.com>
Sungguk Lim <limasdf@gmail.com>
Sungmann Cho <sungmann.cho@gmail.com>
Sylvain Zimmer <sylvinus@gmail.com>
Szymon Piechowicz <szymonpiechowicz@o2.pl>
Taylor Price <trprice@gmail.com>
Ted Vessenes <tedvessenes@gmail.com>
Teodora Novkovic <teodora.petrovic@gmail.com>
Thiago Farina <thiago.farina@gmail.com>
Tiago Vignatti <tiago.vignatti@intel.com>
Timo Reimann <ttr314@googlemail.com>
Torsten Kurbad <google@tk-webart.de>
Trevor Perrin <unsafe@trevp.net>
Umar Hansa <umar.hansa@gmail.com>
Vamshikrishna Yellenki <vamshi@motorola.com>
Vedran Šajatović <vedran.sajatovic@gmail.com>
Vernon Tang <vt@foilhead.net>
Viatcheslav Ostapenko <sl.ostapenko@samsung.com>
Viet-Trung Luu <viettrungluu@gmail.com>
Vinay Anantharaman <vinaya@adobe.com>
Vipul Bhasin <vipul.bhasin@gmail.com>
Vivek Galatage <vivek.vg@samsung.com>
Will Hirsch <chromium@willhirsch.co.uk>
Xinchao He <hexinchao@gmail.com>
Xu Samuel <samuel.xu@intel.com>
Yael Aharon <yael.aharon@intel.com>
Yair Yogev <progame@chromium.org>
Yandex LLC <*@yandex-team.ru>
Yang Gu <yang.gu@intel.com>
Yarin Kaul <yarin.kaul@gmail.com>
Yoav Zilberberg <yoav.zilberberg@gmail.com>
Yong Shin <sy3620@gmail.com>
Yongsheng Zhu <yongsheng.zhu@intel.com>
Yoshinori Sano <yoshinori.sano@gmail.com>
YoungKi Hong <simon.hong81@gmail.com>
Yumikiyo Osanai <yumios.art@gmail.com>
Yuri Gorobets <yuri.gorobets@gmail.com>
Zeno Albisser <zeno.albisser@digia.com>
Zheng Chuang <zhengchuangscu@gmail.com>
方觉 (Fang Jue) <fangjue23303@gmail.com>

Comodo CA Limited
Google Inc. <*@google.com>
NVIDIA Corporation <*@nvidia.com>
Opera Software ASA <*@opera.com>
The Chromium Authors <*@chromium.org>
The MathWorks, Inc. <binod.pant@mathworks.com>
Torchmobile Inc.
