diff --git a/api/api_proto/projects_pb2.py b/api/api_proto/projects_pb2.py
index c9cd3c4..2341ad6 100644
--- a/api/api_proto/projects_pb2.py
+++ b/api/api_proto/projects_pb2.py
@@ -2,9 +2,9 @@
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
 # source: api/api_proto/projects.proto
 """Generated protocol buffer code."""
+from google.protobuf.internal import builder as _builder
 from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
+from google.protobuf import descriptor_pool as _descriptor_pool
 from google.protobuf import symbol_database as _symbol_database
 # @@protoc_insertion_point(imports)
 
@@ -15,1406 +15,70 @@
 from api.api_proto import project_objects_pb2 as api_dot_api__proto_dot_project__objects__pb2
 
 
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='api/api_proto/projects.proto',
-  package='monorail',
-  syntax='proto3',
-  serialized_options=b'Z\'infra/monorailv2/api/api_proto;monorail',
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\x1c\x61pi/api_proto/projects.proto\x12\x08monorail\x1a\x1a\x61pi/api_proto/common.proto\x1a#api/api_proto/project_objects.proto\"<\n\x13ListProjectsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"T\n\x14ListProjectsResponse\x12#\n\x08projects\x18\x01 \x03(\x0b\x32\x11.monorail.Project\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"3\n\x1bListProjectTemplatesRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x1cListProjectTemplatesResponse\x12(\n\ttemplates\x18\x01 \x03(\x0b\x32\x15.monorail.TemplateDef\"(\n\x10GetConfigRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"4\n\x1cGetPresentationConfigRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"3\n\x1bGetCustomPermissionsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"3\n\x1cGetCustomPermissionsResponse\x12\x13\n\x0bpermissions\x18\x01 \x03(\t\"0\n\x18GetVisibleMembersRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"h\n\x19GetVisibleMembersResponse\x12$\n\tuser_refs\x18\x01 \x03(\x0b\x32\x11.monorail.UserRef\x12%\n\ngroup_refs\x18\x02 \x03(\x0b\x32\x11.monorail.UserRef\".\n\x16GetLabelOptionsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"f\n\x17GetLabelOptionsResponse\x12)\n\rlabel_options\x18\x01 \x03(\x0b\x32\x12.monorail.LabelDef\x12 \n\x18\x65xclusive_label_prefixes\x18\x02 \x03(\t\"+\n\x13ListStatusesRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"\x8e\x01\n\x14ListStatusesResponse\x12(\n\x0bstatus_defs\x18\x01 \x03(\x0b\x32\x13.monorail.StatusDef\x12\x31\n\x14statuses_offer_merge\x18\x02 \x03(\x0b\x32\x13.monorail.StatusRef\x12\x19\n\x11restrict_to_known\x18\x03 \x01(\x08\"I\n\x15ListComponentsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1a\n\x12include_admin_info\x18\x03 \x01(\x08\"H\n\x16ListComponentsResponse\x12.\n\x0e\x63omponent_defs\x18\x01 \x03(\x0b\x32\x16.monorail.ComponentDef\"c\n\x11ListFieldsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1a\n\x12include_admin_info\x18\x03 \x01(\x08\x12\x1c\n\x14include_user_choices\x18\x04 \x01(\x08\"<\n\x12ListFieldsResponse\x12&\n\nfield_defs\x18\x01 \x03(\x0b\x32\x12.monorail.FieldDef\"2\n\x1aGetProjectStarCountRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"1\n\x1bGetProjectStarCountResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\";\n\x12StarProjectRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x0f\n\x07starred\x18\x03 \x01(\x08\")\n\x13StarProjectResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\"/\n\x17\x43heckProjectNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\")\n\x18\x43heckProjectNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"^\n\x19\x43heckComponentNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x13\n\x0bparent_path\x18\x03 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x04 \x01(\t\"+\n\x1a\x43heckComponentNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"A\n\x15\x43heckFieldNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x12\n\nfield_name\x18\x03 \x01(\t\"\'\n\x16\x43heckFieldNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t2\xc3\n\n\x08Projects\x12O\n\x0cListProjects\x12\x1d.monorail.ListProjectsRequest\x1a\x1e.monorail.ListProjectsResponse\"\x00\x12g\n\x14ListProjectTemplates\x12%.monorail.ListProjectTemplatesRequest\x1a&.monorail.ListProjectTemplatesResponse\"\x00\x12;\n\tGetConfig\x12\x1a.monorail.GetConfigRequest\x1a\x10.monorail.Config\"\x00\x12_\n\x15GetPresentationConfig\x12&.monorail.GetPresentationConfigRequest\x1a\x1c.monorail.PresentationConfig\"\x00\x12g\n\x14GetCustomPermissions\x12%.monorail.GetCustomPermissionsRequest\x1a&.monorail.GetCustomPermissionsResponse\"\x00\x12^\n\x11GetVisibleMembers\x12\".monorail.GetVisibleMembersRequest\x1a#.monorail.GetVisibleMembersResponse\"\x00\x12X\n\x0fGetLabelOptions\x12 .monorail.GetLabelOptionsRequest\x1a!.monorail.GetLabelOptionsResponse\"\x00\x12O\n\x0cListStatuses\x12\x1d.monorail.ListStatusesRequest\x1a\x1e.monorail.ListStatusesResponse\"\x00\x12U\n\x0eListComponents\x12\x1f.monorail.ListComponentsRequest\x1a .monorail.ListComponentsResponse\"\x00\x12I\n\nListFields\x12\x1b.monorail.ListFieldsRequest\x1a\x1c.monorail.ListFieldsResponse\"\x00\x12\x64\n\x13GetProjectStarCount\x12$.monorail.GetProjectStarCountRequest\x1a%.monorail.GetProjectStarCountResponse\"\x00\x12L\n\x0bStarProject\x12\x1c.monorail.StarProjectRequest\x1a\x1d.monorail.StarProjectResponse\"\x00\x12[\n\x10\x43heckProjectName\x12!.monorail.CheckProjectNameRequest\x1a\".monorail.CheckProjectNameResponse\"\x00\x12\x61\n\x12\x43heckComponentName\x12#.monorail.CheckComponentNameRequest\x1a$.monorail.CheckComponentNameResponse\"\x00\x12U\n\x0e\x43heckFieldName\x12\x1f.monorail.CheckFieldNameRequest\x1a .monorail.CheckFieldNameResponse\"\x00\x42)Z\'infra/monorailv2/api/api_proto;monorailb\x06proto3'
-  ,
-  dependencies=[api_dot_api__proto_dot_common__pb2.DESCRIPTOR,api_dot_api__proto_dot_project__objects__pb2.DESCRIPTOR,])
+DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1c\x61pi/api_proto/projects.proto\x12\x08monorail\x1a\x1a\x61pi/api_proto/common.proto\x1a#api/api_proto/project_objects.proto\"<\n\x13ListProjectsRequest\x12\x11\n\tpage_size\x18\x01 \x01(\x05\x12\x12\n\npage_token\x18\x02 \x01(\t\"T\n\x14ListProjectsResponse\x12#\n\x08projects\x18\x01 \x03(\x0b\x32\x11.monorail.Project\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"3\n\x1bListProjectTemplatesRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"H\n\x1cListProjectTemplatesResponse\x12(\n\ttemplates\x18\x01 \x03(\x0b\x32\x15.monorail.TemplateDef\"(\n\x10GetConfigRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"4\n\x1cGetPresentationConfigRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"3\n\x1bGetCustomPermissionsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"3\n\x1cGetCustomPermissionsResponse\x12\x13\n\x0bpermissions\x18\x01 \x03(\t\"0\n\x18GetVisibleMembersRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"h\n\x19GetVisibleMembersResponse\x12$\n\tuser_refs\x18\x01 \x03(\x0b\x32\x11.monorail.UserRef\x12%\n\ngroup_refs\x18\x02 \x03(\x0b\x32\x11.monorail.UserRef\".\n\x16GetLabelOptionsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"f\n\x17GetLabelOptionsResponse\x12)\n\rlabel_options\x18\x01 \x03(\x0b\x32\x12.monorail.LabelDef\x12 \n\x18\x65xclusive_label_prefixes\x18\x02 \x03(\t\"+\n\x13ListStatusesRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"\x8e\x01\n\x14ListStatusesResponse\x12(\n\x0bstatus_defs\x18\x01 \x03(\x0b\x32\x13.monorail.StatusDef\x12\x31\n\x14statuses_offer_merge\x18\x02 \x03(\x0b\x32\x13.monorail.StatusRef\x12\x19\n\x11restrict_to_known\x18\x03 \x01(\x08\"I\n\x15ListComponentsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1a\n\x12include_admin_info\x18\x03 \x01(\x08\"H\n\x16ListComponentsResponse\x12.\n\x0e\x63omponent_defs\x18\x01 \x03(\x0b\x32\x16.monorail.ComponentDef\"c\n\x11ListFieldsRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x1a\n\x12include_admin_info\x18\x03 \x01(\x08\x12\x1c\n\x14include_user_choices\x18\x04 \x01(\x08\"<\n\x12ListFieldsResponse\x12&\n\nfield_defs\x18\x01 \x03(\x0b\x32\x12.monorail.FieldDef\"2\n\x1aGetProjectStarCountRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\"1\n\x1bGetProjectStarCountResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\";\n\x12StarProjectRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x0f\n\x07starred\x18\x03 \x01(\x08\")\n\x13StarProjectResponse\x12\x12\n\nstar_count\x18\x01 \x01(\r\"/\n\x17\x43heckProjectNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\")\n\x18\x43heckProjectNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"^\n\x19\x43heckComponentNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x13\n\x0bparent_path\x18\x03 \x01(\t\x12\x16\n\x0e\x63omponent_name\x18\x04 \x01(\t\"+\n\x1a\x43heckComponentNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\"A\n\x15\x43heckFieldNameRequest\x12\x14\n\x0cproject_name\x18\x02 \x01(\t\x12\x12\n\nfield_name\x18\x03 \x01(\t\"\'\n\x16\x43heckFieldNameResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t2\xc3\n\n\x08Projects\x12O\n\x0cListProjects\x12\x1d.monorail.ListProjectsRequest\x1a\x1e.monorail.ListProjectsResponse\"\x00\x12g\n\x14ListProjectTemplates\x12%.monorail.ListProjectTemplatesRequest\x1a&.monorail.ListProjectTemplatesResponse\"\x00\x12;\n\tGetConfig\x12\x1a.monorail.GetConfigRequest\x1a\x10.monorail.Config\"\x00\x12_\n\x15GetPresentationConfig\x12&.monorail.GetPresentationConfigRequest\x1a\x1c.monorail.PresentationConfig\"\x00\x12g\n\x14GetCustomPermissions\x12%.monorail.GetCustomPermissionsRequest\x1a&.monorail.GetCustomPermissionsResponse\"\x00\x12^\n\x11GetVisibleMembers\x12\".monorail.GetVisibleMembersRequest\x1a#.monorail.GetVisibleMembersResponse\"\x00\x12X\n\x0fGetLabelOptions\x12 .monorail.GetLabelOptionsRequest\x1a!.monorail.GetLabelOptionsResponse\"\x00\x12O\n\x0cListStatuses\x12\x1d.monorail.ListStatusesRequest\x1a\x1e.monorail.ListStatusesResponse\"\x00\x12U\n\x0eListComponents\x12\x1f.monorail.ListComponentsRequest\x1a .monorail.ListComponentsResponse\"\x00\x12I\n\nListFields\x12\x1b.monorail.ListFieldsRequest\x1a\x1c.monorail.ListFieldsResponse\"\x00\x12\x64\n\x13GetProjectStarCount\x12$.monorail.GetProjectStarCountRequest\x1a%.monorail.GetProjectStarCountResponse\"\x00\x12L\n\x0bStarProject\x12\x1c.monorail.StarProjectRequest\x1a\x1d.monorail.StarProjectResponse\"\x00\x12[\n\x10\x43heckProjectName\x12!.monorail.CheckProjectNameRequest\x1a\".monorail.CheckProjectNameResponse\"\x00\x12\x61\n\x12\x43heckComponentName\x12#.monorail.CheckComponentNameRequest\x1a$.monorail.CheckComponentNameResponse\"\x00\x12U\n\x0e\x43heckFieldName\x12\x1f.monorail.CheckFieldNameRequest\x1a .monorail.CheckFieldNameResponse\"\x00\x42)Z\'infra/monorailv2/api/api_proto;monorailb\x06proto3')
 
