# Build team
cjmcdonald@chromium.org
lamontjones@chromium.org
nednguyen@google.com
saklein@chromium.org
vapier@chromium.org

# CI team
andrewlamb@chromium.org
dburger@chromium.org
dhanyaganesh@chromium.org
jclinton@chromium.org
mikenichols@chromium.org
seanabraham@chromium.org

# Test team
ayatane@chromium.org
pprabhu@chromium.org

# Chrome Fleet team
xixuan@chromium.org

# Infra team
shapiroc@chromium.org

# Allow anyone to update the proto file descriptor.
per-file descpb.bin=*
per-file go/*=*
