This file is a list of the people responsible for ensuring that patches for a
particular part of BOLT are reviewed, either by themself or by someone else.
They are also the gatekeepers for their part of BOLT, with the final word on
what goes in or not.

The list is sorted by surname and formatted to allow easy grepping and
beautification by scripts. The fields are: name (N), email (E), web-address
(W), PGP key ID and fingerprint (P), description (D), snail-mail address
(S) and (I) IRC handle. Each entry should contain at least the (N), (E) and
(D) fields.

N: Maksim Panchenko, Rafael Auler
E: maks@fb.com, rafaelauler@fb.com
D: All parts not covered by someone else

N: Alexander Yermolovich
E: ayermolo@fb.com
D: DWARF support

N: Vladislav Khmelevsky
E: och95@yandex.ru
D: AArch64 backend