+_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
+_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'api.api_proto.projects_pb2', globals())
+if _descriptor._USE_C_DESCRIPTORS == False:
 
-
-
-_LISTPROJECTSREQUEST = _descriptor.Descriptor(
-  name='ListProjectsRequest',
-  full_name='monorail.ListProjectsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='page_size', full_name='monorail.ListProjectsRequest.page_size', index=0,
-      number=1, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='page_token', full_name='monorail.ListProjectsRequest.page_token', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=107,
-  serialized_end=167,
-)
-
-
-_LISTPROJECTSRESPONSE = _descriptor.Descriptor(
-  name='ListProjectsResponse',
-  full_name='monorail.ListProjectsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='projects', full_name='monorail.ListProjectsResponse.projects', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='next_page_token', full_name='monorail.ListProjectsResponse.next_page_token', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=169,
-  serialized_end=253,
-)
-
-
-_LISTPROJECTTEMPLATESREQUEST = _descriptor.Descriptor(
-  name='ListProjectTemplatesRequest',
-  full_name='monorail.ListProjectTemplatesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.ListProjectTemplatesRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=255,
-  serialized_end=306,
-)
-
-
-_LISTPROJECTTEMPLATESRESPONSE = _descriptor.Descriptor(
-  name='ListProjectTemplatesResponse',
-  full_name='monorail.ListProjectTemplatesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='templates', full_name='monorail.ListProjectTemplatesResponse.templates', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=308,
-  serialized_end=380,
-)
-
-
-_GETCONFIGREQUEST = _descriptor.Descriptor(
-  name='GetConfigRequest',
-  full_name='monorail.GetConfigRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.GetConfigRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=382,
-  serialized_end=422,
-)
-
-
-_GETPRESENTATIONCONFIGREQUEST = _descriptor.Descriptor(
-  name='GetPresentationConfigRequest',
-  full_name='monorail.GetPresentationConfigRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.GetPresentationConfigRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=424,
-  serialized_end=476,
-)
-
-
-_GETCUSTOMPERMISSIONSREQUEST = _descriptor.Descriptor(
-  name='GetCustomPermissionsRequest',
-  full_name='monorail.GetCustomPermissionsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.GetCustomPermissionsRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=478,
-  serialized_end=529,
-)
-
-
-_GETCUSTOMPERMISSIONSRESPONSE = _descriptor.Descriptor(
-  name='GetCustomPermissionsResponse',
-  full_name='monorail.GetCustomPermissionsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='permissions', full_name='monorail.GetCustomPermissionsResponse.permissions', index=0,
-      number=1, type=9, cpp_type=9, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=531,
-  serialized_end=582,
-)
-
-
-_GETVISIBLEMEMBERSREQUEST = _descriptor.Descriptor(
-  name='GetVisibleMembersRequest',
-  full_name='monorail.GetVisibleMembersRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.GetVisibleMembersRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=584,
-  serialized_end=632,
-)
-
-
-_GETVISIBLEMEMBERSRESPONSE = _descriptor.Descriptor(
-  name='GetVisibleMembersResponse',
-  full_name='monorail.GetVisibleMembersResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='user_refs', full_name='monorail.GetVisibleMembersResponse.user_refs', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='group_refs', full_name='monorail.GetVisibleMembersResponse.group_refs', index=1,
-      number=2, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=634,
-  serialized_end=738,
-)
-
-
-_GETLABELOPTIONSREQUEST = _descriptor.Descriptor(
-  name='GetLabelOptionsRequest',
-  full_name='monorail.GetLabelOptionsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.GetLabelOptionsRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=740,
-  serialized_end=786,
-)
-
-
-_GETLABELOPTIONSRESPONSE = _descriptor.Descriptor(
-  name='GetLabelOptionsResponse',
-  full_name='monorail.GetLabelOptionsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='label_options', full_name='monorail.GetLabelOptionsResponse.label_options', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='exclusive_label_prefixes', full_name='monorail.GetLabelOptionsResponse.exclusive_label_prefixes', index=1,
-      number=2, type=9, cpp_type=9, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=788,
-  serialized_end=890,
-)
-
-
-_LISTSTATUSESREQUEST = _descriptor.Descriptor(
-  name='ListStatusesRequest',
-  full_name='monorail.ListStatusesRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.ListStatusesRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=892,
-  serialized_end=935,
-)
-
-
-_LISTSTATUSESRESPONSE = _descriptor.Descriptor(
-  name='ListStatusesResponse',
-  full_name='monorail.ListStatusesResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='status_defs', full_name='monorail.ListStatusesResponse.status_defs', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='statuses_offer_merge', full_name='monorail.ListStatusesResponse.statuses_offer_merge', index=1,
-      number=2, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='restrict_to_known', full_name='monorail.ListStatusesResponse.restrict_to_known', index=2,
-      number=3, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=938,
-  serialized_end=1080,
-)
-
-
-_LISTCOMPONENTSREQUEST = _descriptor.Descriptor(
-  name='ListComponentsRequest',
-  full_name='monorail.ListComponentsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.ListComponentsRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='include_admin_info', full_name='monorail.ListComponentsRequest.include_admin_info', index=1,
-      number=3, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1082,
-  serialized_end=1155,
-)
-
-
-_LISTCOMPONENTSRESPONSE = _descriptor.Descriptor(
-  name='ListComponentsResponse',
-  full_name='monorail.ListComponentsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='component_defs', full_name='monorail.ListComponentsResponse.component_defs', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1157,
-  serialized_end=1229,
-)
-
-
-_LISTFIELDSREQUEST = _descriptor.Descriptor(
-  name='ListFieldsRequest',
-  full_name='monorail.ListFieldsRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.ListFieldsRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='include_admin_info', full_name='monorail.ListFieldsRequest.include_admin_info', index=1,
-      number=3, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='include_user_choices', full_name='monorail.ListFieldsRequest.include_user_choices', index=2,
-      number=4, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1231,
-  serialized_end=1330,
-)
-
-
-_LISTFIELDSRESPONSE = _descriptor.Descriptor(
-  name='ListFieldsResponse',
-  full_name='monorail.ListFieldsResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='field_defs', full_name='monorail.ListFieldsResponse.field_defs', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1332,
-  serialized_end=1392,
-)
-
-
-_GETPROJECTSTARCOUNTREQUEST = _descriptor.Descriptor(
-  name='GetProjectStarCountRequest',
-  full_name='monorail.GetProjectStarCountRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.GetProjectStarCountRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1394,
-  serialized_end=1444,
-)
-
-
-_GETPROJECTSTARCOUNTRESPONSE = _descriptor.Descriptor(
-  name='GetProjectStarCountResponse',
-  full_name='monorail.GetProjectStarCountResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='star_count', full_name='monorail.GetProjectStarCountResponse.star_count', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1446,
-  serialized_end=1495,
-)
-
-
-_STARPROJECTREQUEST = _descriptor.Descriptor(
-  name='StarProjectRequest',
-  full_name='monorail.StarProjectRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.StarProjectRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='starred', full_name='monorail.StarProjectRequest.starred', index=1,
-      number=3, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1497,
-  serialized_end=1556,
-)
-
-
-_STARPROJECTRESPONSE = _descriptor.Descriptor(
-  name='StarProjectResponse',
-  full_name='monorail.StarProjectResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='star_count', full_name='monorail.StarProjectResponse.star_count', index=0,
-      number=1, type=13, cpp_type=3, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1558,
-  serialized_end=1599,
-)
-
-
-_CHECKPROJECTNAMEREQUEST = _descriptor.Descriptor(
-  name='CheckProjectNameRequest',
-  full_name='monorail.CheckProjectNameRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.CheckProjectNameRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1601,
-  serialized_end=1648,
-)
-
-
-_CHECKPROJECTNAMERESPONSE = _descriptor.Descriptor(
-  name='CheckProjectNameResponse',
-  full_name='monorail.CheckProjectNameResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='error', full_name='monorail.CheckProjectNameResponse.error', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1650,
-  serialized_end=1691,
-)
-
-
-_CHECKCOMPONENTNAMEREQUEST = _descriptor.Descriptor(
-  name='CheckComponentNameRequest',
-  full_name='monorail.CheckComponentNameRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.CheckComponentNameRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='parent_path', full_name='monorail.CheckComponentNameRequest.parent_path', index=1,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='component_name', full_name='monorail.CheckComponentNameRequest.component_name', index=2,
-      number=4, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1693,
-  serialized_end=1787,
-)
-
-
-_CHECKCOMPONENTNAMERESPONSE = _descriptor.Descriptor(
-  name='CheckComponentNameResponse',
-  full_name='monorail.CheckComponentNameResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='error', full_name='monorail.CheckComponentNameResponse.error', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1789,
-  serialized_end=1832,
-)
-
-
-_CHECKFIELDNAMEREQUEST = _descriptor.Descriptor(
-  name='CheckFieldNameRequest',
-  full_name='monorail.CheckFieldNameRequest',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='project_name', full_name='monorail.CheckFieldNameRequest.project_name', index=0,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='field_name', full_name='monorail.CheckFieldNameRequest.field_name', index=1,
-      number=3, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1834,
-  serialized_end=1899,
-)
-
-
-_CHECKFIELDNAMERESPONSE = _descriptor.Descriptor(
-  name='CheckFieldNameResponse',
-  full_name='monorail.CheckFieldNameResponse',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='error', full_name='monorail.CheckFieldNameResponse.error', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1901,
-  serialized_end=1940,
-)
-
-_LISTPROJECTSRESPONSE.fields_by_name['projects'].message_type = api_dot_api__proto_dot_project__objects__pb2._PROJECT
-_LISTPROJECTTEMPLATESRESPONSE.fields_by_name['templates'].message_type = api_dot_api__proto_dot_project__objects__pb2._TEMPLATEDEF
-_GETVISIBLEMEMBERSRESPONSE.fields_by_name['user_refs'].message_type = api_dot_api__proto_dot_common__pb2._USERREF
-_GETVISIBLEMEMBERSRESPONSE.fields_by_name['group_refs'].message_type = api_dot_api__proto_dot_common__pb2._USERREF
-_GETLABELOPTIONSRESPONSE.fields_by_name['label_options'].message_type = api_dot_api__proto_dot_project__objects__pb2._LABELDEF
-_LISTSTATUSESRESPONSE.fields_by_name['status_defs'].message_type = api_dot_api__proto_dot_project__objects__pb2._STATUSDEF
-_LISTSTATUSESRESPONSE.fields_by_name['statuses_offer_merge'].message_type = api_dot_api__proto_dot_common__pb2._STATUSREF
-_LISTCOMPONENTSRESPONSE.fields_by_name['component_defs'].message_type = api_dot_api__proto_dot_project__objects__pb2._COMPONENTDEF
-_LISTFIELDSRESPONSE.fields_by_name['field_defs'].message_type = api_dot_api__proto_dot_project__objects__pb2._FIELDDEF
-DESCRIPTOR.message_types_by_name['ListProjectsRequest'] = _LISTPROJECTSREQUEST
-DESCRIPTOR.message_types_by_name['ListProjectsResponse'] = _LISTPROJECTSRESPONSE
-DESCRIPTOR.message_types_by_name['ListProjectTemplatesRequest'] = _LISTPROJECTTEMPLATESREQUEST
-DESCRIPTOR.message_types_by_name['ListProjectTemplatesResponse'] = _LISTPROJECTTEMPLATESRESPONSE
-DESCRIPTOR.message_types_by_name['GetConfigRequest'] = _GETCONFIGREQUEST
-DESCRIPTOR.message_types_by_name['GetPresentationConfigRequest'] = _GETPRESENTATIONCONFIGREQUEST
-DESCRIPTOR.message_types_by_name['GetCustomPermissionsRequest'] = _GETCUSTOMPERMISSIONSREQUEST
-DESCRIPTOR.message_types_by_name['GetCustomPermissionsResponse'] = _GETCUSTOMPERMISSIONSRESPONSE
-DESCRIPTOR.message_types_by_name['GetVisibleMembersRequest'] = _GETVISIBLEMEMBERSREQUEST
-DESCRIPTOR.message_types_by_name['GetVisibleMembersResponse'] = _GETVISIBLEMEMBERSRESPONSE
-DESCRIPTOR.message_types_by_name['GetLabelOptionsRequest'] = _GETLABELOPTIONSREQUEST
-DESCRIPTOR.message_types_by_name['GetLabelOptionsResponse'] = _GETLABELOPTIONSRESPONSE
-DESCRIPTOR.message_types_by_name['ListStatusesRequest'] = _LISTSTATUSESREQUEST
-DESCRIPTOR.message_types_by_name['ListStatusesResponse'] = _LISTSTATUSESRESPONSE
-DESCRIPTOR.message_types_by_name['ListComponentsRequest'] = _LISTCOMPONENTSREQUEST
-DESCRIPTOR.message_types_by_name['ListComponentsResponse'] = _LISTCOMPONENTSRESPONSE
-DESCRIPTOR.message_types_by_name['ListFieldsRequest'] = _LISTFIELDSREQUEST
-DESCRIPTOR.message_types_by_name['ListFieldsResponse'] = _LISTFIELDSRESPONSE
-DESCRIPTOR.message_types_by_name['GetProjectStarCountRequest'] = _GETPROJECTSTARCOUNTREQUEST
-DESCRIPTOR.message_types_by_name['GetProjectStarCountResponse'] = _GETPROJECTSTARCOUNTRESPONSE
-DESCRIPTOR.message_types_by_name['StarProjectRequest'] = _STARPROJECTREQUEST
-DESCRIPTOR.message_types_by_name['StarProjectResponse'] = _STARPROJECTRESPONSE
-DESCRIPTOR.message_types_by_name['CheckProjectNameRequest'] = _CHECKPROJECTNAMEREQUEST
-DESCRIPTOR.message_types_by_name['CheckProjectNameResponse'] = _CHECKPROJECTNAMERESPONSE
-DESCRIPTOR.message_types_by_name['CheckComponentNameRequest'] = _CHECKCOMPONENTNAMEREQUEST
-DESCRIPTOR.message_types_by_name['CheckComponentNameResponse'] = _CHECKCOMPONENTNAMERESPONSE
-DESCRIPTOR.message_types_by_name['CheckFieldNameRequest'] = _CHECKFIELDNAMEREQUEST
-DESCRIPTOR.message_types_by_name['CheckFieldNameResponse'] = _CHECKFIELDNAMERESPONSE
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-ListProjectsRequest = _reflection.GeneratedProtocolMessageType('ListProjectsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTPROJECTSREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListProjectsRequest)
-  })
-_sym_db.RegisterMessage(ListProjectsRequest)
-
-ListProjectsResponse = _reflection.GeneratedProtocolMessageType('ListProjectsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTPROJECTSRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListProjectsResponse)
-  })
-_sym_db.RegisterMessage(ListProjectsResponse)
-
-ListProjectTemplatesRequest = _reflection.GeneratedProtocolMessageType('ListProjectTemplatesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTPROJECTTEMPLATESREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListProjectTemplatesRequest)
-  })
-_sym_db.RegisterMessage(ListProjectTemplatesRequest)
-
-ListProjectTemplatesResponse = _reflection.GeneratedProtocolMessageType('ListProjectTemplatesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTPROJECTTEMPLATESRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListProjectTemplatesResponse)
-  })
-_sym_db.RegisterMessage(ListProjectTemplatesResponse)
-
-GetConfigRequest = _reflection.GeneratedProtocolMessageType('GetConfigRequest', (_message.Message,), {
-  'DESCRIPTOR' : _GETCONFIGREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetConfigRequest)
-  })
-_sym_db.RegisterMessage(GetConfigRequest)
-
-GetPresentationConfigRequest = _reflection.GeneratedProtocolMessageType('GetPresentationConfigRequest', (_message.Message,), {
-  'DESCRIPTOR' : _GETPRESENTATIONCONFIGREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetPresentationConfigRequest)
-  })
-_sym_db.RegisterMessage(GetPresentationConfigRequest)
-
-GetCustomPermissionsRequest = _reflection.GeneratedProtocolMessageType('GetCustomPermissionsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _GETCUSTOMPERMISSIONSREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetCustomPermissionsRequest)
-  })
-_sym_db.RegisterMessage(GetCustomPermissionsRequest)
-
-GetCustomPermissionsResponse = _reflection.GeneratedProtocolMessageType('GetCustomPermissionsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _GETCUSTOMPERMISSIONSRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetCustomPermissionsResponse)
-  })
-_sym_db.RegisterMessage(GetCustomPermissionsResponse)
-
-GetVisibleMembersRequest = _reflection.GeneratedProtocolMessageType('GetVisibleMembersRequest', (_message.Message,), {
-  'DESCRIPTOR' : _GETVISIBLEMEMBERSREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetVisibleMembersRequest)
-  })
-_sym_db.RegisterMessage(GetVisibleMembersRequest)
-
-GetVisibleMembersResponse = _reflection.GeneratedProtocolMessageType('GetVisibleMembersResponse', (_message.Message,), {
-  'DESCRIPTOR' : _GETVISIBLEMEMBERSRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetVisibleMembersResponse)
-  })
-_sym_db.RegisterMessage(GetVisibleMembersResponse)
-
-GetLabelOptionsRequest = _reflection.GeneratedProtocolMessageType('GetLabelOptionsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _GETLABELOPTIONSREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetLabelOptionsRequest)
-  })
-_sym_db.RegisterMessage(GetLabelOptionsRequest)
-
-GetLabelOptionsResponse = _reflection.GeneratedProtocolMessageType('GetLabelOptionsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _GETLABELOPTIONSRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetLabelOptionsResponse)
-  })
-_sym_db.RegisterMessage(GetLabelOptionsResponse)
-
-ListStatusesRequest = _reflection.GeneratedProtocolMessageType('ListStatusesRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTSTATUSESREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListStatusesRequest)
-  })
-_sym_db.RegisterMessage(ListStatusesRequest)
-
-ListStatusesResponse = _reflection.GeneratedProtocolMessageType('ListStatusesResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTSTATUSESRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListStatusesResponse)
-  })
-_sym_db.RegisterMessage(ListStatusesResponse)
-
-ListComponentsRequest = _reflection.GeneratedProtocolMessageType('ListComponentsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTCOMPONENTSREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListComponentsRequest)
-  })
-_sym_db.RegisterMessage(ListComponentsRequest)
-
-ListComponentsResponse = _reflection.GeneratedProtocolMessageType('ListComponentsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTCOMPONENTSRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListComponentsResponse)
-  })
-_sym_db.RegisterMessage(ListComponentsResponse)
-
-ListFieldsRequest = _reflection.GeneratedProtocolMessageType('ListFieldsRequest', (_message.Message,), {
-  'DESCRIPTOR' : _LISTFIELDSREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListFieldsRequest)
-  })
-_sym_db.RegisterMessage(ListFieldsRequest)
-
-ListFieldsResponse = _reflection.GeneratedProtocolMessageType('ListFieldsResponse', (_message.Message,), {
-  'DESCRIPTOR' : _LISTFIELDSRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.ListFieldsResponse)
-  })
-_sym_db.RegisterMessage(ListFieldsResponse)
-
-GetProjectStarCountRequest = _reflection.GeneratedProtocolMessageType('GetProjectStarCountRequest', (_message.Message,), {
-  'DESCRIPTOR' : _GETPROJECTSTARCOUNTREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetProjectStarCountRequest)
-  })
-_sym_db.RegisterMessage(GetProjectStarCountRequest)
-
-GetProjectStarCountResponse = _reflection.GeneratedProtocolMessageType('GetProjectStarCountResponse', (_message.Message,), {
-  'DESCRIPTOR' : _GETPROJECTSTARCOUNTRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.GetProjectStarCountResponse)
-  })
-_sym_db.RegisterMessage(GetProjectStarCountResponse)
-
-StarProjectRequest = _reflection.GeneratedProtocolMessageType('StarProjectRequest', (_message.Message,), {
-  'DESCRIPTOR' : _STARPROJECTREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.StarProjectRequest)
-  })
-_sym_db.RegisterMessage(StarProjectRequest)
-
-StarProjectResponse = _reflection.GeneratedProtocolMessageType('StarProjectResponse', (_message.Message,), {
-  'DESCRIPTOR' : _STARPROJECTRESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.StarProjectResponse)
-  })
-_sym_db.RegisterMessage(StarProjectResponse)
-
-CheckProjectNameRequest = _reflection.GeneratedProtocolMessageType('CheckProjectNameRequest', (_message.Message,), {
-  'DESCRIPTOR' : _CHECKPROJECTNAMEREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CheckProjectNameRequest)
-  })
-_sym_db.RegisterMessage(CheckProjectNameRequest)
-
-CheckProjectNameResponse = _reflection.GeneratedProtocolMessageType('CheckProjectNameResponse', (_message.Message,), {
-  'DESCRIPTOR' : _CHECKPROJECTNAMERESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CheckProjectNameResponse)
-  })
-_sym_db.RegisterMessage(CheckProjectNameResponse)
-
-CheckComponentNameRequest = _reflection.GeneratedProtocolMessageType('CheckComponentNameRequest', (_message.Message,), {
-  'DESCRIPTOR' : _CHECKCOMPONENTNAMEREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CheckComponentNameRequest)
-  })
-_sym_db.RegisterMessage(CheckComponentNameRequest)
-
-CheckComponentNameResponse = _reflection.GeneratedProtocolMessageType('CheckComponentNameResponse', (_message.Message,), {
-  'DESCRIPTOR' : _CHECKCOMPONENTNAMERESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CheckComponentNameResponse)
-  })
-_sym_db.RegisterMessage(CheckComponentNameResponse)
-
-CheckFieldNameRequest = _reflection.GeneratedProtocolMessageType('CheckFieldNameRequest', (_message.Message,), {
-  'DESCRIPTOR' : _CHECKFIELDNAMEREQUEST,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CheckFieldNameRequest)
-  })
-_sym_db.RegisterMessage(CheckFieldNameRequest)
-
-CheckFieldNameResponse = _reflection.GeneratedProtocolMessageType('CheckFieldNameResponse', (_message.Message,), {
-  'DESCRIPTOR' : _CHECKFIELDNAMERESPONSE,
-  '__module__' : 'api.api_proto.projects_pb2'
-  # @@protoc_insertion_point(class_scope:monorail.CheckFieldNameResponse)
-  })
-_sym_db.RegisterMessage(CheckFieldNameResponse)
-
-
-DESCRIPTOR._options = None
-
-_PROJECTS = _descriptor.ServiceDescriptor(
-  name='Projects',
-  full_name='monorail.Projects',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=1943,
-  serialized_end=3290,
-  methods=[
-  _descriptor.MethodDescriptor(
-    name='ListProjects',
-    full_name='monorail.Projects.ListProjects',
-    index=0,
-    containing_service=None,
-    input_type=_LISTPROJECTSREQUEST,
-    output_type=_LISTPROJECTSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListProjectTemplates',
-    full_name='monorail.Projects.ListProjectTemplates',
-    index=1,
-    containing_service=None,
-    input_type=_LISTPROJECTTEMPLATESREQUEST,
-    output_type=_LISTPROJECTTEMPLATESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetConfig',
-    full_name='monorail.Projects.GetConfig',
-    index=2,
-    containing_service=None,
-    input_type=_GETCONFIGREQUEST,
-    output_type=api_dot_api__proto_dot_project__objects__pb2._CONFIG,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetPresentationConfig',
-    full_name='monorail.Projects.GetPresentationConfig',
-    index=3,
-    containing_service=None,
-    input_type=_GETPRESENTATIONCONFIGREQUEST,
-    output_type=api_dot_api__proto_dot_project__objects__pb2._PRESENTATIONCONFIG,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetCustomPermissions',
-    full_name='monorail.Projects.GetCustomPermissions',
-    index=4,
-    containing_service=None,
-    input_type=_GETCUSTOMPERMISSIONSREQUEST,
-    output_type=_GETCUSTOMPERMISSIONSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetVisibleMembers',
-    full_name='monorail.Projects.GetVisibleMembers',
-    index=5,
-    containing_service=None,
-    input_type=_GETVISIBLEMEMBERSREQUEST,
-    output_type=_GETVISIBLEMEMBERSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetLabelOptions',
-    full_name='monorail.Projects.GetLabelOptions',
-    index=6,
-    containing_service=None,
-    input_type=_GETLABELOPTIONSREQUEST,
-    output_type=_GETLABELOPTIONSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListStatuses',
-    full_name='monorail.Projects.ListStatuses',
-    index=7,
-    containing_service=None,
-    input_type=_LISTSTATUSESREQUEST,
-    output_type=_LISTSTATUSESRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListComponents',
-    full_name='monorail.Projects.ListComponents',
-    index=8,
-    containing_service=None,
-    input_type=_LISTCOMPONENTSREQUEST,
-    output_type=_LISTCOMPONENTSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='ListFields',
-    full_name='monorail.Projects.ListFields',
-    index=9,
-    containing_service=None,
-    input_type=_LISTFIELDSREQUEST,
-    output_type=_LISTFIELDSRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetProjectStarCount',
-    full_name='monorail.Projects.GetProjectStarCount',
-    index=10,
-    containing_service=None,
-    input_type=_GETPROJECTSTARCOUNTREQUEST,
-    output_type=_GETPROJECTSTARCOUNTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='StarProject',
-    full_name='monorail.Projects.StarProject',
-    index=11,
-    containing_service=None,
-    input_type=_STARPROJECTREQUEST,
-    output_type=_STARPROJECTRESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='CheckProjectName',
-    full_name='monorail.Projects.CheckProjectName',
-    index=12,
-    containing_service=None,
-    input_type=_CHECKPROJECTNAMEREQUEST,
-    output_type=_CHECKPROJECTNAMERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='CheckComponentName',
-    full_name='monorail.Projects.CheckComponentName',
-    index=13,
-    containing_service=None,
-    input_type=_CHECKCOMPONENTNAMEREQUEST,
-    output_type=_CHECKCOMPONENTNAMERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='CheckFieldName',
-    full_name='monorail.Projects.CheckFieldName',
-    index=14,
-    containing_service=None,
-    input_type=_CHECKFIELDNAMEREQUEST,
-    output_type=_CHECKFIELDNAMERESPONSE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_PROJECTS)
-
-DESCRIPTOR.services_by_name['Projects'] = _PROJECTS
-
+  DESCRIPTOR._options = None
+  DESCRIPTOR._serialized_options = b'Z\'infra/monorailv2/api/api_proto;monorail'
+  _LISTPROJECTSREQUEST._serialized_start=107
+  _LISTPROJECTSREQUEST._serialized_end=167
+  _LISTPROJECTSRESPONSE._serialized_start=169
+  _LISTPROJECTSRESPONSE._serialized_end=253
+  _LISTPROJECTTEMPLATESREQUEST._serialized_start=255
+  _LISTPROJECTTEMPLATESREQUEST._serialized_end=306
+  _LISTPROJECTTEMPLATESRESPONSE._serialized_start=308
+  _LISTPROJECTTEMPLATESRESPONSE._serialized_end=380
+  _GETCONFIGREQUEST._serialized_start=382
+  _GETCONFIGREQUEST._serialized_end=422
+  _GETPRESENTATIONCONFIGREQUEST._serialized_start=424
+  _GETPRESENTATIONCONFIGREQUEST._serialized_end=476
+  _GETCUSTOMPERMISSIONSREQUEST._serialized_start=478
+  _GETCUSTOMPERMISSIONSREQUEST._serialized_end=529
+  _GETCUSTOMPERMISSIONSRESPONSE._serialized_start=531
+  _GETCUSTOMPERMISSIONSRESPONSE._serialized_end=582
+  _GETVISIBLEMEMBERSREQUEST._serialized_start=584
+  _GETVISIBLEMEMBERSREQUEST._serialized_end=632
+  _GETVISIBLEMEMBERSRESPONSE._serialized_start=634
+  _GETVISIBLEMEMBERSRESPONSE._serialized_end=738
+  _GETLABELOPTIONSREQUEST._serialized_start=740
+  _GETLABELOPTIONSREQUEST._serialized_end=786
+  _GETLABELOPTIONSRESPONSE._serialized_start=788
+  _GETLABELOPTIONSRESPONSE._serialized_end=890
+  _LISTSTATUSESREQUEST._serialized_start=892
+  _LISTSTATUSESREQUEST._serialized_end=935
+  _LISTSTATUSESRESPONSE._serialized_start=938
+  _LISTSTATUSESRESPONSE._serialized_end=1080
+  _LISTCOMPONENTSREQUEST._serialized_start=1082
+  _LISTCOMPONENTSREQUEST._serialized_end=1155
+  _LISTCOMPONENTSRESPONSE._serialized_start=1157
+  _LISTCOMPONENTSRESPONSE._serialized_end=1229
+  _LISTFIELDSREQUEST._serialized_start=1231
+  _LISTFIELDSREQUEST._serialized_end=1330
+  _LISTFIELDSRESPONSE._serialized_start=1332
+  _LISTFIELDSRESPONSE._serialized_end=1392
+  _GETPROJECTSTARCOUNTREQUEST._serialized_start=1394
+  _GETPROJECTSTARCOUNTREQUEST._serialized_end=1444
+  _GETPROJECTSTARCOUNTRESPONSE._serialized_start=1446
+  _GETPROJECTSTARCOUNTRESPONSE._serialized_end=1495
+  _STARPROJECTREQUEST._serialized_start=1497
+  _STARPROJECTREQUEST._serialized_end=1556
+  _STARPROJECTRESPONSE._serialized_start=1558
+  _STARPROJECTRESPONSE._serialized_end=1599
+  _CHECKPROJECTNAMEREQUEST._serialized_start=1601
+  _CHECKPROJECTNAMEREQUEST._serialized_end=1648
+  _CHECKPROJECTNAMERESPONSE._serialized_start=1650
+  _CHECKPROJECTNAMERESPONSE._serialized_end=1691
+  _CHECKCOMPONENTNAMEREQUEST._serialized_start=1693
+  _CHECKCOMPONENTNAMEREQUEST._serialized_end=1787
+  _CHECKCOMPONENTNAMERESPONSE._serialized_start=1789
+  _CHECKCOMPONENTNAMERESPONSE._serialized_end=1832
+  _CHECKFIELDNAMEREQUEST._serialized_start=1834
+  _CHECKFIELDNAMEREQUEST._serialized_end=1899
+  _CHECKFIELDNAMERESPONSE._serialized_start=1901
+  _CHECKFIELDNAMERESPONSE._serialized_end=1940
+  _PROJECTS._serialized_start=1943
+  _PROJECTS._serialized_end=3290
 # @@protoc_insertion_point(module_scope)
