#
# This list is used by git-shortlog to aggregate contributions.  It is
# necessary when either the author's full name is not always written
# the same way, and/or the same author contributes from different
# email addresses.
#

Aaron Todd <github@opprobrio.us>
Ahmed Charles <ahmedcharles@gmail.com> <acharles@outlook.com>
Alex Lyon <arcterus@mail.com> <Arcterus@mail.com>
Alex Rønne Petersen <alex@lycus.org>
Andreas Gal <gal@mozilla.com> <andreas.gal@gmail.com>
Andrew Poelstra <asp11@sfu.ca> <apoelstra@wpsoftware.net>
Anton Löfgren <anton.lofgren@gmail.com> <alofgren@op5.com>
Ariel Ben-Yehuda <arielb1@mail.tau.ac.il> <ariel.byd@gmail.com>
Austin Seipp <mad.one@gmail.com> <as@hacks.yi.org>
Ben Alpert <ben@benalpert.com> <spicyjalapeno@gmail.com>
Benjamin Jackman <ben@jackman.biz>
Björn Steinbrink <bsteinbr@gmail.com> <B.Steinbrink@gmx.de>
blake2-ppc <ulrik.sverdrup@gmail.com> <blake2-ppc>
Boris Egorov <jightuse@gmail.com> <egorov@linux.com>
Brian Anderson <banderson@mozilla.com> <andersrb@gmail.com>
Brian Dawn <brian.t.dawn@gmail.com>
Carl-Anton Ingmarsson <mail@carlanton.se> <ca.ingmarsson@gmail.com>
Carol Willing <carolcode@willingconsulting.com>
Chris Pressey <cpressey@gmail.com>
Clark Gaebel <cg.wowus.cg@gmail.com> <cgaebel@mozilla.com>
David Klein <david.klein@baesystemsdetica.com>
David Manescu <david.manescu@gmail.com> <dman2626@uni.sydney.edu.au>
Damien Schoof <damien.schoof@gmail.com>
Derek Chiang <derekchiang93@gmail.com> Derek Chiang (Enchi Jiang) <derekchiang93@gmail.com>
Dylan Braithwaite <dylanbraithwaite1@gmail.com> <mail@dylanb.me>
Eduardo Bautista <me@eduardobautista.com> <mail@eduardobautista.com>
Eduardo Bautista <me@eduardobautista.com> <=>
Elliott Slaughter <elliottslaughter@gmail.com> <eslaughter@mozilla.com>
Elly Fong-Jones <elly@leptoquark.net>
Eric Holk <eric.holk@gmail.com> <eholk@mozilla.com>
Eric Holk <eric.holk@gmail.com> <eholk@cs.indiana.edu>
Eric Holmes <eric@ejholmes.net>
Eric Reed <ecreed@cs.washington.edu> <ereed@mozilla.com>
Erick Tryzelaar <erick.tryzelaar@gmail.com> <etryzelaar@iqt.org>
Evgeny Sologubov
Falco Hirschenberger <falco.hirschenberger@gmail.com> <hirschen@itwm.fhg.de>
Gareth Daniel Smith <garethdanielsmith@gmail.com>
Georges Dubus <georges.dubus@gmail.com> <georges.dubus@compiletoi.net>
Graham Fawcett <fawcett@uwindsor.ca> <graham.fawcett@gmail.com>
Graydon Hoare <graydon@mozilla.com> <graydon@pobox.com>
Heather <heather@cynede.net> <Heather@cynede.net>
Heather <heather@cynede.net> <Cynede@Gentoo.org>
Ilyong Cho <ilyoan@gmail.com>
J. J. Weber <jjweber@gmail.com>
Jakub Bukaj <jakub@jakub.cc>
Jakub Bukaj <jakub@jakub.cc> <jakubw@jakubw.net>
James Deng <cnjamesdeng@gmail.com> <cnJamesDeng@gmail.com>
James Miller <bladeon@gmail.com> <james@aatch.net>
Jason Orendorff <jorendorff@mozilla.com> <jason@mozmac-2.local>
Jason Orendorff <jorendorff@mozilla.com> <jason.orendorff@gmail.com>
Jeremy Letang <letang.jeremy@gmail.com>
Jihyun Yu <jihyun@nclab.kaist.ac.kr> jihyun <jihyun@nablecomm.com>
Jihyun Yu <jihyun@nclab.kaist.ac.kr> <yjh0502@gmail.com>
John Clements <clements@racket-lang.org> <clements@brinckerhoff.org>
Jorge Aparicio <japaric@linux.com> <japaricious@gmail.com>
Jonathan Bailey <jbailey@mozilla.com> <jbailey@jbailey-20809.local>
Junyoung Cho <june0.cho@samsung.com>
Jyun-Yan You <jyyou.tw@gmail.com> <jyyou@cs.nctu.edu.tw>
Kang Seonghoon <kang.seonghoon@mearie.org> <public+git@mearie.org>
Keegan McAllister <kmcallister@mozilla.com> <mcallister.keegan@gmail.com>
Kyeongwoon Lee <kyeongwoon.lee@samsung.com>
Lee Wondong <wdlee91@gmail.com>
Lennart Kudling <github@kudling.de>
Lindsey Kuper <lindsey@composition.al> <lindsey@rockstargirl.org>
Lindsey Kuper <lindsey@composition.al> <lkuper@mozilla.com>
Luqman Aden <me@luqman.ca> <laden@mozilla.com>
Luqman Aden <me@luqman.ca> <laden@csclub.uwaterloo.ca>
Luke Metz <luke.metz@students.olin.edu>
Makoto Nakashima <makoto.nksm+github@gmail.com> <makoto.nksm@gmail.com>
Makoto Nakashima <makoto.nksm+github@gmail.com> gifnksm <makoto.nksm+github@gmail.com>
Margaret Meyerhofer <mmeyerho@andrew.cmu.edu> <mmeyerho@andrew>
Mark Sinclair <mark.edward.x@gmail.com>
Mark Sinclair <mark.edward.x@gmail.com> =Mark Sinclair <=125axel125@gmail.com>
Matt Brubeck <mbrubeck@limpet.net> <mbrubeck@cs.hmc.edu>
Matthew Auld <matthew.auld@intel.com>
Matthew McPherrin <matthew@mcpherrin.ca> <matt@mcpherrin.ca>
Matthijs Hofstra <thiezz@gmail.com>
Michael Williams <m.t.williams@live.com>
Michael Woerister <michaelwoerister@gmail> <michaelwoerister@gmail.com>
Michael Woerister <michaelwoerister@gmail> <michaelwoerister@posteo>
Neil Pankey <npankey@gmail.com> <neil@wire.im>
Philipp Brüschweiler <blei42@gmail.com> <blei42@gmail.com>
Philipp Brüschweiler <blei42@gmail.com> <bruphili@student.ethz.ch>
Pradeep Kumar <gohanpra@gmail.com>
Richard Diamond <wichard@vitalitystudios.com> <wichard@hahbee.co>
Rob Arnold <robarnold@cs.cmu.edu>
Robert Gawdzik <rgawdzik@hotmail.com> Robert Gawdzik ☢ <rgawdzik@hotmail.com>
Robert Millar <robert.millar@cantab.net>
Ryan Scheel <ryan.havvy@gmail.com>
Seonghyun Kim <sh8281.kim@samsung.com>
Simon Barber-Dueck <sbarberdueck@gmail.com> Simon BD <simon@server>
Simon Sapin <simon@exyr.org> <simon.sapin@exyr.org>
startling <tdixon51793@gmail.com>
Steven Fackler <sfackler@gmail.com> <sfackler@palantir.com>
Steven Stewart-Gallus <sstewartgallus00@langara.bc.ca> <sstewartgallus00@mylangara.bc.ca>
Tim Chevalier <chevalier@alum.wellesley.edu> <catamorphism@gmail.com>
Torsten Weber <TorstenWeber12@gmail.com> <torstenweber12@gmail.com>
William Ting <io@williamting.com> <william.h.ting@gmail.com>
Youngsoo Son <ysson83@gmail.com> <ysoo.son@samsung.com>
Zack Corr <zack@z0w0.me> <zackcorr95@gmail.com>
Zack Slayton <zack.slayton@gmail.com>
