This file is a list of the people responsible for ensuring that patches for a
particular part of LLDB are reviewed, either by themself or by someone else.
They are also the gatekeepers for their part of LLDB, 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), and snail-mail address
(S).

N: Greg Clayton
E: clayborg@gmail.com
D: Overall LLDB architecture, Host (common+macosx), Symbol, API, ABI, Mac-specific code, 
D: DynamicLoader, ObjectFile, IOHandler, EditLine, Core/Value*, Watchpoints, debugserver
D: Build scripts, Test suite, Platform, gdb-remote, Anything not covered by this file

N: Jim Ingham
E: jingham@apple.com
D: Overall LLDB architecture, Thread plans, Expression parser, ValueObject, Breakpoints, ABI
D: Watchpoints, Trampolines, Target, Command Interpreter, C++ / Objective-C Language runtime
D: Expression evaluator, IR interpreter, Clang integration
D: Data Formatters

N: Ilia K
E: ki.stfu@gmail.com
D: lldb-mi

N: Ed Maste
E: emaste@freebsd.org
D: FreeBSD

N: Jason Molenda
E: jmolenda@apple.com
D: ABI, Disassembler, Unwinding, iOS, debugserver, Platform, ObjectFile, SymbolFile, 
D: SymbolVendor, DWARF, gdb-remote

N: Hafiz Abid Qadeer
E: abidh.haq@gmail.com
D: lldb-mi

N: Kamil Rytarowski
E: kamil@netbsd.org
D: NetBSD

N: Zachary Turner
E: zturner@google.com
D: CMake build, Host (common+windows), Plugins/Process/Windows, Anything Windows-specific
D: Test suite

N: Pavel Labath
E: labath@google.com
D: Linux, Android
