// Copyright 2019 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Code generated by generate-protos. DO NOT EDIT.

package genid

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
)

const File_google_protobuf_descriptor_proto = "google/protobuf/descriptor.proto"

// Names for google.protobuf.FileDescriptorSet.
const (
	FileDescriptorSet_message_name     protoreflect.Name     = "FileDescriptorSet"
	FileDescriptorSet_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet"
)

// Field names for google.protobuf.FileDescriptorSet.
const (
	FileDescriptorSet_File_field_name protoreflect.Name = "file"

	FileDescriptorSet_File_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet.file"
)

// Field numbers for google.protobuf.FileDescriptorSet.
const (
	FileDescriptorSet_File_field_number protoreflect.FieldNumber = 1
)

// Names for google.protobuf.FileDescriptorProto.
const (
	FileDescriptorProto_message_name     protoreflect.Name     = "FileDescriptorProto"
	FileDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto"
)

// Field names for google.protobuf.FileDescriptorProto.
const (
	FileDescriptorProto_Name_field_name             protoreflect.Name = "name"
	FileDescriptorProto_Package_field_name          protoreflect.Name = "package"
	FileDescriptorProto_Dependency_field_name       protoreflect.Name = "dependency"
	FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency"
	FileDescriptorProto_WeakDependency_field_name   protoreflect.Name = "weak_dependency"
	FileDescriptorProto_MessageType_field_name      protoreflect.Name = "message_type"
	FileDescriptorProto_EnumType_field_name         protoreflect.Name = "enum_type"
	FileDescriptorProto_Service_field_name          protoreflect.Name = "service"
	FileDescriptorProto_Extension_field_name        protoreflect.Name = "extension"
	FileDescriptorProto_Options_field_name          protoreflect.Name = "options"
	FileDescriptorProto_SourceCodeInfo_field_name   protoreflect.Name = "source_code_info"
	FileDescriptorProto_Syntax_field_name           protoreflect.Name = "syntax"
	FileDescriptorProto_Edition_field_name          protoreflect.Name = "edition"

	FileDescriptorProto_Name_field_fullname             protoreflect.FullName = "google.protobuf.FileDescriptorProto.name"
	FileDescriptorProto_Package_field_fullname          protoreflect.FullName = "google.protobuf.FileDescriptorProto.package"
	FileDescriptorProto_Dependency_field_fullname       protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency"
	FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency"
	FileDescriptorProto_WeakDependency_field_fullname   protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency"
	FileDescriptorProto_MessageType_field_fullname      protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type"
	FileDescriptorProto_EnumType_field_fullname         protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type"
	FileDescriptorProto_Service_field_fullname          protoreflect.FullName = "google.protobuf.FileDescriptorProto.service"
	FileDescriptorProto_Extension_field_fullname        protoreflect.FullName = "google.protobuf.FileDescriptorProto.extension"
	FileDescriptorProto_Options_field_fullname          protoreflect.FullName = "google.protobuf.FileDescriptorProto.options"
	FileDescriptorProto_SourceCodeInfo_field_fullname   protoreflect.FullName = "google.protobuf.FileDescriptorProto.source_code_info"
	FileDescriptorProto_Syntax_field_fullname           protoreflect.FullName = "google.protobuf.FileDescriptorProto.syntax"
	FileDescriptorProto_Edition_field_fullname          protoreflect.FullName = "google.protobuf.FileDescriptorProto.edition"
)

// Field numbers for google.protobuf.FileDescriptorProto.
const (
	FileDescriptorProto_Name_field_number             protoreflect.FieldNumber = 1
	FileDescriptorProto_Package_field_number          protoreflect.FieldNumber = 2
	FileDescriptorProto_Dependency_field_number       protoreflect.FieldNumber = 3
	FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10
	FileDescriptorProto_WeakDependency_field_number   protoreflect.FieldNumber = 11
	FileDescriptorProto_MessageType_field_number      protoreflect.FieldNumber = 4
	FileDescriptorProto_EnumType_field_number         protoreflect.FieldNumber = 5
	FileDescriptorProto_Service_field_number          protoreflect.FieldNumber = 6
	FileDescriptorProto_Extension_field_number        protoreflect.FieldNumber = 7
	FileDescriptorProto_Options_field_number          protoreflect.FieldNumber = 8
	FileDescriptorProto_SourceCodeInfo_field_number   protoreflect.FieldNumber = 9
	FileDescriptorProto_Syntax_field_number           protoreflect.FieldNumber = 12
	FileDescriptorProto_Edition_field_number          protoreflect.FieldNumber = 13
)

// Names for google.protobuf.DescriptorProto.
const (
	DescriptorProto_message_name     protoreflect.Name     = "DescriptorProto"
	DescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto"
)

// Field names for google.protobuf.DescriptorProto.
const (
	DescriptorProto_Name_field_name           protoreflect.Name = "name"
	DescriptorProto_Field_field_name          protoreflect.Name = "field"
	DescriptorProto_Extension_field_name      protoreflect.Name = "extension"
	DescriptorProto_NestedType_field_name     protoreflect.Name = "nested_type"
	DescriptorProto_EnumType_field_name       protoreflect.Name = "enum_type"
	DescriptorProto_ExtensionRange_field_name protoreflect.Name = "extension_range"
	DescriptorProto_OneofDecl_field_name      protoreflect.Name = "oneof_decl"
	DescriptorProto_Options_field_name        protoreflect.Name = "options"
	DescriptorProto_ReservedRange_field_name  protoreflect.Name = "reserved_range"
	DescriptorProto_ReservedName_field_name   protoreflect.Name = "reserved_name"

	DescriptorProto_Name_field_fullname           protoreflect.FullName = "google.protobuf.DescriptorProto.name"
	DescriptorProto_Field_field_fullname          protoreflect.FullName = "google.protobuf.DescriptorProto.field"
	DescriptorProto_Extension_field_fullname      protoreflect.FullName = "google.protobuf.DescriptorProto.extension"
	DescriptorProto_NestedType_field_fullname     protoreflect.FullName = "google.protobuf.DescriptorProto.nested_type"
	DescriptorProto_EnumType_field_fullname       protoreflect.FullName = "google.protobuf.DescriptorProto.enum_type"
	DescriptorProto_ExtensionRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension_range"
	DescriptorProto_OneofDecl_field_fullname      protoreflect.FullName = "google.protobuf.DescriptorProto.oneof_decl"
	DescriptorProto_Options_field_fullname        protoreflect.FullName = "google.protobuf.DescriptorProto.options"
	DescriptorProto_ReservedRange_field_fullname  protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range"
	DescriptorProto_ReservedName_field_fullname   protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name"
)

