# Owners of the critical parts of this repository.
# This file is meant to be included as needed using the syntax:
# file://CRITICAL_OWNERS (this form must be used with per-file)
# TODO(fxb/38171): Use `include` imports instead of `file:`, once the recipe
# roller supports it.
# Keep sorted.
atyfto@google.com
ihuh@google.com
maruel@google.com
mohrr@google.com
olivernewman@google.com