// Field numbers for google.protobuf.DescriptorProto.
const (
	DescriptorProto_Name_field_number           protoreflect.FieldNumber = 1
	DescriptorProto_Field_field_number          protoreflect.FieldNumber = 2
	DescriptorProto_Extension_field_number      protoreflect.FieldNumber = 6
	DescriptorProto_NestedType_field_number     protoreflect.FieldNumber = 3
	DescriptorProto_EnumType_field_number       protoreflect.FieldNumber = 4
	DescriptorProto_ExtensionRange_field_number protoreflect.FieldNumber = 5
	DescriptorProto_OneofDecl_field_number      protoreflect.FieldNumber = 8
	DescriptorProto_Options_field_number        protoreflect.FieldNumber = 7
	DescriptorProto_ReservedRange_field_number  protoreflect.FieldNumber = 9
	DescriptorProto_ReservedName_field_number   protoreflect.FieldNumber = 10
)

// Names for google.protobuf.DescriptorProto.ExtensionRange.
const (
	DescriptorProto_ExtensionRange_message_name     protoreflect.Name     = "ExtensionRange"
	DescriptorProto_ExtensionRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange"
)

// Field names for google.protobuf.DescriptorProto.ExtensionRange.
const (
	DescriptorProto_ExtensionRange_Start_field_name   protoreflect.Name = "start"
	DescriptorProto_ExtensionRange_End_field_name     protoreflect.Name = "end"
	DescriptorProto_ExtensionRange_Options_field_name protoreflect.Name = "options"

	DescriptorProto_ExtensionRange_Start_field_fullname   protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.start"
	DescriptorProto_ExtensionRange_End_field_fullname     protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.end"
	DescriptorProto_ExtensionRange_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.options"
)

// Field numbers for google.protobuf.DescriptorProto.ExtensionRange.
const (
	DescriptorProto_ExtensionRange_Start_field_number   protoreflect.FieldNumber = 1
	DescriptorProto_ExtensionRange_End_field_number     protoreflect.FieldNumber = 2
	DescriptorProto_ExtensionRange_Options_field_number protoreflect.FieldNumber = 3
)

// Names for google.protobuf.DescriptorProto.ReservedRange.
const (
	DescriptorProto_ReservedRange_message_name     protoreflect.Name     = "ReservedRange"
	DescriptorProto_ReservedRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange"
)

// Field names for google.protobuf.DescriptorProto.ReservedRange.
const (
	DescriptorProto_ReservedRange_Start_field_name protoreflect.Name = "start"
	DescriptorProto_ReservedRange_End_field_name   protoreflect.Name = "end"

	DescriptorProto_ReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.start"
	DescriptorProto_ReservedRange_End_field_fullname   protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.end"
)

// Field numbers for google.protobuf.DescriptorProto.ReservedRange.
const (
	DescriptorProto_ReservedRange_Start_field_number protoreflect.FieldNumber = 1
	DescriptorProto_ReservedRange_End_field_number   protoreflect.FieldNumber = 2
)

// Names for google.protobuf.ExtensionRangeOptions.
const (
	ExtensionRangeOptions_message_name     protoreflect.Name     = "ExtensionRangeOptions"
	ExtensionRangeOptions_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions"
)

// Field names for google.protobuf.ExtensionRangeOptions.
const (
	ExtensionRangeOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"

	ExtensionRangeOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.ExtensionRangeOptions.
const (
	ExtensionRangeOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)

// Names for google.protobuf.FieldDescriptorProto.
const (
	FieldDescriptorProto_message_name     protoreflect.Name     = "FieldDescriptorProto"
	FieldDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto"
)

// Field names for google.protobuf.FieldDescriptorProto.
const (
	FieldDescriptorProto_Name_field_name           protoreflect.Name = "name"
	FieldDescriptorProto_Number_field_name         protoreflect.Name = "number"
	FieldDescriptorProto_Label_field_name          protoreflect.Name = "label"
	FieldDescriptorProto_Type_field_name           protoreflect.Name = "type"
	FieldDescriptorProto_TypeName_field_name       protoreflect.Name = "type_name"
	FieldDescriptorProto_Extendee_field_name       protoreflect.Name = "extendee"
	FieldDescriptorProto_DefaultValue_field_name   protoreflect.Name = "default_value"
	FieldDescriptorProto_OneofIndex_field_name     protoreflect.Name = "oneof_index"
	FieldDescriptorProto_JsonName_field_name       protoreflect.Name = "json_name"
	FieldDescriptorProto_Options_field_name        protoreflect.Name = "options"
	FieldDescriptorProto_Proto3Optional_field_name protoreflect.Name = "proto3_optional"

	FieldDescriptorProto_Name_field_fullname           protoreflect.FullName = "google.protobuf.FieldDescriptorProto.name"
	FieldDescriptorProto_Number_field_fullname         protoreflect.FullName = "google.protobuf.FieldDescriptorProto.number"
	FieldDescriptorProto_Label_field_fullname          protoreflect.FullName = "google.protobuf.FieldDescriptorProto.label"
	FieldDescriptorProto_Type_field_fullname           protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type"
	FieldDescriptorProto_TypeName_field_fullname       protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type_name"
	FieldDescriptorProto_Extendee_field_fullname       protoreflect.FullName = "google.protobuf.FieldDescriptorProto.extendee"
	FieldDescriptorProto_DefaultValue_field_fullname   protoreflect.FullName = "google.protobuf.FieldDescriptorProto.default_value"
	FieldDescriptorProto_OneofIndex_field_fullname     protoreflect.FullName = "google.protobuf.FieldDescriptorProto.oneof_index"
	FieldDescriptorProto_JsonName_field_fullname       protoreflect.FullName = "google.protobuf.FieldDescriptorProto.json_name"
	FieldDescriptorProto_Options_field_fullname        protoreflect.FullName = "google.protobuf.FieldDescriptorProto.options"
	FieldDescriptorProto_Proto3Optional_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.proto3_optional"
)

// Field numbers for google.protobuf.FieldDescriptorProto.
const (
	FieldDescriptorProto_Name_field_number           protoreflect.FieldNumber = 1
	FieldDescriptorProto_Number_field_number         protoreflect.FieldNumber = 3
	FieldDescriptorProto_Label_field_number          protoreflect.FieldNumber = 4
	FieldDescriptorProto_Type_field_number           protoreflect.FieldNumber = 5
	FieldDescriptorProto_TypeName_field_number       protoreflect.FieldNumber = 6
	FieldDescriptorProto_Extendee_field_number       protoreflect.FieldNumber = 2
	FieldDescriptorProto_DefaultValue_field_number   protoreflect.FieldNumber = 7
	FieldDescriptorProto_OneofIndex_field_number     protoreflect.FieldNumber = 9
	FieldDescriptorProto_JsonName_field_number       protoreflect.FieldNumber = 10
	FieldDescriptorProto_Options_field_number        protoreflect.FieldNumber = 8
	FieldDescriptorProto_Proto3Optional_field_number protoreflect.FieldNumber = 17
)

// Full and short names for google.protobuf.FieldDescriptorProto.Type.
const (
	FieldDescriptorProto_Type_enum_fullname = "google.protobuf.FieldDescriptorProto.Type"
	FieldDescriptorProto_Type_enum_name     = "Type"
)

// Full and short names for google.protobuf.FieldDescriptorProto.Label.
const (
	FieldDescriptorProto_Label_enum_fullname = "google.protobuf.FieldDescriptorProto.Label"
	FieldDescriptorProto_Label_enum_name     = "Label"
)

// Names for google.protobuf.OneofDescriptorProto.
const (
	OneofDescriptorProto_message_name     protoreflect.Name     = "OneofDescriptorProto"
	OneofDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto"
)

// Field names for google.protobuf.OneofDescriptorProto.
const (
	OneofDescriptorProto_Name_field_name    protoreflect.Name = "name"
	OneofDescriptorProto_Options_field_name protoreflect.Name = "options"

	OneofDescriptorProto_Name_field_fullname    protoreflect.FullName = "google.protobuf.OneofDescriptorProto.name"
	OneofDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.options"
)

// Field numbers for google.protobuf.OneofDescriptorProto.
const (
	OneofDescriptorProto_Name_field_number    protoreflect.FieldNumber = 1
	OneofDescriptorProto_Options_field_number protoreflect.FieldNumber = 2
)

// Names for google.protobuf.EnumDescriptorProto.
const (
	EnumDescriptorProto_message_name     protoreflect.Name     = "EnumDescriptorProto"
	EnumDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto"
)

// Field names for google.protobuf.EnumDescriptorProto.
const (
	EnumDescriptorProto_Name_field_name          protoreflect.Name = "name"
	EnumDescriptorProto_Value_field_name         protoreflect.Name = "value"
	EnumDescriptorProto_Options_field_name       protoreflect.Name = "options"
	EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range"
	EnumDescriptorProto_ReservedName_field_name  protoreflect.Name = "reserved_name"

	EnumDescriptorProto_Name_field_fullname          protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name"
	EnumDescriptorProto_Value_field_fullname         protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value"
	EnumDescriptorProto_Options_field_fullname       protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options"
	EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range"
	EnumDescriptorProto_ReservedName_field_fullname  protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name"
)

// Field numbers for google.protobuf.EnumDescriptorProto.
const (
	EnumDescriptorProto_Name_field_number          protoreflect.FieldNumber = 1
	EnumDescriptorProto_Value_field_number         protoreflect.FieldNumber = 2
	EnumDescriptorProto_Options_field_number       protoreflect.FieldNumber = 3
	EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4
	EnumDescriptorProto_ReservedName_field_number  protoreflect.FieldNumber = 5
)

// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
const (
	EnumDescriptorProto_EnumReservedRange_message_name     protoreflect.Name     = "EnumReservedRange"
	EnumDescriptorProto_EnumReservedRange_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange"
)

// Field names for google.protobuf.EnumDescriptorProto.EnumReservedRange.
const (
	EnumDescriptorProto_EnumReservedRange_Start_field_name protoreflect.Name = "start"
	EnumDescriptorProto_EnumReservedRange_End_field_name   protoreflect.Name = "end"

	EnumDescriptorProto_EnumReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.start"
	EnumDescriptorProto_EnumReservedRange_End_field_fullname   protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.end"
)

// Field numbers for google.protobuf.EnumDescriptorProto.EnumReservedRange.
const (
	EnumDescriptorProto_EnumReservedRange_Start_field_number protoreflect.FieldNumber = 1
	EnumDescriptorProto_EnumReservedRange_End_field_number   protoreflect.FieldNumber = 2
)

// Names for google.protobuf.EnumValueDescriptorProto.
const (
	EnumValueDescriptorProto_message_name     protoreflect.Name     = "EnumValueDescriptorProto"
	EnumValueDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto"
)

// Field names for google.protobuf.EnumValueDescriptorProto.
const (
	EnumValueDescriptorProto_Name_field_name    protoreflect.Name = "name"
	EnumValueDescriptorProto_Number_field_name  protoreflect.Name = "number"
	EnumValueDescriptorProto_Options_field_name protoreflect.Name = "options"

	EnumValueDescriptorProto_Name_field_fullname    protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.name"
	EnumValueDescriptorProto_Number_field_fullname  protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.number"
	EnumValueDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.options"
)

// Field numbers for google.protobuf.EnumValueDescriptorProto.
const (
	EnumValueDescriptorProto_Name_field_number    protoreflect.FieldNumber = 1
	EnumValueDescriptorProto_Number_field_number  protoreflect.FieldNumber = 2
	EnumValueDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
)

// Names for google.protobuf.ServiceDescriptorProto.
const (
	ServiceDescriptorProto_message_name     protoreflect.Name     = "ServiceDescriptorProto"
	ServiceDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto"
)

// Field names for google.protobuf.ServiceDescriptorProto.
const (
	ServiceDescriptorProto_Name_field_name    protoreflect.Name = "name"
	ServiceDescriptorProto_Method_field_name  protoreflect.Name = "method"
	ServiceDescriptorProto_Options_field_name protoreflect.Name = "options"

	ServiceDescriptorProto_Name_field_fullname    protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.name"
	ServiceDescriptorProto_Method_field_fullname  protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.method"
	ServiceDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.options"
)

// Field numbers for google.protobuf.ServiceDescriptorProto.
const (
	ServiceDescriptorProto_Name_field_number    protoreflect.FieldNumber = 1
	ServiceDescriptorProto_Method_field_number  protoreflect.FieldNumber = 2
	ServiceDescriptorProto_Options_field_number protoreflect.FieldNumber = 3
)

// Names for google.protobuf.MethodDescriptorProto.
const (
	MethodDescriptorProto_message_name     protoreflect.Name     = "MethodDescriptorProto"
	MethodDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto"
)

// Field names for google.protobuf.MethodDescriptorProto.
const (
	MethodDescriptorProto_Name_field_name            protoreflect.Name = "name"
	MethodDescriptorProto_InputType_field_name       protoreflect.Name = "input_type"
	MethodDescriptorProto_OutputType_field_name      protoreflect.Name = "output_type"
	MethodDescriptorProto_Options_field_name         protoreflect.Name = "options"
	MethodDescriptorProto_ClientStreaming_field_name protoreflect.Name = "client_streaming"
	MethodDescriptorProto_ServerStreaming_field_name protoreflect.Name = "server_streaming"

	MethodDescriptorProto_Name_field_fullname            protoreflect.FullName = "google.protobuf.MethodDescriptorProto.name"
	MethodDescriptorProto_InputType_field_fullname       protoreflect.FullName = "google.protobuf.MethodDescriptorProto.input_type"
	MethodDescriptorProto_OutputType_field_fullname      protoreflect.FullName = "google.protobuf.MethodDescriptorProto.output_type"
	MethodDescriptorProto_Options_field_fullname         protoreflect.FullName = "google.protobuf.MethodDescriptorProto.options"
	MethodDescriptorProto_ClientStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.client_streaming"
	MethodDescriptorProto_ServerStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.server_streaming"
)

// Field numbers for google.protobuf.MethodDescriptorProto.
const (
	MethodDescriptorProto_Name_field_number            protoreflect.FieldNumber = 1
	MethodDescriptorProto_InputType_field_number       protoreflect.FieldNumber = 2
	MethodDescriptorProto_OutputType_field_number      protoreflect.FieldNumber = 3
	MethodDescriptorProto_Options_field_number         protoreflect.FieldNumber = 4
	MethodDescriptorProto_ClientStreaming_field_number protoreflect.FieldNumber = 5
	MethodDescriptorProto_ServerStreaming_field_number protoreflect.FieldNumber = 6
)

// Names for google.protobuf.FileOptions.
const (
	FileOptions_message_name     protoreflect.Name     = "FileOptions"
	FileOptions_message_fullname protoreflect.FullName = "google.protobuf.FileOptions"
)

// Field names for google.protobuf.FileOptions.
const (
	FileOptions_JavaPackage_field_name               protoreflect.Name = "java_package"
	FileOptions_JavaOuterClassname_field_name        protoreflect.Name = "java_outer_classname"
	FileOptions_JavaMultipleFiles_field_name         protoreflect.Name = "java_multiple_files"
	FileOptions_JavaGenerateEqualsAndHash_field_name protoreflect.Name = "java_generate_equals_and_hash"
	FileOptions_JavaStringCheckUtf8_field_name       protoreflect.Name = "java_string_check_utf8"
	FileOptions_OptimizeFor_field_name               protoreflect.Name = "optimize_for"
	FileOptions_GoPackage_field_name                 protoreflect.Name = "go_package"
	FileOptions_CcGenericServices_field_name         protoreflect.Name = "cc_generic_services"
	FileOptions_JavaGenericServices_field_name       protoreflect.Name = "java_generic_services"
	FileOptions_PyGenericServices_field_name         protoreflect.Name = "py_generic_services"
	FileOptions_PhpGenericServices_field_name        protoreflect.Name = "php_generic_services"
	FileOptions_Deprecated_field_name                protoreflect.Name = "deprecated"
	FileOptions_CcEnableArenas_field_name            protoreflect.Name = "cc_enable_arenas"
	FileOptions_ObjcClassPrefix_field_name           protoreflect.Name = "objc_class_prefix"
	FileOptions_CsharpNamespace_field_name           protoreflect.Name = "csharp_namespace"
	FileOptions_SwiftPrefix_field_name               protoreflect.Name = "swift_prefix"
	FileOptions_PhpClassPrefix_field_name            protoreflect.Name = "php_class_prefix"
	FileOptions_PhpNamespace_field_name              protoreflect.Name = "php_namespace"
	FileOptions_PhpMetadataNamespace_field_name      protoreflect.Name = "php_metadata_namespace"
	FileOptions_RubyPackage_field_name               protoreflect.Name = "ruby_package"
	FileOptions_UninterpretedOption_field_name       protoreflect.Name = "uninterpreted_option"

	FileOptions_JavaPackage_field_fullname               protoreflect.FullName = "google.protobuf.FileOptions.java_package"
	FileOptions_JavaOuterClassname_field_fullname        protoreflect.FullName = "google.protobuf.FileOptions.java_outer_classname"
	FileOptions_JavaMultipleFiles_field_fullname         protoreflect.FullName = "google.protobuf.FileOptions.java_multiple_files"
	FileOptions_JavaGenerateEqualsAndHash_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generate_equals_and_hash"
	FileOptions_JavaStringCheckUtf8_field_fullname       protoreflect.FullName = "google.protobuf.FileOptions.java_string_check_utf8"
	FileOptions_OptimizeFor_field_fullname               protoreflect.FullName = "google.protobuf.FileOptions.optimize_for"
	FileOptions_GoPackage_field_fullname                 protoreflect.FullName = "google.protobuf.FileOptions.go_package"
	FileOptions_CcGenericServices_field_fullname         protoreflect.FullName = "google.protobuf.FileOptions.cc_generic_services"
	FileOptions_JavaGenericServices_field_fullname       protoreflect.FullName = "google.protobuf.FileOptions.java_generic_services"
	FileOptions_PyGenericServices_field_fullname         protoreflect.FullName = "google.protobuf.FileOptions.py_generic_services"
	FileOptions_PhpGenericServices_field_fullname        protoreflect.FullName = "google.protobuf.FileOptions.php_generic_services"
	FileOptions_Deprecated_field_fullname                protoreflect.FullName = "google.protobuf.FileOptions.deprecated"
	FileOptions_CcEnableArenas_field_fullname            protoreflect.FullName = "google.protobuf.FileOptions.cc_enable_arenas"
	FileOptions_ObjcClassPrefix_field_fullname           protoreflect.FullName = "google.protobuf.FileOptions.objc_class_prefix"
	FileOptions_CsharpNamespace_field_fullname           protoreflect.FullName = "google.protobuf.FileOptions.csharp_namespace"
	FileOptions_SwiftPrefix_field_fullname               protoreflect.FullName = "google.protobuf.FileOptions.swift_prefix"
	FileOptions_PhpClassPrefix_field_fullname            protoreflect.FullName = "google.protobuf.FileOptions.php_class_prefix"
	FileOptions_PhpNamespace_field_fullname              protoreflect.FullName = "google.protobuf.FileOptions.php_namespace"
	FileOptions_PhpMetadataNamespace_field_fullname      protoreflect.FullName = "google.protobuf.FileOptions.php_metadata_namespace"
	FileOptions_RubyPackage_field_fullname               protoreflect.FullName = "google.protobuf.FileOptions.ruby_package"
	FileOptions_UninterpretedOption_field_fullname       protoreflect.FullName = "google.protobuf.FileOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.FileOptions.
const (
	FileOptions_JavaPackage_field_number               protoreflect.FieldNumber = 1
	FileOptions_JavaOuterClassname_field_number        protoreflect.FieldNumber = 8
	FileOptions_JavaMultipleFiles_field_number         protoreflect.FieldNumber = 10
	FileOptions_JavaGenerateEqualsAndHash_field_number protoreflect.FieldNumber = 20
	FileOptions_JavaStringCheckUtf8_field_number       protoreflect.FieldNumber = 27
	FileOptions_OptimizeFor_field_number               protoreflect.FieldNumber = 9
	FileOptions_GoPackage_field_number                 protoreflect.FieldNumber = 11
	FileOptions_CcGenericServices_field_number         protoreflect.FieldNumber = 16
	FileOptions_JavaGenericServices_field_number       protoreflect.FieldNumber = 17
	FileOptions_PyGenericServices_field_number         protoreflect.FieldNumber = 18
	FileOptions_PhpGenericServices_field_number        protoreflect.FieldNumber = 42
	FileOptions_Deprecated_field_number                protoreflect.FieldNumber = 23
	FileOptions_CcEnableArenas_field_number            protoreflect.FieldNumber = 31
	FileOptions_ObjcClassPrefix_field_number           protoreflect.FieldNumber = 36
	FileOptions_CsharpNamespace_field_number           protoreflect.FieldNumber = 37
	FileOptions_SwiftPrefix_field_number               protoreflect.FieldNumber = 39
	FileOptions_PhpClassPrefix_field_number            protoreflect.FieldNumber = 40
	FileOptions_PhpNamespace_field_number              protoreflect.FieldNumber = 41
	FileOptions_PhpMetadataNamespace_field_number      protoreflect.FieldNumber = 44
	FileOptions_RubyPackage_field_number               protoreflect.FieldNumber = 45
	FileOptions_UninterpretedOption_field_number       protoreflect.FieldNumber = 999
)

// Full and short names for google.protobuf.FileOptions.OptimizeMode.
const (
	FileOptions_OptimizeMode_enum_fullname = "google.protobuf.FileOptions.OptimizeMode"
	FileOptions_OptimizeMode_enum_name     = "OptimizeMode"
)

// Names for google.protobuf.MessageOptions.
const (
	MessageOptions_message_name     protoreflect.Name     = "MessageOptions"
	MessageOptions_message_fullname protoreflect.FullName = "google.protobuf.MessageOptions"
)

// Field names for google.protobuf.MessageOptions.
const (
	MessageOptions_MessageSetWireFormat_field_name               protoreflect.Name = "message_set_wire_format"
	MessageOptions_NoStandardDescriptorAccessor_field_name       protoreflect.Name = "no_standard_descriptor_accessor"
	MessageOptions_Deprecated_field_name                         protoreflect.Name = "deprecated"
	MessageOptions_MapEntry_field_name                           protoreflect.Name = "map_entry"
	MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts"
	MessageOptions_UninterpretedOption_field_name                protoreflect.Name = "uninterpreted_option"

	MessageOptions_MessageSetWireFormat_field_fullname               protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format"
	MessageOptions_NoStandardDescriptorAccessor_field_fullname       protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor"
	MessageOptions_Deprecated_field_fullname                         protoreflect.FullName = "google.protobuf.MessageOptions.deprecated"
	MessageOptions_MapEntry_field_fullname                           protoreflect.FullName = "google.protobuf.MessageOptions.map_entry"
	MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts"
	MessageOptions_UninterpretedOption_field_fullname                protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.MessageOptions.
const (
	MessageOptions_MessageSetWireFormat_field_number               protoreflect.FieldNumber = 1
	MessageOptions_NoStandardDescriptorAccessor_field_number       protoreflect.FieldNumber = 2
	MessageOptions_Deprecated_field_number                         protoreflect.FieldNumber = 3
	MessageOptions_MapEntry_field_number                           protoreflect.FieldNumber = 7
	MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 11
	MessageOptions_UninterpretedOption_field_number                protoreflect.FieldNumber = 999
)

// Names for google.protobuf.FieldOptions.
const (
	FieldOptions_message_name     protoreflect.Name     = "FieldOptions"
	FieldOptions_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions"
)

// Field names for google.protobuf.FieldOptions.
const (
	FieldOptions_Ctype_field_name               protoreflect.Name = "ctype"
	FieldOptions_Packed_field_name              protoreflect.Name = "packed"
	FieldOptions_Jstype_field_name              protoreflect.Name = "jstype"
	FieldOptions_Lazy_field_name                protoreflect.Name = "lazy"
	FieldOptions_UnverifiedLazy_field_name      protoreflect.Name = "unverified_lazy"
	FieldOptions_Deprecated_field_name          protoreflect.Name = "deprecated"
	FieldOptions_Weak_field_name                protoreflect.Name = "weak"
	FieldOptions_DebugRedact_field_name         protoreflect.Name = "debug_redact"
	FieldOptions_Retention_field_name           protoreflect.Name = "retention"
	FieldOptions_Target_field_name              protoreflect.Name = "target"
	FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"

	FieldOptions_Ctype_field_fullname               protoreflect.FullName = "google.protobuf.FieldOptions.ctype"
	FieldOptions_Packed_field_fullname              protoreflect.FullName = "google.protobuf.FieldOptions.packed"
	FieldOptions_Jstype_field_fullname              protoreflect.FullName = "google.protobuf.FieldOptions.jstype"
	FieldOptions_Lazy_field_fullname                protoreflect.FullName = "google.protobuf.FieldOptions.lazy"
	FieldOptions_UnverifiedLazy_field_fullname      protoreflect.FullName = "google.protobuf.FieldOptions.unverified_lazy"
	FieldOptions_Deprecated_field_fullname          protoreflect.FullName = "google.protobuf.FieldOptions.deprecated"
	FieldOptions_Weak_field_fullname                protoreflect.FullName = "google.protobuf.FieldOptions.weak"
	FieldOptions_DebugRedact_field_fullname         protoreflect.FullName = "google.protobuf.FieldOptions.debug_redact"
	FieldOptions_Retention_field_fullname           protoreflect.FullName = "google.protobuf.FieldOptions.retention"
	FieldOptions_Target_field_fullname              protoreflect.FullName = "google.protobuf.FieldOptions.target"
	FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.FieldOptions.
const (
	FieldOptions_Ctype_field_number               protoreflect.FieldNumber = 1
	FieldOptions_Packed_field_number              protoreflect.FieldNumber = 2
	FieldOptions_Jstype_field_number              protoreflect.FieldNumber = 6
	FieldOptions_Lazy_field_number                protoreflect.FieldNumber = 5
	FieldOptions_UnverifiedLazy_field_number      protoreflect.FieldNumber = 15
	FieldOptions_Deprecated_field_number          protoreflect.FieldNumber = 3
	FieldOptions_Weak_field_number                protoreflect.FieldNumber = 10
	FieldOptions_DebugRedact_field_number         protoreflect.FieldNumber = 16
	FieldOptions_Retention_field_number           protoreflect.FieldNumber = 17
	FieldOptions_Target_field_number              protoreflect.FieldNumber = 18
	FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)

// Full and short names for google.protobuf.FieldOptions.CType.
const (
	FieldOptions_CType_enum_fullname = "google.protobuf.FieldOptions.CType"
	FieldOptions_CType_enum_name     = "CType"
)

// Full and short names for google.protobuf.FieldOptions.JSType.
const (
	FieldOptions_JSType_enum_fullname = "google.protobuf.FieldOptions.JSType"
	FieldOptions_JSType_enum_name     = "JSType"
)

// Full and short names for google.protobuf.FieldOptions.OptionRetention.
const (
	FieldOptions_OptionRetention_enum_fullname = "google.protobuf.FieldOptions.OptionRetention"
	FieldOptions_OptionRetention_enum_name     = "OptionRetention"
)

// Full and short names for google.protobuf.FieldOptions.OptionTargetType.
const (
	FieldOptions_OptionTargetType_enum_fullname = "google.protobuf.FieldOptions.OptionTargetType"
	FieldOptions_OptionTargetType_enum_name     = "OptionTargetType"
)

// Names for google.protobuf.OneofOptions.
const (
	OneofOptions_message_name     protoreflect.Name     = "OneofOptions"
	OneofOptions_message_fullname protoreflect.FullName = "google.protobuf.OneofOptions"
)

// Field names for google.protobuf.OneofOptions.
const (
	OneofOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"

	OneofOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.OneofOptions.
const (
	OneofOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)

// Names for google.protobuf.EnumOptions.
const (
	EnumOptions_message_name     protoreflect.Name     = "EnumOptions"
	EnumOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumOptions"
)

// Field names for google.protobuf.EnumOptions.
const (
	EnumOptions_AllowAlias_field_name                         protoreflect.Name = "allow_alias"
	EnumOptions_Deprecated_field_name                         protoreflect.Name = "deprecated"
	EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts"
	EnumOptions_UninterpretedOption_field_name                protoreflect.Name = "uninterpreted_option"

	EnumOptions_AllowAlias_field_fullname                         protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias"
	EnumOptions_Deprecated_field_fullname                         protoreflect.FullName = "google.protobuf.EnumOptions.deprecated"
	EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts"
	EnumOptions_UninterpretedOption_field_fullname                protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.EnumOptions.
const (
	EnumOptions_AllowAlias_field_number                         protoreflect.FieldNumber = 2
	EnumOptions_Deprecated_field_number                         protoreflect.FieldNumber = 3
	EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 6
	EnumOptions_UninterpretedOption_field_number                protoreflect.FieldNumber = 999
)

// Names for google.protobuf.EnumValueOptions.
const (
	EnumValueOptions_message_name     protoreflect.Name     = "EnumValueOptions"
	EnumValueOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions"
)

// Field names for google.protobuf.EnumValueOptions.
const (
	EnumValueOptions_Deprecated_field_name          protoreflect.Name = "deprecated"
	EnumValueOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"

	EnumValueOptions_Deprecated_field_fullname          protoreflect.FullName = "google.protobuf.EnumValueOptions.deprecated"
	EnumValueOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.EnumValueOptions.
const (
	EnumValueOptions_Deprecated_field_number          protoreflect.FieldNumber = 1
	EnumValueOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)

// Names for google.protobuf.ServiceOptions.
const (
	ServiceOptions_message_name     protoreflect.Name     = "ServiceOptions"
	ServiceOptions_message_fullname protoreflect.FullName = "google.protobuf.ServiceOptions"
)

// Field names for google.protobuf.ServiceOptions.
const (
	ServiceOptions_Deprecated_field_name          protoreflect.Name = "deprecated"
	ServiceOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"

	ServiceOptions_Deprecated_field_fullname          protoreflect.FullName = "google.protobuf.ServiceOptions.deprecated"
	ServiceOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.ServiceOptions.
const (
	ServiceOptions_Deprecated_field_number          protoreflect.FieldNumber = 33
	ServiceOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)

// Names for google.protobuf.MethodOptions.
const (
	MethodOptions_message_name     protoreflect.Name     = "MethodOptions"
	MethodOptions_message_fullname protoreflect.FullName = "google.protobuf.MethodOptions"
)

// Field names for google.protobuf.MethodOptions.
const (
	MethodOptions_Deprecated_field_name          protoreflect.Name = "deprecated"
	MethodOptions_IdempotencyLevel_field_name    protoreflect.Name = "idempotency_level"
	MethodOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"

	MethodOptions_Deprecated_field_fullname          protoreflect.FullName = "google.protobuf.MethodOptions.deprecated"
	MethodOptions_IdempotencyLevel_field_fullname    protoreflect.FullName = "google.protobuf.MethodOptions.idempotency_level"
	MethodOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.uninterpreted_option"
)

// Field numbers for google.protobuf.MethodOptions.
const (
	MethodOptions_Deprecated_field_number          protoreflect.FieldNumber = 33
	MethodOptions_IdempotencyLevel_field_number    protoreflect.FieldNumber = 34
	MethodOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)

// Full and short names for google.protobuf.MethodOptions.IdempotencyLevel.
const (
	MethodOptions_IdempotencyLevel_enum_fullname = "google.protobuf.MethodOptions.IdempotencyLevel"
	MethodOptions_IdempotencyLevel_enum_name     = "IdempotencyLevel"
)

// Names for google.protobuf.UninterpretedOption.
const (
	UninterpretedOption_message_name     protoreflect.Name     = "UninterpretedOption"
	UninterpretedOption_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption"
)

// Field names for google.protobuf.UninterpretedOption.
const (
	UninterpretedOption_Name_field_name             protoreflect.Name = "name"
	UninterpretedOption_IdentifierValue_field_name  protoreflect.Name = "identifier_value"
	UninterpretedOption_PositiveIntValue_field_name protoreflect.Name = "positive_int_value"
	UninterpretedOption_NegativeIntValue_field_name protoreflect.Name = "negative_int_value"
	UninterpretedOption_DoubleValue_field_name      protoreflect.Name = "double_value"
	UninterpretedOption_StringValue_field_name      protoreflect.Name = "string_value"
	UninterpretedOption_AggregateValue_field_name   protoreflect.Name = "aggregate_value"

	UninterpretedOption_Name_field_fullname             protoreflect.FullName = "google.protobuf.UninterpretedOption.name"
	UninterpretedOption_IdentifierValue_field_fullname  protoreflect.FullName = "google.protobuf.UninterpretedOption.identifier_value"
	UninterpretedOption_PositiveIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.positive_int_value"
	UninterpretedOption_NegativeIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.negative_int_value"
	UninterpretedOption_DoubleValue_field_fullname      protoreflect.FullName = "google.protobuf.UninterpretedOption.double_value"
	UninterpretedOption_StringValue_field_fullname      protoreflect.FullName = "google.protobuf.UninterpretedOption.string_value"
	UninterpretedOption_AggregateValue_field_fullname   protoreflect.FullName = "google.protobuf.UninterpretedOption.aggregate_value"
)

// Field numbers for google.protobuf.UninterpretedOption.
const (
	UninterpretedOption_Name_field_number             protoreflect.FieldNumber = 2
	UninterpretedOption_IdentifierValue_field_number  protoreflect.FieldNumber = 3
	UninterpretedOption_PositiveIntValue_field_number protoreflect.FieldNumber = 4
	UninterpretedOption_NegativeIntValue_field_number protoreflect.FieldNumber = 5
	UninterpretedOption_DoubleValue_field_number      protoreflect.FieldNumber = 6
	UninterpretedOption_StringValue_field_number      protoreflect.FieldNumber = 7
	UninterpretedOption_AggregateValue_field_number   protoreflect.FieldNumber = 8
)

// Names for google.protobuf.UninterpretedOption.NamePart.
const (
	UninterpretedOption_NamePart_message_name     protoreflect.Name     = "NamePart"
	UninterpretedOption_NamePart_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart"
)

// Field names for google.protobuf.UninterpretedOption.NamePart.
const (
	UninterpretedOption_NamePart_NamePart_field_name    protoreflect.Name = "name_part"
	UninterpretedOption_NamePart_IsExtension_field_name protoreflect.Name = "is_extension"

	UninterpretedOption_NamePart_NamePart_field_fullname    protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.name_part"
	UninterpretedOption_NamePart_IsExtension_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.is_extension"
)

// Field numbers for google.protobuf.UninterpretedOption.NamePart.
const (
	UninterpretedOption_NamePart_NamePart_field_number    protoreflect.FieldNumber = 1
	UninterpretedOption_NamePart_IsExtension_field_number protoreflect.FieldNumber = 2
)

// Names for google.protobuf.SourceCodeInfo.
const (
	SourceCodeInfo_message_name     protoreflect.Name     = "SourceCodeInfo"
	SourceCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo"
)

// Field names for google.protobuf.SourceCodeInfo.
const (
	SourceCodeInfo_Location_field_name protoreflect.Name = "location"

	SourceCodeInfo_Location_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.location"
)

// Field numbers for google.protobuf.SourceCodeInfo.
const (
	SourceCodeInfo_Location_field_number protoreflect.FieldNumber = 1
)

// Names for google.protobuf.SourceCodeInfo.Location.
const (
	SourceCodeInfo_Location_message_name     protoreflect.Name     = "Location"
	SourceCodeInfo_Location_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location"
)

// Field names for google.protobuf.SourceCodeInfo.Location.
const (
	SourceCodeInfo_Location_Path_field_name                    protoreflect.Name = "path"
	SourceCodeInfo_Location_Span_field_name                    protoreflect.Name = "span"
	SourceCodeInfo_Location_LeadingComments_field_name         protoreflect.Name = "leading_comments"
	SourceCodeInfo_Location_TrailingComments_field_name        protoreflect.Name = "trailing_comments"
	SourceCodeInfo_Location_LeadingDetachedComments_field_name protoreflect.Name = "leading_detached_comments"

	SourceCodeInfo_Location_Path_field_fullname                    protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.path"
	SourceCodeInfo_Location_Span_field_fullname                    protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.span"
	SourceCodeInfo_Location_LeadingComments_field_fullname         protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_comments"
	SourceCodeInfo_Location_TrailingComments_field_fullname        protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.trailing_comments"
	SourceCodeInfo_Location_LeadingDetachedComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_detached_comments"
)

// Field numbers for google.protobuf.SourceCodeInfo.Location.
const (
	SourceCodeInfo_Location_Path_field_number                    protoreflect.FieldNumber = 1
	SourceCodeInfo_Location_Span_field_number                    protoreflect.FieldNumber = 2
	SourceCodeInfo_Location_LeadingComments_field_number         protoreflect.FieldNumber = 3
	SourceCodeInfo_Location_TrailingComments_field_number        protoreflect.FieldNumber = 4
	SourceCodeInfo_Location_LeadingDetachedComments_field_number protoreflect.FieldNumber = 6
)

// Names for google.protobuf.GeneratedCodeInfo.
const (
	GeneratedCodeInfo_message_name     protoreflect.Name     = "GeneratedCodeInfo"
	GeneratedCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo"
)

// Field names for google.protobuf.GeneratedCodeInfo.
const (
	GeneratedCodeInfo_Annotation_field_name protoreflect.Name = "annotation"

	GeneratedCodeInfo_Annotation_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.annotation"
)

// Field numbers for google.protobuf.GeneratedCodeInfo.
const (
	GeneratedCodeInfo_Annotation_field_number protoreflect.FieldNumber = 1
)

// Names for google.protobuf.GeneratedCodeInfo.Annotation.
const (
	GeneratedCodeInfo_Annotation_message_name     protoreflect.Name     = "Annotation"
	GeneratedCodeInfo_Annotation_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation"
)

// Field names for google.protobuf.GeneratedCodeInfo.Annotation.
const (
	GeneratedCodeInfo_Annotation_Path_field_name       protoreflect.Name = "path"
	GeneratedCodeInfo_Annotation_SourceFile_field_name protoreflect.Name = "source_file"
	GeneratedCodeInfo_Annotation_Begin_field_name      protoreflect.Name = "begin"
	GeneratedCodeInfo_Annotation_End_field_name        protoreflect.Name = "end"
	GeneratedCodeInfo_Annotation_Semantic_field_name   protoreflect.Name = "semantic"

	GeneratedCodeInfo_Annotation_Path_field_fullname       protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.path"
	GeneratedCodeInfo_Annotation_SourceFile_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.source_file"
	GeneratedCodeInfo_Annotation_Begin_field_fullname      protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.begin"
	GeneratedCodeInfo_Annotation_End_field_fullname        protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.end"
	GeneratedCodeInfo_Annotation_Semantic_field_fullname   protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.semantic"
)

// Field numbers for google.protobuf.GeneratedCodeInfo.Annotation.
const (
	GeneratedCodeInfo_Annotation_Path_field_number       protoreflect.FieldNumber = 1
	GeneratedCodeInfo_Annotation_SourceFile_field_number protoreflect.FieldNumber = 2
	GeneratedCodeInfo_Annotation_Begin_field_number      protoreflect.FieldNumber = 3
	GeneratedCodeInfo_Annotation_End_field_number        protoreflect.FieldNumber = 4
	GeneratedCodeInfo_Annotation_Semantic_field_number   protoreflect.FieldNumber = 5
)

// Full and short names for google.protobuf.GeneratedCodeInfo.Annotation.Semantic.
const (
	GeneratedCodeInfo_Annotation_Semantic_enum_fullname = "google.protobuf.GeneratedCodeInfo.Annotation.Semantic"
	GeneratedCodeInfo_Annotation_Semantic_enum_name     = "Semantic"
)
