Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-31 10:12:15

0001 // Generated by the protocol buffer compiler.  DO NOT EDIT!
0002 // NO CHECKED-IN PROTOBUF GENCODE
0003 // source: google/protobuf/descriptor.proto
0004 // Protobuf C++ Version: 5.28.2
0005 
0006 #ifndef GOOGLE_PROTOBUF_INCLUDED_google_2fprotobuf_2fdescriptor_2eproto_2epb_2eh
0007 #define GOOGLE_PROTOBUF_INCLUDED_google_2fprotobuf_2fdescriptor_2eproto_2epb_2eh
0008 
0009 #include <limits>
0010 #include <string>
0011 #include <type_traits>
0012 #include <utility>
0013 
0014 #include "google/protobuf/runtime_version.h"
0015 #if PROTOBUF_VERSION != 5028002
0016 #error "Protobuf C++ gencode is built with an incompatible version of"
0017 #error "Protobuf C++ headers/runtime. See"
0018 #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
0019 #endif
0020 #include "google/protobuf/io/coded_stream.h"
0021 #include "google/protobuf/arena.h"
0022 #include "google/protobuf/arenastring.h"
0023 #include "google/protobuf/generated_message_tctable_decl.h"
0024 #include "google/protobuf/generated_message_util.h"
0025 #include "google/protobuf/metadata_lite.h"
0026 #include "google/protobuf/generated_message_reflection.h"
0027 #include "google/protobuf/message.h"
0028 #include "google/protobuf/repeated_field.h"  // IWYU pragma: export
0029 #include "google/protobuf/extension_set.h"  // IWYU pragma: export
0030 #include "google/protobuf/generated_enum_reflection.h"
0031 #include "google/protobuf/unknown_field_set.h"
0032 // @@protoc_insertion_point(includes)
0033 
0034 // Must be included last.
0035 #include "google/protobuf/port_def.inc"
0036 
0037 #define PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fdescriptor_2eproto PROTOBUF_EXPORT
0038 
0039 namespace google {
0040 namespace protobuf {
0041 namespace internal {
0042 class AnyMetadata;
0043 }  // namespace internal
0044 }  // namespace protobuf
0045 }  // namespace google
0046 
0047 // Internal implementation detail -- do not use these members.
0048 struct PROTOBUF_EXPORT TableStruct_google_2fprotobuf_2fdescriptor_2eproto {
0049   static const ::uint32_t offsets[];
0050 };
0051 PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable
0052     descriptor_table_google_2fprotobuf_2fdescriptor_2eproto;
0053 namespace google {
0054 namespace protobuf {
0055 class DescriptorProto;
0056 struct DescriptorProtoDefaultTypeInternal;
0057 PROTOBUF_EXPORT extern DescriptorProtoDefaultTypeInternal _DescriptorProto_default_instance_;
0058 class DescriptorProto_ExtensionRange;
0059 struct DescriptorProto_ExtensionRangeDefaultTypeInternal;
0060 PROTOBUF_EXPORT extern DescriptorProto_ExtensionRangeDefaultTypeInternal _DescriptorProto_ExtensionRange_default_instance_;
0061 class DescriptorProto_ReservedRange;
0062 struct DescriptorProto_ReservedRangeDefaultTypeInternal;
0063 PROTOBUF_EXPORT extern DescriptorProto_ReservedRangeDefaultTypeInternal _DescriptorProto_ReservedRange_default_instance_;
0064 class EnumDescriptorProto;
0065 struct EnumDescriptorProtoDefaultTypeInternal;
0066 PROTOBUF_EXPORT extern EnumDescriptorProtoDefaultTypeInternal _EnumDescriptorProto_default_instance_;
0067 class EnumDescriptorProto_EnumReservedRange;
0068 struct EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal;
0069 PROTOBUF_EXPORT extern EnumDescriptorProto_EnumReservedRangeDefaultTypeInternal _EnumDescriptorProto_EnumReservedRange_default_instance_;
0070 class EnumOptions;
0071 struct EnumOptionsDefaultTypeInternal;
0072 PROTOBUF_EXPORT extern EnumOptionsDefaultTypeInternal _EnumOptions_default_instance_;
0073 class EnumValueDescriptorProto;
0074 struct EnumValueDescriptorProtoDefaultTypeInternal;
0075 PROTOBUF_EXPORT extern EnumValueDescriptorProtoDefaultTypeInternal _EnumValueDescriptorProto_default_instance_;
0076 class EnumValueOptions;
0077 struct EnumValueOptionsDefaultTypeInternal;
0078 PROTOBUF_EXPORT extern EnumValueOptionsDefaultTypeInternal _EnumValueOptions_default_instance_;
0079 class ExtensionRangeOptions;
0080 struct ExtensionRangeOptionsDefaultTypeInternal;
0081 PROTOBUF_EXPORT extern ExtensionRangeOptionsDefaultTypeInternal _ExtensionRangeOptions_default_instance_;
0082 class ExtensionRangeOptions_Declaration;
0083 struct ExtensionRangeOptions_DeclarationDefaultTypeInternal;
0084 PROTOBUF_EXPORT extern ExtensionRangeOptions_DeclarationDefaultTypeInternal _ExtensionRangeOptions_Declaration_default_instance_;
0085 class FeatureSet;
0086 struct FeatureSetDefaultTypeInternal;
0087 PROTOBUF_EXPORT extern FeatureSetDefaultTypeInternal _FeatureSet_default_instance_;
0088 class FeatureSetDefaults;
0089 struct FeatureSetDefaultsDefaultTypeInternal;
0090 PROTOBUF_EXPORT extern FeatureSetDefaultsDefaultTypeInternal _FeatureSetDefaults_default_instance_;
0091 class FeatureSetDefaults_FeatureSetEditionDefault;
0092 struct FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal;
0093 PROTOBUF_EXPORT extern FeatureSetDefaults_FeatureSetEditionDefaultDefaultTypeInternal _FeatureSetDefaults_FeatureSetEditionDefault_default_instance_;
0094 class FieldDescriptorProto;
0095 struct FieldDescriptorProtoDefaultTypeInternal;
0096 PROTOBUF_EXPORT extern FieldDescriptorProtoDefaultTypeInternal _FieldDescriptorProto_default_instance_;
0097 class FieldOptions;
0098 struct FieldOptionsDefaultTypeInternal;
0099 PROTOBUF_EXPORT extern FieldOptionsDefaultTypeInternal _FieldOptions_default_instance_;
0100 class FieldOptions_EditionDefault;
0101 struct FieldOptions_EditionDefaultDefaultTypeInternal;
0102 PROTOBUF_EXPORT extern FieldOptions_EditionDefaultDefaultTypeInternal _FieldOptions_EditionDefault_default_instance_;
0103 class FieldOptions_FeatureSupport;
0104 struct FieldOptions_FeatureSupportDefaultTypeInternal;
0105 PROTOBUF_EXPORT extern FieldOptions_FeatureSupportDefaultTypeInternal _FieldOptions_FeatureSupport_default_instance_;
0106 class FileDescriptorProto;
0107 struct FileDescriptorProtoDefaultTypeInternal;
0108 PROTOBUF_EXPORT extern FileDescriptorProtoDefaultTypeInternal _FileDescriptorProto_default_instance_;
0109 class FileDescriptorSet;
0110 struct FileDescriptorSetDefaultTypeInternal;
0111 PROTOBUF_EXPORT extern FileDescriptorSetDefaultTypeInternal _FileDescriptorSet_default_instance_;
0112 class FileOptions;
0113 struct FileOptionsDefaultTypeInternal;
0114 PROTOBUF_EXPORT extern FileOptionsDefaultTypeInternal _FileOptions_default_instance_;
0115 class GeneratedCodeInfo;
0116 struct GeneratedCodeInfoDefaultTypeInternal;
0117 PROTOBUF_EXPORT extern GeneratedCodeInfoDefaultTypeInternal _GeneratedCodeInfo_default_instance_;
0118 class GeneratedCodeInfo_Annotation;
0119 struct GeneratedCodeInfo_AnnotationDefaultTypeInternal;
0120 PROTOBUF_EXPORT extern GeneratedCodeInfo_AnnotationDefaultTypeInternal _GeneratedCodeInfo_Annotation_default_instance_;
0121 class MessageOptions;
0122 struct MessageOptionsDefaultTypeInternal;
0123 PROTOBUF_EXPORT extern MessageOptionsDefaultTypeInternal _MessageOptions_default_instance_;
0124 class MethodDescriptorProto;
0125 struct MethodDescriptorProtoDefaultTypeInternal;
0126 PROTOBUF_EXPORT extern MethodDescriptorProtoDefaultTypeInternal _MethodDescriptorProto_default_instance_;
0127 class MethodOptions;
0128 struct MethodOptionsDefaultTypeInternal;
0129 PROTOBUF_EXPORT extern MethodOptionsDefaultTypeInternal _MethodOptions_default_instance_;
0130 class OneofDescriptorProto;
0131 struct OneofDescriptorProtoDefaultTypeInternal;
0132 PROTOBUF_EXPORT extern OneofDescriptorProtoDefaultTypeInternal _OneofDescriptorProto_default_instance_;
0133 class OneofOptions;
0134 struct OneofOptionsDefaultTypeInternal;
0135 PROTOBUF_EXPORT extern OneofOptionsDefaultTypeInternal _OneofOptions_default_instance_;
0136 class ServiceDescriptorProto;
0137 struct ServiceDescriptorProtoDefaultTypeInternal;
0138 PROTOBUF_EXPORT extern ServiceDescriptorProtoDefaultTypeInternal _ServiceDescriptorProto_default_instance_;
0139 class ServiceOptions;
0140 struct ServiceOptionsDefaultTypeInternal;
0141 PROTOBUF_EXPORT extern ServiceOptionsDefaultTypeInternal _ServiceOptions_default_instance_;
0142 class SourceCodeInfo;
0143 struct SourceCodeInfoDefaultTypeInternal;
0144 PROTOBUF_EXPORT extern SourceCodeInfoDefaultTypeInternal _SourceCodeInfo_default_instance_;
0145 class SourceCodeInfo_Location;
0146 struct SourceCodeInfo_LocationDefaultTypeInternal;
0147 PROTOBUF_EXPORT extern SourceCodeInfo_LocationDefaultTypeInternal _SourceCodeInfo_Location_default_instance_;
0148 class UninterpretedOption;
0149 struct UninterpretedOptionDefaultTypeInternal;
0150 PROTOBUF_EXPORT extern UninterpretedOptionDefaultTypeInternal _UninterpretedOption_default_instance_;
0151 class UninterpretedOption_NamePart;
0152 struct UninterpretedOption_NamePartDefaultTypeInternal;
0153 PROTOBUF_EXPORT extern UninterpretedOption_NamePartDefaultTypeInternal _UninterpretedOption_NamePart_default_instance_;
0154 namespace internal {
0155 #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
0156 PROTOBUF_EXPORT void InitializeFileDescriptorDefaultInstancesSlow();
0157 #endif  // !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
0158 }  // namespace internal
0159 }  // namespace protobuf
0160 }  // namespace google
0161 
0162 namespace google {
0163 namespace protobuf {
0164 enum ExtensionRangeOptions_VerificationState : int {
0165   ExtensionRangeOptions_VerificationState_DECLARATION = 0,
0166   ExtensionRangeOptions_VerificationState_UNVERIFIED = 1,
0167 };
0168 
0169 PROTOBUF_EXPORT bool ExtensionRangeOptions_VerificationState_IsValid(int value);
0170 PROTOBUF_EXPORT extern const uint32_t ExtensionRangeOptions_VerificationState_internal_data_[];
0171 constexpr ExtensionRangeOptions_VerificationState ExtensionRangeOptions_VerificationState_VerificationState_MIN = static_cast<ExtensionRangeOptions_VerificationState>(0);
0172 constexpr ExtensionRangeOptions_VerificationState ExtensionRangeOptions_VerificationState_VerificationState_MAX = static_cast<ExtensionRangeOptions_VerificationState>(1);
0173 constexpr int ExtensionRangeOptions_VerificationState_VerificationState_ARRAYSIZE = 1 + 1;
0174 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0175 ExtensionRangeOptions_VerificationState_descriptor();
0176 template <typename T>
0177 const std::string& ExtensionRangeOptions_VerificationState_Name(T value) {
0178   static_assert(std::is_same<T, ExtensionRangeOptions_VerificationState>::value ||
0179                     std::is_integral<T>::value,
0180                 "Incorrect type passed to VerificationState_Name().");
0181   return ExtensionRangeOptions_VerificationState_Name(static_cast<ExtensionRangeOptions_VerificationState>(value));
0182 }
0183 template <>
0184 inline const std::string& ExtensionRangeOptions_VerificationState_Name(ExtensionRangeOptions_VerificationState value) {
0185   return ::google::protobuf::internal::NameOfDenseEnum<ExtensionRangeOptions_VerificationState_descriptor,
0186                                                  0, 1>(
0187       static_cast<int>(value));
0188 }
0189 inline bool ExtensionRangeOptions_VerificationState_Parse(absl::string_view name, ExtensionRangeOptions_VerificationState* value) {
0190   return ::google::protobuf::internal::ParseNamedEnum<ExtensionRangeOptions_VerificationState>(
0191       ExtensionRangeOptions_VerificationState_descriptor(), name, value);
0192 }
0193 enum FieldDescriptorProto_Type : int {
0194   FieldDescriptorProto_Type_TYPE_DOUBLE = 1,
0195   FieldDescriptorProto_Type_TYPE_FLOAT = 2,
0196   FieldDescriptorProto_Type_TYPE_INT64 = 3,
0197   FieldDescriptorProto_Type_TYPE_UINT64 = 4,
0198   FieldDescriptorProto_Type_TYPE_INT32 = 5,
0199   FieldDescriptorProto_Type_TYPE_FIXED64 = 6,
0200   FieldDescriptorProto_Type_TYPE_FIXED32 = 7,
0201   FieldDescriptorProto_Type_TYPE_BOOL = 8,
0202   FieldDescriptorProto_Type_TYPE_STRING = 9,
0203   FieldDescriptorProto_Type_TYPE_GROUP = 10,
0204   FieldDescriptorProto_Type_TYPE_MESSAGE = 11,
0205   FieldDescriptorProto_Type_TYPE_BYTES = 12,
0206   FieldDescriptorProto_Type_TYPE_UINT32 = 13,
0207   FieldDescriptorProto_Type_TYPE_ENUM = 14,
0208   FieldDescriptorProto_Type_TYPE_SFIXED32 = 15,
0209   FieldDescriptorProto_Type_TYPE_SFIXED64 = 16,
0210   FieldDescriptorProto_Type_TYPE_SINT32 = 17,
0211   FieldDescriptorProto_Type_TYPE_SINT64 = 18,
0212 };
0213 
0214 PROTOBUF_EXPORT bool FieldDescriptorProto_Type_IsValid(int value);
0215 PROTOBUF_EXPORT extern const uint32_t FieldDescriptorProto_Type_internal_data_[];
0216 constexpr FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MIN = static_cast<FieldDescriptorProto_Type>(1);
0217 constexpr FieldDescriptorProto_Type FieldDescriptorProto_Type_Type_MAX = static_cast<FieldDescriptorProto_Type>(18);
0218 constexpr int FieldDescriptorProto_Type_Type_ARRAYSIZE = 18 + 1;
0219 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0220 FieldDescriptorProto_Type_descriptor();
0221 template <typename T>
0222 const std::string& FieldDescriptorProto_Type_Name(T value) {
0223   static_assert(std::is_same<T, FieldDescriptorProto_Type>::value ||
0224                     std::is_integral<T>::value,
0225                 "Incorrect type passed to Type_Name().");
0226   return FieldDescriptorProto_Type_Name(static_cast<FieldDescriptorProto_Type>(value));
0227 }
0228 template <>
0229 inline const std::string& FieldDescriptorProto_Type_Name(FieldDescriptorProto_Type value) {
0230   return ::google::protobuf::internal::NameOfDenseEnum<FieldDescriptorProto_Type_descriptor,
0231                                                  1, 18>(
0232       static_cast<int>(value));
0233 }
0234 inline bool FieldDescriptorProto_Type_Parse(absl::string_view name, FieldDescriptorProto_Type* value) {
0235   return ::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Type>(
0236       FieldDescriptorProto_Type_descriptor(), name, value);
0237 }
0238 enum FieldDescriptorProto_Label : int {
0239   FieldDescriptorProto_Label_LABEL_OPTIONAL = 1,
0240   FieldDescriptorProto_Label_LABEL_REPEATED = 3,
0241   FieldDescriptorProto_Label_LABEL_REQUIRED = 2,
0242 };
0243 
0244 PROTOBUF_EXPORT bool FieldDescriptorProto_Label_IsValid(int value);
0245 PROTOBUF_EXPORT extern const uint32_t FieldDescriptorProto_Label_internal_data_[];
0246 constexpr FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MIN = static_cast<FieldDescriptorProto_Label>(1);
0247 constexpr FieldDescriptorProto_Label FieldDescriptorProto_Label_Label_MAX = static_cast<FieldDescriptorProto_Label>(3);
0248 constexpr int FieldDescriptorProto_Label_Label_ARRAYSIZE = 3 + 1;
0249 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0250 FieldDescriptorProto_Label_descriptor();
0251 template <typename T>
0252 const std::string& FieldDescriptorProto_Label_Name(T value) {
0253   static_assert(std::is_same<T, FieldDescriptorProto_Label>::value ||
0254                     std::is_integral<T>::value,
0255                 "Incorrect type passed to Label_Name().");
0256   return FieldDescriptorProto_Label_Name(static_cast<FieldDescriptorProto_Label>(value));
0257 }
0258 template <>
0259 inline const std::string& FieldDescriptorProto_Label_Name(FieldDescriptorProto_Label value) {
0260   return ::google::protobuf::internal::NameOfDenseEnum<FieldDescriptorProto_Label_descriptor,
0261                                                  1, 3>(
0262       static_cast<int>(value));
0263 }
0264 inline bool FieldDescriptorProto_Label_Parse(absl::string_view name, FieldDescriptorProto_Label* value) {
0265   return ::google::protobuf::internal::ParseNamedEnum<FieldDescriptorProto_Label>(
0266       FieldDescriptorProto_Label_descriptor(), name, value);
0267 }
0268 enum FileOptions_OptimizeMode : int {
0269   FileOptions_OptimizeMode_SPEED = 1,
0270   FileOptions_OptimizeMode_CODE_SIZE = 2,
0271   FileOptions_OptimizeMode_LITE_RUNTIME = 3,
0272 };
0273 
0274 PROTOBUF_EXPORT bool FileOptions_OptimizeMode_IsValid(int value);
0275 PROTOBUF_EXPORT extern const uint32_t FileOptions_OptimizeMode_internal_data_[];
0276 constexpr FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MIN = static_cast<FileOptions_OptimizeMode>(1);
0277 constexpr FileOptions_OptimizeMode FileOptions_OptimizeMode_OptimizeMode_MAX = static_cast<FileOptions_OptimizeMode>(3);
0278 constexpr int FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE = 3 + 1;
0279 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0280 FileOptions_OptimizeMode_descriptor();
0281 template <typename T>
0282 const std::string& FileOptions_OptimizeMode_Name(T value) {
0283   static_assert(std::is_same<T, FileOptions_OptimizeMode>::value ||
0284                     std::is_integral<T>::value,
0285                 "Incorrect type passed to OptimizeMode_Name().");
0286   return FileOptions_OptimizeMode_Name(static_cast<FileOptions_OptimizeMode>(value));
0287 }
0288 template <>
0289 inline const std::string& FileOptions_OptimizeMode_Name(FileOptions_OptimizeMode value) {
0290   return ::google::protobuf::internal::NameOfDenseEnum<FileOptions_OptimizeMode_descriptor,
0291                                                  1, 3>(
0292       static_cast<int>(value));
0293 }
0294 inline bool FileOptions_OptimizeMode_Parse(absl::string_view name, FileOptions_OptimizeMode* value) {
0295   return ::google::protobuf::internal::ParseNamedEnum<FileOptions_OptimizeMode>(
0296       FileOptions_OptimizeMode_descriptor(), name, value);
0297 }
0298 enum FieldOptions_CType : int {
0299   FieldOptions_CType_STRING = 0,
0300   FieldOptions_CType_CORD = 1,
0301   FieldOptions_CType_STRING_PIECE = 2,
0302 };
0303 
0304 PROTOBUF_EXPORT bool FieldOptions_CType_IsValid(int value);
0305 PROTOBUF_EXPORT extern const uint32_t FieldOptions_CType_internal_data_[];
0306 constexpr FieldOptions_CType FieldOptions_CType_CType_MIN = static_cast<FieldOptions_CType>(0);
0307 constexpr FieldOptions_CType FieldOptions_CType_CType_MAX = static_cast<FieldOptions_CType>(2);
0308 constexpr int FieldOptions_CType_CType_ARRAYSIZE = 2 + 1;
0309 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0310 FieldOptions_CType_descriptor();
0311 template <typename T>
0312 const std::string& FieldOptions_CType_Name(T value) {
0313   static_assert(std::is_same<T, FieldOptions_CType>::value ||
0314                     std::is_integral<T>::value,
0315                 "Incorrect type passed to CType_Name().");
0316   return FieldOptions_CType_Name(static_cast<FieldOptions_CType>(value));
0317 }
0318 template <>
0319 inline const std::string& FieldOptions_CType_Name(FieldOptions_CType value) {
0320   return ::google::protobuf::internal::NameOfDenseEnum<FieldOptions_CType_descriptor,
0321                                                  0, 2>(
0322       static_cast<int>(value));
0323 }
0324 inline bool FieldOptions_CType_Parse(absl::string_view name, FieldOptions_CType* value) {
0325   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_CType>(
0326       FieldOptions_CType_descriptor(), name, value);
0327 }
0328 enum FieldOptions_JSType : int {
0329   FieldOptions_JSType_JS_NORMAL = 0,
0330   FieldOptions_JSType_JS_STRING = 1,
0331   FieldOptions_JSType_JS_NUMBER = 2,
0332 };
0333 
0334 PROTOBUF_EXPORT bool FieldOptions_JSType_IsValid(int value);
0335 PROTOBUF_EXPORT extern const uint32_t FieldOptions_JSType_internal_data_[];
0336 constexpr FieldOptions_JSType FieldOptions_JSType_JSType_MIN = static_cast<FieldOptions_JSType>(0);
0337 constexpr FieldOptions_JSType FieldOptions_JSType_JSType_MAX = static_cast<FieldOptions_JSType>(2);
0338 constexpr int FieldOptions_JSType_JSType_ARRAYSIZE = 2 + 1;
0339 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0340 FieldOptions_JSType_descriptor();
0341 template <typename T>
0342 const std::string& FieldOptions_JSType_Name(T value) {
0343   static_assert(std::is_same<T, FieldOptions_JSType>::value ||
0344                     std::is_integral<T>::value,
0345                 "Incorrect type passed to JSType_Name().");
0346   return FieldOptions_JSType_Name(static_cast<FieldOptions_JSType>(value));
0347 }
0348 template <>
0349 inline const std::string& FieldOptions_JSType_Name(FieldOptions_JSType value) {
0350   return ::google::protobuf::internal::NameOfDenseEnum<FieldOptions_JSType_descriptor,
0351                                                  0, 2>(
0352       static_cast<int>(value));
0353 }
0354 inline bool FieldOptions_JSType_Parse(absl::string_view name, FieldOptions_JSType* value) {
0355   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_JSType>(
0356       FieldOptions_JSType_descriptor(), name, value);
0357 }
0358 enum FieldOptions_OptionRetention : int {
0359   FieldOptions_OptionRetention_RETENTION_UNKNOWN = 0,
0360   FieldOptions_OptionRetention_RETENTION_RUNTIME = 1,
0361   FieldOptions_OptionRetention_RETENTION_SOURCE = 2,
0362 };
0363 
0364 PROTOBUF_EXPORT bool FieldOptions_OptionRetention_IsValid(int value);
0365 PROTOBUF_EXPORT extern const uint32_t FieldOptions_OptionRetention_internal_data_[];
0366 constexpr FieldOptions_OptionRetention FieldOptions_OptionRetention_OptionRetention_MIN = static_cast<FieldOptions_OptionRetention>(0);
0367 constexpr FieldOptions_OptionRetention FieldOptions_OptionRetention_OptionRetention_MAX = static_cast<FieldOptions_OptionRetention>(2);
0368 constexpr int FieldOptions_OptionRetention_OptionRetention_ARRAYSIZE = 2 + 1;
0369 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0370 FieldOptions_OptionRetention_descriptor();
0371 template <typename T>
0372 const std::string& FieldOptions_OptionRetention_Name(T value) {
0373   static_assert(std::is_same<T, FieldOptions_OptionRetention>::value ||
0374                     std::is_integral<T>::value,
0375                 "Incorrect type passed to OptionRetention_Name().");
0376   return FieldOptions_OptionRetention_Name(static_cast<FieldOptions_OptionRetention>(value));
0377 }
0378 template <>
0379 inline const std::string& FieldOptions_OptionRetention_Name(FieldOptions_OptionRetention value) {
0380   return ::google::protobuf::internal::NameOfDenseEnum<FieldOptions_OptionRetention_descriptor,
0381                                                  0, 2>(
0382       static_cast<int>(value));
0383 }
0384 inline bool FieldOptions_OptionRetention_Parse(absl::string_view name, FieldOptions_OptionRetention* value) {
0385   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_OptionRetention>(
0386       FieldOptions_OptionRetention_descriptor(), name, value);
0387 }
0388 enum FieldOptions_OptionTargetType : int {
0389   FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN = 0,
0390   FieldOptions_OptionTargetType_TARGET_TYPE_FILE = 1,
0391   FieldOptions_OptionTargetType_TARGET_TYPE_EXTENSION_RANGE = 2,
0392   FieldOptions_OptionTargetType_TARGET_TYPE_MESSAGE = 3,
0393   FieldOptions_OptionTargetType_TARGET_TYPE_FIELD = 4,
0394   FieldOptions_OptionTargetType_TARGET_TYPE_ONEOF = 5,
0395   FieldOptions_OptionTargetType_TARGET_TYPE_ENUM = 6,
0396   FieldOptions_OptionTargetType_TARGET_TYPE_ENUM_ENTRY = 7,
0397   FieldOptions_OptionTargetType_TARGET_TYPE_SERVICE = 8,
0398   FieldOptions_OptionTargetType_TARGET_TYPE_METHOD = 9,
0399 };
0400 
0401 PROTOBUF_EXPORT bool FieldOptions_OptionTargetType_IsValid(int value);
0402 PROTOBUF_EXPORT extern const uint32_t FieldOptions_OptionTargetType_internal_data_[];
0403 constexpr FieldOptions_OptionTargetType FieldOptions_OptionTargetType_OptionTargetType_MIN = static_cast<FieldOptions_OptionTargetType>(0);
0404 constexpr FieldOptions_OptionTargetType FieldOptions_OptionTargetType_OptionTargetType_MAX = static_cast<FieldOptions_OptionTargetType>(9);
0405 constexpr int FieldOptions_OptionTargetType_OptionTargetType_ARRAYSIZE = 9 + 1;
0406 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0407 FieldOptions_OptionTargetType_descriptor();
0408 template <typename T>
0409 const std::string& FieldOptions_OptionTargetType_Name(T value) {
0410   static_assert(std::is_same<T, FieldOptions_OptionTargetType>::value ||
0411                     std::is_integral<T>::value,
0412                 "Incorrect type passed to OptionTargetType_Name().");
0413   return FieldOptions_OptionTargetType_Name(static_cast<FieldOptions_OptionTargetType>(value));
0414 }
0415 template <>
0416 inline const std::string& FieldOptions_OptionTargetType_Name(FieldOptions_OptionTargetType value) {
0417   return ::google::protobuf::internal::NameOfDenseEnum<FieldOptions_OptionTargetType_descriptor,
0418                                                  0, 9>(
0419       static_cast<int>(value));
0420 }
0421 inline bool FieldOptions_OptionTargetType_Parse(absl::string_view name, FieldOptions_OptionTargetType* value) {
0422   return ::google::protobuf::internal::ParseNamedEnum<FieldOptions_OptionTargetType>(
0423       FieldOptions_OptionTargetType_descriptor(), name, value);
0424 }
0425 enum MethodOptions_IdempotencyLevel : int {
0426   MethodOptions_IdempotencyLevel_IDEMPOTENCY_UNKNOWN = 0,
0427   MethodOptions_IdempotencyLevel_NO_SIDE_EFFECTS = 1,
0428   MethodOptions_IdempotencyLevel_IDEMPOTENT = 2,
0429 };
0430 
0431 PROTOBUF_EXPORT bool MethodOptions_IdempotencyLevel_IsValid(int value);
0432 PROTOBUF_EXPORT extern const uint32_t MethodOptions_IdempotencyLevel_internal_data_[];
0433 constexpr MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel_IdempotencyLevel_MIN = static_cast<MethodOptions_IdempotencyLevel>(0);
0434 constexpr MethodOptions_IdempotencyLevel MethodOptions_IdempotencyLevel_IdempotencyLevel_MAX = static_cast<MethodOptions_IdempotencyLevel>(2);
0435 constexpr int MethodOptions_IdempotencyLevel_IdempotencyLevel_ARRAYSIZE = 2 + 1;
0436 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0437 MethodOptions_IdempotencyLevel_descriptor();
0438 template <typename T>
0439 const std::string& MethodOptions_IdempotencyLevel_Name(T value) {
0440   static_assert(std::is_same<T, MethodOptions_IdempotencyLevel>::value ||
0441                     std::is_integral<T>::value,
0442                 "Incorrect type passed to IdempotencyLevel_Name().");
0443   return MethodOptions_IdempotencyLevel_Name(static_cast<MethodOptions_IdempotencyLevel>(value));
0444 }
0445 template <>
0446 inline const std::string& MethodOptions_IdempotencyLevel_Name(MethodOptions_IdempotencyLevel value) {
0447   return ::google::protobuf::internal::NameOfDenseEnum<MethodOptions_IdempotencyLevel_descriptor,
0448                                                  0, 2>(
0449       static_cast<int>(value));
0450 }
0451 inline bool MethodOptions_IdempotencyLevel_Parse(absl::string_view name, MethodOptions_IdempotencyLevel* value) {
0452   return ::google::protobuf::internal::ParseNamedEnum<MethodOptions_IdempotencyLevel>(
0453       MethodOptions_IdempotencyLevel_descriptor(), name, value);
0454 }
0455 enum FeatureSet_FieldPresence : int {
0456   FeatureSet_FieldPresence_FIELD_PRESENCE_UNKNOWN = 0,
0457   FeatureSet_FieldPresence_EXPLICIT = 1,
0458   FeatureSet_FieldPresence_IMPLICIT = 2,
0459   FeatureSet_FieldPresence_LEGACY_REQUIRED = 3,
0460 };
0461 
0462 PROTOBUF_EXPORT bool FeatureSet_FieldPresence_IsValid(int value);
0463 PROTOBUF_EXPORT extern const uint32_t FeatureSet_FieldPresence_internal_data_[];
0464 constexpr FeatureSet_FieldPresence FeatureSet_FieldPresence_FieldPresence_MIN = static_cast<FeatureSet_FieldPresence>(0);
0465 constexpr FeatureSet_FieldPresence FeatureSet_FieldPresence_FieldPresence_MAX = static_cast<FeatureSet_FieldPresence>(3);
0466 constexpr int FeatureSet_FieldPresence_FieldPresence_ARRAYSIZE = 3 + 1;
0467 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0468 FeatureSet_FieldPresence_descriptor();
0469 template <typename T>
0470 const std::string& FeatureSet_FieldPresence_Name(T value) {
0471   static_assert(std::is_same<T, FeatureSet_FieldPresence>::value ||
0472                     std::is_integral<T>::value,
0473                 "Incorrect type passed to FieldPresence_Name().");
0474   return FeatureSet_FieldPresence_Name(static_cast<FeatureSet_FieldPresence>(value));
0475 }
0476 template <>
0477 inline const std::string& FeatureSet_FieldPresence_Name(FeatureSet_FieldPresence value) {
0478   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_FieldPresence_descriptor,
0479                                                  0, 3>(
0480       static_cast<int>(value));
0481 }
0482 inline bool FeatureSet_FieldPresence_Parse(absl::string_view name, FeatureSet_FieldPresence* value) {
0483   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_FieldPresence>(
0484       FeatureSet_FieldPresence_descriptor(), name, value);
0485 }
0486 enum FeatureSet_EnumType : int {
0487   FeatureSet_EnumType_ENUM_TYPE_UNKNOWN = 0,
0488   FeatureSet_EnumType_OPEN = 1,
0489   FeatureSet_EnumType_CLOSED = 2,
0490 };
0491 
0492 PROTOBUF_EXPORT bool FeatureSet_EnumType_IsValid(int value);
0493 PROTOBUF_EXPORT extern const uint32_t FeatureSet_EnumType_internal_data_[];
0494 constexpr FeatureSet_EnumType FeatureSet_EnumType_EnumType_MIN = static_cast<FeatureSet_EnumType>(0);
0495 constexpr FeatureSet_EnumType FeatureSet_EnumType_EnumType_MAX = static_cast<FeatureSet_EnumType>(2);
0496 constexpr int FeatureSet_EnumType_EnumType_ARRAYSIZE = 2 + 1;
0497 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0498 FeatureSet_EnumType_descriptor();
0499 template <typename T>
0500 const std::string& FeatureSet_EnumType_Name(T value) {
0501   static_assert(std::is_same<T, FeatureSet_EnumType>::value ||
0502                     std::is_integral<T>::value,
0503                 "Incorrect type passed to EnumType_Name().");
0504   return FeatureSet_EnumType_Name(static_cast<FeatureSet_EnumType>(value));
0505 }
0506 template <>
0507 inline const std::string& FeatureSet_EnumType_Name(FeatureSet_EnumType value) {
0508   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_EnumType_descriptor,
0509                                                  0, 2>(
0510       static_cast<int>(value));
0511 }
0512 inline bool FeatureSet_EnumType_Parse(absl::string_view name, FeatureSet_EnumType* value) {
0513   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_EnumType>(
0514       FeatureSet_EnumType_descriptor(), name, value);
0515 }
0516 enum FeatureSet_RepeatedFieldEncoding : int {
0517   FeatureSet_RepeatedFieldEncoding_REPEATED_FIELD_ENCODING_UNKNOWN = 0,
0518   FeatureSet_RepeatedFieldEncoding_PACKED = 1,
0519   FeatureSet_RepeatedFieldEncoding_EXPANDED = 2,
0520 };
0521 
0522 PROTOBUF_EXPORT bool FeatureSet_RepeatedFieldEncoding_IsValid(int value);
0523 PROTOBUF_EXPORT extern const uint32_t FeatureSet_RepeatedFieldEncoding_internal_data_[];
0524 constexpr FeatureSet_RepeatedFieldEncoding FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_MIN = static_cast<FeatureSet_RepeatedFieldEncoding>(0);
0525 constexpr FeatureSet_RepeatedFieldEncoding FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_MAX = static_cast<FeatureSet_RepeatedFieldEncoding>(2);
0526 constexpr int FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_ARRAYSIZE = 2 + 1;
0527 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0528 FeatureSet_RepeatedFieldEncoding_descriptor();
0529 template <typename T>
0530 const std::string& FeatureSet_RepeatedFieldEncoding_Name(T value) {
0531   static_assert(std::is_same<T, FeatureSet_RepeatedFieldEncoding>::value ||
0532                     std::is_integral<T>::value,
0533                 "Incorrect type passed to RepeatedFieldEncoding_Name().");
0534   return FeatureSet_RepeatedFieldEncoding_Name(static_cast<FeatureSet_RepeatedFieldEncoding>(value));
0535 }
0536 template <>
0537 inline const std::string& FeatureSet_RepeatedFieldEncoding_Name(FeatureSet_RepeatedFieldEncoding value) {
0538   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_RepeatedFieldEncoding_descriptor,
0539                                                  0, 2>(
0540       static_cast<int>(value));
0541 }
0542 inline bool FeatureSet_RepeatedFieldEncoding_Parse(absl::string_view name, FeatureSet_RepeatedFieldEncoding* value) {
0543   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_RepeatedFieldEncoding>(
0544       FeatureSet_RepeatedFieldEncoding_descriptor(), name, value);
0545 }
0546 enum FeatureSet_Utf8Validation : int {
0547   FeatureSet_Utf8Validation_UTF8_VALIDATION_UNKNOWN = 0,
0548   FeatureSet_Utf8Validation_VERIFY = 2,
0549   FeatureSet_Utf8Validation_NONE = 3,
0550 };
0551 
0552 PROTOBUF_EXPORT bool FeatureSet_Utf8Validation_IsValid(int value);
0553 PROTOBUF_EXPORT extern const uint32_t FeatureSet_Utf8Validation_internal_data_[];
0554 constexpr FeatureSet_Utf8Validation FeatureSet_Utf8Validation_Utf8Validation_MIN = static_cast<FeatureSet_Utf8Validation>(0);
0555 constexpr FeatureSet_Utf8Validation FeatureSet_Utf8Validation_Utf8Validation_MAX = static_cast<FeatureSet_Utf8Validation>(3);
0556 constexpr int FeatureSet_Utf8Validation_Utf8Validation_ARRAYSIZE = 3 + 1;
0557 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0558 FeatureSet_Utf8Validation_descriptor();
0559 template <typename T>
0560 const std::string& FeatureSet_Utf8Validation_Name(T value) {
0561   static_assert(std::is_same<T, FeatureSet_Utf8Validation>::value ||
0562                     std::is_integral<T>::value,
0563                 "Incorrect type passed to Utf8Validation_Name().");
0564   return FeatureSet_Utf8Validation_Name(static_cast<FeatureSet_Utf8Validation>(value));
0565 }
0566 template <>
0567 inline const std::string& FeatureSet_Utf8Validation_Name(FeatureSet_Utf8Validation value) {
0568   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_Utf8Validation_descriptor,
0569                                                  0, 3>(
0570       static_cast<int>(value));
0571 }
0572 inline bool FeatureSet_Utf8Validation_Parse(absl::string_view name, FeatureSet_Utf8Validation* value) {
0573   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_Utf8Validation>(
0574       FeatureSet_Utf8Validation_descriptor(), name, value);
0575 }
0576 enum FeatureSet_MessageEncoding : int {
0577   FeatureSet_MessageEncoding_MESSAGE_ENCODING_UNKNOWN = 0,
0578   FeatureSet_MessageEncoding_LENGTH_PREFIXED = 1,
0579   FeatureSet_MessageEncoding_DELIMITED = 2,
0580 };
0581 
0582 PROTOBUF_EXPORT bool FeatureSet_MessageEncoding_IsValid(int value);
0583 PROTOBUF_EXPORT extern const uint32_t FeatureSet_MessageEncoding_internal_data_[];
0584 constexpr FeatureSet_MessageEncoding FeatureSet_MessageEncoding_MessageEncoding_MIN = static_cast<FeatureSet_MessageEncoding>(0);
0585 constexpr FeatureSet_MessageEncoding FeatureSet_MessageEncoding_MessageEncoding_MAX = static_cast<FeatureSet_MessageEncoding>(2);
0586 constexpr int FeatureSet_MessageEncoding_MessageEncoding_ARRAYSIZE = 2 + 1;
0587 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0588 FeatureSet_MessageEncoding_descriptor();
0589 template <typename T>
0590 const std::string& FeatureSet_MessageEncoding_Name(T value) {
0591   static_assert(std::is_same<T, FeatureSet_MessageEncoding>::value ||
0592                     std::is_integral<T>::value,
0593                 "Incorrect type passed to MessageEncoding_Name().");
0594   return FeatureSet_MessageEncoding_Name(static_cast<FeatureSet_MessageEncoding>(value));
0595 }
0596 template <>
0597 inline const std::string& FeatureSet_MessageEncoding_Name(FeatureSet_MessageEncoding value) {
0598   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_MessageEncoding_descriptor,
0599                                                  0, 2>(
0600       static_cast<int>(value));
0601 }
0602 inline bool FeatureSet_MessageEncoding_Parse(absl::string_view name, FeatureSet_MessageEncoding* value) {
0603   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_MessageEncoding>(
0604       FeatureSet_MessageEncoding_descriptor(), name, value);
0605 }
0606 enum FeatureSet_JsonFormat : int {
0607   FeatureSet_JsonFormat_JSON_FORMAT_UNKNOWN = 0,
0608   FeatureSet_JsonFormat_ALLOW = 1,
0609   FeatureSet_JsonFormat_LEGACY_BEST_EFFORT = 2,
0610 };
0611 
0612 PROTOBUF_EXPORT bool FeatureSet_JsonFormat_IsValid(int value);
0613 PROTOBUF_EXPORT extern const uint32_t FeatureSet_JsonFormat_internal_data_[];
0614 constexpr FeatureSet_JsonFormat FeatureSet_JsonFormat_JsonFormat_MIN = static_cast<FeatureSet_JsonFormat>(0);
0615 constexpr FeatureSet_JsonFormat FeatureSet_JsonFormat_JsonFormat_MAX = static_cast<FeatureSet_JsonFormat>(2);
0616 constexpr int FeatureSet_JsonFormat_JsonFormat_ARRAYSIZE = 2 + 1;
0617 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0618 FeatureSet_JsonFormat_descriptor();
0619 template <typename T>
0620 const std::string& FeatureSet_JsonFormat_Name(T value) {
0621   static_assert(std::is_same<T, FeatureSet_JsonFormat>::value ||
0622                     std::is_integral<T>::value,
0623                 "Incorrect type passed to JsonFormat_Name().");
0624   return FeatureSet_JsonFormat_Name(static_cast<FeatureSet_JsonFormat>(value));
0625 }
0626 template <>
0627 inline const std::string& FeatureSet_JsonFormat_Name(FeatureSet_JsonFormat value) {
0628   return ::google::protobuf::internal::NameOfDenseEnum<FeatureSet_JsonFormat_descriptor,
0629                                                  0, 2>(
0630       static_cast<int>(value));
0631 }
0632 inline bool FeatureSet_JsonFormat_Parse(absl::string_view name, FeatureSet_JsonFormat* value) {
0633   return ::google::protobuf::internal::ParseNamedEnum<FeatureSet_JsonFormat>(
0634       FeatureSet_JsonFormat_descriptor(), name, value);
0635 }
0636 enum GeneratedCodeInfo_Annotation_Semantic : int {
0637   GeneratedCodeInfo_Annotation_Semantic_NONE = 0,
0638   GeneratedCodeInfo_Annotation_Semantic_SET = 1,
0639   GeneratedCodeInfo_Annotation_Semantic_ALIAS = 2,
0640 };
0641 
0642 PROTOBUF_EXPORT bool GeneratedCodeInfo_Annotation_Semantic_IsValid(int value);
0643 PROTOBUF_EXPORT extern const uint32_t GeneratedCodeInfo_Annotation_Semantic_internal_data_[];
0644 constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation_Semantic_Semantic_MIN = static_cast<GeneratedCodeInfo_Annotation_Semantic>(0);
0645 constexpr GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation_Semantic_Semantic_MAX = static_cast<GeneratedCodeInfo_Annotation_Semantic>(2);
0646 constexpr int GeneratedCodeInfo_Annotation_Semantic_Semantic_ARRAYSIZE = 2 + 1;
0647 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0648 GeneratedCodeInfo_Annotation_Semantic_descriptor();
0649 template <typename T>
0650 const std::string& GeneratedCodeInfo_Annotation_Semantic_Name(T value) {
0651   static_assert(std::is_same<T, GeneratedCodeInfo_Annotation_Semantic>::value ||
0652                     std::is_integral<T>::value,
0653                 "Incorrect type passed to Semantic_Name().");
0654   return GeneratedCodeInfo_Annotation_Semantic_Name(static_cast<GeneratedCodeInfo_Annotation_Semantic>(value));
0655 }
0656 template <>
0657 inline const std::string& GeneratedCodeInfo_Annotation_Semantic_Name(GeneratedCodeInfo_Annotation_Semantic value) {
0658   return ::google::protobuf::internal::NameOfDenseEnum<GeneratedCodeInfo_Annotation_Semantic_descriptor,
0659                                                  0, 2>(
0660       static_cast<int>(value));
0661 }
0662 inline bool GeneratedCodeInfo_Annotation_Semantic_Parse(absl::string_view name, GeneratedCodeInfo_Annotation_Semantic* value) {
0663   return ::google::protobuf::internal::ParseNamedEnum<GeneratedCodeInfo_Annotation_Semantic>(
0664       GeneratedCodeInfo_Annotation_Semantic_descriptor(), name, value);
0665 }
0666 enum Edition : int {
0667   EDITION_UNKNOWN = 0,
0668   EDITION_LEGACY = 900,
0669   EDITION_PROTO2 = 998,
0670   EDITION_PROTO3 = 999,
0671   EDITION_2023 = 1000,
0672   EDITION_2024 = 1001,
0673   EDITION_1_TEST_ONLY = 1,
0674   EDITION_2_TEST_ONLY = 2,
0675   EDITION_99997_TEST_ONLY = 99997,
0676   EDITION_99998_TEST_ONLY = 99998,
0677   EDITION_99999_TEST_ONLY = 99999,
0678   EDITION_MAX = 2147483647,
0679 };
0680 
0681 PROTOBUF_EXPORT bool Edition_IsValid(int value);
0682 PROTOBUF_EXPORT extern const uint32_t Edition_internal_data_[];
0683 constexpr Edition Edition_MIN = static_cast<Edition>(0);
0684 constexpr Edition Edition_MAX = static_cast<Edition>(2147483647);
0685 PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor*
0686 Edition_descriptor();
0687 template <typename T>
0688 const std::string& Edition_Name(T value) {
0689   static_assert(std::is_same<T, Edition>::value ||
0690                     std::is_integral<T>::value,
0691                 "Incorrect type passed to Edition_Name().");
0692   return ::google::protobuf::internal::NameOfEnum(Edition_descriptor(), value);
0693 }
0694 inline bool Edition_Parse(absl::string_view name, Edition* value) {
0695   return ::google::protobuf::internal::ParseNamedEnum<Edition>(
0696       Edition_descriptor(), name, value);
0697 }
0698 
0699 // ===================================================================
0700 
0701 
0702 // -------------------------------------------------------------------
0703 
0704 class PROTOBUF_EXPORT UninterpretedOption_NamePart final : public ::google::protobuf::Message
0705 /* @@protoc_insertion_point(class_definition:google.protobuf.UninterpretedOption.NamePart) */ {
0706  public:
0707   inline UninterpretedOption_NamePart() : UninterpretedOption_NamePart(nullptr) {}
0708   ~UninterpretedOption_NamePart() PROTOBUF_FINAL;
0709   template <typename = void>
0710   explicit PROTOBUF_CONSTEXPR UninterpretedOption_NamePart(
0711       ::google::protobuf::internal::ConstantInitialized);
0712 
0713   inline UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from) : UninterpretedOption_NamePart(nullptr, from) {}
0714   inline UninterpretedOption_NamePart(UninterpretedOption_NamePart&& from) noexcept
0715       : UninterpretedOption_NamePart(nullptr, std::move(from)) {}
0716   inline UninterpretedOption_NamePart& operator=(const UninterpretedOption_NamePart& from) {
0717     CopyFrom(from);
0718     return *this;
0719   }
0720   inline UninterpretedOption_NamePart& operator=(UninterpretedOption_NamePart&& from) noexcept {
0721     if (this == &from) return *this;
0722     if (GetArena() == from.GetArena()
0723 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
0724         && GetArena() != nullptr
0725 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
0726     ) {
0727       InternalSwap(&from);
0728     } else {
0729       CopyFrom(from);
0730     }
0731     return *this;
0732   }
0733 
0734   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0735       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0736     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0737   }
0738   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
0739       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0740     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0741   }
0742 
0743   static const ::google::protobuf::Descriptor* descriptor() {
0744     return GetDescriptor();
0745   }
0746   static const ::google::protobuf::Descriptor* GetDescriptor() {
0747     return default_instance().GetMetadata().descriptor;
0748   }
0749   static const ::google::protobuf::Reflection* GetReflection() {
0750     return default_instance().GetMetadata().reflection;
0751   }
0752   static const UninterpretedOption_NamePart& default_instance() {
0753     return *internal_default_instance();
0754   }
0755   static inline const UninterpretedOption_NamePart* internal_default_instance() {
0756     return reinterpret_cast<const UninterpretedOption_NamePart*>(
0757         &_UninterpretedOption_NamePart_default_instance_);
0758   }
0759   static constexpr int kIndexInFileMessages = 24;
0760   friend void swap(UninterpretedOption_NamePart& a, UninterpretedOption_NamePart& b) { a.Swap(&b); }
0761   inline void Swap(UninterpretedOption_NamePart* other) {
0762     if (other == this) return;
0763 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
0764     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
0765 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
0766     if (GetArena() == other->GetArena()) {
0767 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
0768       InternalSwap(other);
0769     } else {
0770       ::google::protobuf::internal::GenericSwap(this, other);
0771     }
0772   }
0773   void UnsafeArenaSwap(UninterpretedOption_NamePart* other) {
0774     if (other == this) return;
0775     ABSL_DCHECK(GetArena() == other->GetArena());
0776     InternalSwap(other);
0777   }
0778 
0779   // implements Message ----------------------------------------------
0780 
0781   UninterpretedOption_NamePart* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
0782     return ::google::protobuf::Message::DefaultConstruct<UninterpretedOption_NamePart>(arena);
0783   }
0784   using ::google::protobuf::Message::CopyFrom;
0785   void CopyFrom(const UninterpretedOption_NamePart& from);
0786   using ::google::protobuf::Message::MergeFrom;
0787   void MergeFrom(const UninterpretedOption_NamePart& from) { UninterpretedOption_NamePart::MergeImpl(*this, from); }
0788 
0789   private:
0790   static void MergeImpl(
0791       ::google::protobuf::MessageLite& to_msg,
0792       const ::google::protobuf::MessageLite& from_msg);
0793 
0794   public:
0795   bool IsInitialized() const {
0796     return IsInitializedImpl(*this);
0797   }
0798 
0799   private:
0800   static bool IsInitializedImpl(const MessageLite& msg);
0801 
0802   public:
0803   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
0804   #if defined(PROTOBUF_CUSTOM_VTABLE)
0805   private:
0806   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
0807   static ::uint8_t* _InternalSerialize(
0808       const MessageLite& msg, ::uint8_t* target,
0809       ::google::protobuf::io::EpsCopyOutputStream* stream);
0810 
0811   public:
0812   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
0813   ::uint8_t* _InternalSerialize(
0814       ::uint8_t* target,
0815       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
0816     return _InternalSerialize(*this, target, stream);
0817   }
0818   #else   // PROTOBUF_CUSTOM_VTABLE
0819   ::size_t ByteSizeLong() const final;
0820   ::uint8_t* _InternalSerialize(
0821       ::uint8_t* target,
0822       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
0823   #endif  // PROTOBUF_CUSTOM_VTABLE
0824   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
0825 
0826   private:
0827   void SharedCtor(::google::protobuf::Arena* arena);
0828   void SharedDtor();
0829   void InternalSwap(UninterpretedOption_NamePart* other);
0830  private:
0831   friend class ::google::protobuf::internal::AnyMetadata;
0832   static ::absl::string_view FullMessageName() { return "google.protobuf.UninterpretedOption.NamePart"; }
0833 
0834  protected:
0835   explicit UninterpretedOption_NamePart(::google::protobuf::Arena* arena);
0836   UninterpretedOption_NamePart(::google::protobuf::Arena* arena, const UninterpretedOption_NamePart& from);
0837   UninterpretedOption_NamePart(::google::protobuf::Arena* arena, UninterpretedOption_NamePart&& from) noexcept
0838       : UninterpretedOption_NamePart(arena) {
0839     *this = ::std::move(from);
0840   }
0841   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
0842   static const ::google::protobuf::Message::ClassDataFull _class_data_;
0843 
0844  public:
0845   ::google::protobuf::Metadata GetMetadata() const;
0846   // nested types ----------------------------------------------------
0847 
0848   // accessors -------------------------------------------------------
0849   enum : int {
0850     kNamePartFieldNumber = 1,
0851     kIsExtensionFieldNumber = 2,
0852   };
0853   // required string name_part = 1;
0854   bool has_name_part() const;
0855   void clear_name_part() ;
0856   const std::string& name_part() const;
0857   template <typename Arg_ = const std::string&, typename... Args_>
0858   void set_name_part(Arg_&& arg, Args_... args);
0859   std::string* mutable_name_part();
0860   PROTOBUF_NODISCARD std::string* release_name_part();
0861   void set_allocated_name_part(std::string* value);
0862 
0863   private:
0864   const std::string& _internal_name_part() const;
0865   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name_part(
0866       const std::string& value);
0867   std::string* _internal_mutable_name_part();
0868 
0869   public:
0870   // required bool is_extension = 2;
0871   bool has_is_extension() const;
0872   void clear_is_extension() ;
0873   bool is_extension() const;
0874   void set_is_extension(bool value);
0875 
0876   private:
0877   bool _internal_is_extension() const;
0878   void _internal_set_is_extension(bool value);
0879 
0880   public:
0881   // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption.NamePart)
0882  private:
0883   class _Internal;
0884   friend class ::google::protobuf::internal::TcParser;
0885   static const ::google::protobuf::internal::TcParseTable<
0886       1, 2, 0,
0887       62, 2>
0888       _table_;
0889 
0890 
0891   friend class ::google::protobuf::MessageLite;
0892   friend class ::google::protobuf::Arena;
0893   template <typename T>
0894   friend class ::google::protobuf::Arena::InternalHelper;
0895   using InternalArenaConstructable_ = void;
0896   using DestructorSkippable_ = void;
0897   struct Impl_ {
0898     inline explicit constexpr Impl_(
0899         ::google::protobuf::internal::ConstantInitialized) noexcept;
0900     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
0901                           ::google::protobuf::Arena* arena);
0902     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
0903                           ::google::protobuf::Arena* arena, const Impl_& from,
0904                           const UninterpretedOption_NamePart& from_msg);
0905     ::google::protobuf::internal::HasBits<1> _has_bits_;
0906     mutable ::google::protobuf::internal::CachedSize _cached_size_;
0907     ::google::protobuf::internal::ArenaStringPtr name_part_;
0908     bool is_extension_;
0909     PROTOBUF_TSAN_DECLARE_MEMBER
0910   };
0911   union { Impl_ _impl_; };
0912   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
0913 };
0914 // -------------------------------------------------------------------
0915 
0916 class PROTOBUF_EXPORT SourceCodeInfo_Location final : public ::google::protobuf::Message
0917 /* @@protoc_insertion_point(class_definition:google.protobuf.SourceCodeInfo.Location) */ {
0918  public:
0919   inline SourceCodeInfo_Location() : SourceCodeInfo_Location(nullptr) {}
0920   ~SourceCodeInfo_Location() PROTOBUF_FINAL;
0921   template <typename = void>
0922   explicit PROTOBUF_CONSTEXPR SourceCodeInfo_Location(
0923       ::google::protobuf::internal::ConstantInitialized);
0924 
0925   inline SourceCodeInfo_Location(const SourceCodeInfo_Location& from) : SourceCodeInfo_Location(nullptr, from) {}
0926   inline SourceCodeInfo_Location(SourceCodeInfo_Location&& from) noexcept
0927       : SourceCodeInfo_Location(nullptr, std::move(from)) {}
0928   inline SourceCodeInfo_Location& operator=(const SourceCodeInfo_Location& from) {
0929     CopyFrom(from);
0930     return *this;
0931   }
0932   inline SourceCodeInfo_Location& operator=(SourceCodeInfo_Location&& from) noexcept {
0933     if (this == &from) return *this;
0934     if (GetArena() == from.GetArena()
0935 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
0936         && GetArena() != nullptr
0937 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
0938     ) {
0939       InternalSwap(&from);
0940     } else {
0941       CopyFrom(from);
0942     }
0943     return *this;
0944   }
0945 
0946   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
0947       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0948     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
0949   }
0950   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
0951       ABSL_ATTRIBUTE_LIFETIME_BOUND {
0952     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
0953   }
0954 
0955   static const ::google::protobuf::Descriptor* descriptor() {
0956     return GetDescriptor();
0957   }
0958   static const ::google::protobuf::Descriptor* GetDescriptor() {
0959     return default_instance().GetMetadata().descriptor;
0960   }
0961   static const ::google::protobuf::Reflection* GetReflection() {
0962     return default_instance().GetMetadata().reflection;
0963   }
0964   static const SourceCodeInfo_Location& default_instance() {
0965     return *internal_default_instance();
0966   }
0967   static inline const SourceCodeInfo_Location* internal_default_instance() {
0968     return reinterpret_cast<const SourceCodeInfo_Location*>(
0969         &_SourceCodeInfo_Location_default_instance_);
0970   }
0971   static constexpr int kIndexInFileMessages = 29;
0972   friend void swap(SourceCodeInfo_Location& a, SourceCodeInfo_Location& b) { a.Swap(&b); }
0973   inline void Swap(SourceCodeInfo_Location* other) {
0974     if (other == this) return;
0975 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
0976     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
0977 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
0978     if (GetArena() == other->GetArena()) {
0979 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
0980       InternalSwap(other);
0981     } else {
0982       ::google::protobuf::internal::GenericSwap(this, other);
0983     }
0984   }
0985   void UnsafeArenaSwap(SourceCodeInfo_Location* other) {
0986     if (other == this) return;
0987     ABSL_DCHECK(GetArena() == other->GetArena());
0988     InternalSwap(other);
0989   }
0990 
0991   // implements Message ----------------------------------------------
0992 
0993   SourceCodeInfo_Location* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
0994     return ::google::protobuf::Message::DefaultConstruct<SourceCodeInfo_Location>(arena);
0995   }
0996   using ::google::protobuf::Message::CopyFrom;
0997   void CopyFrom(const SourceCodeInfo_Location& from);
0998   using ::google::protobuf::Message::MergeFrom;
0999   void MergeFrom(const SourceCodeInfo_Location& from) { SourceCodeInfo_Location::MergeImpl(*this, from); }
1000 
1001   private:
1002   static void MergeImpl(
1003       ::google::protobuf::MessageLite& to_msg,
1004       const ::google::protobuf::MessageLite& from_msg);
1005 
1006   public:
1007   bool IsInitialized() const {
1008     return true;
1009   }
1010   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1011   #if defined(PROTOBUF_CUSTOM_VTABLE)
1012   private:
1013   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1014   static ::uint8_t* _InternalSerialize(
1015       const MessageLite& msg, ::uint8_t* target,
1016       ::google::protobuf::io::EpsCopyOutputStream* stream);
1017 
1018   public:
1019   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1020   ::uint8_t* _InternalSerialize(
1021       ::uint8_t* target,
1022       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1023     return _InternalSerialize(*this, target, stream);
1024   }
1025   #else   // PROTOBUF_CUSTOM_VTABLE
1026   ::size_t ByteSizeLong() const final;
1027   ::uint8_t* _InternalSerialize(
1028       ::uint8_t* target,
1029       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
1030   #endif  // PROTOBUF_CUSTOM_VTABLE
1031   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1032 
1033   private:
1034   void SharedCtor(::google::protobuf::Arena* arena);
1035   void SharedDtor();
1036   void InternalSwap(SourceCodeInfo_Location* other);
1037  private:
1038   friend class ::google::protobuf::internal::AnyMetadata;
1039   static ::absl::string_view FullMessageName() { return "google.protobuf.SourceCodeInfo.Location"; }
1040 
1041  protected:
1042   explicit SourceCodeInfo_Location(::google::protobuf::Arena* arena);
1043   SourceCodeInfo_Location(::google::protobuf::Arena* arena, const SourceCodeInfo_Location& from);
1044   SourceCodeInfo_Location(::google::protobuf::Arena* arena, SourceCodeInfo_Location&& from) noexcept
1045       : SourceCodeInfo_Location(arena) {
1046     *this = ::std::move(from);
1047   }
1048   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
1049   static const ::google::protobuf::Message::ClassDataFull _class_data_;
1050 
1051  public:
1052   ::google::protobuf::Metadata GetMetadata() const;
1053   // nested types ----------------------------------------------------
1054 
1055   // accessors -------------------------------------------------------
1056   enum : int {
1057     kPathFieldNumber = 1,
1058     kSpanFieldNumber = 2,
1059     kLeadingDetachedCommentsFieldNumber = 6,
1060     kLeadingCommentsFieldNumber = 3,
1061     kTrailingCommentsFieldNumber = 4,
1062   };
1063   // repeated int32 path = 1 [packed = true];
1064   int path_size() const;
1065   private:
1066   int _internal_path_size() const;
1067 
1068   public:
1069   void clear_path() ;
1070   ::int32_t path(int index) const;
1071   void set_path(int index, ::int32_t value);
1072   void add_path(::int32_t value);
1073   const ::google::protobuf::RepeatedField<::int32_t>& path() const;
1074   ::google::protobuf::RepeatedField<::int32_t>* mutable_path();
1075 
1076   private:
1077   const ::google::protobuf::RepeatedField<::int32_t>& _internal_path() const;
1078   ::google::protobuf::RepeatedField<::int32_t>* _internal_mutable_path();
1079 
1080   public:
1081   // repeated int32 span = 2 [packed = true];
1082   int span_size() const;
1083   private:
1084   int _internal_span_size() const;
1085 
1086   public:
1087   void clear_span() ;
1088   ::int32_t span(int index) const;
1089   void set_span(int index, ::int32_t value);
1090   void add_span(::int32_t value);
1091   const ::google::protobuf::RepeatedField<::int32_t>& span() const;
1092   ::google::protobuf::RepeatedField<::int32_t>* mutable_span();
1093 
1094   private:
1095   const ::google::protobuf::RepeatedField<::int32_t>& _internal_span() const;
1096   ::google::protobuf::RepeatedField<::int32_t>* _internal_mutable_span();
1097 
1098   public:
1099   // repeated string leading_detached_comments = 6;
1100   int leading_detached_comments_size() const;
1101   private:
1102   int _internal_leading_detached_comments_size() const;
1103 
1104   public:
1105   void clear_leading_detached_comments() ;
1106   const std::string& leading_detached_comments(int index) const;
1107   std::string* mutable_leading_detached_comments(int index);
1108   template <typename Arg_ = const std::string&, typename... Args_>
1109   void set_leading_detached_comments(int index, Arg_&& value, Args_... args);
1110   std::string* add_leading_detached_comments();
1111   template <typename Arg_ = const std::string&, typename... Args_>
1112   void add_leading_detached_comments(Arg_&& value, Args_... args);
1113   const ::google::protobuf::RepeatedPtrField<std::string>& leading_detached_comments() const;
1114   ::google::protobuf::RepeatedPtrField<std::string>* mutable_leading_detached_comments();
1115 
1116   private:
1117   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_leading_detached_comments() const;
1118   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_leading_detached_comments();
1119 
1120   public:
1121   // optional string leading_comments = 3;
1122   bool has_leading_comments() const;
1123   void clear_leading_comments() ;
1124   const std::string& leading_comments() const;
1125   template <typename Arg_ = const std::string&, typename... Args_>
1126   void set_leading_comments(Arg_&& arg, Args_... args);
1127   std::string* mutable_leading_comments();
1128   PROTOBUF_NODISCARD std::string* release_leading_comments();
1129   void set_allocated_leading_comments(std::string* value);
1130 
1131   private:
1132   const std::string& _internal_leading_comments() const;
1133   inline PROTOBUF_ALWAYS_INLINE void _internal_set_leading_comments(
1134       const std::string& value);
1135   std::string* _internal_mutable_leading_comments();
1136 
1137   public:
1138   // optional string trailing_comments = 4;
1139   bool has_trailing_comments() const;
1140   void clear_trailing_comments() ;
1141   const std::string& trailing_comments() const;
1142   template <typename Arg_ = const std::string&, typename... Args_>
1143   void set_trailing_comments(Arg_&& arg, Args_... args);
1144   std::string* mutable_trailing_comments();
1145   PROTOBUF_NODISCARD std::string* release_trailing_comments();
1146   void set_allocated_trailing_comments(std::string* value);
1147 
1148   private:
1149   const std::string& _internal_trailing_comments() const;
1150   inline PROTOBUF_ALWAYS_INLINE void _internal_set_trailing_comments(
1151       const std::string& value);
1152   std::string* _internal_mutable_trailing_comments();
1153 
1154   public:
1155   // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo.Location)
1156  private:
1157   class _Internal;
1158   friend class ::google::protobuf::internal::TcParser;
1159   static const ::google::protobuf::internal::TcParseTable<
1160       3, 5, 0,
1161       106, 2>
1162       _table_;
1163 
1164 
1165   friend class ::google::protobuf::MessageLite;
1166   friend class ::google::protobuf::Arena;
1167   template <typename T>
1168   friend class ::google::protobuf::Arena::InternalHelper;
1169   using InternalArenaConstructable_ = void;
1170   using DestructorSkippable_ = void;
1171   struct Impl_ {
1172     inline explicit constexpr Impl_(
1173         ::google::protobuf::internal::ConstantInitialized) noexcept;
1174     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1175                           ::google::protobuf::Arena* arena);
1176     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1177                           ::google::protobuf::Arena* arena, const Impl_& from,
1178                           const SourceCodeInfo_Location& from_msg);
1179     ::google::protobuf::internal::HasBits<1> _has_bits_;
1180     mutable ::google::protobuf::internal::CachedSize _cached_size_;
1181     ::google::protobuf::RepeatedField<::int32_t> path_;
1182     mutable ::google::protobuf::internal::CachedSize _path_cached_byte_size_;
1183     ::google::protobuf::RepeatedField<::int32_t> span_;
1184     mutable ::google::protobuf::internal::CachedSize _span_cached_byte_size_;
1185     ::google::protobuf::RepeatedPtrField<std::string> leading_detached_comments_;
1186     ::google::protobuf::internal::ArenaStringPtr leading_comments_;
1187     ::google::protobuf::internal::ArenaStringPtr trailing_comments_;
1188     PROTOBUF_TSAN_DECLARE_MEMBER
1189   };
1190   union { Impl_ _impl_; };
1191   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
1192 };
1193 // -------------------------------------------------------------------
1194 
1195 class PROTOBUF_EXPORT GeneratedCodeInfo_Annotation final : public ::google::protobuf::Message
1196 /* @@protoc_insertion_point(class_definition:google.protobuf.GeneratedCodeInfo.Annotation) */ {
1197  public:
1198   inline GeneratedCodeInfo_Annotation() : GeneratedCodeInfo_Annotation(nullptr) {}
1199   ~GeneratedCodeInfo_Annotation() PROTOBUF_FINAL;
1200   template <typename = void>
1201   explicit PROTOBUF_CONSTEXPR GeneratedCodeInfo_Annotation(
1202       ::google::protobuf::internal::ConstantInitialized);
1203 
1204   inline GeneratedCodeInfo_Annotation(const GeneratedCodeInfo_Annotation& from) : GeneratedCodeInfo_Annotation(nullptr, from) {}
1205   inline GeneratedCodeInfo_Annotation(GeneratedCodeInfo_Annotation&& from) noexcept
1206       : GeneratedCodeInfo_Annotation(nullptr, std::move(from)) {}
1207   inline GeneratedCodeInfo_Annotation& operator=(const GeneratedCodeInfo_Annotation& from) {
1208     CopyFrom(from);
1209     return *this;
1210   }
1211   inline GeneratedCodeInfo_Annotation& operator=(GeneratedCodeInfo_Annotation&& from) noexcept {
1212     if (this == &from) return *this;
1213     if (GetArena() == from.GetArena()
1214 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1215         && GetArena() != nullptr
1216 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
1217     ) {
1218       InternalSwap(&from);
1219     } else {
1220       CopyFrom(from);
1221     }
1222     return *this;
1223   }
1224 
1225   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1226       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1227     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1228   }
1229   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
1230       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1231     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1232   }
1233 
1234   static const ::google::protobuf::Descriptor* descriptor() {
1235     return GetDescriptor();
1236   }
1237   static const ::google::protobuf::Descriptor* GetDescriptor() {
1238     return default_instance().GetMetadata().descriptor;
1239   }
1240   static const ::google::protobuf::Reflection* GetReflection() {
1241     return default_instance().GetMetadata().reflection;
1242   }
1243   static const GeneratedCodeInfo_Annotation& default_instance() {
1244     return *internal_default_instance();
1245   }
1246   static inline const GeneratedCodeInfo_Annotation* internal_default_instance() {
1247     return reinterpret_cast<const GeneratedCodeInfo_Annotation*>(
1248         &_GeneratedCodeInfo_Annotation_default_instance_);
1249   }
1250   static constexpr int kIndexInFileMessages = 31;
1251   friend void swap(GeneratedCodeInfo_Annotation& a, GeneratedCodeInfo_Annotation& b) { a.Swap(&b); }
1252   inline void Swap(GeneratedCodeInfo_Annotation* other) {
1253     if (other == this) return;
1254 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1255     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
1256 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
1257     if (GetArena() == other->GetArena()) {
1258 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
1259       InternalSwap(other);
1260     } else {
1261       ::google::protobuf::internal::GenericSwap(this, other);
1262     }
1263   }
1264   void UnsafeArenaSwap(GeneratedCodeInfo_Annotation* other) {
1265     if (other == this) return;
1266     ABSL_DCHECK(GetArena() == other->GetArena());
1267     InternalSwap(other);
1268   }
1269 
1270   // implements Message ----------------------------------------------
1271 
1272   GeneratedCodeInfo_Annotation* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
1273     return ::google::protobuf::Message::DefaultConstruct<GeneratedCodeInfo_Annotation>(arena);
1274   }
1275   using ::google::protobuf::Message::CopyFrom;
1276   void CopyFrom(const GeneratedCodeInfo_Annotation& from);
1277   using ::google::protobuf::Message::MergeFrom;
1278   void MergeFrom(const GeneratedCodeInfo_Annotation& from) { GeneratedCodeInfo_Annotation::MergeImpl(*this, from); }
1279 
1280   private:
1281   static void MergeImpl(
1282       ::google::protobuf::MessageLite& to_msg,
1283       const ::google::protobuf::MessageLite& from_msg);
1284 
1285   public:
1286   bool IsInitialized() const {
1287     return true;
1288   }
1289   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1290   #if defined(PROTOBUF_CUSTOM_VTABLE)
1291   private:
1292   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1293   static ::uint8_t* _InternalSerialize(
1294       const MessageLite& msg, ::uint8_t* target,
1295       ::google::protobuf::io::EpsCopyOutputStream* stream);
1296 
1297   public:
1298   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1299   ::uint8_t* _InternalSerialize(
1300       ::uint8_t* target,
1301       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1302     return _InternalSerialize(*this, target, stream);
1303   }
1304   #else   // PROTOBUF_CUSTOM_VTABLE
1305   ::size_t ByteSizeLong() const final;
1306   ::uint8_t* _InternalSerialize(
1307       ::uint8_t* target,
1308       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
1309   #endif  // PROTOBUF_CUSTOM_VTABLE
1310   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1311 
1312   private:
1313   void SharedCtor(::google::protobuf::Arena* arena);
1314   void SharedDtor();
1315   void InternalSwap(GeneratedCodeInfo_Annotation* other);
1316  private:
1317   friend class ::google::protobuf::internal::AnyMetadata;
1318   static ::absl::string_view FullMessageName() { return "google.protobuf.GeneratedCodeInfo.Annotation"; }
1319 
1320  protected:
1321   explicit GeneratedCodeInfo_Annotation(::google::protobuf::Arena* arena);
1322   GeneratedCodeInfo_Annotation(::google::protobuf::Arena* arena, const GeneratedCodeInfo_Annotation& from);
1323   GeneratedCodeInfo_Annotation(::google::protobuf::Arena* arena, GeneratedCodeInfo_Annotation&& from) noexcept
1324       : GeneratedCodeInfo_Annotation(arena) {
1325     *this = ::std::move(from);
1326   }
1327   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
1328   static const ::google::protobuf::Message::ClassDataFull _class_data_;
1329 
1330  public:
1331   ::google::protobuf::Metadata GetMetadata() const;
1332   // nested types ----------------------------------------------------
1333   using Semantic = GeneratedCodeInfo_Annotation_Semantic;
1334   static constexpr Semantic NONE = GeneratedCodeInfo_Annotation_Semantic_NONE;
1335   static constexpr Semantic SET = GeneratedCodeInfo_Annotation_Semantic_SET;
1336   static constexpr Semantic ALIAS = GeneratedCodeInfo_Annotation_Semantic_ALIAS;
1337   static inline bool Semantic_IsValid(int value) {
1338     return GeneratedCodeInfo_Annotation_Semantic_IsValid(value);
1339   }
1340   static constexpr Semantic Semantic_MIN = GeneratedCodeInfo_Annotation_Semantic_Semantic_MIN;
1341   static constexpr Semantic Semantic_MAX = GeneratedCodeInfo_Annotation_Semantic_Semantic_MAX;
1342   static constexpr int Semantic_ARRAYSIZE = GeneratedCodeInfo_Annotation_Semantic_Semantic_ARRAYSIZE;
1343   static inline const ::google::protobuf::EnumDescriptor* Semantic_descriptor() {
1344     return GeneratedCodeInfo_Annotation_Semantic_descriptor();
1345   }
1346   template <typename T>
1347   static inline const std::string& Semantic_Name(T value) {
1348     return GeneratedCodeInfo_Annotation_Semantic_Name(value);
1349   }
1350   static inline bool Semantic_Parse(absl::string_view name, Semantic* value) {
1351     return GeneratedCodeInfo_Annotation_Semantic_Parse(name, value);
1352   }
1353 
1354   // accessors -------------------------------------------------------
1355   enum : int {
1356     kPathFieldNumber = 1,
1357     kSourceFileFieldNumber = 2,
1358     kBeginFieldNumber = 3,
1359     kEndFieldNumber = 4,
1360     kSemanticFieldNumber = 5,
1361   };
1362   // repeated int32 path = 1 [packed = true];
1363   int path_size() const;
1364   private:
1365   int _internal_path_size() const;
1366 
1367   public:
1368   void clear_path() ;
1369   ::int32_t path(int index) const;
1370   void set_path(int index, ::int32_t value);
1371   void add_path(::int32_t value);
1372   const ::google::protobuf::RepeatedField<::int32_t>& path() const;
1373   ::google::protobuf::RepeatedField<::int32_t>* mutable_path();
1374 
1375   private:
1376   const ::google::protobuf::RepeatedField<::int32_t>& _internal_path() const;
1377   ::google::protobuf::RepeatedField<::int32_t>* _internal_mutable_path();
1378 
1379   public:
1380   // optional string source_file = 2;
1381   bool has_source_file() const;
1382   void clear_source_file() ;
1383   const std::string& source_file() const;
1384   template <typename Arg_ = const std::string&, typename... Args_>
1385   void set_source_file(Arg_&& arg, Args_... args);
1386   std::string* mutable_source_file();
1387   PROTOBUF_NODISCARD std::string* release_source_file();
1388   void set_allocated_source_file(std::string* value);
1389 
1390   private:
1391   const std::string& _internal_source_file() const;
1392   inline PROTOBUF_ALWAYS_INLINE void _internal_set_source_file(
1393       const std::string& value);
1394   std::string* _internal_mutable_source_file();
1395 
1396   public:
1397   // optional int32 begin = 3;
1398   bool has_begin() const;
1399   void clear_begin() ;
1400   ::int32_t begin() const;
1401   void set_begin(::int32_t value);
1402 
1403   private:
1404   ::int32_t _internal_begin() const;
1405   void _internal_set_begin(::int32_t value);
1406 
1407   public:
1408   // optional int32 end = 4;
1409   bool has_end() const;
1410   void clear_end() ;
1411   ::int32_t end() const;
1412   void set_end(::int32_t value);
1413 
1414   private:
1415   ::int32_t _internal_end() const;
1416   void _internal_set_end(::int32_t value);
1417 
1418   public:
1419   // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
1420   bool has_semantic() const;
1421   void clear_semantic() ;
1422   ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic semantic() const;
1423   void set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value);
1424 
1425   private:
1426   ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic _internal_semantic() const;
1427   void _internal_set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value);
1428 
1429   public:
1430   // @@protoc_insertion_point(class_scope:google.protobuf.GeneratedCodeInfo.Annotation)
1431  private:
1432   class _Internal;
1433   friend class ::google::protobuf::internal::TcParser;
1434   static const ::google::protobuf::internal::TcParseTable<
1435       3, 5, 1,
1436       64, 2>
1437       _table_;
1438 
1439 
1440   friend class ::google::protobuf::MessageLite;
1441   friend class ::google::protobuf::Arena;
1442   template <typename T>
1443   friend class ::google::protobuf::Arena::InternalHelper;
1444   using InternalArenaConstructable_ = void;
1445   using DestructorSkippable_ = void;
1446   struct Impl_ {
1447     inline explicit constexpr Impl_(
1448         ::google::protobuf::internal::ConstantInitialized) noexcept;
1449     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1450                           ::google::protobuf::Arena* arena);
1451     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1452                           ::google::protobuf::Arena* arena, const Impl_& from,
1453                           const GeneratedCodeInfo_Annotation& from_msg);
1454     ::google::protobuf::internal::HasBits<1> _has_bits_;
1455     mutable ::google::protobuf::internal::CachedSize _cached_size_;
1456     ::google::protobuf::RepeatedField<::int32_t> path_;
1457     mutable ::google::protobuf::internal::CachedSize _path_cached_byte_size_;
1458     ::google::protobuf::internal::ArenaStringPtr source_file_;
1459     ::int32_t begin_;
1460     ::int32_t end_;
1461     int semantic_;
1462     PROTOBUF_TSAN_DECLARE_MEMBER
1463   };
1464   union { Impl_ _impl_; };
1465   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
1466 };
1467 // -------------------------------------------------------------------
1468 
1469 class PROTOBUF_EXPORT FieldOptions_FeatureSupport final : public ::google::protobuf::Message
1470 /* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions.FeatureSupport) */ {
1471  public:
1472   inline FieldOptions_FeatureSupport() : FieldOptions_FeatureSupport(nullptr) {}
1473   ~FieldOptions_FeatureSupport() PROTOBUF_FINAL;
1474   template <typename = void>
1475   explicit PROTOBUF_CONSTEXPR FieldOptions_FeatureSupport(
1476       ::google::protobuf::internal::ConstantInitialized);
1477 
1478   inline FieldOptions_FeatureSupport(const FieldOptions_FeatureSupport& from) : FieldOptions_FeatureSupport(nullptr, from) {}
1479   inline FieldOptions_FeatureSupport(FieldOptions_FeatureSupport&& from) noexcept
1480       : FieldOptions_FeatureSupport(nullptr, std::move(from)) {}
1481   inline FieldOptions_FeatureSupport& operator=(const FieldOptions_FeatureSupport& from) {
1482     CopyFrom(from);
1483     return *this;
1484   }
1485   inline FieldOptions_FeatureSupport& operator=(FieldOptions_FeatureSupport&& from) noexcept {
1486     if (this == &from) return *this;
1487     if (GetArena() == from.GetArena()
1488 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1489         && GetArena() != nullptr
1490 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
1491     ) {
1492       InternalSwap(&from);
1493     } else {
1494       CopyFrom(from);
1495     }
1496     return *this;
1497   }
1498 
1499   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1500       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1501     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1502   }
1503   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
1504       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1505     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1506   }
1507 
1508   static const ::google::protobuf::Descriptor* descriptor() {
1509     return GetDescriptor();
1510   }
1511   static const ::google::protobuf::Descriptor* GetDescriptor() {
1512     return default_instance().GetMetadata().descriptor;
1513   }
1514   static const ::google::protobuf::Reflection* GetReflection() {
1515     return default_instance().GetMetadata().reflection;
1516   }
1517   static const FieldOptions_FeatureSupport& default_instance() {
1518     return *internal_default_instance();
1519   }
1520   static inline const FieldOptions_FeatureSupport* internal_default_instance() {
1521     return reinterpret_cast<const FieldOptions_FeatureSupport*>(
1522         &_FieldOptions_FeatureSupport_default_instance_);
1523   }
1524   static constexpr int kIndexInFileMessages = 17;
1525   friend void swap(FieldOptions_FeatureSupport& a, FieldOptions_FeatureSupport& b) { a.Swap(&b); }
1526   inline void Swap(FieldOptions_FeatureSupport* other) {
1527     if (other == this) return;
1528 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1529     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
1530 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
1531     if (GetArena() == other->GetArena()) {
1532 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
1533       InternalSwap(other);
1534     } else {
1535       ::google::protobuf::internal::GenericSwap(this, other);
1536     }
1537   }
1538   void UnsafeArenaSwap(FieldOptions_FeatureSupport* other) {
1539     if (other == this) return;
1540     ABSL_DCHECK(GetArena() == other->GetArena());
1541     InternalSwap(other);
1542   }
1543 
1544   // implements Message ----------------------------------------------
1545 
1546   FieldOptions_FeatureSupport* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
1547     return ::google::protobuf::Message::DefaultConstruct<FieldOptions_FeatureSupport>(arena);
1548   }
1549   using ::google::protobuf::Message::CopyFrom;
1550   void CopyFrom(const FieldOptions_FeatureSupport& from);
1551   using ::google::protobuf::Message::MergeFrom;
1552   void MergeFrom(const FieldOptions_FeatureSupport& from) { FieldOptions_FeatureSupport::MergeImpl(*this, from); }
1553 
1554   private:
1555   static void MergeImpl(
1556       ::google::protobuf::MessageLite& to_msg,
1557       const ::google::protobuf::MessageLite& from_msg);
1558 
1559   public:
1560   bool IsInitialized() const {
1561     return true;
1562   }
1563   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1564   #if defined(PROTOBUF_CUSTOM_VTABLE)
1565   private:
1566   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1567   static ::uint8_t* _InternalSerialize(
1568       const MessageLite& msg, ::uint8_t* target,
1569       ::google::protobuf::io::EpsCopyOutputStream* stream);
1570 
1571   public:
1572   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1573   ::uint8_t* _InternalSerialize(
1574       ::uint8_t* target,
1575       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1576     return _InternalSerialize(*this, target, stream);
1577   }
1578   #else   // PROTOBUF_CUSTOM_VTABLE
1579   ::size_t ByteSizeLong() const final;
1580   ::uint8_t* _InternalSerialize(
1581       ::uint8_t* target,
1582       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
1583   #endif  // PROTOBUF_CUSTOM_VTABLE
1584   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1585 
1586   private:
1587   void SharedCtor(::google::protobuf::Arena* arena);
1588   void SharedDtor();
1589   void InternalSwap(FieldOptions_FeatureSupport* other);
1590  private:
1591   friend class ::google::protobuf::internal::AnyMetadata;
1592   static ::absl::string_view FullMessageName() { return "google.protobuf.FieldOptions.FeatureSupport"; }
1593 
1594  protected:
1595   explicit FieldOptions_FeatureSupport(::google::protobuf::Arena* arena);
1596   FieldOptions_FeatureSupport(::google::protobuf::Arena* arena, const FieldOptions_FeatureSupport& from);
1597   FieldOptions_FeatureSupport(::google::protobuf::Arena* arena, FieldOptions_FeatureSupport&& from) noexcept
1598       : FieldOptions_FeatureSupport(arena) {
1599     *this = ::std::move(from);
1600   }
1601   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
1602   static const ::google::protobuf::Message::ClassDataFull _class_data_;
1603 
1604  public:
1605   ::google::protobuf::Metadata GetMetadata() const;
1606   // nested types ----------------------------------------------------
1607 
1608   // accessors -------------------------------------------------------
1609   enum : int {
1610     kDeprecationWarningFieldNumber = 3,
1611     kEditionIntroducedFieldNumber = 1,
1612     kEditionDeprecatedFieldNumber = 2,
1613     kEditionRemovedFieldNumber = 4,
1614   };
1615   // optional string deprecation_warning = 3;
1616   bool has_deprecation_warning() const;
1617   void clear_deprecation_warning() ;
1618   const std::string& deprecation_warning() const;
1619   template <typename Arg_ = const std::string&, typename... Args_>
1620   void set_deprecation_warning(Arg_&& arg, Args_... args);
1621   std::string* mutable_deprecation_warning();
1622   PROTOBUF_NODISCARD std::string* release_deprecation_warning();
1623   void set_allocated_deprecation_warning(std::string* value);
1624 
1625   private:
1626   const std::string& _internal_deprecation_warning() const;
1627   inline PROTOBUF_ALWAYS_INLINE void _internal_set_deprecation_warning(
1628       const std::string& value);
1629   std::string* _internal_mutable_deprecation_warning();
1630 
1631   public:
1632   // optional .google.protobuf.Edition edition_introduced = 1;
1633   bool has_edition_introduced() const;
1634   void clear_edition_introduced() ;
1635   ::google::protobuf::Edition edition_introduced() const;
1636   void set_edition_introduced(::google::protobuf::Edition value);
1637 
1638   private:
1639   ::google::protobuf::Edition _internal_edition_introduced() const;
1640   void _internal_set_edition_introduced(::google::protobuf::Edition value);
1641 
1642   public:
1643   // optional .google.protobuf.Edition edition_deprecated = 2;
1644   bool has_edition_deprecated() const;
1645   void clear_edition_deprecated() ;
1646   ::google::protobuf::Edition edition_deprecated() const;
1647   void set_edition_deprecated(::google::protobuf::Edition value);
1648 
1649   private:
1650   ::google::protobuf::Edition _internal_edition_deprecated() const;
1651   void _internal_set_edition_deprecated(::google::protobuf::Edition value);
1652 
1653   public:
1654   // optional .google.protobuf.Edition edition_removed = 4;
1655   bool has_edition_removed() const;
1656   void clear_edition_removed() ;
1657   ::google::protobuf::Edition edition_removed() const;
1658   void set_edition_removed(::google::protobuf::Edition value);
1659 
1660   private:
1661   ::google::protobuf::Edition _internal_edition_removed() const;
1662   void _internal_set_edition_removed(::google::protobuf::Edition value);
1663 
1664   public:
1665   // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions.FeatureSupport)
1666  private:
1667   class _Internal;
1668   friend class ::google::protobuf::internal::TcParser;
1669   static const ::google::protobuf::internal::TcParseTable<
1670       2, 4, 3,
1671       71, 2>
1672       _table_;
1673 
1674 
1675   friend class ::google::protobuf::MessageLite;
1676   friend class ::google::protobuf::Arena;
1677   template <typename T>
1678   friend class ::google::protobuf::Arena::InternalHelper;
1679   using InternalArenaConstructable_ = void;
1680   using DestructorSkippable_ = void;
1681   struct Impl_ {
1682     inline explicit constexpr Impl_(
1683         ::google::protobuf::internal::ConstantInitialized) noexcept;
1684     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1685                           ::google::protobuf::Arena* arena);
1686     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1687                           ::google::protobuf::Arena* arena, const Impl_& from,
1688                           const FieldOptions_FeatureSupport& from_msg);
1689     ::google::protobuf::internal::HasBits<1> _has_bits_;
1690     mutable ::google::protobuf::internal::CachedSize _cached_size_;
1691     ::google::protobuf::internal::ArenaStringPtr deprecation_warning_;
1692     int edition_introduced_;
1693     int edition_deprecated_;
1694     int edition_removed_;
1695     PROTOBUF_TSAN_DECLARE_MEMBER
1696   };
1697   union { Impl_ _impl_; };
1698   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
1699 };
1700 // -------------------------------------------------------------------
1701 
1702 class PROTOBUF_EXPORT FieldOptions_EditionDefault final : public ::google::protobuf::Message
1703 /* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions.EditionDefault) */ {
1704  public:
1705   inline FieldOptions_EditionDefault() : FieldOptions_EditionDefault(nullptr) {}
1706   ~FieldOptions_EditionDefault() PROTOBUF_FINAL;
1707   template <typename = void>
1708   explicit PROTOBUF_CONSTEXPR FieldOptions_EditionDefault(
1709       ::google::protobuf::internal::ConstantInitialized);
1710 
1711   inline FieldOptions_EditionDefault(const FieldOptions_EditionDefault& from) : FieldOptions_EditionDefault(nullptr, from) {}
1712   inline FieldOptions_EditionDefault(FieldOptions_EditionDefault&& from) noexcept
1713       : FieldOptions_EditionDefault(nullptr, std::move(from)) {}
1714   inline FieldOptions_EditionDefault& operator=(const FieldOptions_EditionDefault& from) {
1715     CopyFrom(from);
1716     return *this;
1717   }
1718   inline FieldOptions_EditionDefault& operator=(FieldOptions_EditionDefault&& from) noexcept {
1719     if (this == &from) return *this;
1720     if (GetArena() == from.GetArena()
1721 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1722         && GetArena() != nullptr
1723 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
1724     ) {
1725       InternalSwap(&from);
1726     } else {
1727       CopyFrom(from);
1728     }
1729     return *this;
1730   }
1731 
1732   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1733       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1734     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1735   }
1736   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
1737       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1738     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1739   }
1740 
1741   static const ::google::protobuf::Descriptor* descriptor() {
1742     return GetDescriptor();
1743   }
1744   static const ::google::protobuf::Descriptor* GetDescriptor() {
1745     return default_instance().GetMetadata().descriptor;
1746   }
1747   static const ::google::protobuf::Reflection* GetReflection() {
1748     return default_instance().GetMetadata().reflection;
1749   }
1750   static const FieldOptions_EditionDefault& default_instance() {
1751     return *internal_default_instance();
1752   }
1753   static inline const FieldOptions_EditionDefault* internal_default_instance() {
1754     return reinterpret_cast<const FieldOptions_EditionDefault*>(
1755         &_FieldOptions_EditionDefault_default_instance_);
1756   }
1757   static constexpr int kIndexInFileMessages = 16;
1758   friend void swap(FieldOptions_EditionDefault& a, FieldOptions_EditionDefault& b) { a.Swap(&b); }
1759   inline void Swap(FieldOptions_EditionDefault* other) {
1760     if (other == this) return;
1761 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1762     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
1763 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
1764     if (GetArena() == other->GetArena()) {
1765 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
1766       InternalSwap(other);
1767     } else {
1768       ::google::protobuf::internal::GenericSwap(this, other);
1769     }
1770   }
1771   void UnsafeArenaSwap(FieldOptions_EditionDefault* other) {
1772     if (other == this) return;
1773     ABSL_DCHECK(GetArena() == other->GetArena());
1774     InternalSwap(other);
1775   }
1776 
1777   // implements Message ----------------------------------------------
1778 
1779   FieldOptions_EditionDefault* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
1780     return ::google::protobuf::Message::DefaultConstruct<FieldOptions_EditionDefault>(arena);
1781   }
1782   using ::google::protobuf::Message::CopyFrom;
1783   void CopyFrom(const FieldOptions_EditionDefault& from);
1784   using ::google::protobuf::Message::MergeFrom;
1785   void MergeFrom(const FieldOptions_EditionDefault& from) { FieldOptions_EditionDefault::MergeImpl(*this, from); }
1786 
1787   private:
1788   static void MergeImpl(
1789       ::google::protobuf::MessageLite& to_msg,
1790       const ::google::protobuf::MessageLite& from_msg);
1791 
1792   public:
1793   bool IsInitialized() const {
1794     return true;
1795   }
1796   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
1797   #if defined(PROTOBUF_CUSTOM_VTABLE)
1798   private:
1799   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
1800   static ::uint8_t* _InternalSerialize(
1801       const MessageLite& msg, ::uint8_t* target,
1802       ::google::protobuf::io::EpsCopyOutputStream* stream);
1803 
1804   public:
1805   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
1806   ::uint8_t* _InternalSerialize(
1807       ::uint8_t* target,
1808       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
1809     return _InternalSerialize(*this, target, stream);
1810   }
1811   #else   // PROTOBUF_CUSTOM_VTABLE
1812   ::size_t ByteSizeLong() const final;
1813   ::uint8_t* _InternalSerialize(
1814       ::uint8_t* target,
1815       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
1816   #endif  // PROTOBUF_CUSTOM_VTABLE
1817   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
1818 
1819   private:
1820   void SharedCtor(::google::protobuf::Arena* arena);
1821   void SharedDtor();
1822   void InternalSwap(FieldOptions_EditionDefault* other);
1823  private:
1824   friend class ::google::protobuf::internal::AnyMetadata;
1825   static ::absl::string_view FullMessageName() { return "google.protobuf.FieldOptions.EditionDefault"; }
1826 
1827  protected:
1828   explicit FieldOptions_EditionDefault(::google::protobuf::Arena* arena);
1829   FieldOptions_EditionDefault(::google::protobuf::Arena* arena, const FieldOptions_EditionDefault& from);
1830   FieldOptions_EditionDefault(::google::protobuf::Arena* arena, FieldOptions_EditionDefault&& from) noexcept
1831       : FieldOptions_EditionDefault(arena) {
1832     *this = ::std::move(from);
1833   }
1834   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
1835   static const ::google::protobuf::Message::ClassDataFull _class_data_;
1836 
1837  public:
1838   ::google::protobuf::Metadata GetMetadata() const;
1839   // nested types ----------------------------------------------------
1840 
1841   // accessors -------------------------------------------------------
1842   enum : int {
1843     kValueFieldNumber = 2,
1844     kEditionFieldNumber = 3,
1845   };
1846   // optional string value = 2;
1847   bool has_value() const;
1848   void clear_value() ;
1849   const std::string& value() const;
1850   template <typename Arg_ = const std::string&, typename... Args_>
1851   void set_value(Arg_&& arg, Args_... args);
1852   std::string* mutable_value();
1853   PROTOBUF_NODISCARD std::string* release_value();
1854   void set_allocated_value(std::string* value);
1855 
1856   private:
1857   const std::string& _internal_value() const;
1858   inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(
1859       const std::string& value);
1860   std::string* _internal_mutable_value();
1861 
1862   public:
1863   // optional .google.protobuf.Edition edition = 3;
1864   bool has_edition() const;
1865   void clear_edition() ;
1866   ::google::protobuf::Edition edition() const;
1867   void set_edition(::google::protobuf::Edition value);
1868 
1869   private:
1870   ::google::protobuf::Edition _internal_edition() const;
1871   void _internal_set_edition(::google::protobuf::Edition value);
1872 
1873   public:
1874   // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions.EditionDefault)
1875  private:
1876   class _Internal;
1877   friend class ::google::protobuf::internal::TcParser;
1878   static const ::google::protobuf::internal::TcParseTable<
1879       1, 2, 1,
1880       57, 2>
1881       _table_;
1882 
1883 
1884   friend class ::google::protobuf::MessageLite;
1885   friend class ::google::protobuf::Arena;
1886   template <typename T>
1887   friend class ::google::protobuf::Arena::InternalHelper;
1888   using InternalArenaConstructable_ = void;
1889   using DestructorSkippable_ = void;
1890   struct Impl_ {
1891     inline explicit constexpr Impl_(
1892         ::google::protobuf::internal::ConstantInitialized) noexcept;
1893     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1894                           ::google::protobuf::Arena* arena);
1895     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
1896                           ::google::protobuf::Arena* arena, const Impl_& from,
1897                           const FieldOptions_EditionDefault& from_msg);
1898     ::google::protobuf::internal::HasBits<1> _has_bits_;
1899     mutable ::google::protobuf::internal::CachedSize _cached_size_;
1900     ::google::protobuf::internal::ArenaStringPtr value_;
1901     int edition_;
1902     PROTOBUF_TSAN_DECLARE_MEMBER
1903   };
1904   union { Impl_ _impl_; };
1905   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
1906 };
1907 // -------------------------------------------------------------------
1908 
1909 class PROTOBUF_EXPORT FeatureSet final : public ::google::protobuf::Message
1910 /* @@protoc_insertion_point(class_definition:google.protobuf.FeatureSet) */ {
1911  public:
1912   inline FeatureSet() : FeatureSet(nullptr) {}
1913   ~FeatureSet() PROTOBUF_FINAL;
1914   template <typename = void>
1915   explicit PROTOBUF_CONSTEXPR FeatureSet(
1916       ::google::protobuf::internal::ConstantInitialized);
1917 
1918   inline FeatureSet(const FeatureSet& from) : FeatureSet(nullptr, from) {}
1919   inline FeatureSet(FeatureSet&& from) noexcept
1920       : FeatureSet(nullptr, std::move(from)) {}
1921   inline FeatureSet& operator=(const FeatureSet& from) {
1922     CopyFrom(from);
1923     return *this;
1924   }
1925   inline FeatureSet& operator=(FeatureSet&& from) noexcept {
1926     if (this == &from) return *this;
1927     if (GetArena() == from.GetArena()
1928 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
1929         && GetArena() != nullptr
1930 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
1931     ) {
1932       InternalSwap(&from);
1933     } else {
1934       CopyFrom(from);
1935     }
1936     return *this;
1937   }
1938 
1939   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
1940       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1941     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
1942   }
1943   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
1944       ABSL_ATTRIBUTE_LIFETIME_BOUND {
1945     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
1946   }
1947 
1948   static const ::google::protobuf::Descriptor* descriptor() {
1949     return GetDescriptor();
1950   }
1951   static const ::google::protobuf::Descriptor* GetDescriptor() {
1952     return default_instance().GetMetadata().descriptor;
1953   }
1954   static const ::google::protobuf::Reflection* GetReflection() {
1955     return default_instance().GetMetadata().reflection;
1956   }
1957   static const FeatureSet& default_instance() {
1958     return *internal_default_instance();
1959   }
1960   static inline const FeatureSet* internal_default_instance() {
1961     return reinterpret_cast<const FeatureSet*>(
1962         &_FeatureSet_default_instance_);
1963   }
1964   static constexpr int kIndexInFileMessages = 26;
1965   friend void swap(FeatureSet& a, FeatureSet& b) { a.Swap(&b); }
1966   inline void Swap(FeatureSet* other) {
1967     if (other == this) return;
1968 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
1969     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
1970 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
1971     if (GetArena() == other->GetArena()) {
1972 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
1973       InternalSwap(other);
1974     } else {
1975       ::google::protobuf::internal::GenericSwap(this, other);
1976     }
1977   }
1978   void UnsafeArenaSwap(FeatureSet* other) {
1979     if (other == this) return;
1980     ABSL_DCHECK(GetArena() == other->GetArena());
1981     InternalSwap(other);
1982   }
1983 
1984   // implements Message ----------------------------------------------
1985 
1986   FeatureSet* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
1987     return ::google::protobuf::Message::DefaultConstruct<FeatureSet>(arena);
1988   }
1989   using ::google::protobuf::Message::CopyFrom;
1990   void CopyFrom(const FeatureSet& from);
1991   using ::google::protobuf::Message::MergeFrom;
1992   void MergeFrom(const FeatureSet& from) { FeatureSet::MergeImpl(*this, from); }
1993 
1994   private:
1995   static void MergeImpl(
1996       ::google::protobuf::MessageLite& to_msg,
1997       const ::google::protobuf::MessageLite& from_msg);
1998 
1999   public:
2000   bool IsInitialized() const {
2001     return IsInitializedImpl(*this);
2002   }
2003 
2004   private:
2005   static bool IsInitializedImpl(const MessageLite& msg);
2006 
2007   public:
2008   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2009   #if defined(PROTOBUF_CUSTOM_VTABLE)
2010   private:
2011   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2012   static ::uint8_t* _InternalSerialize(
2013       const MessageLite& msg, ::uint8_t* target,
2014       ::google::protobuf::io::EpsCopyOutputStream* stream);
2015 
2016   public:
2017   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2018   ::uint8_t* _InternalSerialize(
2019       ::uint8_t* target,
2020       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
2021     return _InternalSerialize(*this, target, stream);
2022   }
2023   #else   // PROTOBUF_CUSTOM_VTABLE
2024   ::size_t ByteSizeLong() const final;
2025   ::uint8_t* _InternalSerialize(
2026       ::uint8_t* target,
2027       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
2028   #endif  // PROTOBUF_CUSTOM_VTABLE
2029   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2030 
2031   private:
2032   void SharedCtor(::google::protobuf::Arena* arena);
2033   void SharedDtor();
2034   void InternalSwap(FeatureSet* other);
2035  private:
2036   friend class ::google::protobuf::internal::AnyMetadata;
2037   static ::absl::string_view FullMessageName() { return "google.protobuf.FeatureSet"; }
2038 
2039  protected:
2040   explicit FeatureSet(::google::protobuf::Arena* arena);
2041   FeatureSet(::google::protobuf::Arena* arena, const FeatureSet& from);
2042   FeatureSet(::google::protobuf::Arena* arena, FeatureSet&& from) noexcept
2043       : FeatureSet(arena) {
2044     *this = ::std::move(from);
2045   }
2046   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
2047   static const ::google::protobuf::Message::ClassDataFull _class_data_;
2048 
2049  public:
2050   ::google::protobuf::Metadata GetMetadata() const;
2051   // nested types ----------------------------------------------------
2052   using FieldPresence = FeatureSet_FieldPresence;
2053   static constexpr FieldPresence FIELD_PRESENCE_UNKNOWN = FeatureSet_FieldPresence_FIELD_PRESENCE_UNKNOWN;
2054   static constexpr FieldPresence EXPLICIT = FeatureSet_FieldPresence_EXPLICIT;
2055   static constexpr FieldPresence IMPLICIT = FeatureSet_FieldPresence_IMPLICIT;
2056   static constexpr FieldPresence LEGACY_REQUIRED = FeatureSet_FieldPresence_LEGACY_REQUIRED;
2057   static inline bool FieldPresence_IsValid(int value) {
2058     return FeatureSet_FieldPresence_IsValid(value);
2059   }
2060   static constexpr FieldPresence FieldPresence_MIN = FeatureSet_FieldPresence_FieldPresence_MIN;
2061   static constexpr FieldPresence FieldPresence_MAX = FeatureSet_FieldPresence_FieldPresence_MAX;
2062   static constexpr int FieldPresence_ARRAYSIZE = FeatureSet_FieldPresence_FieldPresence_ARRAYSIZE;
2063   static inline const ::google::protobuf::EnumDescriptor* FieldPresence_descriptor() {
2064     return FeatureSet_FieldPresence_descriptor();
2065   }
2066   template <typename T>
2067   static inline const std::string& FieldPresence_Name(T value) {
2068     return FeatureSet_FieldPresence_Name(value);
2069   }
2070   static inline bool FieldPresence_Parse(absl::string_view name, FieldPresence* value) {
2071     return FeatureSet_FieldPresence_Parse(name, value);
2072   }
2073   using EnumType = FeatureSet_EnumType;
2074   static constexpr EnumType ENUM_TYPE_UNKNOWN = FeatureSet_EnumType_ENUM_TYPE_UNKNOWN;
2075   static constexpr EnumType OPEN = FeatureSet_EnumType_OPEN;
2076   static constexpr EnumType CLOSED = FeatureSet_EnumType_CLOSED;
2077   static inline bool EnumType_IsValid(int value) {
2078     return FeatureSet_EnumType_IsValid(value);
2079   }
2080   static constexpr EnumType EnumType_MIN = FeatureSet_EnumType_EnumType_MIN;
2081   static constexpr EnumType EnumType_MAX = FeatureSet_EnumType_EnumType_MAX;
2082   static constexpr int EnumType_ARRAYSIZE = FeatureSet_EnumType_EnumType_ARRAYSIZE;
2083   static inline const ::google::protobuf::EnumDescriptor* EnumType_descriptor() {
2084     return FeatureSet_EnumType_descriptor();
2085   }
2086   template <typename T>
2087   static inline const std::string& EnumType_Name(T value) {
2088     return FeatureSet_EnumType_Name(value);
2089   }
2090   static inline bool EnumType_Parse(absl::string_view name, EnumType* value) {
2091     return FeatureSet_EnumType_Parse(name, value);
2092   }
2093   using RepeatedFieldEncoding = FeatureSet_RepeatedFieldEncoding;
2094   static constexpr RepeatedFieldEncoding REPEATED_FIELD_ENCODING_UNKNOWN = FeatureSet_RepeatedFieldEncoding_REPEATED_FIELD_ENCODING_UNKNOWN;
2095   static constexpr RepeatedFieldEncoding PACKED = FeatureSet_RepeatedFieldEncoding_PACKED;
2096   static constexpr RepeatedFieldEncoding EXPANDED = FeatureSet_RepeatedFieldEncoding_EXPANDED;
2097   static inline bool RepeatedFieldEncoding_IsValid(int value) {
2098     return FeatureSet_RepeatedFieldEncoding_IsValid(value);
2099   }
2100   static constexpr RepeatedFieldEncoding RepeatedFieldEncoding_MIN = FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_MIN;
2101   static constexpr RepeatedFieldEncoding RepeatedFieldEncoding_MAX = FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_MAX;
2102   static constexpr int RepeatedFieldEncoding_ARRAYSIZE = FeatureSet_RepeatedFieldEncoding_RepeatedFieldEncoding_ARRAYSIZE;
2103   static inline const ::google::protobuf::EnumDescriptor* RepeatedFieldEncoding_descriptor() {
2104     return FeatureSet_RepeatedFieldEncoding_descriptor();
2105   }
2106   template <typename T>
2107   static inline const std::string& RepeatedFieldEncoding_Name(T value) {
2108     return FeatureSet_RepeatedFieldEncoding_Name(value);
2109   }
2110   static inline bool RepeatedFieldEncoding_Parse(absl::string_view name, RepeatedFieldEncoding* value) {
2111     return FeatureSet_RepeatedFieldEncoding_Parse(name, value);
2112   }
2113   using Utf8Validation = FeatureSet_Utf8Validation;
2114   static constexpr Utf8Validation UTF8_VALIDATION_UNKNOWN = FeatureSet_Utf8Validation_UTF8_VALIDATION_UNKNOWN;
2115   static constexpr Utf8Validation VERIFY = FeatureSet_Utf8Validation_VERIFY;
2116   static constexpr Utf8Validation NONE = FeatureSet_Utf8Validation_NONE;
2117   static inline bool Utf8Validation_IsValid(int value) {
2118     return FeatureSet_Utf8Validation_IsValid(value);
2119   }
2120   static constexpr Utf8Validation Utf8Validation_MIN = FeatureSet_Utf8Validation_Utf8Validation_MIN;
2121   static constexpr Utf8Validation Utf8Validation_MAX = FeatureSet_Utf8Validation_Utf8Validation_MAX;
2122   static constexpr int Utf8Validation_ARRAYSIZE = FeatureSet_Utf8Validation_Utf8Validation_ARRAYSIZE;
2123   static inline const ::google::protobuf::EnumDescriptor* Utf8Validation_descriptor() {
2124     return FeatureSet_Utf8Validation_descriptor();
2125   }
2126   template <typename T>
2127   static inline const std::string& Utf8Validation_Name(T value) {
2128     return FeatureSet_Utf8Validation_Name(value);
2129   }
2130   static inline bool Utf8Validation_Parse(absl::string_view name, Utf8Validation* value) {
2131     return FeatureSet_Utf8Validation_Parse(name, value);
2132   }
2133   using MessageEncoding = FeatureSet_MessageEncoding;
2134   static constexpr MessageEncoding MESSAGE_ENCODING_UNKNOWN = FeatureSet_MessageEncoding_MESSAGE_ENCODING_UNKNOWN;
2135   static constexpr MessageEncoding LENGTH_PREFIXED = FeatureSet_MessageEncoding_LENGTH_PREFIXED;
2136   static constexpr MessageEncoding DELIMITED = FeatureSet_MessageEncoding_DELIMITED;
2137   static inline bool MessageEncoding_IsValid(int value) {
2138     return FeatureSet_MessageEncoding_IsValid(value);
2139   }
2140   static constexpr MessageEncoding MessageEncoding_MIN = FeatureSet_MessageEncoding_MessageEncoding_MIN;
2141   static constexpr MessageEncoding MessageEncoding_MAX = FeatureSet_MessageEncoding_MessageEncoding_MAX;
2142   static constexpr int MessageEncoding_ARRAYSIZE = FeatureSet_MessageEncoding_MessageEncoding_ARRAYSIZE;
2143   static inline const ::google::protobuf::EnumDescriptor* MessageEncoding_descriptor() {
2144     return FeatureSet_MessageEncoding_descriptor();
2145   }
2146   template <typename T>
2147   static inline const std::string& MessageEncoding_Name(T value) {
2148     return FeatureSet_MessageEncoding_Name(value);
2149   }
2150   static inline bool MessageEncoding_Parse(absl::string_view name, MessageEncoding* value) {
2151     return FeatureSet_MessageEncoding_Parse(name, value);
2152   }
2153   using JsonFormat = FeatureSet_JsonFormat;
2154   static constexpr JsonFormat JSON_FORMAT_UNKNOWN = FeatureSet_JsonFormat_JSON_FORMAT_UNKNOWN;
2155   static constexpr JsonFormat ALLOW = FeatureSet_JsonFormat_ALLOW;
2156   static constexpr JsonFormat LEGACY_BEST_EFFORT = FeatureSet_JsonFormat_LEGACY_BEST_EFFORT;
2157   static inline bool JsonFormat_IsValid(int value) {
2158     return FeatureSet_JsonFormat_IsValid(value);
2159   }
2160   static constexpr JsonFormat JsonFormat_MIN = FeatureSet_JsonFormat_JsonFormat_MIN;
2161   static constexpr JsonFormat JsonFormat_MAX = FeatureSet_JsonFormat_JsonFormat_MAX;
2162   static constexpr int JsonFormat_ARRAYSIZE = FeatureSet_JsonFormat_JsonFormat_ARRAYSIZE;
2163   static inline const ::google::protobuf::EnumDescriptor* JsonFormat_descriptor() {
2164     return FeatureSet_JsonFormat_descriptor();
2165   }
2166   template <typename T>
2167   static inline const std::string& JsonFormat_Name(T value) {
2168     return FeatureSet_JsonFormat_Name(value);
2169   }
2170   static inline bool JsonFormat_Parse(absl::string_view name, JsonFormat* value) {
2171     return FeatureSet_JsonFormat_Parse(name, value);
2172   }
2173 
2174   // accessors -------------------------------------------------------
2175   enum : int {
2176     kFieldPresenceFieldNumber = 1,
2177     kEnumTypeFieldNumber = 2,
2178     kRepeatedFieldEncodingFieldNumber = 3,
2179     kUtf8ValidationFieldNumber = 4,
2180     kMessageEncodingFieldNumber = 5,
2181     kJsonFormatFieldNumber = 6,
2182   };
2183   // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
2184   bool has_field_presence() const;
2185   void clear_field_presence() ;
2186   ::google::protobuf::FeatureSet_FieldPresence field_presence() const;
2187   void set_field_presence(::google::protobuf::FeatureSet_FieldPresence value);
2188 
2189   private:
2190   ::google::protobuf::FeatureSet_FieldPresence _internal_field_presence() const;
2191   void _internal_set_field_presence(::google::protobuf::FeatureSet_FieldPresence value);
2192 
2193   public:
2194   // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
2195   bool has_enum_type() const;
2196   void clear_enum_type() ;
2197   ::google::protobuf::FeatureSet_EnumType enum_type() const;
2198   void set_enum_type(::google::protobuf::FeatureSet_EnumType value);
2199 
2200   private:
2201   ::google::protobuf::FeatureSet_EnumType _internal_enum_type() const;
2202   void _internal_set_enum_type(::google::protobuf::FeatureSet_EnumType value);
2203 
2204   public:
2205   // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
2206   bool has_repeated_field_encoding() const;
2207   void clear_repeated_field_encoding() ;
2208   ::google::protobuf::FeatureSet_RepeatedFieldEncoding repeated_field_encoding() const;
2209   void set_repeated_field_encoding(::google::protobuf::FeatureSet_RepeatedFieldEncoding value);
2210 
2211   private:
2212   ::google::protobuf::FeatureSet_RepeatedFieldEncoding _internal_repeated_field_encoding() const;
2213   void _internal_set_repeated_field_encoding(::google::protobuf::FeatureSet_RepeatedFieldEncoding value);
2214 
2215   public:
2216   // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
2217   bool has_utf8_validation() const;
2218   void clear_utf8_validation() ;
2219   ::google::protobuf::FeatureSet_Utf8Validation utf8_validation() const;
2220   void set_utf8_validation(::google::protobuf::FeatureSet_Utf8Validation value);
2221 
2222   private:
2223   ::google::protobuf::FeatureSet_Utf8Validation _internal_utf8_validation() const;
2224   void _internal_set_utf8_validation(::google::protobuf::FeatureSet_Utf8Validation value);
2225 
2226   public:
2227   // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
2228   bool has_message_encoding() const;
2229   void clear_message_encoding() ;
2230   ::google::protobuf::FeatureSet_MessageEncoding message_encoding() const;
2231   void set_message_encoding(::google::protobuf::FeatureSet_MessageEncoding value);
2232 
2233   private:
2234   ::google::protobuf::FeatureSet_MessageEncoding _internal_message_encoding() const;
2235   void _internal_set_message_encoding(::google::protobuf::FeatureSet_MessageEncoding value);
2236 
2237   public:
2238   // optional .google.protobuf.FeatureSet.JsonFormat json_format = 6 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
2239   bool has_json_format() const;
2240   void clear_json_format() ;
2241   ::google::protobuf::FeatureSet_JsonFormat json_format() const;
2242   void set_json_format(::google::protobuf::FeatureSet_JsonFormat value);
2243 
2244   private:
2245   ::google::protobuf::FeatureSet_JsonFormat _internal_json_format() const;
2246   void _internal_set_json_format(::google::protobuf::FeatureSet_JsonFormat value);
2247 
2248   public:
2249   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2250             bool _is_packed,
2251             typename = typename _proto_TypeTraits::Singular>
2252   inline bool HasExtension(
2253       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2254                                        _field_type, _is_packed>& id) const {
2255     return _impl_._extensions_.Has(id.number());
2256   }
2257 
2258   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2259             bool _is_packed>
2260   inline void ClearExtension(
2261       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2262                                        _field_type, _is_packed>& id) {
2263     _impl_._extensions_.ClearExtension(id.number());
2264   }
2265 
2266   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2267             bool _is_packed,
2268             typename = typename _proto_TypeTraits::Repeated>
2269   inline int ExtensionSize(
2270       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2271                                        _field_type, _is_packed>& id) const {
2272     return _impl_._extensions_.ExtensionSize(id.number());
2273   }
2274 
2275   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2276             bool _is_packed,
2277             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
2278   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
2279       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2280                                        _field_type, _is_packed>& id) const {
2281     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
2282   }
2283 
2284   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2285             bool _is_packed,
2286             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
2287   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
2288       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2289                                        _field_type, _is_packed>& id) const
2290       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2291     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
2292   }
2293 
2294   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2295             bool _is_packed>
2296   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
2297       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2298                                        _field_type, _is_packed>& id)
2299       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2300     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
2301   }
2302 
2303   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2304             bool _is_packed>
2305   inline void SetExtension(
2306       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2307                                        _field_type, _is_packed>& id,
2308       typename _proto_TypeTraits::Singular::ConstType value) {
2309     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
2310   }
2311 
2312   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2313             bool _is_packed>
2314   inline void SetAllocatedExtension(
2315       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2316                                        _field_type, _is_packed>& id,
2317       typename _proto_TypeTraits::Singular::MutableType value) {
2318     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
2319                                     &_impl_._extensions_);
2320   }
2321   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2322             bool _is_packed>
2323   inline void UnsafeArenaSetAllocatedExtension(
2324       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2325                                        _field_type, _is_packed>& id,
2326       typename _proto_TypeTraits::Singular::MutableType value) {
2327     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
2328                                                value, &_impl_._extensions_);
2329   }
2330   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2331             bool _is_packed>
2332   PROTOBUF_NODISCARD inline
2333       typename _proto_TypeTraits::Singular::MutableType
2334       ReleaseExtension(
2335           const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2336                                            _field_type, _is_packed>& id) {
2337     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
2338   }
2339   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2340             bool _is_packed>
2341   inline typename _proto_TypeTraits::Singular::MutableType
2342   UnsafeArenaReleaseExtension(
2343       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2344                                        _field_type, _is_packed>& id) {
2345     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
2346                                                  &_impl_._extensions_);
2347   }
2348 
2349   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2350             bool _is_packed,
2351             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
2352   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
2353       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2354                                        _field_type, _is_packed>& id,
2355       int index) const {
2356     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
2357   }
2358 
2359   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2360             bool _is_packed,
2361             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
2362   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
2363       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2364                                        _field_type, _is_packed>& id,
2365       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
2366     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
2367   }
2368 
2369   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2370             bool _is_packed>
2371   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
2372       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2373                                        _field_type, _is_packed>& id,
2374       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
2375     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
2376   }
2377 
2378   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2379             bool _is_packed>
2380   inline void SetExtension(
2381       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2382                                        _field_type, _is_packed>& id,
2383       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
2384     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
2385   }
2386 
2387   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2388             bool _is_packed>
2389   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
2390       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2391                                        _field_type, _is_packed>& id)
2392       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2393     typename _proto_TypeTraits::Repeated::MutableType to_add =
2394         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
2395     return to_add;
2396   }
2397 
2398   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2399             bool _is_packed>
2400   inline void AddExtension(
2401       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2402                                        _field_type, _is_packed>& id,
2403       typename _proto_TypeTraits::Repeated::ConstType value) {
2404     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
2405                            &_impl_._extensions_);
2406   }
2407 
2408   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2409             bool _is_packed>
2410   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
2411   GetRepeatedExtension(
2412       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2413                                        _field_type, _is_packed>& id) const
2414       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2415     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
2416   }
2417 
2418   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
2419             bool _is_packed>
2420   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
2421   MutableRepeatedExtension(
2422       const ::google::protobuf::internal::ExtensionIdentifier<FeatureSet, _proto_TypeTraits,
2423                                        _field_type, _is_packed>& id)
2424       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2425     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
2426                                               _is_packed, &_impl_._extensions_);
2427   }
2428   // @@protoc_insertion_point(class_scope:google.protobuf.FeatureSet)
2429  private:
2430   class _Internal;
2431   friend class ::google::protobuf::internal::TcParser;
2432   static const ::google::protobuf::internal::TcParseTable<
2433       3, 6, 6,
2434       0, 2>
2435       _table_;
2436 
2437 
2438   friend class ::google::protobuf::MessageLite;
2439   friend class ::google::protobuf::Arena;
2440   template <typename T>
2441   friend class ::google::protobuf::Arena::InternalHelper;
2442   using InternalArenaConstructable_ = void;
2443   using DestructorSkippable_ = void;
2444   struct Impl_ {
2445     inline explicit constexpr Impl_(
2446         ::google::protobuf::internal::ConstantInitialized) noexcept;
2447     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2448                           ::google::protobuf::Arena* arena);
2449     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2450                           ::google::protobuf::Arena* arena, const Impl_& from,
2451                           const FeatureSet& from_msg);
2452     ::google::protobuf::internal::ExtensionSet _extensions_;
2453     ::google::protobuf::internal::HasBits<1> _has_bits_;
2454     mutable ::google::protobuf::internal::CachedSize _cached_size_;
2455     int field_presence_;
2456     int enum_type_;
2457     int repeated_field_encoding_;
2458     int utf8_validation_;
2459     int message_encoding_;
2460     int json_format_;
2461     PROTOBUF_TSAN_DECLARE_MEMBER
2462   };
2463   union { Impl_ _impl_; };
2464   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
2465 };
2466 // -------------------------------------------------------------------
2467 
2468 class PROTOBUF_EXPORT ExtensionRangeOptions_Declaration final : public ::google::protobuf::Message
2469 /* @@protoc_insertion_point(class_definition:google.protobuf.ExtensionRangeOptions.Declaration) */ {
2470  public:
2471   inline ExtensionRangeOptions_Declaration() : ExtensionRangeOptions_Declaration(nullptr) {}
2472   ~ExtensionRangeOptions_Declaration() PROTOBUF_FINAL;
2473   template <typename = void>
2474   explicit PROTOBUF_CONSTEXPR ExtensionRangeOptions_Declaration(
2475       ::google::protobuf::internal::ConstantInitialized);
2476 
2477   inline ExtensionRangeOptions_Declaration(const ExtensionRangeOptions_Declaration& from) : ExtensionRangeOptions_Declaration(nullptr, from) {}
2478   inline ExtensionRangeOptions_Declaration(ExtensionRangeOptions_Declaration&& from) noexcept
2479       : ExtensionRangeOptions_Declaration(nullptr, std::move(from)) {}
2480   inline ExtensionRangeOptions_Declaration& operator=(const ExtensionRangeOptions_Declaration& from) {
2481     CopyFrom(from);
2482     return *this;
2483   }
2484   inline ExtensionRangeOptions_Declaration& operator=(ExtensionRangeOptions_Declaration&& from) noexcept {
2485     if (this == &from) return *this;
2486     if (GetArena() == from.GetArena()
2487 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2488         && GetArena() != nullptr
2489 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
2490     ) {
2491       InternalSwap(&from);
2492     } else {
2493       CopyFrom(from);
2494     }
2495     return *this;
2496   }
2497 
2498   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2499       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2500     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2501   }
2502   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
2503       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2504     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2505   }
2506 
2507   static const ::google::protobuf::Descriptor* descriptor() {
2508     return GetDescriptor();
2509   }
2510   static const ::google::protobuf::Descriptor* GetDescriptor() {
2511     return default_instance().GetMetadata().descriptor;
2512   }
2513   static const ::google::protobuf::Reflection* GetReflection() {
2514     return default_instance().GetMetadata().reflection;
2515   }
2516   static const ExtensionRangeOptions_Declaration& default_instance() {
2517     return *internal_default_instance();
2518   }
2519   static inline const ExtensionRangeOptions_Declaration* internal_default_instance() {
2520     return reinterpret_cast<const ExtensionRangeOptions_Declaration*>(
2521         &_ExtensionRangeOptions_Declaration_default_instance_);
2522   }
2523   static constexpr int kIndexInFileMessages = 5;
2524   friend void swap(ExtensionRangeOptions_Declaration& a, ExtensionRangeOptions_Declaration& b) { a.Swap(&b); }
2525   inline void Swap(ExtensionRangeOptions_Declaration* other) {
2526     if (other == this) return;
2527 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2528     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
2529 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
2530     if (GetArena() == other->GetArena()) {
2531 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
2532       InternalSwap(other);
2533     } else {
2534       ::google::protobuf::internal::GenericSwap(this, other);
2535     }
2536   }
2537   void UnsafeArenaSwap(ExtensionRangeOptions_Declaration* other) {
2538     if (other == this) return;
2539     ABSL_DCHECK(GetArena() == other->GetArena());
2540     InternalSwap(other);
2541   }
2542 
2543   // implements Message ----------------------------------------------
2544 
2545   ExtensionRangeOptions_Declaration* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
2546     return ::google::protobuf::Message::DefaultConstruct<ExtensionRangeOptions_Declaration>(arena);
2547   }
2548   using ::google::protobuf::Message::CopyFrom;
2549   void CopyFrom(const ExtensionRangeOptions_Declaration& from);
2550   using ::google::protobuf::Message::MergeFrom;
2551   void MergeFrom(const ExtensionRangeOptions_Declaration& from) { ExtensionRangeOptions_Declaration::MergeImpl(*this, from); }
2552 
2553   private:
2554   static void MergeImpl(
2555       ::google::protobuf::MessageLite& to_msg,
2556       const ::google::protobuf::MessageLite& from_msg);
2557 
2558   public:
2559   bool IsInitialized() const {
2560     return true;
2561   }
2562   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2563   #if defined(PROTOBUF_CUSTOM_VTABLE)
2564   private:
2565   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2566   static ::uint8_t* _InternalSerialize(
2567       const MessageLite& msg, ::uint8_t* target,
2568       ::google::protobuf::io::EpsCopyOutputStream* stream);
2569 
2570   public:
2571   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2572   ::uint8_t* _InternalSerialize(
2573       ::uint8_t* target,
2574       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
2575     return _InternalSerialize(*this, target, stream);
2576   }
2577   #else   // PROTOBUF_CUSTOM_VTABLE
2578   ::size_t ByteSizeLong() const final;
2579   ::uint8_t* _InternalSerialize(
2580       ::uint8_t* target,
2581       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
2582   #endif  // PROTOBUF_CUSTOM_VTABLE
2583   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2584 
2585   private:
2586   void SharedCtor(::google::protobuf::Arena* arena);
2587   void SharedDtor();
2588   void InternalSwap(ExtensionRangeOptions_Declaration* other);
2589  private:
2590   friend class ::google::protobuf::internal::AnyMetadata;
2591   static ::absl::string_view FullMessageName() { return "google.protobuf.ExtensionRangeOptions.Declaration"; }
2592 
2593  protected:
2594   explicit ExtensionRangeOptions_Declaration(::google::protobuf::Arena* arena);
2595   ExtensionRangeOptions_Declaration(::google::protobuf::Arena* arena, const ExtensionRangeOptions_Declaration& from);
2596   ExtensionRangeOptions_Declaration(::google::protobuf::Arena* arena, ExtensionRangeOptions_Declaration&& from) noexcept
2597       : ExtensionRangeOptions_Declaration(arena) {
2598     *this = ::std::move(from);
2599   }
2600   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
2601   static const ::google::protobuf::Message::ClassDataFull _class_data_;
2602 
2603  public:
2604   ::google::protobuf::Metadata GetMetadata() const;
2605   // nested types ----------------------------------------------------
2606 
2607   // accessors -------------------------------------------------------
2608   enum : int {
2609     kFullNameFieldNumber = 2,
2610     kTypeFieldNumber = 3,
2611     kNumberFieldNumber = 1,
2612     kReservedFieldNumber = 5,
2613     kRepeatedFieldNumber = 6,
2614   };
2615   // optional string full_name = 2;
2616   bool has_full_name() const;
2617   void clear_full_name() ;
2618   const std::string& full_name() const;
2619   template <typename Arg_ = const std::string&, typename... Args_>
2620   void set_full_name(Arg_&& arg, Args_... args);
2621   std::string* mutable_full_name();
2622   PROTOBUF_NODISCARD std::string* release_full_name();
2623   void set_allocated_full_name(std::string* value);
2624 
2625   private:
2626   const std::string& _internal_full_name() const;
2627   inline PROTOBUF_ALWAYS_INLINE void _internal_set_full_name(
2628       const std::string& value);
2629   std::string* _internal_mutable_full_name();
2630 
2631   public:
2632   // optional string type = 3;
2633   bool has_type() const;
2634   void clear_type() ;
2635   const std::string& type() const;
2636   template <typename Arg_ = const std::string&, typename... Args_>
2637   void set_type(Arg_&& arg, Args_... args);
2638   std::string* mutable_type();
2639   PROTOBUF_NODISCARD std::string* release_type();
2640   void set_allocated_type(std::string* value);
2641 
2642   private:
2643   const std::string& _internal_type() const;
2644   inline PROTOBUF_ALWAYS_INLINE void _internal_set_type(
2645       const std::string& value);
2646   std::string* _internal_mutable_type();
2647 
2648   public:
2649   // optional int32 number = 1;
2650   bool has_number() const;
2651   void clear_number() ;
2652   ::int32_t number() const;
2653   void set_number(::int32_t value);
2654 
2655   private:
2656   ::int32_t _internal_number() const;
2657   void _internal_set_number(::int32_t value);
2658 
2659   public:
2660   // optional bool reserved = 5;
2661   bool has_reserved() const;
2662   void clear_reserved() ;
2663   bool reserved() const;
2664   void set_reserved(bool value);
2665 
2666   private:
2667   bool _internal_reserved() const;
2668   void _internal_set_reserved(bool value);
2669 
2670   public:
2671   // optional bool repeated = 6;
2672   bool has_repeated() const;
2673   void clear_repeated() ;
2674   bool repeated() const;
2675   void set_repeated(bool value);
2676 
2677   private:
2678   bool _internal_repeated() const;
2679   void _internal_set_repeated(bool value);
2680 
2681   public:
2682   // @@protoc_insertion_point(class_scope:google.protobuf.ExtensionRangeOptions.Declaration)
2683  private:
2684   class _Internal;
2685   friend class ::google::protobuf::internal::TcParser;
2686   static const ::google::protobuf::internal::TcParseTable<
2687       3, 5, 0,
2688       71, 2>
2689       _table_;
2690 
2691 
2692   friend class ::google::protobuf::MessageLite;
2693   friend class ::google::protobuf::Arena;
2694   template <typename T>
2695   friend class ::google::protobuf::Arena::InternalHelper;
2696   using InternalArenaConstructable_ = void;
2697   using DestructorSkippable_ = void;
2698   struct Impl_ {
2699     inline explicit constexpr Impl_(
2700         ::google::protobuf::internal::ConstantInitialized) noexcept;
2701     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2702                           ::google::protobuf::Arena* arena);
2703     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2704                           ::google::protobuf::Arena* arena, const Impl_& from,
2705                           const ExtensionRangeOptions_Declaration& from_msg);
2706     ::google::protobuf::internal::HasBits<1> _has_bits_;
2707     mutable ::google::protobuf::internal::CachedSize _cached_size_;
2708     ::google::protobuf::internal::ArenaStringPtr full_name_;
2709     ::google::protobuf::internal::ArenaStringPtr type_;
2710     ::int32_t number_;
2711     bool reserved_;
2712     bool repeated_;
2713     PROTOBUF_TSAN_DECLARE_MEMBER
2714   };
2715   union { Impl_ _impl_; };
2716   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
2717 };
2718 // -------------------------------------------------------------------
2719 
2720 class PROTOBUF_EXPORT EnumDescriptorProto_EnumReservedRange final : public ::google::protobuf::Message
2721 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumDescriptorProto.EnumReservedRange) */ {
2722  public:
2723   inline EnumDescriptorProto_EnumReservedRange() : EnumDescriptorProto_EnumReservedRange(nullptr) {}
2724   ~EnumDescriptorProto_EnumReservedRange() PROTOBUF_FINAL;
2725   template <typename = void>
2726   explicit PROTOBUF_CONSTEXPR EnumDescriptorProto_EnumReservedRange(
2727       ::google::protobuf::internal::ConstantInitialized);
2728 
2729   inline EnumDescriptorProto_EnumReservedRange(const EnumDescriptorProto_EnumReservedRange& from) : EnumDescriptorProto_EnumReservedRange(nullptr, from) {}
2730   inline EnumDescriptorProto_EnumReservedRange(EnumDescriptorProto_EnumReservedRange&& from) noexcept
2731       : EnumDescriptorProto_EnumReservedRange(nullptr, std::move(from)) {}
2732   inline EnumDescriptorProto_EnumReservedRange& operator=(const EnumDescriptorProto_EnumReservedRange& from) {
2733     CopyFrom(from);
2734     return *this;
2735   }
2736   inline EnumDescriptorProto_EnumReservedRange& operator=(EnumDescriptorProto_EnumReservedRange&& from) noexcept {
2737     if (this == &from) return *this;
2738     if (GetArena() == from.GetArena()
2739 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2740         && GetArena() != nullptr
2741 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
2742     ) {
2743       InternalSwap(&from);
2744     } else {
2745       CopyFrom(from);
2746     }
2747     return *this;
2748   }
2749 
2750   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2751       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2752     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2753   }
2754   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
2755       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2756     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2757   }
2758 
2759   static const ::google::protobuf::Descriptor* descriptor() {
2760     return GetDescriptor();
2761   }
2762   static const ::google::protobuf::Descriptor* GetDescriptor() {
2763     return default_instance().GetMetadata().descriptor;
2764   }
2765   static const ::google::protobuf::Reflection* GetReflection() {
2766     return default_instance().GetMetadata().reflection;
2767   }
2768   static const EnumDescriptorProto_EnumReservedRange& default_instance() {
2769     return *internal_default_instance();
2770   }
2771   static inline const EnumDescriptorProto_EnumReservedRange* internal_default_instance() {
2772     return reinterpret_cast<const EnumDescriptorProto_EnumReservedRange*>(
2773         &_EnumDescriptorProto_EnumReservedRange_default_instance_);
2774   }
2775   static constexpr int kIndexInFileMessages = 9;
2776   friend void swap(EnumDescriptorProto_EnumReservedRange& a, EnumDescriptorProto_EnumReservedRange& b) { a.Swap(&b); }
2777   inline void Swap(EnumDescriptorProto_EnumReservedRange* other) {
2778     if (other == this) return;
2779 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2780     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
2781 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
2782     if (GetArena() == other->GetArena()) {
2783 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
2784       InternalSwap(other);
2785     } else {
2786       ::google::protobuf::internal::GenericSwap(this, other);
2787     }
2788   }
2789   void UnsafeArenaSwap(EnumDescriptorProto_EnumReservedRange* other) {
2790     if (other == this) return;
2791     ABSL_DCHECK(GetArena() == other->GetArena());
2792     InternalSwap(other);
2793   }
2794 
2795   // implements Message ----------------------------------------------
2796 
2797   EnumDescriptorProto_EnumReservedRange* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
2798     return ::google::protobuf::Message::DefaultConstruct<EnumDescriptorProto_EnumReservedRange>(arena);
2799   }
2800   using ::google::protobuf::Message::CopyFrom;
2801   void CopyFrom(const EnumDescriptorProto_EnumReservedRange& from);
2802   using ::google::protobuf::Message::MergeFrom;
2803   void MergeFrom(const EnumDescriptorProto_EnumReservedRange& from) { EnumDescriptorProto_EnumReservedRange::MergeImpl(*this, from); }
2804 
2805   private:
2806   static void MergeImpl(
2807       ::google::protobuf::MessageLite& to_msg,
2808       const ::google::protobuf::MessageLite& from_msg);
2809 
2810   public:
2811   bool IsInitialized() const {
2812     return true;
2813   }
2814   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
2815   #if defined(PROTOBUF_CUSTOM_VTABLE)
2816   private:
2817   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
2818   static ::uint8_t* _InternalSerialize(
2819       const MessageLite& msg, ::uint8_t* target,
2820       ::google::protobuf::io::EpsCopyOutputStream* stream);
2821 
2822   public:
2823   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
2824   ::uint8_t* _InternalSerialize(
2825       ::uint8_t* target,
2826       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
2827     return _InternalSerialize(*this, target, stream);
2828   }
2829   #else   // PROTOBUF_CUSTOM_VTABLE
2830   ::size_t ByteSizeLong() const final;
2831   ::uint8_t* _InternalSerialize(
2832       ::uint8_t* target,
2833       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
2834   #endif  // PROTOBUF_CUSTOM_VTABLE
2835   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
2836 
2837   private:
2838   void SharedCtor(::google::protobuf::Arena* arena);
2839   void SharedDtor();
2840   void InternalSwap(EnumDescriptorProto_EnumReservedRange* other);
2841  private:
2842   friend class ::google::protobuf::internal::AnyMetadata;
2843   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumDescriptorProto.EnumReservedRange"; }
2844 
2845  protected:
2846   explicit EnumDescriptorProto_EnumReservedRange(::google::protobuf::Arena* arena);
2847   EnumDescriptorProto_EnumReservedRange(::google::protobuf::Arena* arena, const EnumDescriptorProto_EnumReservedRange& from);
2848   EnumDescriptorProto_EnumReservedRange(::google::protobuf::Arena* arena, EnumDescriptorProto_EnumReservedRange&& from) noexcept
2849       : EnumDescriptorProto_EnumReservedRange(arena) {
2850     *this = ::std::move(from);
2851   }
2852   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
2853   static const ::google::protobuf::Message::ClassDataFull _class_data_;
2854 
2855  public:
2856   ::google::protobuf::Metadata GetMetadata() const;
2857   // nested types ----------------------------------------------------
2858 
2859   // accessors -------------------------------------------------------
2860   enum : int {
2861     kStartFieldNumber = 1,
2862     kEndFieldNumber = 2,
2863   };
2864   // optional int32 start = 1;
2865   bool has_start() const;
2866   void clear_start() ;
2867   ::int32_t start() const;
2868   void set_start(::int32_t value);
2869 
2870   private:
2871   ::int32_t _internal_start() const;
2872   void _internal_set_start(::int32_t value);
2873 
2874   public:
2875   // optional int32 end = 2;
2876   bool has_end() const;
2877   void clear_end() ;
2878   ::int32_t end() const;
2879   void set_end(::int32_t value);
2880 
2881   private:
2882   ::int32_t _internal_end() const;
2883   void _internal_set_end(::int32_t value);
2884 
2885   public:
2886   // @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto.EnumReservedRange)
2887  private:
2888   class _Internal;
2889   friend class ::google::protobuf::internal::TcParser;
2890   static const ::google::protobuf::internal::TcParseTable<
2891       1, 2, 0,
2892       0, 2>
2893       _table_;
2894 
2895 
2896   friend class ::google::protobuf::MessageLite;
2897   friend class ::google::protobuf::Arena;
2898   template <typename T>
2899   friend class ::google::protobuf::Arena::InternalHelper;
2900   using InternalArenaConstructable_ = void;
2901   using DestructorSkippable_ = void;
2902   struct Impl_ {
2903     inline explicit constexpr Impl_(
2904         ::google::protobuf::internal::ConstantInitialized) noexcept;
2905     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2906                           ::google::protobuf::Arena* arena);
2907     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
2908                           ::google::protobuf::Arena* arena, const Impl_& from,
2909                           const EnumDescriptorProto_EnumReservedRange& from_msg);
2910     ::google::protobuf::internal::HasBits<1> _has_bits_;
2911     mutable ::google::protobuf::internal::CachedSize _cached_size_;
2912     ::int32_t start_;
2913     ::int32_t end_;
2914     PROTOBUF_TSAN_DECLARE_MEMBER
2915   };
2916   union { Impl_ _impl_; };
2917   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
2918 };
2919 // -------------------------------------------------------------------
2920 
2921 class PROTOBUF_EXPORT DescriptorProto_ReservedRange final : public ::google::protobuf::Message
2922 /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto.ReservedRange) */ {
2923  public:
2924   inline DescriptorProto_ReservedRange() : DescriptorProto_ReservedRange(nullptr) {}
2925   ~DescriptorProto_ReservedRange() PROTOBUF_FINAL;
2926   template <typename = void>
2927   explicit PROTOBUF_CONSTEXPR DescriptorProto_ReservedRange(
2928       ::google::protobuf::internal::ConstantInitialized);
2929 
2930   inline DescriptorProto_ReservedRange(const DescriptorProto_ReservedRange& from) : DescriptorProto_ReservedRange(nullptr, from) {}
2931   inline DescriptorProto_ReservedRange(DescriptorProto_ReservedRange&& from) noexcept
2932       : DescriptorProto_ReservedRange(nullptr, std::move(from)) {}
2933   inline DescriptorProto_ReservedRange& operator=(const DescriptorProto_ReservedRange& from) {
2934     CopyFrom(from);
2935     return *this;
2936   }
2937   inline DescriptorProto_ReservedRange& operator=(DescriptorProto_ReservedRange&& from) noexcept {
2938     if (this == &from) return *this;
2939     if (GetArena() == from.GetArena()
2940 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
2941         && GetArena() != nullptr
2942 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
2943     ) {
2944       InternalSwap(&from);
2945     } else {
2946       CopyFrom(from);
2947     }
2948     return *this;
2949   }
2950 
2951   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
2952       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2953     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
2954   }
2955   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
2956       ABSL_ATTRIBUTE_LIFETIME_BOUND {
2957     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
2958   }
2959 
2960   static const ::google::protobuf::Descriptor* descriptor() {
2961     return GetDescriptor();
2962   }
2963   static const ::google::protobuf::Descriptor* GetDescriptor() {
2964     return default_instance().GetMetadata().descriptor;
2965   }
2966   static const ::google::protobuf::Reflection* GetReflection() {
2967     return default_instance().GetMetadata().reflection;
2968   }
2969   static const DescriptorProto_ReservedRange& default_instance() {
2970     return *internal_default_instance();
2971   }
2972   static inline const DescriptorProto_ReservedRange* internal_default_instance() {
2973     return reinterpret_cast<const DescriptorProto_ReservedRange*>(
2974         &_DescriptorProto_ReservedRange_default_instance_);
2975   }
2976   static constexpr int kIndexInFileMessages = 3;
2977   friend void swap(DescriptorProto_ReservedRange& a, DescriptorProto_ReservedRange& b) { a.Swap(&b); }
2978   inline void Swap(DescriptorProto_ReservedRange* other) {
2979     if (other == this) return;
2980 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
2981     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
2982 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
2983     if (GetArena() == other->GetArena()) {
2984 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
2985       InternalSwap(other);
2986     } else {
2987       ::google::protobuf::internal::GenericSwap(this, other);
2988     }
2989   }
2990   void UnsafeArenaSwap(DescriptorProto_ReservedRange* other) {
2991     if (other == this) return;
2992     ABSL_DCHECK(GetArena() == other->GetArena());
2993     InternalSwap(other);
2994   }
2995 
2996   // implements Message ----------------------------------------------
2997 
2998   DescriptorProto_ReservedRange* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
2999     return ::google::protobuf::Message::DefaultConstruct<DescriptorProto_ReservedRange>(arena);
3000   }
3001   using ::google::protobuf::Message::CopyFrom;
3002   void CopyFrom(const DescriptorProto_ReservedRange& from);
3003   using ::google::protobuf::Message::MergeFrom;
3004   void MergeFrom(const DescriptorProto_ReservedRange& from) { DescriptorProto_ReservedRange::MergeImpl(*this, from); }
3005 
3006   private:
3007   static void MergeImpl(
3008       ::google::protobuf::MessageLite& to_msg,
3009       const ::google::protobuf::MessageLite& from_msg);
3010 
3011   public:
3012   bool IsInitialized() const {
3013     return true;
3014   }
3015   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3016   #if defined(PROTOBUF_CUSTOM_VTABLE)
3017   private:
3018   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3019   static ::uint8_t* _InternalSerialize(
3020       const MessageLite& msg, ::uint8_t* target,
3021       ::google::protobuf::io::EpsCopyOutputStream* stream);
3022 
3023   public:
3024   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3025   ::uint8_t* _InternalSerialize(
3026       ::uint8_t* target,
3027       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3028     return _InternalSerialize(*this, target, stream);
3029   }
3030   #else   // PROTOBUF_CUSTOM_VTABLE
3031   ::size_t ByteSizeLong() const final;
3032   ::uint8_t* _InternalSerialize(
3033       ::uint8_t* target,
3034       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3035   #endif  // PROTOBUF_CUSTOM_VTABLE
3036   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3037 
3038   private:
3039   void SharedCtor(::google::protobuf::Arena* arena);
3040   void SharedDtor();
3041   void InternalSwap(DescriptorProto_ReservedRange* other);
3042  private:
3043   friend class ::google::protobuf::internal::AnyMetadata;
3044   static ::absl::string_view FullMessageName() { return "google.protobuf.DescriptorProto.ReservedRange"; }
3045 
3046  protected:
3047   explicit DescriptorProto_ReservedRange(::google::protobuf::Arena* arena);
3048   DescriptorProto_ReservedRange(::google::protobuf::Arena* arena, const DescriptorProto_ReservedRange& from);
3049   DescriptorProto_ReservedRange(::google::protobuf::Arena* arena, DescriptorProto_ReservedRange&& from) noexcept
3050       : DescriptorProto_ReservedRange(arena) {
3051     *this = ::std::move(from);
3052   }
3053   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3054   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3055 
3056  public:
3057   ::google::protobuf::Metadata GetMetadata() const;
3058   // nested types ----------------------------------------------------
3059 
3060   // accessors -------------------------------------------------------
3061   enum : int {
3062     kStartFieldNumber = 1,
3063     kEndFieldNumber = 2,
3064   };
3065   // optional int32 start = 1;
3066   bool has_start() const;
3067   void clear_start() ;
3068   ::int32_t start() const;
3069   void set_start(::int32_t value);
3070 
3071   private:
3072   ::int32_t _internal_start() const;
3073   void _internal_set_start(::int32_t value);
3074 
3075   public:
3076   // optional int32 end = 2;
3077   bool has_end() const;
3078   void clear_end() ;
3079   ::int32_t end() const;
3080   void set_end(::int32_t value);
3081 
3082   private:
3083   ::int32_t _internal_end() const;
3084   void _internal_set_end(::int32_t value);
3085 
3086   public:
3087   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ReservedRange)
3088  private:
3089   class _Internal;
3090   friend class ::google::protobuf::internal::TcParser;
3091   static const ::google::protobuf::internal::TcParseTable<
3092       1, 2, 0,
3093       0, 2>
3094       _table_;
3095 
3096 
3097   friend class ::google::protobuf::MessageLite;
3098   friend class ::google::protobuf::Arena;
3099   template <typename T>
3100   friend class ::google::protobuf::Arena::InternalHelper;
3101   using InternalArenaConstructable_ = void;
3102   using DestructorSkippable_ = void;
3103   struct Impl_ {
3104     inline explicit constexpr Impl_(
3105         ::google::protobuf::internal::ConstantInitialized) noexcept;
3106     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3107                           ::google::protobuf::Arena* arena);
3108     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3109                           ::google::protobuf::Arena* arena, const Impl_& from,
3110                           const DescriptorProto_ReservedRange& from_msg);
3111     ::google::protobuf::internal::HasBits<1> _has_bits_;
3112     mutable ::google::protobuf::internal::CachedSize _cached_size_;
3113     ::int32_t start_;
3114     ::int32_t end_;
3115     PROTOBUF_TSAN_DECLARE_MEMBER
3116   };
3117   union { Impl_ _impl_; };
3118   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
3119 };
3120 // -------------------------------------------------------------------
3121 
3122 class PROTOBUF_EXPORT UninterpretedOption final : public ::google::protobuf::Message
3123 /* @@protoc_insertion_point(class_definition:google.protobuf.UninterpretedOption) */ {
3124  public:
3125   inline UninterpretedOption() : UninterpretedOption(nullptr) {}
3126   ~UninterpretedOption() PROTOBUF_FINAL;
3127   template <typename = void>
3128   explicit PROTOBUF_CONSTEXPR UninterpretedOption(
3129       ::google::protobuf::internal::ConstantInitialized);
3130 
3131   inline UninterpretedOption(const UninterpretedOption& from) : UninterpretedOption(nullptr, from) {}
3132   inline UninterpretedOption(UninterpretedOption&& from) noexcept
3133       : UninterpretedOption(nullptr, std::move(from)) {}
3134   inline UninterpretedOption& operator=(const UninterpretedOption& from) {
3135     CopyFrom(from);
3136     return *this;
3137   }
3138   inline UninterpretedOption& operator=(UninterpretedOption&& from) noexcept {
3139     if (this == &from) return *this;
3140     if (GetArena() == from.GetArena()
3141 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3142         && GetArena() != nullptr
3143 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
3144     ) {
3145       InternalSwap(&from);
3146     } else {
3147       CopyFrom(from);
3148     }
3149     return *this;
3150   }
3151 
3152   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3153       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3154     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3155   }
3156   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
3157       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3158     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3159   }
3160 
3161   static const ::google::protobuf::Descriptor* descriptor() {
3162     return GetDescriptor();
3163   }
3164   static const ::google::protobuf::Descriptor* GetDescriptor() {
3165     return default_instance().GetMetadata().descriptor;
3166   }
3167   static const ::google::protobuf::Reflection* GetReflection() {
3168     return default_instance().GetMetadata().reflection;
3169   }
3170   static const UninterpretedOption& default_instance() {
3171     return *internal_default_instance();
3172   }
3173   static inline const UninterpretedOption* internal_default_instance() {
3174     return reinterpret_cast<const UninterpretedOption*>(
3175         &_UninterpretedOption_default_instance_);
3176   }
3177   static constexpr int kIndexInFileMessages = 25;
3178   friend void swap(UninterpretedOption& a, UninterpretedOption& b) { a.Swap(&b); }
3179   inline void Swap(UninterpretedOption* other) {
3180     if (other == this) return;
3181 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3182     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3183 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3184     if (GetArena() == other->GetArena()) {
3185 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3186       InternalSwap(other);
3187     } else {
3188       ::google::protobuf::internal::GenericSwap(this, other);
3189     }
3190   }
3191   void UnsafeArenaSwap(UninterpretedOption* other) {
3192     if (other == this) return;
3193     ABSL_DCHECK(GetArena() == other->GetArena());
3194     InternalSwap(other);
3195   }
3196 
3197   // implements Message ----------------------------------------------
3198 
3199   UninterpretedOption* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3200     return ::google::protobuf::Message::DefaultConstruct<UninterpretedOption>(arena);
3201   }
3202   using ::google::protobuf::Message::CopyFrom;
3203   void CopyFrom(const UninterpretedOption& from);
3204   using ::google::protobuf::Message::MergeFrom;
3205   void MergeFrom(const UninterpretedOption& from) { UninterpretedOption::MergeImpl(*this, from); }
3206 
3207   private:
3208   static void MergeImpl(
3209       ::google::protobuf::MessageLite& to_msg,
3210       const ::google::protobuf::MessageLite& from_msg);
3211 
3212   public:
3213   bool IsInitialized() const {
3214     return IsInitializedImpl(*this);
3215   }
3216 
3217   private:
3218   static bool IsInitializedImpl(const MessageLite& msg);
3219 
3220   public:
3221   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3222   #if defined(PROTOBUF_CUSTOM_VTABLE)
3223   private:
3224   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3225   static ::uint8_t* _InternalSerialize(
3226       const MessageLite& msg, ::uint8_t* target,
3227       ::google::protobuf::io::EpsCopyOutputStream* stream);
3228 
3229   public:
3230   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3231   ::uint8_t* _InternalSerialize(
3232       ::uint8_t* target,
3233       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3234     return _InternalSerialize(*this, target, stream);
3235   }
3236   #else   // PROTOBUF_CUSTOM_VTABLE
3237   ::size_t ByteSizeLong() const final;
3238   ::uint8_t* _InternalSerialize(
3239       ::uint8_t* target,
3240       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3241   #endif  // PROTOBUF_CUSTOM_VTABLE
3242   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3243 
3244   private:
3245   void SharedCtor(::google::protobuf::Arena* arena);
3246   void SharedDtor();
3247   void InternalSwap(UninterpretedOption* other);
3248  private:
3249   friend class ::google::protobuf::internal::AnyMetadata;
3250   static ::absl::string_view FullMessageName() { return "google.protobuf.UninterpretedOption"; }
3251 
3252  protected:
3253   explicit UninterpretedOption(::google::protobuf::Arena* arena);
3254   UninterpretedOption(::google::protobuf::Arena* arena, const UninterpretedOption& from);
3255   UninterpretedOption(::google::protobuf::Arena* arena, UninterpretedOption&& from) noexcept
3256       : UninterpretedOption(arena) {
3257     *this = ::std::move(from);
3258   }
3259   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3260   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3261 
3262  public:
3263   ::google::protobuf::Metadata GetMetadata() const;
3264   // nested types ----------------------------------------------------
3265   using NamePart = UninterpretedOption_NamePart;
3266 
3267   // accessors -------------------------------------------------------
3268   enum : int {
3269     kNameFieldNumber = 2,
3270     kIdentifierValueFieldNumber = 3,
3271     kStringValueFieldNumber = 7,
3272     kAggregateValueFieldNumber = 8,
3273     kPositiveIntValueFieldNumber = 4,
3274     kNegativeIntValueFieldNumber = 5,
3275     kDoubleValueFieldNumber = 6,
3276   };
3277   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
3278   int name_size() const;
3279   private:
3280   int _internal_name_size() const;
3281 
3282   public:
3283   void clear_name() ;
3284   ::google::protobuf::UninterpretedOption_NamePart* mutable_name(int index);
3285   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>* mutable_name();
3286 
3287   private:
3288   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>& _internal_name() const;
3289   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>* _internal_mutable_name();
3290   public:
3291   const ::google::protobuf::UninterpretedOption_NamePart& name(int index) const;
3292   ::google::protobuf::UninterpretedOption_NamePart* add_name();
3293   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>& name() const;
3294   // optional string identifier_value = 3;
3295   bool has_identifier_value() const;
3296   void clear_identifier_value() ;
3297   const std::string& identifier_value() const;
3298   template <typename Arg_ = const std::string&, typename... Args_>
3299   void set_identifier_value(Arg_&& arg, Args_... args);
3300   std::string* mutable_identifier_value();
3301   PROTOBUF_NODISCARD std::string* release_identifier_value();
3302   void set_allocated_identifier_value(std::string* value);
3303 
3304   private:
3305   const std::string& _internal_identifier_value() const;
3306   inline PROTOBUF_ALWAYS_INLINE void _internal_set_identifier_value(
3307       const std::string& value);
3308   std::string* _internal_mutable_identifier_value();
3309 
3310   public:
3311   // optional bytes string_value = 7;
3312   bool has_string_value() const;
3313   void clear_string_value() ;
3314   const std::string& string_value() const;
3315   template <typename Arg_ = const std::string&, typename... Args_>
3316   void set_string_value(Arg_&& arg, Args_... args);
3317   std::string* mutable_string_value();
3318   PROTOBUF_NODISCARD std::string* release_string_value();
3319   void set_allocated_string_value(std::string* value);
3320 
3321   private:
3322   const std::string& _internal_string_value() const;
3323   inline PROTOBUF_ALWAYS_INLINE void _internal_set_string_value(
3324       const std::string& value);
3325   std::string* _internal_mutable_string_value();
3326 
3327   public:
3328   // optional string aggregate_value = 8;
3329   bool has_aggregate_value() const;
3330   void clear_aggregate_value() ;
3331   const std::string& aggregate_value() const;
3332   template <typename Arg_ = const std::string&, typename... Args_>
3333   void set_aggregate_value(Arg_&& arg, Args_... args);
3334   std::string* mutable_aggregate_value();
3335   PROTOBUF_NODISCARD std::string* release_aggregate_value();
3336   void set_allocated_aggregate_value(std::string* value);
3337 
3338   private:
3339   const std::string& _internal_aggregate_value() const;
3340   inline PROTOBUF_ALWAYS_INLINE void _internal_set_aggregate_value(
3341       const std::string& value);
3342   std::string* _internal_mutable_aggregate_value();
3343 
3344   public:
3345   // optional uint64 positive_int_value = 4;
3346   bool has_positive_int_value() const;
3347   void clear_positive_int_value() ;
3348   ::uint64_t positive_int_value() const;
3349   void set_positive_int_value(::uint64_t value);
3350 
3351   private:
3352   ::uint64_t _internal_positive_int_value() const;
3353   void _internal_set_positive_int_value(::uint64_t value);
3354 
3355   public:
3356   // optional int64 negative_int_value = 5;
3357   bool has_negative_int_value() const;
3358   void clear_negative_int_value() ;
3359   ::int64_t negative_int_value() const;
3360   void set_negative_int_value(::int64_t value);
3361 
3362   private:
3363   ::int64_t _internal_negative_int_value() const;
3364   void _internal_set_negative_int_value(::int64_t value);
3365 
3366   public:
3367   // optional double double_value = 6;
3368   bool has_double_value() const;
3369   void clear_double_value() ;
3370   double double_value() const;
3371   void set_double_value(double value);
3372 
3373   private:
3374   double _internal_double_value() const;
3375   void _internal_set_double_value(double value);
3376 
3377   public:
3378   // @@protoc_insertion_point(class_scope:google.protobuf.UninterpretedOption)
3379  private:
3380   class _Internal;
3381   friend class ::google::protobuf::internal::TcParser;
3382   static const ::google::protobuf::internal::TcParseTable<
3383       3, 7, 1,
3384       75, 2>
3385       _table_;
3386 
3387 
3388   friend class ::google::protobuf::MessageLite;
3389   friend class ::google::protobuf::Arena;
3390   template <typename T>
3391   friend class ::google::protobuf::Arena::InternalHelper;
3392   using InternalArenaConstructable_ = void;
3393   using DestructorSkippable_ = void;
3394   struct Impl_ {
3395     inline explicit constexpr Impl_(
3396         ::google::protobuf::internal::ConstantInitialized) noexcept;
3397     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3398                           ::google::protobuf::Arena* arena);
3399     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3400                           ::google::protobuf::Arena* arena, const Impl_& from,
3401                           const UninterpretedOption& from_msg);
3402     ::google::protobuf::internal::HasBits<1> _has_bits_;
3403     mutable ::google::protobuf::internal::CachedSize _cached_size_;
3404     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption_NamePart > name_;
3405     ::google::protobuf::internal::ArenaStringPtr identifier_value_;
3406     ::google::protobuf::internal::ArenaStringPtr string_value_;
3407     ::google::protobuf::internal::ArenaStringPtr aggregate_value_;
3408     ::uint64_t positive_int_value_;
3409     ::int64_t negative_int_value_;
3410     double double_value_;
3411     PROTOBUF_TSAN_DECLARE_MEMBER
3412   };
3413   union { Impl_ _impl_; };
3414   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
3415 };
3416 // -------------------------------------------------------------------
3417 
3418 class PROTOBUF_EXPORT SourceCodeInfo final : public ::google::protobuf::Message
3419 /* @@protoc_insertion_point(class_definition:google.protobuf.SourceCodeInfo) */ {
3420  public:
3421   inline SourceCodeInfo() : SourceCodeInfo(nullptr) {}
3422   ~SourceCodeInfo() PROTOBUF_FINAL;
3423   template <typename = void>
3424   explicit PROTOBUF_CONSTEXPR SourceCodeInfo(
3425       ::google::protobuf::internal::ConstantInitialized);
3426 
3427   inline SourceCodeInfo(const SourceCodeInfo& from) : SourceCodeInfo(nullptr, from) {}
3428   inline SourceCodeInfo(SourceCodeInfo&& from) noexcept
3429       : SourceCodeInfo(nullptr, std::move(from)) {}
3430   inline SourceCodeInfo& operator=(const SourceCodeInfo& from) {
3431     CopyFrom(from);
3432     return *this;
3433   }
3434   inline SourceCodeInfo& operator=(SourceCodeInfo&& from) noexcept {
3435     if (this == &from) return *this;
3436     if (GetArena() == from.GetArena()
3437 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3438         && GetArena() != nullptr
3439 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
3440     ) {
3441       InternalSwap(&from);
3442     } else {
3443       CopyFrom(from);
3444     }
3445     return *this;
3446   }
3447 
3448   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3449       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3450     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3451   }
3452   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
3453       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3454     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3455   }
3456 
3457   static const ::google::protobuf::Descriptor* descriptor() {
3458     return GetDescriptor();
3459   }
3460   static const ::google::protobuf::Descriptor* GetDescriptor() {
3461     return default_instance().GetMetadata().descriptor;
3462   }
3463   static const ::google::protobuf::Reflection* GetReflection() {
3464     return default_instance().GetMetadata().reflection;
3465   }
3466   static const SourceCodeInfo& default_instance() {
3467     return *internal_default_instance();
3468   }
3469   static inline const SourceCodeInfo* internal_default_instance() {
3470     return reinterpret_cast<const SourceCodeInfo*>(
3471         &_SourceCodeInfo_default_instance_);
3472   }
3473   static constexpr int kIndexInFileMessages = 30;
3474   friend void swap(SourceCodeInfo& a, SourceCodeInfo& b) { a.Swap(&b); }
3475   inline void Swap(SourceCodeInfo* other) {
3476     if (other == this) return;
3477 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3478     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3479 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3480     if (GetArena() == other->GetArena()) {
3481 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3482       InternalSwap(other);
3483     } else {
3484       ::google::protobuf::internal::GenericSwap(this, other);
3485     }
3486   }
3487   void UnsafeArenaSwap(SourceCodeInfo* other) {
3488     if (other == this) return;
3489     ABSL_DCHECK(GetArena() == other->GetArena());
3490     InternalSwap(other);
3491   }
3492 
3493   // implements Message ----------------------------------------------
3494 
3495   SourceCodeInfo* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3496     return ::google::protobuf::Message::DefaultConstruct<SourceCodeInfo>(arena);
3497   }
3498   using ::google::protobuf::Message::CopyFrom;
3499   void CopyFrom(const SourceCodeInfo& from);
3500   using ::google::protobuf::Message::MergeFrom;
3501   void MergeFrom(const SourceCodeInfo& from) { SourceCodeInfo::MergeImpl(*this, from); }
3502 
3503   private:
3504   static void MergeImpl(
3505       ::google::protobuf::MessageLite& to_msg,
3506       const ::google::protobuf::MessageLite& from_msg);
3507 
3508   public:
3509   bool IsInitialized() const {
3510     return true;
3511   }
3512   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3513   #if defined(PROTOBUF_CUSTOM_VTABLE)
3514   private:
3515   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3516   static ::uint8_t* _InternalSerialize(
3517       const MessageLite& msg, ::uint8_t* target,
3518       ::google::protobuf::io::EpsCopyOutputStream* stream);
3519 
3520   public:
3521   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3522   ::uint8_t* _InternalSerialize(
3523       ::uint8_t* target,
3524       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3525     return _InternalSerialize(*this, target, stream);
3526   }
3527   #else   // PROTOBUF_CUSTOM_VTABLE
3528   ::size_t ByteSizeLong() const final;
3529   ::uint8_t* _InternalSerialize(
3530       ::uint8_t* target,
3531       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3532   #endif  // PROTOBUF_CUSTOM_VTABLE
3533   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3534 
3535   private:
3536   void SharedCtor(::google::protobuf::Arena* arena);
3537   void SharedDtor();
3538   void InternalSwap(SourceCodeInfo* other);
3539  private:
3540   friend class ::google::protobuf::internal::AnyMetadata;
3541   static ::absl::string_view FullMessageName() { return "google.protobuf.SourceCodeInfo"; }
3542 
3543  protected:
3544   explicit SourceCodeInfo(::google::protobuf::Arena* arena);
3545   SourceCodeInfo(::google::protobuf::Arena* arena, const SourceCodeInfo& from);
3546   SourceCodeInfo(::google::protobuf::Arena* arena, SourceCodeInfo&& from) noexcept
3547       : SourceCodeInfo(arena) {
3548     *this = ::std::move(from);
3549   }
3550   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3551   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3552 
3553  public:
3554   ::google::protobuf::Metadata GetMetadata() const;
3555   // nested types ----------------------------------------------------
3556   using Location = SourceCodeInfo_Location;
3557 
3558   // accessors -------------------------------------------------------
3559   enum : int {
3560     kLocationFieldNumber = 1,
3561   };
3562   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
3563   int location_size() const;
3564   private:
3565   int _internal_location_size() const;
3566 
3567   public:
3568   void clear_location() ;
3569   ::google::protobuf::SourceCodeInfo_Location* mutable_location(int index);
3570   ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>* mutable_location();
3571 
3572   private:
3573   const ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>& _internal_location() const;
3574   ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>* _internal_mutable_location();
3575   public:
3576   const ::google::protobuf::SourceCodeInfo_Location& location(int index) const;
3577   ::google::protobuf::SourceCodeInfo_Location* add_location();
3578   const ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>& location() const;
3579   // @@protoc_insertion_point(class_scope:google.protobuf.SourceCodeInfo)
3580  private:
3581   class _Internal;
3582   friend class ::google::protobuf::internal::TcParser;
3583   static const ::google::protobuf::internal::TcParseTable<
3584       0, 1, 1,
3585       0, 2>
3586       _table_;
3587 
3588 
3589   friend class ::google::protobuf::MessageLite;
3590   friend class ::google::protobuf::Arena;
3591   template <typename T>
3592   friend class ::google::protobuf::Arena::InternalHelper;
3593   using InternalArenaConstructable_ = void;
3594   using DestructorSkippable_ = void;
3595   struct Impl_ {
3596     inline explicit constexpr Impl_(
3597         ::google::protobuf::internal::ConstantInitialized) noexcept;
3598     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3599                           ::google::protobuf::Arena* arena);
3600     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3601                           ::google::protobuf::Arena* arena, const Impl_& from,
3602                           const SourceCodeInfo& from_msg);
3603     ::google::protobuf::RepeatedPtrField< ::google::protobuf::SourceCodeInfo_Location > location_;
3604     mutable ::google::protobuf::internal::CachedSize _cached_size_;
3605     PROTOBUF_TSAN_DECLARE_MEMBER
3606   };
3607   union { Impl_ _impl_; };
3608   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
3609 };
3610 // -------------------------------------------------------------------
3611 
3612 class PROTOBUF_EXPORT GeneratedCodeInfo final : public ::google::protobuf::Message
3613 /* @@protoc_insertion_point(class_definition:google.protobuf.GeneratedCodeInfo) */ {
3614  public:
3615   inline GeneratedCodeInfo() : GeneratedCodeInfo(nullptr) {}
3616   ~GeneratedCodeInfo() PROTOBUF_FINAL;
3617   template <typename = void>
3618   explicit PROTOBUF_CONSTEXPR GeneratedCodeInfo(
3619       ::google::protobuf::internal::ConstantInitialized);
3620 
3621   inline GeneratedCodeInfo(const GeneratedCodeInfo& from) : GeneratedCodeInfo(nullptr, from) {}
3622   inline GeneratedCodeInfo(GeneratedCodeInfo&& from) noexcept
3623       : GeneratedCodeInfo(nullptr, std::move(from)) {}
3624   inline GeneratedCodeInfo& operator=(const GeneratedCodeInfo& from) {
3625     CopyFrom(from);
3626     return *this;
3627   }
3628   inline GeneratedCodeInfo& operator=(GeneratedCodeInfo&& from) noexcept {
3629     if (this == &from) return *this;
3630     if (GetArena() == from.GetArena()
3631 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3632         && GetArena() != nullptr
3633 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
3634     ) {
3635       InternalSwap(&from);
3636     } else {
3637       CopyFrom(from);
3638     }
3639     return *this;
3640   }
3641 
3642   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3643       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3644     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3645   }
3646   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
3647       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3648     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3649   }
3650 
3651   static const ::google::protobuf::Descriptor* descriptor() {
3652     return GetDescriptor();
3653   }
3654   static const ::google::protobuf::Descriptor* GetDescriptor() {
3655     return default_instance().GetMetadata().descriptor;
3656   }
3657   static const ::google::protobuf::Reflection* GetReflection() {
3658     return default_instance().GetMetadata().reflection;
3659   }
3660   static const GeneratedCodeInfo& default_instance() {
3661     return *internal_default_instance();
3662   }
3663   static inline const GeneratedCodeInfo* internal_default_instance() {
3664     return reinterpret_cast<const GeneratedCodeInfo*>(
3665         &_GeneratedCodeInfo_default_instance_);
3666   }
3667   static constexpr int kIndexInFileMessages = 32;
3668   friend void swap(GeneratedCodeInfo& a, GeneratedCodeInfo& b) { a.Swap(&b); }
3669   inline void Swap(GeneratedCodeInfo* other) {
3670     if (other == this) return;
3671 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3672     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3673 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3674     if (GetArena() == other->GetArena()) {
3675 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3676       InternalSwap(other);
3677     } else {
3678       ::google::protobuf::internal::GenericSwap(this, other);
3679     }
3680   }
3681   void UnsafeArenaSwap(GeneratedCodeInfo* other) {
3682     if (other == this) return;
3683     ABSL_DCHECK(GetArena() == other->GetArena());
3684     InternalSwap(other);
3685   }
3686 
3687   // implements Message ----------------------------------------------
3688 
3689   GeneratedCodeInfo* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3690     return ::google::protobuf::Message::DefaultConstruct<GeneratedCodeInfo>(arena);
3691   }
3692   using ::google::protobuf::Message::CopyFrom;
3693   void CopyFrom(const GeneratedCodeInfo& from);
3694   using ::google::protobuf::Message::MergeFrom;
3695   void MergeFrom(const GeneratedCodeInfo& from) { GeneratedCodeInfo::MergeImpl(*this, from); }
3696 
3697   private:
3698   static void MergeImpl(
3699       ::google::protobuf::MessageLite& to_msg,
3700       const ::google::protobuf::MessageLite& from_msg);
3701 
3702   public:
3703   bool IsInitialized() const {
3704     return true;
3705   }
3706   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3707   #if defined(PROTOBUF_CUSTOM_VTABLE)
3708   private:
3709   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3710   static ::uint8_t* _InternalSerialize(
3711       const MessageLite& msg, ::uint8_t* target,
3712       ::google::protobuf::io::EpsCopyOutputStream* stream);
3713 
3714   public:
3715   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3716   ::uint8_t* _InternalSerialize(
3717       ::uint8_t* target,
3718       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3719     return _InternalSerialize(*this, target, stream);
3720   }
3721   #else   // PROTOBUF_CUSTOM_VTABLE
3722   ::size_t ByteSizeLong() const final;
3723   ::uint8_t* _InternalSerialize(
3724       ::uint8_t* target,
3725       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3726   #endif  // PROTOBUF_CUSTOM_VTABLE
3727   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3728 
3729   private:
3730   void SharedCtor(::google::protobuf::Arena* arena);
3731   void SharedDtor();
3732   void InternalSwap(GeneratedCodeInfo* other);
3733  private:
3734   friend class ::google::protobuf::internal::AnyMetadata;
3735   static ::absl::string_view FullMessageName() { return "google.protobuf.GeneratedCodeInfo"; }
3736 
3737  protected:
3738   explicit GeneratedCodeInfo(::google::protobuf::Arena* arena);
3739   GeneratedCodeInfo(::google::protobuf::Arena* arena, const GeneratedCodeInfo& from);
3740   GeneratedCodeInfo(::google::protobuf::Arena* arena, GeneratedCodeInfo&& from) noexcept
3741       : GeneratedCodeInfo(arena) {
3742     *this = ::std::move(from);
3743   }
3744   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3745   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3746 
3747  public:
3748   ::google::protobuf::Metadata GetMetadata() const;
3749   // nested types ----------------------------------------------------
3750   using Annotation = GeneratedCodeInfo_Annotation;
3751 
3752   // accessors -------------------------------------------------------
3753   enum : int {
3754     kAnnotationFieldNumber = 1,
3755   };
3756   // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
3757   int annotation_size() const;
3758   private:
3759   int _internal_annotation_size() const;
3760 
3761   public:
3762   void clear_annotation() ;
3763   ::google::protobuf::GeneratedCodeInfo_Annotation* mutable_annotation(int index);
3764   ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>* mutable_annotation();
3765 
3766   private:
3767   const ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>& _internal_annotation() const;
3768   ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>* _internal_mutable_annotation();
3769   public:
3770   const ::google::protobuf::GeneratedCodeInfo_Annotation& annotation(int index) const;
3771   ::google::protobuf::GeneratedCodeInfo_Annotation* add_annotation();
3772   const ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>& annotation() const;
3773   // @@protoc_insertion_point(class_scope:google.protobuf.GeneratedCodeInfo)
3774  private:
3775   class _Internal;
3776   friend class ::google::protobuf::internal::TcParser;
3777   static const ::google::protobuf::internal::TcParseTable<
3778       0, 1, 1,
3779       0, 2>
3780       _table_;
3781 
3782 
3783   friend class ::google::protobuf::MessageLite;
3784   friend class ::google::protobuf::Arena;
3785   template <typename T>
3786   friend class ::google::protobuf::Arena::InternalHelper;
3787   using InternalArenaConstructable_ = void;
3788   using DestructorSkippable_ = void;
3789   struct Impl_ {
3790     inline explicit constexpr Impl_(
3791         ::google::protobuf::internal::ConstantInitialized) noexcept;
3792     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3793                           ::google::protobuf::Arena* arena);
3794     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
3795                           ::google::protobuf::Arena* arena, const Impl_& from,
3796                           const GeneratedCodeInfo& from_msg);
3797     ::google::protobuf::RepeatedPtrField< ::google::protobuf::GeneratedCodeInfo_Annotation > annotation_;
3798     mutable ::google::protobuf::internal::CachedSize _cached_size_;
3799     PROTOBUF_TSAN_DECLARE_MEMBER
3800   };
3801   union { Impl_ _impl_; };
3802   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
3803 };
3804 // -------------------------------------------------------------------
3805 
3806 class PROTOBUF_EXPORT FeatureSetDefaults_FeatureSetEditionDefault final : public ::google::protobuf::Message
3807 /* @@protoc_insertion_point(class_definition:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault) */ {
3808  public:
3809   inline FeatureSetDefaults_FeatureSetEditionDefault() : FeatureSetDefaults_FeatureSetEditionDefault(nullptr) {}
3810   ~FeatureSetDefaults_FeatureSetEditionDefault() PROTOBUF_FINAL;
3811   template <typename = void>
3812   explicit PROTOBUF_CONSTEXPR FeatureSetDefaults_FeatureSetEditionDefault(
3813       ::google::protobuf::internal::ConstantInitialized);
3814 
3815   inline FeatureSetDefaults_FeatureSetEditionDefault(const FeatureSetDefaults_FeatureSetEditionDefault& from) : FeatureSetDefaults_FeatureSetEditionDefault(nullptr, from) {}
3816   inline FeatureSetDefaults_FeatureSetEditionDefault(FeatureSetDefaults_FeatureSetEditionDefault&& from) noexcept
3817       : FeatureSetDefaults_FeatureSetEditionDefault(nullptr, std::move(from)) {}
3818   inline FeatureSetDefaults_FeatureSetEditionDefault& operator=(const FeatureSetDefaults_FeatureSetEditionDefault& from) {
3819     CopyFrom(from);
3820     return *this;
3821   }
3822   inline FeatureSetDefaults_FeatureSetEditionDefault& operator=(FeatureSetDefaults_FeatureSetEditionDefault&& from) noexcept {
3823     if (this == &from) return *this;
3824     if (GetArena() == from.GetArena()
3825 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
3826         && GetArena() != nullptr
3827 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
3828     ) {
3829       InternalSwap(&from);
3830     } else {
3831       CopyFrom(from);
3832     }
3833     return *this;
3834   }
3835 
3836   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
3837       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3838     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
3839   }
3840   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
3841       ABSL_ATTRIBUTE_LIFETIME_BOUND {
3842     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
3843   }
3844 
3845   static const ::google::protobuf::Descriptor* descriptor() {
3846     return GetDescriptor();
3847   }
3848   static const ::google::protobuf::Descriptor* GetDescriptor() {
3849     return default_instance().GetMetadata().descriptor;
3850   }
3851   static const ::google::protobuf::Reflection* GetReflection() {
3852     return default_instance().GetMetadata().reflection;
3853   }
3854   static const FeatureSetDefaults_FeatureSetEditionDefault& default_instance() {
3855     return *internal_default_instance();
3856   }
3857   static inline const FeatureSetDefaults_FeatureSetEditionDefault* internal_default_instance() {
3858     return reinterpret_cast<const FeatureSetDefaults_FeatureSetEditionDefault*>(
3859         &_FeatureSetDefaults_FeatureSetEditionDefault_default_instance_);
3860   }
3861   static constexpr int kIndexInFileMessages = 27;
3862   friend void swap(FeatureSetDefaults_FeatureSetEditionDefault& a, FeatureSetDefaults_FeatureSetEditionDefault& b) { a.Swap(&b); }
3863   inline void Swap(FeatureSetDefaults_FeatureSetEditionDefault* other) {
3864     if (other == this) return;
3865 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
3866     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
3867 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
3868     if (GetArena() == other->GetArena()) {
3869 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
3870       InternalSwap(other);
3871     } else {
3872       ::google::protobuf::internal::GenericSwap(this, other);
3873     }
3874   }
3875   void UnsafeArenaSwap(FeatureSetDefaults_FeatureSetEditionDefault* other) {
3876     if (other == this) return;
3877     ABSL_DCHECK(GetArena() == other->GetArena());
3878     InternalSwap(other);
3879   }
3880 
3881   // implements Message ----------------------------------------------
3882 
3883   FeatureSetDefaults_FeatureSetEditionDefault* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
3884     return ::google::protobuf::Message::DefaultConstruct<FeatureSetDefaults_FeatureSetEditionDefault>(arena);
3885   }
3886   using ::google::protobuf::Message::CopyFrom;
3887   void CopyFrom(const FeatureSetDefaults_FeatureSetEditionDefault& from);
3888   using ::google::protobuf::Message::MergeFrom;
3889   void MergeFrom(const FeatureSetDefaults_FeatureSetEditionDefault& from) { FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl(*this, from); }
3890 
3891   private:
3892   static void MergeImpl(
3893       ::google::protobuf::MessageLite& to_msg,
3894       const ::google::protobuf::MessageLite& from_msg);
3895 
3896   public:
3897   bool IsInitialized() const {
3898     return IsInitializedImpl(*this);
3899   }
3900 
3901   private:
3902   static bool IsInitializedImpl(const MessageLite& msg);
3903 
3904   public:
3905   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
3906   #if defined(PROTOBUF_CUSTOM_VTABLE)
3907   private:
3908   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
3909   static ::uint8_t* _InternalSerialize(
3910       const MessageLite& msg, ::uint8_t* target,
3911       ::google::protobuf::io::EpsCopyOutputStream* stream);
3912 
3913   public:
3914   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
3915   ::uint8_t* _InternalSerialize(
3916       ::uint8_t* target,
3917       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
3918     return _InternalSerialize(*this, target, stream);
3919   }
3920   #else   // PROTOBUF_CUSTOM_VTABLE
3921   ::size_t ByteSizeLong() const final;
3922   ::uint8_t* _InternalSerialize(
3923       ::uint8_t* target,
3924       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
3925   #endif  // PROTOBUF_CUSTOM_VTABLE
3926   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
3927 
3928   private:
3929   void SharedCtor(::google::protobuf::Arena* arena);
3930   void SharedDtor();
3931   void InternalSwap(FeatureSetDefaults_FeatureSetEditionDefault* other);
3932  private:
3933   friend class ::google::protobuf::internal::AnyMetadata;
3934   static ::absl::string_view FullMessageName() { return "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"; }
3935 
3936  protected:
3937   explicit FeatureSetDefaults_FeatureSetEditionDefault(::google::protobuf::Arena* arena);
3938   FeatureSetDefaults_FeatureSetEditionDefault(::google::protobuf::Arena* arena, const FeatureSetDefaults_FeatureSetEditionDefault& from);
3939   FeatureSetDefaults_FeatureSetEditionDefault(::google::protobuf::Arena* arena, FeatureSetDefaults_FeatureSetEditionDefault&& from) noexcept
3940       : FeatureSetDefaults_FeatureSetEditionDefault(arena) {
3941     *this = ::std::move(from);
3942   }
3943   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
3944   static const ::google::protobuf::Message::ClassDataFull _class_data_;
3945 
3946  public:
3947   ::google::protobuf::Metadata GetMetadata() const;
3948   // nested types ----------------------------------------------------
3949 
3950   // accessors -------------------------------------------------------
3951   enum : int {
3952     kOverridableFeaturesFieldNumber = 4,
3953     kFixedFeaturesFieldNumber = 5,
3954     kEditionFieldNumber = 3,
3955   };
3956   // optional .google.protobuf.FeatureSet overridable_features = 4;
3957   bool has_overridable_features() const;
3958   void clear_overridable_features() ;
3959   const ::google::protobuf::FeatureSet& overridable_features() const;
3960   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_overridable_features();
3961   ::google::protobuf::FeatureSet* mutable_overridable_features();
3962   void set_allocated_overridable_features(::google::protobuf::FeatureSet* value);
3963   void unsafe_arena_set_allocated_overridable_features(::google::protobuf::FeatureSet* value);
3964   ::google::protobuf::FeatureSet* unsafe_arena_release_overridable_features();
3965 
3966   private:
3967   const ::google::protobuf::FeatureSet& _internal_overridable_features() const;
3968   ::google::protobuf::FeatureSet* _internal_mutable_overridable_features();
3969 
3970   public:
3971   // optional .google.protobuf.FeatureSet fixed_features = 5;
3972   bool has_fixed_features() const;
3973   void clear_fixed_features() ;
3974   const ::google::protobuf::FeatureSet& fixed_features() const;
3975   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_fixed_features();
3976   ::google::protobuf::FeatureSet* mutable_fixed_features();
3977   void set_allocated_fixed_features(::google::protobuf::FeatureSet* value);
3978   void unsafe_arena_set_allocated_fixed_features(::google::protobuf::FeatureSet* value);
3979   ::google::protobuf::FeatureSet* unsafe_arena_release_fixed_features();
3980 
3981   private:
3982   const ::google::protobuf::FeatureSet& _internal_fixed_features() const;
3983   ::google::protobuf::FeatureSet* _internal_mutable_fixed_features();
3984 
3985   public:
3986   // optional .google.protobuf.Edition edition = 3;
3987   bool has_edition() const;
3988   void clear_edition() ;
3989   ::google::protobuf::Edition edition() const;
3990   void set_edition(::google::protobuf::Edition value);
3991 
3992   private:
3993   ::google::protobuf::Edition _internal_edition() const;
3994   void _internal_set_edition(::google::protobuf::Edition value);
3995 
3996   public:
3997   // @@protoc_insertion_point(class_scope:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
3998  private:
3999   class _Internal;
4000   friend class ::google::protobuf::internal::TcParser;
4001   static const ::google::protobuf::internal::TcParseTable<
4002       2, 3, 3,
4003       0, 2>
4004       _table_;
4005 
4006 
4007   friend class ::google::protobuf::MessageLite;
4008   friend class ::google::protobuf::Arena;
4009   template <typename T>
4010   friend class ::google::protobuf::Arena::InternalHelper;
4011   using InternalArenaConstructable_ = void;
4012   using DestructorSkippable_ = void;
4013   struct Impl_ {
4014     inline explicit constexpr Impl_(
4015         ::google::protobuf::internal::ConstantInitialized) noexcept;
4016     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4017                           ::google::protobuf::Arena* arena);
4018     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4019                           ::google::protobuf::Arena* arena, const Impl_& from,
4020                           const FeatureSetDefaults_FeatureSetEditionDefault& from_msg);
4021     ::google::protobuf::internal::HasBits<1> _has_bits_;
4022     mutable ::google::protobuf::internal::CachedSize _cached_size_;
4023     ::google::protobuf::FeatureSet* overridable_features_;
4024     ::google::protobuf::FeatureSet* fixed_features_;
4025     int edition_;
4026     PROTOBUF_TSAN_DECLARE_MEMBER
4027   };
4028   union { Impl_ _impl_; };
4029   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
4030 };
4031 // -------------------------------------------------------------------
4032 
4033 class PROTOBUF_EXPORT ServiceOptions final : public ::google::protobuf::Message
4034 /* @@protoc_insertion_point(class_definition:google.protobuf.ServiceOptions) */ {
4035  public:
4036   inline ServiceOptions() : ServiceOptions(nullptr) {}
4037   ~ServiceOptions() PROTOBUF_FINAL;
4038   template <typename = void>
4039   explicit PROTOBUF_CONSTEXPR ServiceOptions(
4040       ::google::protobuf::internal::ConstantInitialized);
4041 
4042   inline ServiceOptions(const ServiceOptions& from) : ServiceOptions(nullptr, from) {}
4043   inline ServiceOptions(ServiceOptions&& from) noexcept
4044       : ServiceOptions(nullptr, std::move(from)) {}
4045   inline ServiceOptions& operator=(const ServiceOptions& from) {
4046     CopyFrom(from);
4047     return *this;
4048   }
4049   inline ServiceOptions& operator=(ServiceOptions&& from) noexcept {
4050     if (this == &from) return *this;
4051     if (GetArena() == from.GetArena()
4052 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4053         && GetArena() != nullptr
4054 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
4055     ) {
4056       InternalSwap(&from);
4057     } else {
4058       CopyFrom(from);
4059     }
4060     return *this;
4061   }
4062 
4063   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4064       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4065     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4066   }
4067   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
4068       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4069     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4070   }
4071 
4072   static const ::google::protobuf::Descriptor* descriptor() {
4073     return GetDescriptor();
4074   }
4075   static const ::google::protobuf::Descriptor* GetDescriptor() {
4076     return default_instance().GetMetadata().descriptor;
4077   }
4078   static const ::google::protobuf::Reflection* GetReflection() {
4079     return default_instance().GetMetadata().reflection;
4080   }
4081   static const ServiceOptions& default_instance() {
4082     return *internal_default_instance();
4083   }
4084   static inline const ServiceOptions* internal_default_instance() {
4085     return reinterpret_cast<const ServiceOptions*>(
4086         &_ServiceOptions_default_instance_);
4087   }
4088   static constexpr int kIndexInFileMessages = 22;
4089   friend void swap(ServiceOptions& a, ServiceOptions& b) { a.Swap(&b); }
4090   inline void Swap(ServiceOptions* other) {
4091     if (other == this) return;
4092 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4093     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
4094 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
4095     if (GetArena() == other->GetArena()) {
4096 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
4097       InternalSwap(other);
4098     } else {
4099       ::google::protobuf::internal::GenericSwap(this, other);
4100     }
4101   }
4102   void UnsafeArenaSwap(ServiceOptions* other) {
4103     if (other == this) return;
4104     ABSL_DCHECK(GetArena() == other->GetArena());
4105     InternalSwap(other);
4106   }
4107 
4108   // implements Message ----------------------------------------------
4109 
4110   ServiceOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
4111     return ::google::protobuf::Message::DefaultConstruct<ServiceOptions>(arena);
4112   }
4113   using ::google::protobuf::Message::CopyFrom;
4114   void CopyFrom(const ServiceOptions& from);
4115   using ::google::protobuf::Message::MergeFrom;
4116   void MergeFrom(const ServiceOptions& from) { ServiceOptions::MergeImpl(*this, from); }
4117 
4118   private:
4119   static void MergeImpl(
4120       ::google::protobuf::MessageLite& to_msg,
4121       const ::google::protobuf::MessageLite& from_msg);
4122 
4123   public:
4124   bool IsInitialized() const {
4125     return IsInitializedImpl(*this);
4126   }
4127 
4128   private:
4129   static bool IsInitializedImpl(const MessageLite& msg);
4130 
4131   public:
4132   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4133   #if defined(PROTOBUF_CUSTOM_VTABLE)
4134   private:
4135   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4136   static ::uint8_t* _InternalSerialize(
4137       const MessageLite& msg, ::uint8_t* target,
4138       ::google::protobuf::io::EpsCopyOutputStream* stream);
4139 
4140   public:
4141   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4142   ::uint8_t* _InternalSerialize(
4143       ::uint8_t* target,
4144       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
4145     return _InternalSerialize(*this, target, stream);
4146   }
4147   #else   // PROTOBUF_CUSTOM_VTABLE
4148   ::size_t ByteSizeLong() const final;
4149   ::uint8_t* _InternalSerialize(
4150       ::uint8_t* target,
4151       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
4152   #endif  // PROTOBUF_CUSTOM_VTABLE
4153   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4154 
4155   private:
4156   void SharedCtor(::google::protobuf::Arena* arena);
4157   void SharedDtor();
4158   void InternalSwap(ServiceOptions* other);
4159  private:
4160   friend class ::google::protobuf::internal::AnyMetadata;
4161   static ::absl::string_view FullMessageName() { return "google.protobuf.ServiceOptions"; }
4162 
4163  protected:
4164   explicit ServiceOptions(::google::protobuf::Arena* arena);
4165   ServiceOptions(::google::protobuf::Arena* arena, const ServiceOptions& from);
4166   ServiceOptions(::google::protobuf::Arena* arena, ServiceOptions&& from) noexcept
4167       : ServiceOptions(arena) {
4168     *this = ::std::move(from);
4169   }
4170   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
4171   static const ::google::protobuf::Message::ClassDataFull _class_data_;
4172 
4173  public:
4174   ::google::protobuf::Metadata GetMetadata() const;
4175   // nested types ----------------------------------------------------
4176 
4177   // accessors -------------------------------------------------------
4178   enum : int {
4179     kUninterpretedOptionFieldNumber = 999,
4180     kFeaturesFieldNumber = 34,
4181     kDeprecatedFieldNumber = 33,
4182   };
4183   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4184   int uninterpreted_option_size() const;
4185   private:
4186   int _internal_uninterpreted_option_size() const;
4187 
4188   public:
4189   void clear_uninterpreted_option() ;
4190   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
4191   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
4192 
4193   private:
4194   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
4195   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
4196   public:
4197   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
4198   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
4199   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
4200   // optional .google.protobuf.FeatureSet features = 34;
4201   bool has_features() const;
4202   void clear_features() ;
4203   const ::google::protobuf::FeatureSet& features() const;
4204   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
4205   ::google::protobuf::FeatureSet* mutable_features();
4206   void set_allocated_features(::google::protobuf::FeatureSet* value);
4207   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
4208   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
4209 
4210   private:
4211   const ::google::protobuf::FeatureSet& _internal_features() const;
4212   ::google::protobuf::FeatureSet* _internal_mutable_features();
4213 
4214   public:
4215   // optional bool deprecated = 33 [default = false];
4216   bool has_deprecated() const;
4217   void clear_deprecated() ;
4218   bool deprecated() const;
4219   void set_deprecated(bool value);
4220 
4221   private:
4222   bool _internal_deprecated() const;
4223   void _internal_set_deprecated(bool value);
4224 
4225   public:
4226   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4227             bool _is_packed,
4228             typename = typename _proto_TypeTraits::Singular>
4229   inline bool HasExtension(
4230       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4231                                        _field_type, _is_packed>& id) const {
4232     return _impl_._extensions_.Has(id.number());
4233   }
4234 
4235   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4236             bool _is_packed>
4237   inline void ClearExtension(
4238       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4239                                        _field_type, _is_packed>& id) {
4240     _impl_._extensions_.ClearExtension(id.number());
4241   }
4242 
4243   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4244             bool _is_packed,
4245             typename = typename _proto_TypeTraits::Repeated>
4246   inline int ExtensionSize(
4247       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4248                                        _field_type, _is_packed>& id) const {
4249     return _impl_._extensions_.ExtensionSize(id.number());
4250   }
4251 
4252   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4253             bool _is_packed,
4254             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
4255   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
4256       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4257                                        _field_type, _is_packed>& id) const {
4258     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
4259   }
4260 
4261   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4262             bool _is_packed,
4263             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
4264   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
4265       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4266                                        _field_type, _is_packed>& id) const
4267       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4268     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
4269   }
4270 
4271   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4272             bool _is_packed>
4273   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
4274       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4275                                        _field_type, _is_packed>& id)
4276       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4277     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
4278   }
4279 
4280   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4281             bool _is_packed>
4282   inline void SetExtension(
4283       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4284                                        _field_type, _is_packed>& id,
4285       typename _proto_TypeTraits::Singular::ConstType value) {
4286     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
4287   }
4288 
4289   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4290             bool _is_packed>
4291   inline void SetAllocatedExtension(
4292       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4293                                        _field_type, _is_packed>& id,
4294       typename _proto_TypeTraits::Singular::MutableType value) {
4295     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
4296                                     &_impl_._extensions_);
4297   }
4298   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4299             bool _is_packed>
4300   inline void UnsafeArenaSetAllocatedExtension(
4301       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4302                                        _field_type, _is_packed>& id,
4303       typename _proto_TypeTraits::Singular::MutableType value) {
4304     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
4305                                                value, &_impl_._extensions_);
4306   }
4307   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4308             bool _is_packed>
4309   PROTOBUF_NODISCARD inline
4310       typename _proto_TypeTraits::Singular::MutableType
4311       ReleaseExtension(
4312           const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4313                                            _field_type, _is_packed>& id) {
4314     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
4315   }
4316   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4317             bool _is_packed>
4318   inline typename _proto_TypeTraits::Singular::MutableType
4319   UnsafeArenaReleaseExtension(
4320       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4321                                        _field_type, _is_packed>& id) {
4322     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
4323                                                  &_impl_._extensions_);
4324   }
4325 
4326   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4327             bool _is_packed,
4328             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
4329   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
4330       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4331                                        _field_type, _is_packed>& id,
4332       int index) const {
4333     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
4334   }
4335 
4336   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4337             bool _is_packed,
4338             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
4339   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
4340       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4341                                        _field_type, _is_packed>& id,
4342       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4343     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
4344   }
4345 
4346   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4347             bool _is_packed>
4348   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
4349       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4350                                        _field_type, _is_packed>& id,
4351       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
4352     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
4353   }
4354 
4355   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4356             bool _is_packed>
4357   inline void SetExtension(
4358       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4359                                        _field_type, _is_packed>& id,
4360       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
4361     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
4362   }
4363 
4364   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4365             bool _is_packed>
4366   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
4367       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4368                                        _field_type, _is_packed>& id)
4369       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4370     typename _proto_TypeTraits::Repeated::MutableType to_add =
4371         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
4372     return to_add;
4373   }
4374 
4375   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4376             bool _is_packed>
4377   inline void AddExtension(
4378       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4379                                        _field_type, _is_packed>& id,
4380       typename _proto_TypeTraits::Repeated::ConstType value) {
4381     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
4382                            &_impl_._extensions_);
4383   }
4384 
4385   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4386             bool _is_packed>
4387   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
4388   GetRepeatedExtension(
4389       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4390                                        _field_type, _is_packed>& id) const
4391       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4392     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
4393   }
4394 
4395   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4396             bool _is_packed>
4397   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
4398   MutableRepeatedExtension(
4399       const ::google::protobuf::internal::ExtensionIdentifier<ServiceOptions, _proto_TypeTraits,
4400                                        _field_type, _is_packed>& id)
4401       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4402     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
4403                                               _is_packed, &_impl_._extensions_);
4404   }
4405   // @@protoc_insertion_point(class_scope:google.protobuf.ServiceOptions)
4406  private:
4407   class _Internal;
4408   friend class ::google::protobuf::internal::TcParser;
4409   static const ::google::protobuf::internal::TcParseTable<
4410       2, 3, 2,
4411       0, 12>
4412       _table_;
4413 
4414 
4415   friend class ::google::protobuf::MessageLite;
4416   friend class ::google::protobuf::Arena;
4417   template <typename T>
4418   friend class ::google::protobuf::Arena::InternalHelper;
4419   using InternalArenaConstructable_ = void;
4420   using DestructorSkippable_ = void;
4421   struct Impl_ {
4422     inline explicit constexpr Impl_(
4423         ::google::protobuf::internal::ConstantInitialized) noexcept;
4424     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4425                           ::google::protobuf::Arena* arena);
4426     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4427                           ::google::protobuf::Arena* arena, const Impl_& from,
4428                           const ServiceOptions& from_msg);
4429     ::google::protobuf::internal::ExtensionSet _extensions_;
4430     ::google::protobuf::internal::HasBits<1> _has_bits_;
4431     mutable ::google::protobuf::internal::CachedSize _cached_size_;
4432     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
4433     ::google::protobuf::FeatureSet* features_;
4434     bool deprecated_;
4435     PROTOBUF_TSAN_DECLARE_MEMBER
4436   };
4437   union { Impl_ _impl_; };
4438   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
4439 };
4440 // -------------------------------------------------------------------
4441 
4442 class PROTOBUF_EXPORT OneofOptions final : public ::google::protobuf::Message
4443 /* @@protoc_insertion_point(class_definition:google.protobuf.OneofOptions) */ {
4444  public:
4445   inline OneofOptions() : OneofOptions(nullptr) {}
4446   ~OneofOptions() PROTOBUF_FINAL;
4447   template <typename = void>
4448   explicit PROTOBUF_CONSTEXPR OneofOptions(
4449       ::google::protobuf::internal::ConstantInitialized);
4450 
4451   inline OneofOptions(const OneofOptions& from) : OneofOptions(nullptr, from) {}
4452   inline OneofOptions(OneofOptions&& from) noexcept
4453       : OneofOptions(nullptr, std::move(from)) {}
4454   inline OneofOptions& operator=(const OneofOptions& from) {
4455     CopyFrom(from);
4456     return *this;
4457   }
4458   inline OneofOptions& operator=(OneofOptions&& from) noexcept {
4459     if (this == &from) return *this;
4460     if (GetArena() == from.GetArena()
4461 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4462         && GetArena() != nullptr
4463 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
4464     ) {
4465       InternalSwap(&from);
4466     } else {
4467       CopyFrom(from);
4468     }
4469     return *this;
4470   }
4471 
4472   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4473       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4474     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4475   }
4476   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
4477       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4478     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4479   }
4480 
4481   static const ::google::protobuf::Descriptor* descriptor() {
4482     return GetDescriptor();
4483   }
4484   static const ::google::protobuf::Descriptor* GetDescriptor() {
4485     return default_instance().GetMetadata().descriptor;
4486   }
4487   static const ::google::protobuf::Reflection* GetReflection() {
4488     return default_instance().GetMetadata().reflection;
4489   }
4490   static const OneofOptions& default_instance() {
4491     return *internal_default_instance();
4492   }
4493   static inline const OneofOptions* internal_default_instance() {
4494     return reinterpret_cast<const OneofOptions*>(
4495         &_OneofOptions_default_instance_);
4496   }
4497   static constexpr int kIndexInFileMessages = 19;
4498   friend void swap(OneofOptions& a, OneofOptions& b) { a.Swap(&b); }
4499   inline void Swap(OneofOptions* other) {
4500     if (other == this) return;
4501 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4502     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
4503 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
4504     if (GetArena() == other->GetArena()) {
4505 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
4506       InternalSwap(other);
4507     } else {
4508       ::google::protobuf::internal::GenericSwap(this, other);
4509     }
4510   }
4511   void UnsafeArenaSwap(OneofOptions* other) {
4512     if (other == this) return;
4513     ABSL_DCHECK(GetArena() == other->GetArena());
4514     InternalSwap(other);
4515   }
4516 
4517   // implements Message ----------------------------------------------
4518 
4519   OneofOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
4520     return ::google::protobuf::Message::DefaultConstruct<OneofOptions>(arena);
4521   }
4522   using ::google::protobuf::Message::CopyFrom;
4523   void CopyFrom(const OneofOptions& from);
4524   using ::google::protobuf::Message::MergeFrom;
4525   void MergeFrom(const OneofOptions& from) { OneofOptions::MergeImpl(*this, from); }
4526 
4527   private:
4528   static void MergeImpl(
4529       ::google::protobuf::MessageLite& to_msg,
4530       const ::google::protobuf::MessageLite& from_msg);
4531 
4532   public:
4533   bool IsInitialized() const {
4534     return IsInitializedImpl(*this);
4535   }
4536 
4537   private:
4538   static bool IsInitializedImpl(const MessageLite& msg);
4539 
4540   public:
4541   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4542   #if defined(PROTOBUF_CUSTOM_VTABLE)
4543   private:
4544   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4545   static ::uint8_t* _InternalSerialize(
4546       const MessageLite& msg, ::uint8_t* target,
4547       ::google::protobuf::io::EpsCopyOutputStream* stream);
4548 
4549   public:
4550   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4551   ::uint8_t* _InternalSerialize(
4552       ::uint8_t* target,
4553       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
4554     return _InternalSerialize(*this, target, stream);
4555   }
4556   #else   // PROTOBUF_CUSTOM_VTABLE
4557   ::size_t ByteSizeLong() const final;
4558   ::uint8_t* _InternalSerialize(
4559       ::uint8_t* target,
4560       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
4561   #endif  // PROTOBUF_CUSTOM_VTABLE
4562   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4563 
4564   private:
4565   void SharedCtor(::google::protobuf::Arena* arena);
4566   void SharedDtor();
4567   void InternalSwap(OneofOptions* other);
4568  private:
4569   friend class ::google::protobuf::internal::AnyMetadata;
4570   static ::absl::string_view FullMessageName() { return "google.protobuf.OneofOptions"; }
4571 
4572  protected:
4573   explicit OneofOptions(::google::protobuf::Arena* arena);
4574   OneofOptions(::google::protobuf::Arena* arena, const OneofOptions& from);
4575   OneofOptions(::google::protobuf::Arena* arena, OneofOptions&& from) noexcept
4576       : OneofOptions(arena) {
4577     *this = ::std::move(from);
4578   }
4579   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
4580   static const ::google::protobuf::Message::ClassDataFull _class_data_;
4581 
4582  public:
4583   ::google::protobuf::Metadata GetMetadata() const;
4584   // nested types ----------------------------------------------------
4585 
4586   // accessors -------------------------------------------------------
4587   enum : int {
4588     kUninterpretedOptionFieldNumber = 999,
4589     kFeaturesFieldNumber = 1,
4590   };
4591   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
4592   int uninterpreted_option_size() const;
4593   private:
4594   int _internal_uninterpreted_option_size() const;
4595 
4596   public:
4597   void clear_uninterpreted_option() ;
4598   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
4599   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
4600 
4601   private:
4602   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
4603   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
4604   public:
4605   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
4606   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
4607   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
4608   // optional .google.protobuf.FeatureSet features = 1;
4609   bool has_features() const;
4610   void clear_features() ;
4611   const ::google::protobuf::FeatureSet& features() const;
4612   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
4613   ::google::protobuf::FeatureSet* mutable_features();
4614   void set_allocated_features(::google::protobuf::FeatureSet* value);
4615   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
4616   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
4617 
4618   private:
4619   const ::google::protobuf::FeatureSet& _internal_features() const;
4620   ::google::protobuf::FeatureSet* _internal_mutable_features();
4621 
4622   public:
4623   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4624             bool _is_packed,
4625             typename = typename _proto_TypeTraits::Singular>
4626   inline bool HasExtension(
4627       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4628                                        _field_type, _is_packed>& id) const {
4629     return _impl_._extensions_.Has(id.number());
4630   }
4631 
4632   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4633             bool _is_packed>
4634   inline void ClearExtension(
4635       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4636                                        _field_type, _is_packed>& id) {
4637     _impl_._extensions_.ClearExtension(id.number());
4638   }
4639 
4640   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4641             bool _is_packed,
4642             typename = typename _proto_TypeTraits::Repeated>
4643   inline int ExtensionSize(
4644       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4645                                        _field_type, _is_packed>& id) const {
4646     return _impl_._extensions_.ExtensionSize(id.number());
4647   }
4648 
4649   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4650             bool _is_packed,
4651             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
4652   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
4653       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4654                                        _field_type, _is_packed>& id) const {
4655     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
4656   }
4657 
4658   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4659             bool _is_packed,
4660             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
4661   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
4662       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4663                                        _field_type, _is_packed>& id) const
4664       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4665     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
4666   }
4667 
4668   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4669             bool _is_packed>
4670   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
4671       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4672                                        _field_type, _is_packed>& id)
4673       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4674     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
4675   }
4676 
4677   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4678             bool _is_packed>
4679   inline void SetExtension(
4680       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4681                                        _field_type, _is_packed>& id,
4682       typename _proto_TypeTraits::Singular::ConstType value) {
4683     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
4684   }
4685 
4686   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4687             bool _is_packed>
4688   inline void SetAllocatedExtension(
4689       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4690                                        _field_type, _is_packed>& id,
4691       typename _proto_TypeTraits::Singular::MutableType value) {
4692     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
4693                                     &_impl_._extensions_);
4694   }
4695   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4696             bool _is_packed>
4697   inline void UnsafeArenaSetAllocatedExtension(
4698       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4699                                        _field_type, _is_packed>& id,
4700       typename _proto_TypeTraits::Singular::MutableType value) {
4701     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
4702                                                value, &_impl_._extensions_);
4703   }
4704   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4705             bool _is_packed>
4706   PROTOBUF_NODISCARD inline
4707       typename _proto_TypeTraits::Singular::MutableType
4708       ReleaseExtension(
4709           const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4710                                            _field_type, _is_packed>& id) {
4711     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
4712   }
4713   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4714             bool _is_packed>
4715   inline typename _proto_TypeTraits::Singular::MutableType
4716   UnsafeArenaReleaseExtension(
4717       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4718                                        _field_type, _is_packed>& id) {
4719     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
4720                                                  &_impl_._extensions_);
4721   }
4722 
4723   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4724             bool _is_packed,
4725             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
4726   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
4727       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4728                                        _field_type, _is_packed>& id,
4729       int index) const {
4730     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
4731   }
4732 
4733   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4734             bool _is_packed,
4735             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
4736   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
4737       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4738                                        _field_type, _is_packed>& id,
4739       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
4740     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
4741   }
4742 
4743   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4744             bool _is_packed>
4745   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
4746       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4747                                        _field_type, _is_packed>& id,
4748       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
4749     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
4750   }
4751 
4752   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4753             bool _is_packed>
4754   inline void SetExtension(
4755       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4756                                        _field_type, _is_packed>& id,
4757       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
4758     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
4759   }
4760 
4761   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4762             bool _is_packed>
4763   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
4764       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4765                                        _field_type, _is_packed>& id)
4766       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4767     typename _proto_TypeTraits::Repeated::MutableType to_add =
4768         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
4769     return to_add;
4770   }
4771 
4772   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4773             bool _is_packed>
4774   inline void AddExtension(
4775       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4776                                        _field_type, _is_packed>& id,
4777       typename _proto_TypeTraits::Repeated::ConstType value) {
4778     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
4779                            &_impl_._extensions_);
4780   }
4781 
4782   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4783             bool _is_packed>
4784   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
4785   GetRepeatedExtension(
4786       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4787                                        _field_type, _is_packed>& id) const
4788       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4789     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
4790   }
4791 
4792   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
4793             bool _is_packed>
4794   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
4795   MutableRepeatedExtension(
4796       const ::google::protobuf::internal::ExtensionIdentifier<OneofOptions, _proto_TypeTraits,
4797                                        _field_type, _is_packed>& id)
4798       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4799     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
4800                                               _is_packed, &_impl_._extensions_);
4801   }
4802   // @@protoc_insertion_point(class_scope:google.protobuf.OneofOptions)
4803  private:
4804   class _Internal;
4805   friend class ::google::protobuf::internal::TcParser;
4806   static const ::google::protobuf::internal::TcParseTable<
4807       2, 2, 2,
4808       0, 7>
4809       _table_;
4810 
4811 
4812   friend class ::google::protobuf::MessageLite;
4813   friend class ::google::protobuf::Arena;
4814   template <typename T>
4815   friend class ::google::protobuf::Arena::InternalHelper;
4816   using InternalArenaConstructable_ = void;
4817   using DestructorSkippable_ = void;
4818   struct Impl_ {
4819     inline explicit constexpr Impl_(
4820         ::google::protobuf::internal::ConstantInitialized) noexcept;
4821     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4822                           ::google::protobuf::Arena* arena);
4823     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
4824                           ::google::protobuf::Arena* arena, const Impl_& from,
4825                           const OneofOptions& from_msg);
4826     ::google::protobuf::internal::ExtensionSet _extensions_;
4827     ::google::protobuf::internal::HasBits<1> _has_bits_;
4828     mutable ::google::protobuf::internal::CachedSize _cached_size_;
4829     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
4830     ::google::protobuf::FeatureSet* features_;
4831     PROTOBUF_TSAN_DECLARE_MEMBER
4832   };
4833   union { Impl_ _impl_; };
4834   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
4835 };
4836 // -------------------------------------------------------------------
4837 
4838 class PROTOBUF_EXPORT MethodOptions final : public ::google::protobuf::Message
4839 /* @@protoc_insertion_point(class_definition:google.protobuf.MethodOptions) */ {
4840  public:
4841   inline MethodOptions() : MethodOptions(nullptr) {}
4842   ~MethodOptions() PROTOBUF_FINAL;
4843   template <typename = void>
4844   explicit PROTOBUF_CONSTEXPR MethodOptions(
4845       ::google::protobuf::internal::ConstantInitialized);
4846 
4847   inline MethodOptions(const MethodOptions& from) : MethodOptions(nullptr, from) {}
4848   inline MethodOptions(MethodOptions&& from) noexcept
4849       : MethodOptions(nullptr, std::move(from)) {}
4850   inline MethodOptions& operator=(const MethodOptions& from) {
4851     CopyFrom(from);
4852     return *this;
4853   }
4854   inline MethodOptions& operator=(MethodOptions&& from) noexcept {
4855     if (this == &from) return *this;
4856     if (GetArena() == from.GetArena()
4857 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
4858         && GetArena() != nullptr
4859 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
4860     ) {
4861       InternalSwap(&from);
4862     } else {
4863       CopyFrom(from);
4864     }
4865     return *this;
4866   }
4867 
4868   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
4869       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4870     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
4871   }
4872   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
4873       ABSL_ATTRIBUTE_LIFETIME_BOUND {
4874     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
4875   }
4876 
4877   static const ::google::protobuf::Descriptor* descriptor() {
4878     return GetDescriptor();
4879   }
4880   static const ::google::protobuf::Descriptor* GetDescriptor() {
4881     return default_instance().GetMetadata().descriptor;
4882   }
4883   static const ::google::protobuf::Reflection* GetReflection() {
4884     return default_instance().GetMetadata().reflection;
4885   }
4886   static const MethodOptions& default_instance() {
4887     return *internal_default_instance();
4888   }
4889   static inline const MethodOptions* internal_default_instance() {
4890     return reinterpret_cast<const MethodOptions*>(
4891         &_MethodOptions_default_instance_);
4892   }
4893   static constexpr int kIndexInFileMessages = 23;
4894   friend void swap(MethodOptions& a, MethodOptions& b) { a.Swap(&b); }
4895   inline void Swap(MethodOptions* other) {
4896     if (other == this) return;
4897 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
4898     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
4899 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
4900     if (GetArena() == other->GetArena()) {
4901 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
4902       InternalSwap(other);
4903     } else {
4904       ::google::protobuf::internal::GenericSwap(this, other);
4905     }
4906   }
4907   void UnsafeArenaSwap(MethodOptions* other) {
4908     if (other == this) return;
4909     ABSL_DCHECK(GetArena() == other->GetArena());
4910     InternalSwap(other);
4911   }
4912 
4913   // implements Message ----------------------------------------------
4914 
4915   MethodOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
4916     return ::google::protobuf::Message::DefaultConstruct<MethodOptions>(arena);
4917   }
4918   using ::google::protobuf::Message::CopyFrom;
4919   void CopyFrom(const MethodOptions& from);
4920   using ::google::protobuf::Message::MergeFrom;
4921   void MergeFrom(const MethodOptions& from) { MethodOptions::MergeImpl(*this, from); }
4922 
4923   private:
4924   static void MergeImpl(
4925       ::google::protobuf::MessageLite& to_msg,
4926       const ::google::protobuf::MessageLite& from_msg);
4927 
4928   public:
4929   bool IsInitialized() const {
4930     return IsInitializedImpl(*this);
4931   }
4932 
4933   private:
4934   static bool IsInitializedImpl(const MessageLite& msg);
4935 
4936   public:
4937   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
4938   #if defined(PROTOBUF_CUSTOM_VTABLE)
4939   private:
4940   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
4941   static ::uint8_t* _InternalSerialize(
4942       const MessageLite& msg, ::uint8_t* target,
4943       ::google::protobuf::io::EpsCopyOutputStream* stream);
4944 
4945   public:
4946   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
4947   ::uint8_t* _InternalSerialize(
4948       ::uint8_t* target,
4949       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
4950     return _InternalSerialize(*this, target, stream);
4951   }
4952   #else   // PROTOBUF_CUSTOM_VTABLE
4953   ::size_t ByteSizeLong() const final;
4954   ::uint8_t* _InternalSerialize(
4955       ::uint8_t* target,
4956       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
4957   #endif  // PROTOBUF_CUSTOM_VTABLE
4958   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
4959 
4960   private:
4961   void SharedCtor(::google::protobuf::Arena* arena);
4962   void SharedDtor();
4963   void InternalSwap(MethodOptions* other);
4964  private:
4965   friend class ::google::protobuf::internal::AnyMetadata;
4966   static ::absl::string_view FullMessageName() { return "google.protobuf.MethodOptions"; }
4967 
4968  protected:
4969   explicit MethodOptions(::google::protobuf::Arena* arena);
4970   MethodOptions(::google::protobuf::Arena* arena, const MethodOptions& from);
4971   MethodOptions(::google::protobuf::Arena* arena, MethodOptions&& from) noexcept
4972       : MethodOptions(arena) {
4973     *this = ::std::move(from);
4974   }
4975   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
4976   static const ::google::protobuf::Message::ClassDataFull _class_data_;
4977 
4978  public:
4979   ::google::protobuf::Metadata GetMetadata() const;
4980   // nested types ----------------------------------------------------
4981   using IdempotencyLevel = MethodOptions_IdempotencyLevel;
4982   static constexpr IdempotencyLevel IDEMPOTENCY_UNKNOWN = MethodOptions_IdempotencyLevel_IDEMPOTENCY_UNKNOWN;
4983   static constexpr IdempotencyLevel NO_SIDE_EFFECTS = MethodOptions_IdempotencyLevel_NO_SIDE_EFFECTS;
4984   static constexpr IdempotencyLevel IDEMPOTENT = MethodOptions_IdempotencyLevel_IDEMPOTENT;
4985   static inline bool IdempotencyLevel_IsValid(int value) {
4986     return MethodOptions_IdempotencyLevel_IsValid(value);
4987   }
4988   static constexpr IdempotencyLevel IdempotencyLevel_MIN = MethodOptions_IdempotencyLevel_IdempotencyLevel_MIN;
4989   static constexpr IdempotencyLevel IdempotencyLevel_MAX = MethodOptions_IdempotencyLevel_IdempotencyLevel_MAX;
4990   static constexpr int IdempotencyLevel_ARRAYSIZE = MethodOptions_IdempotencyLevel_IdempotencyLevel_ARRAYSIZE;
4991   static inline const ::google::protobuf::EnumDescriptor* IdempotencyLevel_descriptor() {
4992     return MethodOptions_IdempotencyLevel_descriptor();
4993   }
4994   template <typename T>
4995   static inline const std::string& IdempotencyLevel_Name(T value) {
4996     return MethodOptions_IdempotencyLevel_Name(value);
4997   }
4998   static inline bool IdempotencyLevel_Parse(absl::string_view name, IdempotencyLevel* value) {
4999     return MethodOptions_IdempotencyLevel_Parse(name, value);
5000   }
5001 
5002   // accessors -------------------------------------------------------
5003   enum : int {
5004     kUninterpretedOptionFieldNumber = 999,
5005     kFeaturesFieldNumber = 35,
5006     kDeprecatedFieldNumber = 33,
5007     kIdempotencyLevelFieldNumber = 34,
5008   };
5009   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
5010   int uninterpreted_option_size() const;
5011   private:
5012   int _internal_uninterpreted_option_size() const;
5013 
5014   public:
5015   void clear_uninterpreted_option() ;
5016   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
5017   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
5018 
5019   private:
5020   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
5021   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
5022   public:
5023   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
5024   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
5025   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
5026   // optional .google.protobuf.FeatureSet features = 35;
5027   bool has_features() const;
5028   void clear_features() ;
5029   const ::google::protobuf::FeatureSet& features() const;
5030   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
5031   ::google::protobuf::FeatureSet* mutable_features();
5032   void set_allocated_features(::google::protobuf::FeatureSet* value);
5033   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
5034   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
5035 
5036   private:
5037   const ::google::protobuf::FeatureSet& _internal_features() const;
5038   ::google::protobuf::FeatureSet* _internal_mutable_features();
5039 
5040   public:
5041   // optional bool deprecated = 33 [default = false];
5042   bool has_deprecated() const;
5043   void clear_deprecated() ;
5044   bool deprecated() const;
5045   void set_deprecated(bool value);
5046 
5047   private:
5048   bool _internal_deprecated() const;
5049   void _internal_set_deprecated(bool value);
5050 
5051   public:
5052   // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
5053   bool has_idempotency_level() const;
5054   void clear_idempotency_level() ;
5055   ::google::protobuf::MethodOptions_IdempotencyLevel idempotency_level() const;
5056   void set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value);
5057 
5058   private:
5059   ::google::protobuf::MethodOptions_IdempotencyLevel _internal_idempotency_level() const;
5060   void _internal_set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value);
5061 
5062   public:
5063   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5064             bool _is_packed,
5065             typename = typename _proto_TypeTraits::Singular>
5066   inline bool HasExtension(
5067       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5068                                        _field_type, _is_packed>& id) const {
5069     return _impl_._extensions_.Has(id.number());
5070   }
5071 
5072   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5073             bool _is_packed>
5074   inline void ClearExtension(
5075       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5076                                        _field_type, _is_packed>& id) {
5077     _impl_._extensions_.ClearExtension(id.number());
5078   }
5079 
5080   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5081             bool _is_packed,
5082             typename = typename _proto_TypeTraits::Repeated>
5083   inline int ExtensionSize(
5084       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5085                                        _field_type, _is_packed>& id) const {
5086     return _impl_._extensions_.ExtensionSize(id.number());
5087   }
5088 
5089   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5090             bool _is_packed,
5091             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5092   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
5093       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5094                                        _field_type, _is_packed>& id) const {
5095     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5096   }
5097 
5098   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5099             bool _is_packed,
5100             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5101   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
5102       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5103                                        _field_type, _is_packed>& id) const
5104       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5105     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5106   }
5107 
5108   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5109             bool _is_packed>
5110   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
5111       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5112                                        _field_type, _is_packed>& id)
5113       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5114     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
5115   }
5116 
5117   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5118             bool _is_packed>
5119   inline void SetExtension(
5120       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5121                                        _field_type, _is_packed>& id,
5122       typename _proto_TypeTraits::Singular::ConstType value) {
5123     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
5124   }
5125 
5126   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5127             bool _is_packed>
5128   inline void SetAllocatedExtension(
5129       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5130                                        _field_type, _is_packed>& id,
5131       typename _proto_TypeTraits::Singular::MutableType value) {
5132     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
5133                                     &_impl_._extensions_);
5134   }
5135   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5136             bool _is_packed>
5137   inline void UnsafeArenaSetAllocatedExtension(
5138       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5139                                        _field_type, _is_packed>& id,
5140       typename _proto_TypeTraits::Singular::MutableType value) {
5141     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
5142                                                value, &_impl_._extensions_);
5143   }
5144   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5145             bool _is_packed>
5146   PROTOBUF_NODISCARD inline
5147       typename _proto_TypeTraits::Singular::MutableType
5148       ReleaseExtension(
5149           const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5150                                            _field_type, _is_packed>& id) {
5151     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
5152   }
5153   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5154             bool _is_packed>
5155   inline typename _proto_TypeTraits::Singular::MutableType
5156   UnsafeArenaReleaseExtension(
5157       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5158                                        _field_type, _is_packed>& id) {
5159     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
5160                                                  &_impl_._extensions_);
5161   }
5162 
5163   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5164             bool _is_packed,
5165             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5166   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
5167       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5168                                        _field_type, _is_packed>& id,
5169       int index) const {
5170     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5171   }
5172 
5173   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5174             bool _is_packed,
5175             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5176   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
5177       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5178                                        _field_type, _is_packed>& id,
5179       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5180     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5181   }
5182 
5183   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5184             bool _is_packed>
5185   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
5186       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5187                                        _field_type, _is_packed>& id,
5188       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
5189     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
5190   }
5191 
5192   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5193             bool _is_packed>
5194   inline void SetExtension(
5195       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5196                                        _field_type, _is_packed>& id,
5197       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
5198     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
5199   }
5200 
5201   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5202             bool _is_packed>
5203   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
5204       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5205                                        _field_type, _is_packed>& id)
5206       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5207     typename _proto_TypeTraits::Repeated::MutableType to_add =
5208         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
5209     return to_add;
5210   }
5211 
5212   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5213             bool _is_packed>
5214   inline void AddExtension(
5215       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5216                                        _field_type, _is_packed>& id,
5217       typename _proto_TypeTraits::Repeated::ConstType value) {
5218     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
5219                            &_impl_._extensions_);
5220   }
5221 
5222   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5223             bool _is_packed>
5224   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
5225   GetRepeatedExtension(
5226       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5227                                        _field_type, _is_packed>& id) const
5228       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5229     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
5230   }
5231 
5232   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5233             bool _is_packed>
5234   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
5235   MutableRepeatedExtension(
5236       const ::google::protobuf::internal::ExtensionIdentifier<MethodOptions, _proto_TypeTraits,
5237                                        _field_type, _is_packed>& id)
5238       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5239     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
5240                                               _is_packed, &_impl_._extensions_);
5241   }
5242   // @@protoc_insertion_point(class_scope:google.protobuf.MethodOptions)
5243  private:
5244   class _Internal;
5245   friend class ::google::protobuf::internal::TcParser;
5246   static const ::google::protobuf::internal::TcParseTable<
5247       3, 4, 3,
5248       0, 12>
5249       _table_;
5250 
5251 
5252   friend class ::google::protobuf::MessageLite;
5253   friend class ::google::protobuf::Arena;
5254   template <typename T>
5255   friend class ::google::protobuf::Arena::InternalHelper;
5256   using InternalArenaConstructable_ = void;
5257   using DestructorSkippable_ = void;
5258   struct Impl_ {
5259     inline explicit constexpr Impl_(
5260         ::google::protobuf::internal::ConstantInitialized) noexcept;
5261     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5262                           ::google::protobuf::Arena* arena);
5263     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5264                           ::google::protobuf::Arena* arena, const Impl_& from,
5265                           const MethodOptions& from_msg);
5266     ::google::protobuf::internal::ExtensionSet _extensions_;
5267     ::google::protobuf::internal::HasBits<1> _has_bits_;
5268     mutable ::google::protobuf::internal::CachedSize _cached_size_;
5269     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
5270     ::google::protobuf::FeatureSet* features_;
5271     bool deprecated_;
5272     int idempotency_level_;
5273     PROTOBUF_TSAN_DECLARE_MEMBER
5274   };
5275   union { Impl_ _impl_; };
5276   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
5277 };
5278 // -------------------------------------------------------------------
5279 
5280 class PROTOBUF_EXPORT MessageOptions final : public ::google::protobuf::Message
5281 /* @@protoc_insertion_point(class_definition:google.protobuf.MessageOptions) */ {
5282  public:
5283   inline MessageOptions() : MessageOptions(nullptr) {}
5284   ~MessageOptions() PROTOBUF_FINAL;
5285   template <typename = void>
5286   explicit PROTOBUF_CONSTEXPR MessageOptions(
5287       ::google::protobuf::internal::ConstantInitialized);
5288 
5289   inline MessageOptions(const MessageOptions& from) : MessageOptions(nullptr, from) {}
5290   inline MessageOptions(MessageOptions&& from) noexcept
5291       : MessageOptions(nullptr, std::move(from)) {}
5292   inline MessageOptions& operator=(const MessageOptions& from) {
5293     CopyFrom(from);
5294     return *this;
5295   }
5296   inline MessageOptions& operator=(MessageOptions&& from) noexcept {
5297     if (this == &from) return *this;
5298     if (GetArena() == from.GetArena()
5299 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5300         && GetArena() != nullptr
5301 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
5302     ) {
5303       InternalSwap(&from);
5304     } else {
5305       CopyFrom(from);
5306     }
5307     return *this;
5308   }
5309 
5310   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5311       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5312     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5313   }
5314   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
5315       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5316     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5317   }
5318 
5319   static const ::google::protobuf::Descriptor* descriptor() {
5320     return GetDescriptor();
5321   }
5322   static const ::google::protobuf::Descriptor* GetDescriptor() {
5323     return default_instance().GetMetadata().descriptor;
5324   }
5325   static const ::google::protobuf::Reflection* GetReflection() {
5326     return default_instance().GetMetadata().reflection;
5327   }
5328   static const MessageOptions& default_instance() {
5329     return *internal_default_instance();
5330   }
5331   static inline const MessageOptions* internal_default_instance() {
5332     return reinterpret_cast<const MessageOptions*>(
5333         &_MessageOptions_default_instance_);
5334   }
5335   static constexpr int kIndexInFileMessages = 15;
5336   friend void swap(MessageOptions& a, MessageOptions& b) { a.Swap(&b); }
5337   inline void Swap(MessageOptions* other) {
5338     if (other == this) return;
5339 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5340     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
5341 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
5342     if (GetArena() == other->GetArena()) {
5343 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
5344       InternalSwap(other);
5345     } else {
5346       ::google::protobuf::internal::GenericSwap(this, other);
5347     }
5348   }
5349   void UnsafeArenaSwap(MessageOptions* other) {
5350     if (other == this) return;
5351     ABSL_DCHECK(GetArena() == other->GetArena());
5352     InternalSwap(other);
5353   }
5354 
5355   // implements Message ----------------------------------------------
5356 
5357   MessageOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
5358     return ::google::protobuf::Message::DefaultConstruct<MessageOptions>(arena);
5359   }
5360   using ::google::protobuf::Message::CopyFrom;
5361   void CopyFrom(const MessageOptions& from);
5362   using ::google::protobuf::Message::MergeFrom;
5363   void MergeFrom(const MessageOptions& from) { MessageOptions::MergeImpl(*this, from); }
5364 
5365   private:
5366   static void MergeImpl(
5367       ::google::protobuf::MessageLite& to_msg,
5368       const ::google::protobuf::MessageLite& from_msg);
5369 
5370   public:
5371   bool IsInitialized() const {
5372     return IsInitializedImpl(*this);
5373   }
5374 
5375   private:
5376   static bool IsInitializedImpl(const MessageLite& msg);
5377 
5378   public:
5379   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5380   #if defined(PROTOBUF_CUSTOM_VTABLE)
5381   private:
5382   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5383   static ::uint8_t* _InternalSerialize(
5384       const MessageLite& msg, ::uint8_t* target,
5385       ::google::protobuf::io::EpsCopyOutputStream* stream);
5386 
5387   public:
5388   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5389   ::uint8_t* _InternalSerialize(
5390       ::uint8_t* target,
5391       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
5392     return _InternalSerialize(*this, target, stream);
5393   }
5394   #else   // PROTOBUF_CUSTOM_VTABLE
5395   ::size_t ByteSizeLong() const final;
5396   ::uint8_t* _InternalSerialize(
5397       ::uint8_t* target,
5398       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
5399   #endif  // PROTOBUF_CUSTOM_VTABLE
5400   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5401 
5402   private:
5403   void SharedCtor(::google::protobuf::Arena* arena);
5404   void SharedDtor();
5405   void InternalSwap(MessageOptions* other);
5406  private:
5407   friend class ::google::protobuf::internal::AnyMetadata;
5408   static ::absl::string_view FullMessageName() { return "google.protobuf.MessageOptions"; }
5409 
5410  protected:
5411   explicit MessageOptions(::google::protobuf::Arena* arena);
5412   MessageOptions(::google::protobuf::Arena* arena, const MessageOptions& from);
5413   MessageOptions(::google::protobuf::Arena* arena, MessageOptions&& from) noexcept
5414       : MessageOptions(arena) {
5415     *this = ::std::move(from);
5416   }
5417   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
5418   static const ::google::protobuf::Message::ClassDataFull _class_data_;
5419 
5420  public:
5421   ::google::protobuf::Metadata GetMetadata() const;
5422   // nested types ----------------------------------------------------
5423 
5424   // accessors -------------------------------------------------------
5425   enum : int {
5426     kUninterpretedOptionFieldNumber = 999,
5427     kFeaturesFieldNumber = 12,
5428     kMessageSetWireFormatFieldNumber = 1,
5429     kNoStandardDescriptorAccessorFieldNumber = 2,
5430     kDeprecatedFieldNumber = 3,
5431     kMapEntryFieldNumber = 7,
5432     kDeprecatedLegacyJsonFieldConflictsFieldNumber = 11,
5433   };
5434   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
5435   int uninterpreted_option_size() const;
5436   private:
5437   int _internal_uninterpreted_option_size() const;
5438 
5439   public:
5440   void clear_uninterpreted_option() ;
5441   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
5442   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
5443 
5444   private:
5445   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
5446   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
5447   public:
5448   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
5449   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
5450   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
5451   // optional .google.protobuf.FeatureSet features = 12;
5452   bool has_features() const;
5453   void clear_features() ;
5454   const ::google::protobuf::FeatureSet& features() const;
5455   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
5456   ::google::protobuf::FeatureSet* mutable_features();
5457   void set_allocated_features(::google::protobuf::FeatureSet* value);
5458   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
5459   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
5460 
5461   private:
5462   const ::google::protobuf::FeatureSet& _internal_features() const;
5463   ::google::protobuf::FeatureSet* _internal_mutable_features();
5464 
5465   public:
5466   // optional bool message_set_wire_format = 1 [default = false];
5467   bool has_message_set_wire_format() const;
5468   void clear_message_set_wire_format() ;
5469   bool message_set_wire_format() const;
5470   void set_message_set_wire_format(bool value);
5471 
5472   private:
5473   bool _internal_message_set_wire_format() const;
5474   void _internal_set_message_set_wire_format(bool value);
5475 
5476   public:
5477   // optional bool no_standard_descriptor_accessor = 2 [default = false];
5478   bool has_no_standard_descriptor_accessor() const;
5479   void clear_no_standard_descriptor_accessor() ;
5480   bool no_standard_descriptor_accessor() const;
5481   void set_no_standard_descriptor_accessor(bool value);
5482 
5483   private:
5484   bool _internal_no_standard_descriptor_accessor() const;
5485   void _internal_set_no_standard_descriptor_accessor(bool value);
5486 
5487   public:
5488   // optional bool deprecated = 3 [default = false];
5489   bool has_deprecated() const;
5490   void clear_deprecated() ;
5491   bool deprecated() const;
5492   void set_deprecated(bool value);
5493 
5494   private:
5495   bool _internal_deprecated() const;
5496   void _internal_set_deprecated(bool value);
5497 
5498   public:
5499   // optional bool map_entry = 7;
5500   bool has_map_entry() const;
5501   void clear_map_entry() ;
5502   bool map_entry() const;
5503   void set_map_entry(bool value);
5504 
5505   private:
5506   bool _internal_map_entry() const;
5507   void _internal_set_map_entry(bool value);
5508 
5509   public:
5510   // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
5511   [[deprecated]]  bool has_deprecated_legacy_json_field_conflicts() const;
5512   [[deprecated]]  void clear_deprecated_legacy_json_field_conflicts() ;
5513   [[deprecated]] bool deprecated_legacy_json_field_conflicts() const;
5514   [[deprecated]] void set_deprecated_legacy_json_field_conflicts(bool value);
5515 
5516   private:
5517   bool _internal_deprecated_legacy_json_field_conflicts() const;
5518   void _internal_set_deprecated_legacy_json_field_conflicts(bool value);
5519 
5520   public:
5521   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5522             bool _is_packed,
5523             typename = typename _proto_TypeTraits::Singular>
5524   inline bool HasExtension(
5525       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5526                                        _field_type, _is_packed>& id) const {
5527     return _impl_._extensions_.Has(id.number());
5528   }
5529 
5530   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5531             bool _is_packed>
5532   inline void ClearExtension(
5533       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5534                                        _field_type, _is_packed>& id) {
5535     _impl_._extensions_.ClearExtension(id.number());
5536   }
5537 
5538   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5539             bool _is_packed,
5540             typename = typename _proto_TypeTraits::Repeated>
5541   inline int ExtensionSize(
5542       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5543                                        _field_type, _is_packed>& id) const {
5544     return _impl_._extensions_.ExtensionSize(id.number());
5545   }
5546 
5547   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5548             bool _is_packed,
5549             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5550   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
5551       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5552                                        _field_type, _is_packed>& id) const {
5553     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5554   }
5555 
5556   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5557             bool _is_packed,
5558             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5559   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
5560       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5561                                        _field_type, _is_packed>& id) const
5562       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5563     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
5564   }
5565 
5566   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5567             bool _is_packed>
5568   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
5569       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5570                                        _field_type, _is_packed>& id)
5571       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5572     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
5573   }
5574 
5575   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5576             bool _is_packed>
5577   inline void SetExtension(
5578       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5579                                        _field_type, _is_packed>& id,
5580       typename _proto_TypeTraits::Singular::ConstType value) {
5581     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
5582   }
5583 
5584   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5585             bool _is_packed>
5586   inline void SetAllocatedExtension(
5587       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5588                                        _field_type, _is_packed>& id,
5589       typename _proto_TypeTraits::Singular::MutableType value) {
5590     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
5591                                     &_impl_._extensions_);
5592   }
5593   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5594             bool _is_packed>
5595   inline void UnsafeArenaSetAllocatedExtension(
5596       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5597                                        _field_type, _is_packed>& id,
5598       typename _proto_TypeTraits::Singular::MutableType value) {
5599     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
5600                                                value, &_impl_._extensions_);
5601   }
5602   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5603             bool _is_packed>
5604   PROTOBUF_NODISCARD inline
5605       typename _proto_TypeTraits::Singular::MutableType
5606       ReleaseExtension(
5607           const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5608                                            _field_type, _is_packed>& id) {
5609     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
5610   }
5611   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5612             bool _is_packed>
5613   inline typename _proto_TypeTraits::Singular::MutableType
5614   UnsafeArenaReleaseExtension(
5615       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5616                                        _field_type, _is_packed>& id) {
5617     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
5618                                                  &_impl_._extensions_);
5619   }
5620 
5621   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5622             bool _is_packed,
5623             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
5624   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
5625       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5626                                        _field_type, _is_packed>& id,
5627       int index) const {
5628     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5629   }
5630 
5631   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5632             bool _is_packed,
5633             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
5634   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
5635       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5636                                        _field_type, _is_packed>& id,
5637       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
5638     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
5639   }
5640 
5641   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5642             bool _is_packed>
5643   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
5644       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5645                                        _field_type, _is_packed>& id,
5646       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
5647     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
5648   }
5649 
5650   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5651             bool _is_packed>
5652   inline void SetExtension(
5653       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5654                                        _field_type, _is_packed>& id,
5655       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
5656     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
5657   }
5658 
5659   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5660             bool _is_packed>
5661   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
5662       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5663                                        _field_type, _is_packed>& id)
5664       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5665     typename _proto_TypeTraits::Repeated::MutableType to_add =
5666         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
5667     return to_add;
5668   }
5669 
5670   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5671             bool _is_packed>
5672   inline void AddExtension(
5673       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5674                                        _field_type, _is_packed>& id,
5675       typename _proto_TypeTraits::Repeated::ConstType value) {
5676     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
5677                            &_impl_._extensions_);
5678   }
5679 
5680   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5681             bool _is_packed>
5682   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
5683   GetRepeatedExtension(
5684       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5685                                        _field_type, _is_packed>& id) const
5686       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5687     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
5688   }
5689 
5690   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
5691             bool _is_packed>
5692   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
5693   MutableRepeatedExtension(
5694       const ::google::protobuf::internal::ExtensionIdentifier<MessageOptions, _proto_TypeTraits,
5695                                        _field_type, _is_packed>& id)
5696       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5697     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
5698                                               _is_packed, &_impl_._extensions_);
5699   }
5700   // @@protoc_insertion_point(class_scope:google.protobuf.MessageOptions)
5701  private:
5702   class _Internal;
5703   friend class ::google::protobuf::internal::TcParser;
5704   static const ::google::protobuf::internal::TcParseTable<
5705       3, 7, 2,
5706       0, 7>
5707       _table_;
5708 
5709 
5710   friend class ::google::protobuf::MessageLite;
5711   friend class ::google::protobuf::Arena;
5712   template <typename T>
5713   friend class ::google::protobuf::Arena::InternalHelper;
5714   using InternalArenaConstructable_ = void;
5715   using DestructorSkippable_ = void;
5716   struct Impl_ {
5717     inline explicit constexpr Impl_(
5718         ::google::protobuf::internal::ConstantInitialized) noexcept;
5719     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5720                           ::google::protobuf::Arena* arena);
5721     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
5722                           ::google::protobuf::Arena* arena, const Impl_& from,
5723                           const MessageOptions& from_msg);
5724     ::google::protobuf::internal::ExtensionSet _extensions_;
5725     ::google::protobuf::internal::HasBits<1> _has_bits_;
5726     mutable ::google::protobuf::internal::CachedSize _cached_size_;
5727     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
5728     ::google::protobuf::FeatureSet* features_;
5729     bool message_set_wire_format_;
5730     bool no_standard_descriptor_accessor_;
5731     bool deprecated_;
5732     bool map_entry_;
5733     bool deprecated_legacy_json_field_conflicts_;
5734     PROTOBUF_TSAN_DECLARE_MEMBER
5735   };
5736   union { Impl_ _impl_; };
5737   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
5738 };
5739 // -------------------------------------------------------------------
5740 
5741 class PROTOBUF_EXPORT FileOptions final : public ::google::protobuf::Message
5742 /* @@protoc_insertion_point(class_definition:google.protobuf.FileOptions) */ {
5743  public:
5744   inline FileOptions() : FileOptions(nullptr) {}
5745   ~FileOptions() PROTOBUF_FINAL;
5746   template <typename = void>
5747   explicit PROTOBUF_CONSTEXPR FileOptions(
5748       ::google::protobuf::internal::ConstantInitialized);
5749 
5750   inline FileOptions(const FileOptions& from) : FileOptions(nullptr, from) {}
5751   inline FileOptions(FileOptions&& from) noexcept
5752       : FileOptions(nullptr, std::move(from)) {}
5753   inline FileOptions& operator=(const FileOptions& from) {
5754     CopyFrom(from);
5755     return *this;
5756   }
5757   inline FileOptions& operator=(FileOptions&& from) noexcept {
5758     if (this == &from) return *this;
5759     if (GetArena() == from.GetArena()
5760 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
5761         && GetArena() != nullptr
5762 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
5763     ) {
5764       InternalSwap(&from);
5765     } else {
5766       CopyFrom(from);
5767     }
5768     return *this;
5769   }
5770 
5771   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
5772       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5773     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
5774   }
5775   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
5776       ABSL_ATTRIBUTE_LIFETIME_BOUND {
5777     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
5778   }
5779 
5780   static const ::google::protobuf::Descriptor* descriptor() {
5781     return GetDescriptor();
5782   }
5783   static const ::google::protobuf::Descriptor* GetDescriptor() {
5784     return default_instance().GetMetadata().descriptor;
5785   }
5786   static const ::google::protobuf::Reflection* GetReflection() {
5787     return default_instance().GetMetadata().reflection;
5788   }
5789   static const FileOptions& default_instance() {
5790     return *internal_default_instance();
5791   }
5792   static inline const FileOptions* internal_default_instance() {
5793     return reinterpret_cast<const FileOptions*>(
5794         &_FileOptions_default_instance_);
5795   }
5796   static constexpr int kIndexInFileMessages = 14;
5797   friend void swap(FileOptions& a, FileOptions& b) { a.Swap(&b); }
5798   inline void Swap(FileOptions* other) {
5799     if (other == this) return;
5800 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
5801     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
5802 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
5803     if (GetArena() == other->GetArena()) {
5804 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
5805       InternalSwap(other);
5806     } else {
5807       ::google::protobuf::internal::GenericSwap(this, other);
5808     }
5809   }
5810   void UnsafeArenaSwap(FileOptions* other) {
5811     if (other == this) return;
5812     ABSL_DCHECK(GetArena() == other->GetArena());
5813     InternalSwap(other);
5814   }
5815 
5816   // implements Message ----------------------------------------------
5817 
5818   FileOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
5819     return ::google::protobuf::Message::DefaultConstruct<FileOptions>(arena);
5820   }
5821   using ::google::protobuf::Message::CopyFrom;
5822   void CopyFrom(const FileOptions& from);
5823   using ::google::protobuf::Message::MergeFrom;
5824   void MergeFrom(const FileOptions& from) { FileOptions::MergeImpl(*this, from); }
5825 
5826   private:
5827   static void MergeImpl(
5828       ::google::protobuf::MessageLite& to_msg,
5829       const ::google::protobuf::MessageLite& from_msg);
5830 
5831   public:
5832   bool IsInitialized() const {
5833     return IsInitializedImpl(*this);
5834   }
5835 
5836   private:
5837   static bool IsInitializedImpl(const MessageLite& msg);
5838 
5839   public:
5840   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
5841   #if defined(PROTOBUF_CUSTOM_VTABLE)
5842   private:
5843   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
5844   static ::uint8_t* _InternalSerialize(
5845       const MessageLite& msg, ::uint8_t* target,
5846       ::google::protobuf::io::EpsCopyOutputStream* stream);
5847 
5848   public:
5849   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
5850   ::uint8_t* _InternalSerialize(
5851       ::uint8_t* target,
5852       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
5853     return _InternalSerialize(*this, target, stream);
5854   }
5855   #else   // PROTOBUF_CUSTOM_VTABLE
5856   ::size_t ByteSizeLong() const final;
5857   ::uint8_t* _InternalSerialize(
5858       ::uint8_t* target,
5859       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
5860   #endif  // PROTOBUF_CUSTOM_VTABLE
5861   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
5862 
5863   private:
5864   void SharedCtor(::google::protobuf::Arena* arena);
5865   void SharedDtor();
5866   void InternalSwap(FileOptions* other);
5867  private:
5868   friend class ::google::protobuf::internal::AnyMetadata;
5869   static ::absl::string_view FullMessageName() { return "google.protobuf.FileOptions"; }
5870 
5871  protected:
5872   explicit FileOptions(::google::protobuf::Arena* arena);
5873   FileOptions(::google::protobuf::Arena* arena, const FileOptions& from);
5874   FileOptions(::google::protobuf::Arena* arena, FileOptions&& from) noexcept
5875       : FileOptions(arena) {
5876     *this = ::std::move(from);
5877   }
5878   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
5879   static const ::google::protobuf::Message::ClassDataFull _class_data_;
5880 
5881  public:
5882   ::google::protobuf::Metadata GetMetadata() const;
5883   // nested types ----------------------------------------------------
5884   using OptimizeMode = FileOptions_OptimizeMode;
5885   static constexpr OptimizeMode SPEED = FileOptions_OptimizeMode_SPEED;
5886   static constexpr OptimizeMode CODE_SIZE = FileOptions_OptimizeMode_CODE_SIZE;
5887   static constexpr OptimizeMode LITE_RUNTIME = FileOptions_OptimizeMode_LITE_RUNTIME;
5888   static inline bool OptimizeMode_IsValid(int value) {
5889     return FileOptions_OptimizeMode_IsValid(value);
5890   }
5891   static constexpr OptimizeMode OptimizeMode_MIN = FileOptions_OptimizeMode_OptimizeMode_MIN;
5892   static constexpr OptimizeMode OptimizeMode_MAX = FileOptions_OptimizeMode_OptimizeMode_MAX;
5893   static constexpr int OptimizeMode_ARRAYSIZE = FileOptions_OptimizeMode_OptimizeMode_ARRAYSIZE;
5894   static inline const ::google::protobuf::EnumDescriptor* OptimizeMode_descriptor() {
5895     return FileOptions_OptimizeMode_descriptor();
5896   }
5897   template <typename T>
5898   static inline const std::string& OptimizeMode_Name(T value) {
5899     return FileOptions_OptimizeMode_Name(value);
5900   }
5901   static inline bool OptimizeMode_Parse(absl::string_view name, OptimizeMode* value) {
5902     return FileOptions_OptimizeMode_Parse(name, value);
5903   }
5904 
5905   // accessors -------------------------------------------------------
5906   enum : int {
5907     kUninterpretedOptionFieldNumber = 999,
5908     kJavaPackageFieldNumber = 1,
5909     kJavaOuterClassnameFieldNumber = 8,
5910     kGoPackageFieldNumber = 11,
5911     kObjcClassPrefixFieldNumber = 36,
5912     kCsharpNamespaceFieldNumber = 37,
5913     kSwiftPrefixFieldNumber = 39,
5914     kPhpClassPrefixFieldNumber = 40,
5915     kPhpNamespaceFieldNumber = 41,
5916     kPhpMetadataNamespaceFieldNumber = 44,
5917     kRubyPackageFieldNumber = 45,
5918     kFeaturesFieldNumber = 50,
5919     kJavaMultipleFilesFieldNumber = 10,
5920     kJavaGenerateEqualsAndHashFieldNumber = 20,
5921     kJavaStringCheckUtf8FieldNumber = 27,
5922     kCcGenericServicesFieldNumber = 16,
5923     kJavaGenericServicesFieldNumber = 17,
5924     kPyGenericServicesFieldNumber = 18,
5925     kDeprecatedFieldNumber = 23,
5926     kOptimizeForFieldNumber = 9,
5927     kCcEnableArenasFieldNumber = 31,
5928   };
5929   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
5930   int uninterpreted_option_size() const;
5931   private:
5932   int _internal_uninterpreted_option_size() const;
5933 
5934   public:
5935   void clear_uninterpreted_option() ;
5936   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
5937   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
5938 
5939   private:
5940   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
5941   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
5942   public:
5943   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
5944   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
5945   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
5946   // optional string java_package = 1;
5947   bool has_java_package() const;
5948   void clear_java_package() ;
5949   const std::string& java_package() const;
5950   template <typename Arg_ = const std::string&, typename... Args_>
5951   void set_java_package(Arg_&& arg, Args_... args);
5952   std::string* mutable_java_package();
5953   PROTOBUF_NODISCARD std::string* release_java_package();
5954   void set_allocated_java_package(std::string* value);
5955 
5956   private:
5957   const std::string& _internal_java_package() const;
5958   inline PROTOBUF_ALWAYS_INLINE void _internal_set_java_package(
5959       const std::string& value);
5960   std::string* _internal_mutable_java_package();
5961 
5962   public:
5963   // optional string java_outer_classname = 8;
5964   bool has_java_outer_classname() const;
5965   void clear_java_outer_classname() ;
5966   const std::string& java_outer_classname() const;
5967   template <typename Arg_ = const std::string&, typename... Args_>
5968   void set_java_outer_classname(Arg_&& arg, Args_... args);
5969   std::string* mutable_java_outer_classname();
5970   PROTOBUF_NODISCARD std::string* release_java_outer_classname();
5971   void set_allocated_java_outer_classname(std::string* value);
5972 
5973   private:
5974   const std::string& _internal_java_outer_classname() const;
5975   inline PROTOBUF_ALWAYS_INLINE void _internal_set_java_outer_classname(
5976       const std::string& value);
5977   std::string* _internal_mutable_java_outer_classname();
5978 
5979   public:
5980   // optional string go_package = 11;
5981   bool has_go_package() const;
5982   void clear_go_package() ;
5983   const std::string& go_package() const;
5984   template <typename Arg_ = const std::string&, typename... Args_>
5985   void set_go_package(Arg_&& arg, Args_... args);
5986   std::string* mutable_go_package();
5987   PROTOBUF_NODISCARD std::string* release_go_package();
5988   void set_allocated_go_package(std::string* value);
5989 
5990   private:
5991   const std::string& _internal_go_package() const;
5992   inline PROTOBUF_ALWAYS_INLINE void _internal_set_go_package(
5993       const std::string& value);
5994   std::string* _internal_mutable_go_package();
5995 
5996   public:
5997   // optional string objc_class_prefix = 36;
5998   bool has_objc_class_prefix() const;
5999   void clear_objc_class_prefix() ;
6000   const std::string& objc_class_prefix() const;
6001   template <typename Arg_ = const std::string&, typename... Args_>
6002   void set_objc_class_prefix(Arg_&& arg, Args_... args);
6003   std::string* mutable_objc_class_prefix();
6004   PROTOBUF_NODISCARD std::string* release_objc_class_prefix();
6005   void set_allocated_objc_class_prefix(std::string* value);
6006 
6007   private:
6008   const std::string& _internal_objc_class_prefix() const;
6009   inline PROTOBUF_ALWAYS_INLINE void _internal_set_objc_class_prefix(
6010       const std::string& value);
6011   std::string* _internal_mutable_objc_class_prefix();
6012 
6013   public:
6014   // optional string csharp_namespace = 37;
6015   bool has_csharp_namespace() const;
6016   void clear_csharp_namespace() ;
6017   const std::string& csharp_namespace() const;
6018   template <typename Arg_ = const std::string&, typename... Args_>
6019   void set_csharp_namespace(Arg_&& arg, Args_... args);
6020   std::string* mutable_csharp_namespace();
6021   PROTOBUF_NODISCARD std::string* release_csharp_namespace();
6022   void set_allocated_csharp_namespace(std::string* value);
6023 
6024   private:
6025   const std::string& _internal_csharp_namespace() const;
6026   inline PROTOBUF_ALWAYS_INLINE void _internal_set_csharp_namespace(
6027       const std::string& value);
6028   std::string* _internal_mutable_csharp_namespace();
6029 
6030   public:
6031   // optional string swift_prefix = 39;
6032   bool has_swift_prefix() const;
6033   void clear_swift_prefix() ;
6034   const std::string& swift_prefix() const;
6035   template <typename Arg_ = const std::string&, typename... Args_>
6036   void set_swift_prefix(Arg_&& arg, Args_... args);
6037   std::string* mutable_swift_prefix();
6038   PROTOBUF_NODISCARD std::string* release_swift_prefix();
6039   void set_allocated_swift_prefix(std::string* value);
6040 
6041   private:
6042   const std::string& _internal_swift_prefix() const;
6043   inline PROTOBUF_ALWAYS_INLINE void _internal_set_swift_prefix(
6044       const std::string& value);
6045   std::string* _internal_mutable_swift_prefix();
6046 
6047   public:
6048   // optional string php_class_prefix = 40;
6049   bool has_php_class_prefix() const;
6050   void clear_php_class_prefix() ;
6051   const std::string& php_class_prefix() const;
6052   template <typename Arg_ = const std::string&, typename... Args_>
6053   void set_php_class_prefix(Arg_&& arg, Args_... args);
6054   std::string* mutable_php_class_prefix();
6055   PROTOBUF_NODISCARD std::string* release_php_class_prefix();
6056   void set_allocated_php_class_prefix(std::string* value);
6057 
6058   private:
6059   const std::string& _internal_php_class_prefix() const;
6060   inline PROTOBUF_ALWAYS_INLINE void _internal_set_php_class_prefix(
6061       const std::string& value);
6062   std::string* _internal_mutable_php_class_prefix();
6063 
6064   public:
6065   // optional string php_namespace = 41;
6066   bool has_php_namespace() const;
6067   void clear_php_namespace() ;
6068   const std::string& php_namespace() const;
6069   template <typename Arg_ = const std::string&, typename... Args_>
6070   void set_php_namespace(Arg_&& arg, Args_... args);
6071   std::string* mutable_php_namespace();
6072   PROTOBUF_NODISCARD std::string* release_php_namespace();
6073   void set_allocated_php_namespace(std::string* value);
6074 
6075   private:
6076   const std::string& _internal_php_namespace() const;
6077   inline PROTOBUF_ALWAYS_INLINE void _internal_set_php_namespace(
6078       const std::string& value);
6079   std::string* _internal_mutable_php_namespace();
6080 
6081   public:
6082   // optional string php_metadata_namespace = 44;
6083   bool has_php_metadata_namespace() const;
6084   void clear_php_metadata_namespace() ;
6085   const std::string& php_metadata_namespace() const;
6086   template <typename Arg_ = const std::string&, typename... Args_>
6087   void set_php_metadata_namespace(Arg_&& arg, Args_... args);
6088   std::string* mutable_php_metadata_namespace();
6089   PROTOBUF_NODISCARD std::string* release_php_metadata_namespace();
6090   void set_allocated_php_metadata_namespace(std::string* value);
6091 
6092   private:
6093   const std::string& _internal_php_metadata_namespace() const;
6094   inline PROTOBUF_ALWAYS_INLINE void _internal_set_php_metadata_namespace(
6095       const std::string& value);
6096   std::string* _internal_mutable_php_metadata_namespace();
6097 
6098   public:
6099   // optional string ruby_package = 45;
6100   bool has_ruby_package() const;
6101   void clear_ruby_package() ;
6102   const std::string& ruby_package() const;
6103   template <typename Arg_ = const std::string&, typename... Args_>
6104   void set_ruby_package(Arg_&& arg, Args_... args);
6105   std::string* mutable_ruby_package();
6106   PROTOBUF_NODISCARD std::string* release_ruby_package();
6107   void set_allocated_ruby_package(std::string* value);
6108 
6109   private:
6110   const std::string& _internal_ruby_package() const;
6111   inline PROTOBUF_ALWAYS_INLINE void _internal_set_ruby_package(
6112       const std::string& value);
6113   std::string* _internal_mutable_ruby_package();
6114 
6115   public:
6116   // optional .google.protobuf.FeatureSet features = 50;
6117   bool has_features() const;
6118   void clear_features() ;
6119   const ::google::protobuf::FeatureSet& features() const;
6120   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
6121   ::google::protobuf::FeatureSet* mutable_features();
6122   void set_allocated_features(::google::protobuf::FeatureSet* value);
6123   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
6124   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
6125 
6126   private:
6127   const ::google::protobuf::FeatureSet& _internal_features() const;
6128   ::google::protobuf::FeatureSet* _internal_mutable_features();
6129 
6130   public:
6131   // optional bool java_multiple_files = 10 [default = false];
6132   bool has_java_multiple_files() const;
6133   void clear_java_multiple_files() ;
6134   bool java_multiple_files() const;
6135   void set_java_multiple_files(bool value);
6136 
6137   private:
6138   bool _internal_java_multiple_files() const;
6139   void _internal_set_java_multiple_files(bool value);
6140 
6141   public:
6142   // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
6143   [[deprecated]]  bool has_java_generate_equals_and_hash() const;
6144   [[deprecated]]  void clear_java_generate_equals_and_hash() ;
6145   [[deprecated]] bool java_generate_equals_and_hash() const;
6146   [[deprecated]] void set_java_generate_equals_and_hash(bool value);
6147 
6148   private:
6149   bool _internal_java_generate_equals_and_hash() const;
6150   void _internal_set_java_generate_equals_and_hash(bool value);
6151 
6152   public:
6153   // optional bool java_string_check_utf8 = 27 [default = false];
6154   bool has_java_string_check_utf8() const;
6155   void clear_java_string_check_utf8() ;
6156   bool java_string_check_utf8() const;
6157   void set_java_string_check_utf8(bool value);
6158 
6159   private:
6160   bool _internal_java_string_check_utf8() const;
6161   void _internal_set_java_string_check_utf8(bool value);
6162 
6163   public:
6164   // optional bool cc_generic_services = 16 [default = false];
6165   bool has_cc_generic_services() const;
6166   void clear_cc_generic_services() ;
6167   bool cc_generic_services() const;
6168   void set_cc_generic_services(bool value);
6169 
6170   private:
6171   bool _internal_cc_generic_services() const;
6172   void _internal_set_cc_generic_services(bool value);
6173 
6174   public:
6175   // optional bool java_generic_services = 17 [default = false];
6176   bool has_java_generic_services() const;
6177   void clear_java_generic_services() ;
6178   bool java_generic_services() const;
6179   void set_java_generic_services(bool value);
6180 
6181   private:
6182   bool _internal_java_generic_services() const;
6183   void _internal_set_java_generic_services(bool value);
6184 
6185   public:
6186   // optional bool py_generic_services = 18 [default = false];
6187   bool has_py_generic_services() const;
6188   void clear_py_generic_services() ;
6189   bool py_generic_services() const;
6190   void set_py_generic_services(bool value);
6191 
6192   private:
6193   bool _internal_py_generic_services() const;
6194   void _internal_set_py_generic_services(bool value);
6195 
6196   public:
6197   // optional bool deprecated = 23 [default = false];
6198   bool has_deprecated() const;
6199   void clear_deprecated() ;
6200   bool deprecated() const;
6201   void set_deprecated(bool value);
6202 
6203   private:
6204   bool _internal_deprecated() const;
6205   void _internal_set_deprecated(bool value);
6206 
6207   public:
6208   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
6209   bool has_optimize_for() const;
6210   void clear_optimize_for() ;
6211   ::google::protobuf::FileOptions_OptimizeMode optimize_for() const;
6212   void set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value);
6213 
6214   private:
6215   ::google::protobuf::FileOptions_OptimizeMode _internal_optimize_for() const;
6216   void _internal_set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value);
6217 
6218   public:
6219   // optional bool cc_enable_arenas = 31 [default = true];
6220   bool has_cc_enable_arenas() const;
6221   void clear_cc_enable_arenas() ;
6222   bool cc_enable_arenas() const;
6223   void set_cc_enable_arenas(bool value);
6224 
6225   private:
6226   bool _internal_cc_enable_arenas() const;
6227   void _internal_set_cc_enable_arenas(bool value);
6228 
6229   public:
6230   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6231             bool _is_packed,
6232             typename = typename _proto_TypeTraits::Singular>
6233   inline bool HasExtension(
6234       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6235                                        _field_type, _is_packed>& id) const {
6236     return _impl_._extensions_.Has(id.number());
6237   }
6238 
6239   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6240             bool _is_packed>
6241   inline void ClearExtension(
6242       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6243                                        _field_type, _is_packed>& id) {
6244     _impl_._extensions_.ClearExtension(id.number());
6245   }
6246 
6247   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6248             bool _is_packed,
6249             typename = typename _proto_TypeTraits::Repeated>
6250   inline int ExtensionSize(
6251       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6252                                        _field_type, _is_packed>& id) const {
6253     return _impl_._extensions_.ExtensionSize(id.number());
6254   }
6255 
6256   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6257             bool _is_packed,
6258             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
6259   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
6260       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6261                                        _field_type, _is_packed>& id) const {
6262     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
6263   }
6264 
6265   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6266             bool _is_packed,
6267             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
6268   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
6269       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6270                                        _field_type, _is_packed>& id) const
6271       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6272     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
6273   }
6274 
6275   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6276             bool _is_packed>
6277   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
6278       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6279                                        _field_type, _is_packed>& id)
6280       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6281     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
6282   }
6283 
6284   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6285             bool _is_packed>
6286   inline void SetExtension(
6287       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6288                                        _field_type, _is_packed>& id,
6289       typename _proto_TypeTraits::Singular::ConstType value) {
6290     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
6291   }
6292 
6293   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6294             bool _is_packed>
6295   inline void SetAllocatedExtension(
6296       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6297                                        _field_type, _is_packed>& id,
6298       typename _proto_TypeTraits::Singular::MutableType value) {
6299     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
6300                                     &_impl_._extensions_);
6301   }
6302   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6303             bool _is_packed>
6304   inline void UnsafeArenaSetAllocatedExtension(
6305       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6306                                        _field_type, _is_packed>& id,
6307       typename _proto_TypeTraits::Singular::MutableType value) {
6308     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
6309                                                value, &_impl_._extensions_);
6310   }
6311   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6312             bool _is_packed>
6313   PROTOBUF_NODISCARD inline
6314       typename _proto_TypeTraits::Singular::MutableType
6315       ReleaseExtension(
6316           const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6317                                            _field_type, _is_packed>& id) {
6318     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
6319   }
6320   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6321             bool _is_packed>
6322   inline typename _proto_TypeTraits::Singular::MutableType
6323   UnsafeArenaReleaseExtension(
6324       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6325                                        _field_type, _is_packed>& id) {
6326     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
6327                                                  &_impl_._extensions_);
6328   }
6329 
6330   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6331             bool _is_packed,
6332             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
6333   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
6334       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6335                                        _field_type, _is_packed>& id,
6336       int index) const {
6337     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
6338   }
6339 
6340   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6341             bool _is_packed,
6342             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
6343   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
6344       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6345                                        _field_type, _is_packed>& id,
6346       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
6347     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
6348   }
6349 
6350   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6351             bool _is_packed>
6352   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
6353       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6354                                        _field_type, _is_packed>& id,
6355       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
6356     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
6357   }
6358 
6359   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6360             bool _is_packed>
6361   inline void SetExtension(
6362       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6363                                        _field_type, _is_packed>& id,
6364       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
6365     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
6366   }
6367 
6368   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6369             bool _is_packed>
6370   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
6371       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6372                                        _field_type, _is_packed>& id)
6373       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6374     typename _proto_TypeTraits::Repeated::MutableType to_add =
6375         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
6376     return to_add;
6377   }
6378 
6379   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6380             bool _is_packed>
6381   inline void AddExtension(
6382       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6383                                        _field_type, _is_packed>& id,
6384       typename _proto_TypeTraits::Repeated::ConstType value) {
6385     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
6386                            &_impl_._extensions_);
6387   }
6388 
6389   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6390             bool _is_packed>
6391   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
6392   GetRepeatedExtension(
6393       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6394                                        _field_type, _is_packed>& id) const
6395       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6396     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
6397   }
6398 
6399   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6400             bool _is_packed>
6401   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
6402   MutableRepeatedExtension(
6403       const ::google::protobuf::internal::ExtensionIdentifier<FileOptions, _proto_TypeTraits,
6404                                        _field_type, _is_packed>& id)
6405       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6406     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
6407                                               _is_packed, &_impl_._extensions_);
6408   }
6409   // @@protoc_insertion_point(class_scope:google.protobuf.FileOptions)
6410  private:
6411   class _Internal;
6412   friend class ::google::protobuf::internal::TcParser;
6413   static const ::google::protobuf::internal::TcParseTable<
6414       5, 21, 3,
6415       202, 12>
6416       _table_;
6417 
6418 
6419   friend class ::google::protobuf::MessageLite;
6420   friend class ::google::protobuf::Arena;
6421   template <typename T>
6422   friend class ::google::protobuf::Arena::InternalHelper;
6423   using InternalArenaConstructable_ = void;
6424   using DestructorSkippable_ = void;
6425   struct Impl_ {
6426     inline explicit constexpr Impl_(
6427         ::google::protobuf::internal::ConstantInitialized) noexcept;
6428     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
6429                           ::google::protobuf::Arena* arena);
6430     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
6431                           ::google::protobuf::Arena* arena, const Impl_& from,
6432                           const FileOptions& from_msg);
6433     ::google::protobuf::internal::ExtensionSet _extensions_;
6434     ::google::protobuf::internal::HasBits<1> _has_bits_;
6435     mutable ::google::protobuf::internal::CachedSize _cached_size_;
6436     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
6437     ::google::protobuf::internal::ArenaStringPtr java_package_;
6438     ::google::protobuf::internal::ArenaStringPtr java_outer_classname_;
6439     ::google::protobuf::internal::ArenaStringPtr go_package_;
6440     ::google::protobuf::internal::ArenaStringPtr objc_class_prefix_;
6441     ::google::protobuf::internal::ArenaStringPtr csharp_namespace_;
6442     ::google::protobuf::internal::ArenaStringPtr swift_prefix_;
6443     ::google::protobuf::internal::ArenaStringPtr php_class_prefix_;
6444     ::google::protobuf::internal::ArenaStringPtr php_namespace_;
6445     ::google::protobuf::internal::ArenaStringPtr php_metadata_namespace_;
6446     ::google::protobuf::internal::ArenaStringPtr ruby_package_;
6447     ::google::protobuf::FeatureSet* features_;
6448     bool java_multiple_files_;
6449     bool java_generate_equals_and_hash_;
6450     bool java_string_check_utf8_;
6451     bool cc_generic_services_;
6452     bool java_generic_services_;
6453     bool py_generic_services_;
6454     bool deprecated_;
6455     int optimize_for_;
6456     bool cc_enable_arenas_;
6457     PROTOBUF_TSAN_DECLARE_MEMBER
6458   };
6459   union { Impl_ _impl_; };
6460   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
6461 };
6462 // -------------------------------------------------------------------
6463 
6464 class PROTOBUF_EXPORT FieldOptions final : public ::google::protobuf::Message
6465 /* @@protoc_insertion_point(class_definition:google.protobuf.FieldOptions) */ {
6466  public:
6467   inline FieldOptions() : FieldOptions(nullptr) {}
6468   ~FieldOptions() PROTOBUF_FINAL;
6469   template <typename = void>
6470   explicit PROTOBUF_CONSTEXPR FieldOptions(
6471       ::google::protobuf::internal::ConstantInitialized);
6472 
6473   inline FieldOptions(const FieldOptions& from) : FieldOptions(nullptr, from) {}
6474   inline FieldOptions(FieldOptions&& from) noexcept
6475       : FieldOptions(nullptr, std::move(from)) {}
6476   inline FieldOptions& operator=(const FieldOptions& from) {
6477     CopyFrom(from);
6478     return *this;
6479   }
6480   inline FieldOptions& operator=(FieldOptions&& from) noexcept {
6481     if (this == &from) return *this;
6482     if (GetArena() == from.GetArena()
6483 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
6484         && GetArena() != nullptr
6485 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
6486     ) {
6487       InternalSwap(&from);
6488     } else {
6489       CopyFrom(from);
6490     }
6491     return *this;
6492   }
6493 
6494   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
6495       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6496     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
6497   }
6498   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
6499       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6500     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
6501   }
6502 
6503   static const ::google::protobuf::Descriptor* descriptor() {
6504     return GetDescriptor();
6505   }
6506   static const ::google::protobuf::Descriptor* GetDescriptor() {
6507     return default_instance().GetMetadata().descriptor;
6508   }
6509   static const ::google::protobuf::Reflection* GetReflection() {
6510     return default_instance().GetMetadata().reflection;
6511   }
6512   static const FieldOptions& default_instance() {
6513     return *internal_default_instance();
6514   }
6515   static inline const FieldOptions* internal_default_instance() {
6516     return reinterpret_cast<const FieldOptions*>(
6517         &_FieldOptions_default_instance_);
6518   }
6519   static constexpr int kIndexInFileMessages = 18;
6520   friend void swap(FieldOptions& a, FieldOptions& b) { a.Swap(&b); }
6521   inline void Swap(FieldOptions* other) {
6522     if (other == this) return;
6523 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
6524     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
6525 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
6526     if (GetArena() == other->GetArena()) {
6527 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
6528       InternalSwap(other);
6529     } else {
6530       ::google::protobuf::internal::GenericSwap(this, other);
6531     }
6532   }
6533   void UnsafeArenaSwap(FieldOptions* other) {
6534     if (other == this) return;
6535     ABSL_DCHECK(GetArena() == other->GetArena());
6536     InternalSwap(other);
6537   }
6538 
6539   // implements Message ----------------------------------------------
6540 
6541   FieldOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
6542     return ::google::protobuf::Message::DefaultConstruct<FieldOptions>(arena);
6543   }
6544   using ::google::protobuf::Message::CopyFrom;
6545   void CopyFrom(const FieldOptions& from);
6546   using ::google::protobuf::Message::MergeFrom;
6547   void MergeFrom(const FieldOptions& from) { FieldOptions::MergeImpl(*this, from); }
6548 
6549   private:
6550   static void MergeImpl(
6551       ::google::protobuf::MessageLite& to_msg,
6552       const ::google::protobuf::MessageLite& from_msg);
6553 
6554   public:
6555   bool IsInitialized() const {
6556     return IsInitializedImpl(*this);
6557   }
6558 
6559   private:
6560   static bool IsInitializedImpl(const MessageLite& msg);
6561 
6562   public:
6563   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
6564   #if defined(PROTOBUF_CUSTOM_VTABLE)
6565   private:
6566   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
6567   static ::uint8_t* _InternalSerialize(
6568       const MessageLite& msg, ::uint8_t* target,
6569       ::google::protobuf::io::EpsCopyOutputStream* stream);
6570 
6571   public:
6572   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
6573   ::uint8_t* _InternalSerialize(
6574       ::uint8_t* target,
6575       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
6576     return _InternalSerialize(*this, target, stream);
6577   }
6578   #else   // PROTOBUF_CUSTOM_VTABLE
6579   ::size_t ByteSizeLong() const final;
6580   ::uint8_t* _InternalSerialize(
6581       ::uint8_t* target,
6582       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
6583   #endif  // PROTOBUF_CUSTOM_VTABLE
6584   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
6585 
6586   private:
6587   void SharedCtor(::google::protobuf::Arena* arena);
6588   void SharedDtor();
6589   void InternalSwap(FieldOptions* other);
6590  private:
6591   friend class ::google::protobuf::internal::AnyMetadata;
6592   static ::absl::string_view FullMessageName() { return "google.protobuf.FieldOptions"; }
6593 
6594  protected:
6595   explicit FieldOptions(::google::protobuf::Arena* arena);
6596   FieldOptions(::google::protobuf::Arena* arena, const FieldOptions& from);
6597   FieldOptions(::google::protobuf::Arena* arena, FieldOptions&& from) noexcept
6598       : FieldOptions(arena) {
6599     *this = ::std::move(from);
6600   }
6601   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
6602   static const ::google::protobuf::Message::ClassDataFull _class_data_;
6603 
6604  public:
6605   ::google::protobuf::Metadata GetMetadata() const;
6606   // nested types ----------------------------------------------------
6607   using EditionDefault = FieldOptions_EditionDefault;
6608   using FeatureSupport = FieldOptions_FeatureSupport;
6609   using CType = FieldOptions_CType;
6610   static constexpr CType STRING = FieldOptions_CType_STRING;
6611   static constexpr CType CORD = FieldOptions_CType_CORD;
6612   static constexpr CType STRING_PIECE = FieldOptions_CType_STRING_PIECE;
6613   static inline bool CType_IsValid(int value) {
6614     return FieldOptions_CType_IsValid(value);
6615   }
6616   static constexpr CType CType_MIN = FieldOptions_CType_CType_MIN;
6617   static constexpr CType CType_MAX = FieldOptions_CType_CType_MAX;
6618   static constexpr int CType_ARRAYSIZE = FieldOptions_CType_CType_ARRAYSIZE;
6619   static inline const ::google::protobuf::EnumDescriptor* CType_descriptor() {
6620     return FieldOptions_CType_descriptor();
6621   }
6622   template <typename T>
6623   static inline const std::string& CType_Name(T value) {
6624     return FieldOptions_CType_Name(value);
6625   }
6626   static inline bool CType_Parse(absl::string_view name, CType* value) {
6627     return FieldOptions_CType_Parse(name, value);
6628   }
6629   using JSType = FieldOptions_JSType;
6630   static constexpr JSType JS_NORMAL = FieldOptions_JSType_JS_NORMAL;
6631   static constexpr JSType JS_STRING = FieldOptions_JSType_JS_STRING;
6632   static constexpr JSType JS_NUMBER = FieldOptions_JSType_JS_NUMBER;
6633   static inline bool JSType_IsValid(int value) {
6634     return FieldOptions_JSType_IsValid(value);
6635   }
6636   static constexpr JSType JSType_MIN = FieldOptions_JSType_JSType_MIN;
6637   static constexpr JSType JSType_MAX = FieldOptions_JSType_JSType_MAX;
6638   static constexpr int JSType_ARRAYSIZE = FieldOptions_JSType_JSType_ARRAYSIZE;
6639   static inline const ::google::protobuf::EnumDescriptor* JSType_descriptor() {
6640     return FieldOptions_JSType_descriptor();
6641   }
6642   template <typename T>
6643   static inline const std::string& JSType_Name(T value) {
6644     return FieldOptions_JSType_Name(value);
6645   }
6646   static inline bool JSType_Parse(absl::string_view name, JSType* value) {
6647     return FieldOptions_JSType_Parse(name, value);
6648   }
6649   using OptionRetention = FieldOptions_OptionRetention;
6650   static constexpr OptionRetention RETENTION_UNKNOWN = FieldOptions_OptionRetention_RETENTION_UNKNOWN;
6651   static constexpr OptionRetention RETENTION_RUNTIME = FieldOptions_OptionRetention_RETENTION_RUNTIME;
6652   static constexpr OptionRetention RETENTION_SOURCE = FieldOptions_OptionRetention_RETENTION_SOURCE;
6653   static inline bool OptionRetention_IsValid(int value) {
6654     return FieldOptions_OptionRetention_IsValid(value);
6655   }
6656   static constexpr OptionRetention OptionRetention_MIN = FieldOptions_OptionRetention_OptionRetention_MIN;
6657   static constexpr OptionRetention OptionRetention_MAX = FieldOptions_OptionRetention_OptionRetention_MAX;
6658   static constexpr int OptionRetention_ARRAYSIZE = FieldOptions_OptionRetention_OptionRetention_ARRAYSIZE;
6659   static inline const ::google::protobuf::EnumDescriptor* OptionRetention_descriptor() {
6660     return FieldOptions_OptionRetention_descriptor();
6661   }
6662   template <typename T>
6663   static inline const std::string& OptionRetention_Name(T value) {
6664     return FieldOptions_OptionRetention_Name(value);
6665   }
6666   static inline bool OptionRetention_Parse(absl::string_view name, OptionRetention* value) {
6667     return FieldOptions_OptionRetention_Parse(name, value);
6668   }
6669   using OptionTargetType = FieldOptions_OptionTargetType;
6670   static constexpr OptionTargetType TARGET_TYPE_UNKNOWN = FieldOptions_OptionTargetType_TARGET_TYPE_UNKNOWN;
6671   static constexpr OptionTargetType TARGET_TYPE_FILE = FieldOptions_OptionTargetType_TARGET_TYPE_FILE;
6672   static constexpr OptionTargetType TARGET_TYPE_EXTENSION_RANGE = FieldOptions_OptionTargetType_TARGET_TYPE_EXTENSION_RANGE;
6673   static constexpr OptionTargetType TARGET_TYPE_MESSAGE = FieldOptions_OptionTargetType_TARGET_TYPE_MESSAGE;
6674   static constexpr OptionTargetType TARGET_TYPE_FIELD = FieldOptions_OptionTargetType_TARGET_TYPE_FIELD;
6675   static constexpr OptionTargetType TARGET_TYPE_ONEOF = FieldOptions_OptionTargetType_TARGET_TYPE_ONEOF;
6676   static constexpr OptionTargetType TARGET_TYPE_ENUM = FieldOptions_OptionTargetType_TARGET_TYPE_ENUM;
6677   static constexpr OptionTargetType TARGET_TYPE_ENUM_ENTRY = FieldOptions_OptionTargetType_TARGET_TYPE_ENUM_ENTRY;
6678   static constexpr OptionTargetType TARGET_TYPE_SERVICE = FieldOptions_OptionTargetType_TARGET_TYPE_SERVICE;
6679   static constexpr OptionTargetType TARGET_TYPE_METHOD = FieldOptions_OptionTargetType_TARGET_TYPE_METHOD;
6680   static inline bool OptionTargetType_IsValid(int value) {
6681     return FieldOptions_OptionTargetType_IsValid(value);
6682   }
6683   static constexpr OptionTargetType OptionTargetType_MIN = FieldOptions_OptionTargetType_OptionTargetType_MIN;
6684   static constexpr OptionTargetType OptionTargetType_MAX = FieldOptions_OptionTargetType_OptionTargetType_MAX;
6685   static constexpr int OptionTargetType_ARRAYSIZE = FieldOptions_OptionTargetType_OptionTargetType_ARRAYSIZE;
6686   static inline const ::google::protobuf::EnumDescriptor* OptionTargetType_descriptor() {
6687     return FieldOptions_OptionTargetType_descriptor();
6688   }
6689   template <typename T>
6690   static inline const std::string& OptionTargetType_Name(T value) {
6691     return FieldOptions_OptionTargetType_Name(value);
6692   }
6693   static inline bool OptionTargetType_Parse(absl::string_view name, OptionTargetType* value) {
6694     return FieldOptions_OptionTargetType_Parse(name, value);
6695   }
6696 
6697   // accessors -------------------------------------------------------
6698   enum : int {
6699     kTargetsFieldNumber = 19,
6700     kEditionDefaultsFieldNumber = 20,
6701     kUninterpretedOptionFieldNumber = 999,
6702     kFeaturesFieldNumber = 21,
6703     kFeatureSupportFieldNumber = 22,
6704     kCtypeFieldNumber = 1,
6705     kJstypeFieldNumber = 6,
6706     kPackedFieldNumber = 2,
6707     kLazyFieldNumber = 5,
6708     kUnverifiedLazyFieldNumber = 15,
6709     kDeprecatedFieldNumber = 3,
6710     kWeakFieldNumber = 10,
6711     kDebugRedactFieldNumber = 16,
6712     kRetentionFieldNumber = 17,
6713   };
6714   // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
6715   int targets_size() const;
6716   private:
6717   int _internal_targets_size() const;
6718 
6719   public:
6720   void clear_targets() ;
6721   public:
6722   ::google::protobuf::FieldOptions_OptionTargetType targets(int index) const;
6723   void set_targets(int index, ::google::protobuf::FieldOptions_OptionTargetType value);
6724   void add_targets(::google::protobuf::FieldOptions_OptionTargetType value);
6725   const ::google::protobuf::RepeatedField<int>& targets() const;
6726   ::google::protobuf::RepeatedField<int>* mutable_targets();
6727 
6728   private:
6729   const ::google::protobuf::RepeatedField<int>& _internal_targets() const;
6730   ::google::protobuf::RepeatedField<int>* _internal_mutable_targets();
6731 
6732   public:
6733   // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
6734   int edition_defaults_size() const;
6735   private:
6736   int _internal_edition_defaults_size() const;
6737 
6738   public:
6739   void clear_edition_defaults() ;
6740   ::google::protobuf::FieldOptions_EditionDefault* mutable_edition_defaults(int index);
6741   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>* mutable_edition_defaults();
6742 
6743   private:
6744   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>& _internal_edition_defaults() const;
6745   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>* _internal_mutable_edition_defaults();
6746   public:
6747   const ::google::protobuf::FieldOptions_EditionDefault& edition_defaults(int index) const;
6748   ::google::protobuf::FieldOptions_EditionDefault* add_edition_defaults();
6749   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>& edition_defaults() const;
6750   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
6751   int uninterpreted_option_size() const;
6752   private:
6753   int _internal_uninterpreted_option_size() const;
6754 
6755   public:
6756   void clear_uninterpreted_option() ;
6757   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
6758   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
6759 
6760   private:
6761   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
6762   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
6763   public:
6764   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
6765   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
6766   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
6767   // optional .google.protobuf.FeatureSet features = 21;
6768   bool has_features() const;
6769   void clear_features() ;
6770   const ::google::protobuf::FeatureSet& features() const;
6771   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
6772   ::google::protobuf::FeatureSet* mutable_features();
6773   void set_allocated_features(::google::protobuf::FeatureSet* value);
6774   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
6775   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
6776 
6777   private:
6778   const ::google::protobuf::FeatureSet& _internal_features() const;
6779   ::google::protobuf::FeatureSet* _internal_mutable_features();
6780 
6781   public:
6782   // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
6783   bool has_feature_support() const;
6784   void clear_feature_support() ;
6785   const ::google::protobuf::FieldOptions_FeatureSupport& feature_support() const;
6786   PROTOBUF_NODISCARD ::google::protobuf::FieldOptions_FeatureSupport* release_feature_support();
6787   ::google::protobuf::FieldOptions_FeatureSupport* mutable_feature_support();
6788   void set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value);
6789   void unsafe_arena_set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value);
6790   ::google::protobuf::FieldOptions_FeatureSupport* unsafe_arena_release_feature_support();
6791 
6792   private:
6793   const ::google::protobuf::FieldOptions_FeatureSupport& _internal_feature_support() const;
6794   ::google::protobuf::FieldOptions_FeatureSupport* _internal_mutable_feature_support();
6795 
6796   public:
6797   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
6798   bool has_ctype() const;
6799   void clear_ctype() ;
6800   ::google::protobuf::FieldOptions_CType ctype() const;
6801   void set_ctype(::google::protobuf::FieldOptions_CType value);
6802 
6803   private:
6804   ::google::protobuf::FieldOptions_CType _internal_ctype() const;
6805   void _internal_set_ctype(::google::protobuf::FieldOptions_CType value);
6806 
6807   public:
6808   // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
6809   bool has_jstype() const;
6810   void clear_jstype() ;
6811   ::google::protobuf::FieldOptions_JSType jstype() const;
6812   void set_jstype(::google::protobuf::FieldOptions_JSType value);
6813 
6814   private:
6815   ::google::protobuf::FieldOptions_JSType _internal_jstype() const;
6816   void _internal_set_jstype(::google::protobuf::FieldOptions_JSType value);
6817 
6818   public:
6819   // optional bool packed = 2;
6820   bool has_packed() const;
6821   void clear_packed() ;
6822   bool packed() const;
6823   void set_packed(bool value);
6824 
6825   private:
6826   bool _internal_packed() const;
6827   void _internal_set_packed(bool value);
6828 
6829   public:
6830   // optional bool lazy = 5 [default = false];
6831   bool has_lazy() const;
6832   void clear_lazy() ;
6833   bool lazy() const;
6834   void set_lazy(bool value);
6835 
6836   private:
6837   bool _internal_lazy() const;
6838   void _internal_set_lazy(bool value);
6839 
6840   public:
6841   // optional bool unverified_lazy = 15 [default = false];
6842   bool has_unverified_lazy() const;
6843   void clear_unverified_lazy() ;
6844   bool unverified_lazy() const;
6845   void set_unverified_lazy(bool value);
6846 
6847   private:
6848   bool _internal_unverified_lazy() const;
6849   void _internal_set_unverified_lazy(bool value);
6850 
6851   public:
6852   // optional bool deprecated = 3 [default = false];
6853   bool has_deprecated() const;
6854   void clear_deprecated() ;
6855   bool deprecated() const;
6856   void set_deprecated(bool value);
6857 
6858   private:
6859   bool _internal_deprecated() const;
6860   void _internal_set_deprecated(bool value);
6861 
6862   public:
6863   // optional bool weak = 10 [default = false];
6864   bool has_weak() const;
6865   void clear_weak() ;
6866   bool weak() const;
6867   void set_weak(bool value);
6868 
6869   private:
6870   bool _internal_weak() const;
6871   void _internal_set_weak(bool value);
6872 
6873   public:
6874   // optional bool debug_redact = 16 [default = false];
6875   bool has_debug_redact() const;
6876   void clear_debug_redact() ;
6877   bool debug_redact() const;
6878   void set_debug_redact(bool value);
6879 
6880   private:
6881   bool _internal_debug_redact() const;
6882   void _internal_set_debug_redact(bool value);
6883 
6884   public:
6885   // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
6886   bool has_retention() const;
6887   void clear_retention() ;
6888   ::google::protobuf::FieldOptions_OptionRetention retention() const;
6889   void set_retention(::google::protobuf::FieldOptions_OptionRetention value);
6890 
6891   private:
6892   ::google::protobuf::FieldOptions_OptionRetention _internal_retention() const;
6893   void _internal_set_retention(::google::protobuf::FieldOptions_OptionRetention value);
6894 
6895   public:
6896   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6897             bool _is_packed,
6898             typename = typename _proto_TypeTraits::Singular>
6899   inline bool HasExtension(
6900       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6901                                        _field_type, _is_packed>& id) const {
6902     return _impl_._extensions_.Has(id.number());
6903   }
6904 
6905   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6906             bool _is_packed>
6907   inline void ClearExtension(
6908       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6909                                        _field_type, _is_packed>& id) {
6910     _impl_._extensions_.ClearExtension(id.number());
6911   }
6912 
6913   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6914             bool _is_packed,
6915             typename = typename _proto_TypeTraits::Repeated>
6916   inline int ExtensionSize(
6917       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6918                                        _field_type, _is_packed>& id) const {
6919     return _impl_._extensions_.ExtensionSize(id.number());
6920   }
6921 
6922   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6923             bool _is_packed,
6924             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
6925   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
6926       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6927                                        _field_type, _is_packed>& id) const {
6928     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
6929   }
6930 
6931   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6932             bool _is_packed,
6933             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
6934   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
6935       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6936                                        _field_type, _is_packed>& id) const
6937       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6938     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
6939   }
6940 
6941   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6942             bool _is_packed>
6943   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
6944       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6945                                        _field_type, _is_packed>& id)
6946       ABSL_ATTRIBUTE_LIFETIME_BOUND {
6947     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
6948   }
6949 
6950   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6951             bool _is_packed>
6952   inline void SetExtension(
6953       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6954                                        _field_type, _is_packed>& id,
6955       typename _proto_TypeTraits::Singular::ConstType value) {
6956     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
6957   }
6958 
6959   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6960             bool _is_packed>
6961   inline void SetAllocatedExtension(
6962       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6963                                        _field_type, _is_packed>& id,
6964       typename _proto_TypeTraits::Singular::MutableType value) {
6965     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
6966                                     &_impl_._extensions_);
6967   }
6968   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6969             bool _is_packed>
6970   inline void UnsafeArenaSetAllocatedExtension(
6971       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6972                                        _field_type, _is_packed>& id,
6973       typename _proto_TypeTraits::Singular::MutableType value) {
6974     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
6975                                                value, &_impl_._extensions_);
6976   }
6977   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6978             bool _is_packed>
6979   PROTOBUF_NODISCARD inline
6980       typename _proto_TypeTraits::Singular::MutableType
6981       ReleaseExtension(
6982           const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6983                                            _field_type, _is_packed>& id) {
6984     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
6985   }
6986   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6987             bool _is_packed>
6988   inline typename _proto_TypeTraits::Singular::MutableType
6989   UnsafeArenaReleaseExtension(
6990       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
6991                                        _field_type, _is_packed>& id) {
6992     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
6993                                                  &_impl_._extensions_);
6994   }
6995 
6996   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
6997             bool _is_packed,
6998             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
6999   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
7000       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7001                                        _field_type, _is_packed>& id,
7002       int index) const {
7003     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
7004   }
7005 
7006   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7007             bool _is_packed,
7008             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
7009   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
7010       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7011                                        _field_type, _is_packed>& id,
7012       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7013     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
7014   }
7015 
7016   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7017             bool _is_packed>
7018   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
7019       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7020                                        _field_type, _is_packed>& id,
7021       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
7022     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
7023   }
7024 
7025   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7026             bool _is_packed>
7027   inline void SetExtension(
7028       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7029                                        _field_type, _is_packed>& id,
7030       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
7031     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
7032   }
7033 
7034   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7035             bool _is_packed>
7036   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
7037       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7038                                        _field_type, _is_packed>& id)
7039       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7040     typename _proto_TypeTraits::Repeated::MutableType to_add =
7041         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
7042     return to_add;
7043   }
7044 
7045   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7046             bool _is_packed>
7047   inline void AddExtension(
7048       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7049                                        _field_type, _is_packed>& id,
7050       typename _proto_TypeTraits::Repeated::ConstType value) {
7051     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
7052                            &_impl_._extensions_);
7053   }
7054 
7055   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7056             bool _is_packed>
7057   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
7058   GetRepeatedExtension(
7059       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7060                                        _field_type, _is_packed>& id) const
7061       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7062     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
7063   }
7064 
7065   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7066             bool _is_packed>
7067   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
7068   MutableRepeatedExtension(
7069       const ::google::protobuf::internal::ExtensionIdentifier<FieldOptions, _proto_TypeTraits,
7070                                        _field_type, _is_packed>& id)
7071       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7072     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
7073                                               _is_packed, &_impl_._extensions_);
7074   }
7075   // @@protoc_insertion_point(class_scope:google.protobuf.FieldOptions)
7076  private:
7077   class _Internal;
7078   friend class ::google::protobuf::internal::TcParser;
7079   static const ::google::protobuf::internal::TcParseTable<
7080       4, 14, 8,
7081       0, 7>
7082       _table_;
7083 
7084 
7085   friend class ::google::protobuf::MessageLite;
7086   friend class ::google::protobuf::Arena;
7087   template <typename T>
7088   friend class ::google::protobuf::Arena::InternalHelper;
7089   using InternalArenaConstructable_ = void;
7090   using DestructorSkippable_ = void;
7091   struct Impl_ {
7092     inline explicit constexpr Impl_(
7093         ::google::protobuf::internal::ConstantInitialized) noexcept;
7094     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
7095                           ::google::protobuf::Arena* arena);
7096     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
7097                           ::google::protobuf::Arena* arena, const Impl_& from,
7098                           const FieldOptions& from_msg);
7099     ::google::protobuf::internal::ExtensionSet _extensions_;
7100     ::google::protobuf::internal::HasBits<1> _has_bits_;
7101     mutable ::google::protobuf::internal::CachedSize _cached_size_;
7102     ::google::protobuf::RepeatedField<int> targets_;
7103     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldOptions_EditionDefault > edition_defaults_;
7104     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
7105     ::google::protobuf::FeatureSet* features_;
7106     ::google::protobuf::FieldOptions_FeatureSupport* feature_support_;
7107     int ctype_;
7108     int jstype_;
7109     bool packed_;
7110     bool lazy_;
7111     bool unverified_lazy_;
7112     bool deprecated_;
7113     bool weak_;
7114     bool debug_redact_;
7115     int retention_;
7116     PROTOBUF_TSAN_DECLARE_MEMBER
7117   };
7118   union { Impl_ _impl_; };
7119   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
7120 };
7121 // -------------------------------------------------------------------
7122 
7123 class PROTOBUF_EXPORT FeatureSetDefaults final : public ::google::protobuf::Message
7124 /* @@protoc_insertion_point(class_definition:google.protobuf.FeatureSetDefaults) */ {
7125  public:
7126   inline FeatureSetDefaults() : FeatureSetDefaults(nullptr) {}
7127   ~FeatureSetDefaults() PROTOBUF_FINAL;
7128   template <typename = void>
7129   explicit PROTOBUF_CONSTEXPR FeatureSetDefaults(
7130       ::google::protobuf::internal::ConstantInitialized);
7131 
7132   inline FeatureSetDefaults(const FeatureSetDefaults& from) : FeatureSetDefaults(nullptr, from) {}
7133   inline FeatureSetDefaults(FeatureSetDefaults&& from) noexcept
7134       : FeatureSetDefaults(nullptr, std::move(from)) {}
7135   inline FeatureSetDefaults& operator=(const FeatureSetDefaults& from) {
7136     CopyFrom(from);
7137     return *this;
7138   }
7139   inline FeatureSetDefaults& operator=(FeatureSetDefaults&& from) noexcept {
7140     if (this == &from) return *this;
7141     if (GetArena() == from.GetArena()
7142 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
7143         && GetArena() != nullptr
7144 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
7145     ) {
7146       InternalSwap(&from);
7147     } else {
7148       CopyFrom(from);
7149     }
7150     return *this;
7151   }
7152 
7153   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
7154       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7155     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
7156   }
7157   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
7158       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7159     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
7160   }
7161 
7162   static const ::google::protobuf::Descriptor* descriptor() {
7163     return GetDescriptor();
7164   }
7165   static const ::google::protobuf::Descriptor* GetDescriptor() {
7166     return default_instance().GetMetadata().descriptor;
7167   }
7168   static const ::google::protobuf::Reflection* GetReflection() {
7169     return default_instance().GetMetadata().reflection;
7170   }
7171   static const FeatureSetDefaults& default_instance() {
7172     return *internal_default_instance();
7173   }
7174   static inline const FeatureSetDefaults* internal_default_instance() {
7175     return reinterpret_cast<const FeatureSetDefaults*>(
7176         &_FeatureSetDefaults_default_instance_);
7177   }
7178   static constexpr int kIndexInFileMessages = 28;
7179   friend void swap(FeatureSetDefaults& a, FeatureSetDefaults& b) { a.Swap(&b); }
7180   inline void Swap(FeatureSetDefaults* other) {
7181     if (other == this) return;
7182 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
7183     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
7184 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
7185     if (GetArena() == other->GetArena()) {
7186 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
7187       InternalSwap(other);
7188     } else {
7189       ::google::protobuf::internal::GenericSwap(this, other);
7190     }
7191   }
7192   void UnsafeArenaSwap(FeatureSetDefaults* other) {
7193     if (other == this) return;
7194     ABSL_DCHECK(GetArena() == other->GetArena());
7195     InternalSwap(other);
7196   }
7197 
7198   // implements Message ----------------------------------------------
7199 
7200   FeatureSetDefaults* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
7201     return ::google::protobuf::Message::DefaultConstruct<FeatureSetDefaults>(arena);
7202   }
7203   using ::google::protobuf::Message::CopyFrom;
7204   void CopyFrom(const FeatureSetDefaults& from);
7205   using ::google::protobuf::Message::MergeFrom;
7206   void MergeFrom(const FeatureSetDefaults& from) { FeatureSetDefaults::MergeImpl(*this, from); }
7207 
7208   private:
7209   static void MergeImpl(
7210       ::google::protobuf::MessageLite& to_msg,
7211       const ::google::protobuf::MessageLite& from_msg);
7212 
7213   public:
7214   bool IsInitialized() const {
7215     return IsInitializedImpl(*this);
7216   }
7217 
7218   private:
7219   static bool IsInitializedImpl(const MessageLite& msg);
7220 
7221   public:
7222   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
7223   #if defined(PROTOBUF_CUSTOM_VTABLE)
7224   private:
7225   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
7226   static ::uint8_t* _InternalSerialize(
7227       const MessageLite& msg, ::uint8_t* target,
7228       ::google::protobuf::io::EpsCopyOutputStream* stream);
7229 
7230   public:
7231   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
7232   ::uint8_t* _InternalSerialize(
7233       ::uint8_t* target,
7234       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
7235     return _InternalSerialize(*this, target, stream);
7236   }
7237   #else   // PROTOBUF_CUSTOM_VTABLE
7238   ::size_t ByteSizeLong() const final;
7239   ::uint8_t* _InternalSerialize(
7240       ::uint8_t* target,
7241       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
7242   #endif  // PROTOBUF_CUSTOM_VTABLE
7243   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
7244 
7245   private:
7246   void SharedCtor(::google::protobuf::Arena* arena);
7247   void SharedDtor();
7248   void InternalSwap(FeatureSetDefaults* other);
7249  private:
7250   friend class ::google::protobuf::internal::AnyMetadata;
7251   static ::absl::string_view FullMessageName() { return "google.protobuf.FeatureSetDefaults"; }
7252 
7253  protected:
7254   explicit FeatureSetDefaults(::google::protobuf::Arena* arena);
7255   FeatureSetDefaults(::google::protobuf::Arena* arena, const FeatureSetDefaults& from);
7256   FeatureSetDefaults(::google::protobuf::Arena* arena, FeatureSetDefaults&& from) noexcept
7257       : FeatureSetDefaults(arena) {
7258     *this = ::std::move(from);
7259   }
7260   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
7261   static const ::google::protobuf::Message::ClassDataFull _class_data_;
7262 
7263  public:
7264   ::google::protobuf::Metadata GetMetadata() const;
7265   // nested types ----------------------------------------------------
7266   using FeatureSetEditionDefault = FeatureSetDefaults_FeatureSetEditionDefault;
7267 
7268   // accessors -------------------------------------------------------
7269   enum : int {
7270     kDefaultsFieldNumber = 1,
7271     kMinimumEditionFieldNumber = 4,
7272     kMaximumEditionFieldNumber = 5,
7273   };
7274   // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
7275   int defaults_size() const;
7276   private:
7277   int _internal_defaults_size() const;
7278 
7279   public:
7280   void clear_defaults() ;
7281   ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* mutable_defaults(int index);
7282   ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>* mutable_defaults();
7283 
7284   private:
7285   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>& _internal_defaults() const;
7286   ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>* _internal_mutable_defaults();
7287   public:
7288   const ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault& defaults(int index) const;
7289   ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* add_defaults();
7290   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>& defaults() const;
7291   // optional .google.protobuf.Edition minimum_edition = 4;
7292   bool has_minimum_edition() const;
7293   void clear_minimum_edition() ;
7294   ::google::protobuf::Edition minimum_edition() const;
7295   void set_minimum_edition(::google::protobuf::Edition value);
7296 
7297   private:
7298   ::google::protobuf::Edition _internal_minimum_edition() const;
7299   void _internal_set_minimum_edition(::google::protobuf::Edition value);
7300 
7301   public:
7302   // optional .google.protobuf.Edition maximum_edition = 5;
7303   bool has_maximum_edition() const;
7304   void clear_maximum_edition() ;
7305   ::google::protobuf::Edition maximum_edition() const;
7306   void set_maximum_edition(::google::protobuf::Edition value);
7307 
7308   private:
7309   ::google::protobuf::Edition _internal_maximum_edition() const;
7310   void _internal_set_maximum_edition(::google::protobuf::Edition value);
7311 
7312   public:
7313   // @@protoc_insertion_point(class_scope:google.protobuf.FeatureSetDefaults)
7314  private:
7315   class _Internal;
7316   friend class ::google::protobuf::internal::TcParser;
7317   static const ::google::protobuf::internal::TcParseTable<
7318       1, 3, 3,
7319       0, 2>
7320       _table_;
7321 
7322 
7323   friend class ::google::protobuf::MessageLite;
7324   friend class ::google::protobuf::Arena;
7325   template <typename T>
7326   friend class ::google::protobuf::Arena::InternalHelper;
7327   using InternalArenaConstructable_ = void;
7328   using DestructorSkippable_ = void;
7329   struct Impl_ {
7330     inline explicit constexpr Impl_(
7331         ::google::protobuf::internal::ConstantInitialized) noexcept;
7332     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
7333                           ::google::protobuf::Arena* arena);
7334     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
7335                           ::google::protobuf::Arena* arena, const Impl_& from,
7336                           const FeatureSetDefaults& from_msg);
7337     ::google::protobuf::internal::HasBits<1> _has_bits_;
7338     mutable ::google::protobuf::internal::CachedSize _cached_size_;
7339     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault > defaults_;
7340     int minimum_edition_;
7341     int maximum_edition_;
7342     PROTOBUF_TSAN_DECLARE_MEMBER
7343   };
7344   union { Impl_ _impl_; };
7345   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
7346 };
7347 // -------------------------------------------------------------------
7348 
7349 class PROTOBUF_EXPORT ExtensionRangeOptions final : public ::google::protobuf::Message
7350 /* @@protoc_insertion_point(class_definition:google.protobuf.ExtensionRangeOptions) */ {
7351  public:
7352   inline ExtensionRangeOptions() : ExtensionRangeOptions(nullptr) {}
7353   ~ExtensionRangeOptions() PROTOBUF_FINAL;
7354   template <typename = void>
7355   explicit PROTOBUF_CONSTEXPR ExtensionRangeOptions(
7356       ::google::protobuf::internal::ConstantInitialized);
7357 
7358   inline ExtensionRangeOptions(const ExtensionRangeOptions& from) : ExtensionRangeOptions(nullptr, from) {}
7359   inline ExtensionRangeOptions(ExtensionRangeOptions&& from) noexcept
7360       : ExtensionRangeOptions(nullptr, std::move(from)) {}
7361   inline ExtensionRangeOptions& operator=(const ExtensionRangeOptions& from) {
7362     CopyFrom(from);
7363     return *this;
7364   }
7365   inline ExtensionRangeOptions& operator=(ExtensionRangeOptions&& from) noexcept {
7366     if (this == &from) return *this;
7367     if (GetArena() == from.GetArena()
7368 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
7369         && GetArena() != nullptr
7370 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
7371     ) {
7372       InternalSwap(&from);
7373     } else {
7374       CopyFrom(from);
7375     }
7376     return *this;
7377   }
7378 
7379   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
7380       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7381     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
7382   }
7383   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
7384       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7385     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
7386   }
7387 
7388   static const ::google::protobuf::Descriptor* descriptor() {
7389     return GetDescriptor();
7390   }
7391   static const ::google::protobuf::Descriptor* GetDescriptor() {
7392     return default_instance().GetMetadata().descriptor;
7393   }
7394   static const ::google::protobuf::Reflection* GetReflection() {
7395     return default_instance().GetMetadata().reflection;
7396   }
7397   static const ExtensionRangeOptions& default_instance() {
7398     return *internal_default_instance();
7399   }
7400   static inline const ExtensionRangeOptions* internal_default_instance() {
7401     return reinterpret_cast<const ExtensionRangeOptions*>(
7402         &_ExtensionRangeOptions_default_instance_);
7403   }
7404   static constexpr int kIndexInFileMessages = 6;
7405   friend void swap(ExtensionRangeOptions& a, ExtensionRangeOptions& b) { a.Swap(&b); }
7406   inline void Swap(ExtensionRangeOptions* other) {
7407     if (other == this) return;
7408 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
7409     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
7410 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
7411     if (GetArena() == other->GetArena()) {
7412 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
7413       InternalSwap(other);
7414     } else {
7415       ::google::protobuf::internal::GenericSwap(this, other);
7416     }
7417   }
7418   void UnsafeArenaSwap(ExtensionRangeOptions* other) {
7419     if (other == this) return;
7420     ABSL_DCHECK(GetArena() == other->GetArena());
7421     InternalSwap(other);
7422   }
7423 
7424   // implements Message ----------------------------------------------
7425 
7426   ExtensionRangeOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
7427     return ::google::protobuf::Message::DefaultConstruct<ExtensionRangeOptions>(arena);
7428   }
7429   using ::google::protobuf::Message::CopyFrom;
7430   void CopyFrom(const ExtensionRangeOptions& from);
7431   using ::google::protobuf::Message::MergeFrom;
7432   void MergeFrom(const ExtensionRangeOptions& from) { ExtensionRangeOptions::MergeImpl(*this, from); }
7433 
7434   private:
7435   static void MergeImpl(
7436       ::google::protobuf::MessageLite& to_msg,
7437       const ::google::protobuf::MessageLite& from_msg);
7438 
7439   public:
7440   bool IsInitialized() const {
7441     return IsInitializedImpl(*this);
7442   }
7443 
7444   private:
7445   static bool IsInitializedImpl(const MessageLite& msg);
7446 
7447   public:
7448   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
7449   #if defined(PROTOBUF_CUSTOM_VTABLE)
7450   private:
7451   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
7452   static ::uint8_t* _InternalSerialize(
7453       const MessageLite& msg, ::uint8_t* target,
7454       ::google::protobuf::io::EpsCopyOutputStream* stream);
7455 
7456   public:
7457   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
7458   ::uint8_t* _InternalSerialize(
7459       ::uint8_t* target,
7460       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
7461     return _InternalSerialize(*this, target, stream);
7462   }
7463   #else   // PROTOBUF_CUSTOM_VTABLE
7464   ::size_t ByteSizeLong() const final;
7465   ::uint8_t* _InternalSerialize(
7466       ::uint8_t* target,
7467       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
7468   #endif  // PROTOBUF_CUSTOM_VTABLE
7469   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
7470 
7471   private:
7472   void SharedCtor(::google::protobuf::Arena* arena);
7473   void SharedDtor();
7474   void InternalSwap(ExtensionRangeOptions* other);
7475  private:
7476   friend class ::google::protobuf::internal::AnyMetadata;
7477   static ::absl::string_view FullMessageName() { return "google.protobuf.ExtensionRangeOptions"; }
7478 
7479  protected:
7480   explicit ExtensionRangeOptions(::google::protobuf::Arena* arena);
7481   ExtensionRangeOptions(::google::protobuf::Arena* arena, const ExtensionRangeOptions& from);
7482   ExtensionRangeOptions(::google::protobuf::Arena* arena, ExtensionRangeOptions&& from) noexcept
7483       : ExtensionRangeOptions(arena) {
7484     *this = ::std::move(from);
7485   }
7486   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
7487   static const ::google::protobuf::Message::ClassDataFull _class_data_;
7488 
7489  public:
7490   ::google::protobuf::Metadata GetMetadata() const;
7491   // nested types ----------------------------------------------------
7492   using Declaration = ExtensionRangeOptions_Declaration;
7493   using VerificationState = ExtensionRangeOptions_VerificationState;
7494   static constexpr VerificationState DECLARATION = ExtensionRangeOptions_VerificationState_DECLARATION;
7495   static constexpr VerificationState UNVERIFIED = ExtensionRangeOptions_VerificationState_UNVERIFIED;
7496   static inline bool VerificationState_IsValid(int value) {
7497     return ExtensionRangeOptions_VerificationState_IsValid(value);
7498   }
7499   static constexpr VerificationState VerificationState_MIN = ExtensionRangeOptions_VerificationState_VerificationState_MIN;
7500   static constexpr VerificationState VerificationState_MAX = ExtensionRangeOptions_VerificationState_VerificationState_MAX;
7501   static constexpr int VerificationState_ARRAYSIZE = ExtensionRangeOptions_VerificationState_VerificationState_ARRAYSIZE;
7502   static inline const ::google::protobuf::EnumDescriptor* VerificationState_descriptor() {
7503     return ExtensionRangeOptions_VerificationState_descriptor();
7504   }
7505   template <typename T>
7506   static inline const std::string& VerificationState_Name(T value) {
7507     return ExtensionRangeOptions_VerificationState_Name(value);
7508   }
7509   static inline bool VerificationState_Parse(absl::string_view name, VerificationState* value) {
7510     return ExtensionRangeOptions_VerificationState_Parse(name, value);
7511   }
7512 
7513   // accessors -------------------------------------------------------
7514   enum : int {
7515     kDeclarationFieldNumber = 2,
7516     kUninterpretedOptionFieldNumber = 999,
7517     kFeaturesFieldNumber = 50,
7518     kVerificationFieldNumber = 3,
7519   };
7520   // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
7521   int declaration_size() const;
7522   private:
7523   int _internal_declaration_size() const;
7524 
7525   public:
7526   void clear_declaration() ;
7527   ::google::protobuf::ExtensionRangeOptions_Declaration* mutable_declaration(int index);
7528   ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>* mutable_declaration();
7529 
7530   private:
7531   const ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>& _internal_declaration() const;
7532   ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>* _internal_mutable_declaration();
7533   public:
7534   const ::google::protobuf::ExtensionRangeOptions_Declaration& declaration(int index) const;
7535   ::google::protobuf::ExtensionRangeOptions_Declaration* add_declaration();
7536   const ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>& declaration() const;
7537   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
7538   int uninterpreted_option_size() const;
7539   private:
7540   int _internal_uninterpreted_option_size() const;
7541 
7542   public:
7543   void clear_uninterpreted_option() ;
7544   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
7545   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
7546 
7547   private:
7548   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
7549   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
7550   public:
7551   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
7552   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
7553   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
7554   // optional .google.protobuf.FeatureSet features = 50;
7555   bool has_features() const;
7556   void clear_features() ;
7557   const ::google::protobuf::FeatureSet& features() const;
7558   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
7559   ::google::protobuf::FeatureSet* mutable_features();
7560   void set_allocated_features(::google::protobuf::FeatureSet* value);
7561   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
7562   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
7563 
7564   private:
7565   const ::google::protobuf::FeatureSet& _internal_features() const;
7566   ::google::protobuf::FeatureSet* _internal_mutable_features();
7567 
7568   public:
7569   // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
7570   bool has_verification() const;
7571   void clear_verification() ;
7572   ::google::protobuf::ExtensionRangeOptions_VerificationState verification() const;
7573   void set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value);
7574 
7575   private:
7576   ::google::protobuf::ExtensionRangeOptions_VerificationState _internal_verification() const;
7577   void _internal_set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value);
7578 
7579   public:
7580   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7581             bool _is_packed,
7582             typename = typename _proto_TypeTraits::Singular>
7583   inline bool HasExtension(
7584       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7585                                        _field_type, _is_packed>& id) const {
7586     return _impl_._extensions_.Has(id.number());
7587   }
7588 
7589   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7590             bool _is_packed>
7591   inline void ClearExtension(
7592       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7593                                        _field_type, _is_packed>& id) {
7594     _impl_._extensions_.ClearExtension(id.number());
7595   }
7596 
7597   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7598             bool _is_packed,
7599             typename = typename _proto_TypeTraits::Repeated>
7600   inline int ExtensionSize(
7601       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7602                                        _field_type, _is_packed>& id) const {
7603     return _impl_._extensions_.ExtensionSize(id.number());
7604   }
7605 
7606   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7607             bool _is_packed,
7608             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
7609   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
7610       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7611                                        _field_type, _is_packed>& id) const {
7612     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
7613   }
7614 
7615   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7616             bool _is_packed,
7617             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
7618   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
7619       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7620                                        _field_type, _is_packed>& id) const
7621       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7622     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
7623   }
7624 
7625   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7626             bool _is_packed>
7627   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
7628       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7629                                        _field_type, _is_packed>& id)
7630       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7631     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
7632   }
7633 
7634   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7635             bool _is_packed>
7636   inline void SetExtension(
7637       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7638                                        _field_type, _is_packed>& id,
7639       typename _proto_TypeTraits::Singular::ConstType value) {
7640     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
7641   }
7642 
7643   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7644             bool _is_packed>
7645   inline void SetAllocatedExtension(
7646       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7647                                        _field_type, _is_packed>& id,
7648       typename _proto_TypeTraits::Singular::MutableType value) {
7649     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
7650                                     &_impl_._extensions_);
7651   }
7652   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7653             bool _is_packed>
7654   inline void UnsafeArenaSetAllocatedExtension(
7655       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7656                                        _field_type, _is_packed>& id,
7657       typename _proto_TypeTraits::Singular::MutableType value) {
7658     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
7659                                                value, &_impl_._extensions_);
7660   }
7661   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7662             bool _is_packed>
7663   PROTOBUF_NODISCARD inline
7664       typename _proto_TypeTraits::Singular::MutableType
7665       ReleaseExtension(
7666           const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7667                                            _field_type, _is_packed>& id) {
7668     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
7669   }
7670   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7671             bool _is_packed>
7672   inline typename _proto_TypeTraits::Singular::MutableType
7673   UnsafeArenaReleaseExtension(
7674       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7675                                        _field_type, _is_packed>& id) {
7676     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
7677                                                  &_impl_._extensions_);
7678   }
7679 
7680   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7681             bool _is_packed,
7682             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
7683   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
7684       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7685                                        _field_type, _is_packed>& id,
7686       int index) const {
7687     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
7688   }
7689 
7690   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7691             bool _is_packed,
7692             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
7693   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
7694       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7695                                        _field_type, _is_packed>& id,
7696       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
7697     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
7698   }
7699 
7700   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7701             bool _is_packed>
7702   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
7703       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7704                                        _field_type, _is_packed>& id,
7705       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
7706     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
7707   }
7708 
7709   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7710             bool _is_packed>
7711   inline void SetExtension(
7712       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7713                                        _field_type, _is_packed>& id,
7714       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
7715     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
7716   }
7717 
7718   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7719             bool _is_packed>
7720   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
7721       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7722                                        _field_type, _is_packed>& id)
7723       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7724     typename _proto_TypeTraits::Repeated::MutableType to_add =
7725         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
7726     return to_add;
7727   }
7728 
7729   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7730             bool _is_packed>
7731   inline void AddExtension(
7732       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7733                                        _field_type, _is_packed>& id,
7734       typename _proto_TypeTraits::Repeated::ConstType value) {
7735     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
7736                            &_impl_._extensions_);
7737   }
7738 
7739   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7740             bool _is_packed>
7741   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
7742   GetRepeatedExtension(
7743       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7744                                        _field_type, _is_packed>& id) const
7745       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7746     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
7747   }
7748 
7749   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
7750             bool _is_packed>
7751   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
7752   MutableRepeatedExtension(
7753       const ::google::protobuf::internal::ExtensionIdentifier<ExtensionRangeOptions, _proto_TypeTraits,
7754                                        _field_type, _is_packed>& id)
7755       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7756     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
7757                                               _is_packed, &_impl_._extensions_);
7758   }
7759   // @@protoc_insertion_point(class_scope:google.protobuf.ExtensionRangeOptions)
7760  private:
7761   class _Internal;
7762   friend class ::google::protobuf::internal::TcParser;
7763   static const ::google::protobuf::internal::TcParseTable<
7764       3, 4, 4,
7765       0, 12>
7766       _table_;
7767 
7768 
7769   friend class ::google::protobuf::MessageLite;
7770   friend class ::google::protobuf::Arena;
7771   template <typename T>
7772   friend class ::google::protobuf::Arena::InternalHelper;
7773   using InternalArenaConstructable_ = void;
7774   using DestructorSkippable_ = void;
7775   struct Impl_ {
7776     inline explicit constexpr Impl_(
7777         ::google::protobuf::internal::ConstantInitialized) noexcept;
7778     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
7779                           ::google::protobuf::Arena* arena);
7780     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
7781                           ::google::protobuf::Arena* arena, const Impl_& from,
7782                           const ExtensionRangeOptions& from_msg);
7783     ::google::protobuf::internal::ExtensionSet _extensions_;
7784     ::google::protobuf::internal::HasBits<1> _has_bits_;
7785     mutable ::google::protobuf::internal::CachedSize _cached_size_;
7786     ::google::protobuf::RepeatedPtrField< ::google::protobuf::ExtensionRangeOptions_Declaration > declaration_;
7787     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
7788     ::google::protobuf::FeatureSet* features_;
7789     int verification_;
7790     PROTOBUF_TSAN_DECLARE_MEMBER
7791   };
7792   union { Impl_ _impl_; };
7793   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
7794 };
7795 // -------------------------------------------------------------------
7796 
7797 class PROTOBUF_EXPORT EnumValueOptions final : public ::google::protobuf::Message
7798 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumValueOptions) */ {
7799  public:
7800   inline EnumValueOptions() : EnumValueOptions(nullptr) {}
7801   ~EnumValueOptions() PROTOBUF_FINAL;
7802   template <typename = void>
7803   explicit PROTOBUF_CONSTEXPR EnumValueOptions(
7804       ::google::protobuf::internal::ConstantInitialized);
7805 
7806   inline EnumValueOptions(const EnumValueOptions& from) : EnumValueOptions(nullptr, from) {}
7807   inline EnumValueOptions(EnumValueOptions&& from) noexcept
7808       : EnumValueOptions(nullptr, std::move(from)) {}
7809   inline EnumValueOptions& operator=(const EnumValueOptions& from) {
7810     CopyFrom(from);
7811     return *this;
7812   }
7813   inline EnumValueOptions& operator=(EnumValueOptions&& from) noexcept {
7814     if (this == &from) return *this;
7815     if (GetArena() == from.GetArena()
7816 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
7817         && GetArena() != nullptr
7818 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
7819     ) {
7820       InternalSwap(&from);
7821     } else {
7822       CopyFrom(from);
7823     }
7824     return *this;
7825   }
7826 
7827   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
7828       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7829     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
7830   }
7831   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
7832       ABSL_ATTRIBUTE_LIFETIME_BOUND {
7833     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
7834   }
7835 
7836   static const ::google::protobuf::Descriptor* descriptor() {
7837     return GetDescriptor();
7838   }
7839   static const ::google::protobuf::Descriptor* GetDescriptor() {
7840     return default_instance().GetMetadata().descriptor;
7841   }
7842   static const ::google::protobuf::Reflection* GetReflection() {
7843     return default_instance().GetMetadata().reflection;
7844   }
7845   static const EnumValueOptions& default_instance() {
7846     return *internal_default_instance();
7847   }
7848   static inline const EnumValueOptions* internal_default_instance() {
7849     return reinterpret_cast<const EnumValueOptions*>(
7850         &_EnumValueOptions_default_instance_);
7851   }
7852   static constexpr int kIndexInFileMessages = 21;
7853   friend void swap(EnumValueOptions& a, EnumValueOptions& b) { a.Swap(&b); }
7854   inline void Swap(EnumValueOptions* other) {
7855     if (other == this) return;
7856 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
7857     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
7858 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
7859     if (GetArena() == other->GetArena()) {
7860 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
7861       InternalSwap(other);
7862     } else {
7863       ::google::protobuf::internal::GenericSwap(this, other);
7864     }
7865   }
7866   void UnsafeArenaSwap(EnumValueOptions* other) {
7867     if (other == this) return;
7868     ABSL_DCHECK(GetArena() == other->GetArena());
7869     InternalSwap(other);
7870   }
7871 
7872   // implements Message ----------------------------------------------
7873 
7874   EnumValueOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
7875     return ::google::protobuf::Message::DefaultConstruct<EnumValueOptions>(arena);
7876   }
7877   using ::google::protobuf::Message::CopyFrom;
7878   void CopyFrom(const EnumValueOptions& from);
7879   using ::google::protobuf::Message::MergeFrom;
7880   void MergeFrom(const EnumValueOptions& from) { EnumValueOptions::MergeImpl(*this, from); }
7881 
7882   private:
7883   static void MergeImpl(
7884       ::google::protobuf::MessageLite& to_msg,
7885       const ::google::protobuf::MessageLite& from_msg);
7886 
7887   public:
7888   bool IsInitialized() const {
7889     return IsInitializedImpl(*this);
7890   }
7891 
7892   private:
7893   static bool IsInitializedImpl(const MessageLite& msg);
7894 
7895   public:
7896   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
7897   #if defined(PROTOBUF_CUSTOM_VTABLE)
7898   private:
7899   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
7900   static ::uint8_t* _InternalSerialize(
7901       const MessageLite& msg, ::uint8_t* target,
7902       ::google::protobuf::io::EpsCopyOutputStream* stream);
7903 
7904   public:
7905   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
7906   ::uint8_t* _InternalSerialize(
7907       ::uint8_t* target,
7908       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
7909     return _InternalSerialize(*this, target, stream);
7910   }
7911   #else   // PROTOBUF_CUSTOM_VTABLE
7912   ::size_t ByteSizeLong() const final;
7913   ::uint8_t* _InternalSerialize(
7914       ::uint8_t* target,
7915       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
7916   #endif  // PROTOBUF_CUSTOM_VTABLE
7917   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
7918 
7919   private:
7920   void SharedCtor(::google::protobuf::Arena* arena);
7921   void SharedDtor();
7922   void InternalSwap(EnumValueOptions* other);
7923  private:
7924   friend class ::google::protobuf::internal::AnyMetadata;
7925   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumValueOptions"; }
7926 
7927  protected:
7928   explicit EnumValueOptions(::google::protobuf::Arena* arena);
7929   EnumValueOptions(::google::protobuf::Arena* arena, const EnumValueOptions& from);
7930   EnumValueOptions(::google::protobuf::Arena* arena, EnumValueOptions&& from) noexcept
7931       : EnumValueOptions(arena) {
7932     *this = ::std::move(from);
7933   }
7934   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
7935   static const ::google::protobuf::Message::ClassDataFull _class_data_;
7936 
7937  public:
7938   ::google::protobuf::Metadata GetMetadata() const;
7939   // nested types ----------------------------------------------------
7940 
7941   // accessors -------------------------------------------------------
7942   enum : int {
7943     kUninterpretedOptionFieldNumber = 999,
7944     kFeaturesFieldNumber = 2,
7945     kFeatureSupportFieldNumber = 4,
7946     kDeprecatedFieldNumber = 1,
7947     kDebugRedactFieldNumber = 3,
7948   };
7949   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
7950   int uninterpreted_option_size() const;
7951   private:
7952   int _internal_uninterpreted_option_size() const;
7953 
7954   public:
7955   void clear_uninterpreted_option() ;
7956   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
7957   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
7958 
7959   private:
7960   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
7961   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
7962   public:
7963   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
7964   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
7965   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
7966   // optional .google.protobuf.FeatureSet features = 2;
7967   bool has_features() const;
7968   void clear_features() ;
7969   const ::google::protobuf::FeatureSet& features() const;
7970   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
7971   ::google::protobuf::FeatureSet* mutable_features();
7972   void set_allocated_features(::google::protobuf::FeatureSet* value);
7973   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
7974   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
7975 
7976   private:
7977   const ::google::protobuf::FeatureSet& _internal_features() const;
7978   ::google::protobuf::FeatureSet* _internal_mutable_features();
7979 
7980   public:
7981   // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
7982   bool has_feature_support() const;
7983   void clear_feature_support() ;
7984   const ::google::protobuf::FieldOptions_FeatureSupport& feature_support() const;
7985   PROTOBUF_NODISCARD ::google::protobuf::FieldOptions_FeatureSupport* release_feature_support();
7986   ::google::protobuf::FieldOptions_FeatureSupport* mutable_feature_support();
7987   void set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value);
7988   void unsafe_arena_set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value);
7989   ::google::protobuf::FieldOptions_FeatureSupport* unsafe_arena_release_feature_support();
7990 
7991   private:
7992   const ::google::protobuf::FieldOptions_FeatureSupport& _internal_feature_support() const;
7993   ::google::protobuf::FieldOptions_FeatureSupport* _internal_mutable_feature_support();
7994 
7995   public:
7996   // optional bool deprecated = 1 [default = false];
7997   bool has_deprecated() const;
7998   void clear_deprecated() ;
7999   bool deprecated() const;
8000   void set_deprecated(bool value);
8001 
8002   private:
8003   bool _internal_deprecated() const;
8004   void _internal_set_deprecated(bool value);
8005 
8006   public:
8007   // optional bool debug_redact = 3 [default = false];
8008   bool has_debug_redact() const;
8009   void clear_debug_redact() ;
8010   bool debug_redact() const;
8011   void set_debug_redact(bool value);
8012 
8013   private:
8014   bool _internal_debug_redact() const;
8015   void _internal_set_debug_redact(bool value);
8016 
8017   public:
8018   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8019             bool _is_packed,
8020             typename = typename _proto_TypeTraits::Singular>
8021   inline bool HasExtension(
8022       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8023                                        _field_type, _is_packed>& id) const {
8024     return _impl_._extensions_.Has(id.number());
8025   }
8026 
8027   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8028             bool _is_packed>
8029   inline void ClearExtension(
8030       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8031                                        _field_type, _is_packed>& id) {
8032     _impl_._extensions_.ClearExtension(id.number());
8033   }
8034 
8035   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8036             bool _is_packed,
8037             typename = typename _proto_TypeTraits::Repeated>
8038   inline int ExtensionSize(
8039       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8040                                        _field_type, _is_packed>& id) const {
8041     return _impl_._extensions_.ExtensionSize(id.number());
8042   }
8043 
8044   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8045             bool _is_packed,
8046             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
8047   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
8048       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8049                                        _field_type, _is_packed>& id) const {
8050     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
8051   }
8052 
8053   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8054             bool _is_packed,
8055             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
8056   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
8057       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8058                                        _field_type, _is_packed>& id) const
8059       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8060     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
8061   }
8062 
8063   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8064             bool _is_packed>
8065   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
8066       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8067                                        _field_type, _is_packed>& id)
8068       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8069     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
8070   }
8071 
8072   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8073             bool _is_packed>
8074   inline void SetExtension(
8075       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8076                                        _field_type, _is_packed>& id,
8077       typename _proto_TypeTraits::Singular::ConstType value) {
8078     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
8079   }
8080 
8081   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8082             bool _is_packed>
8083   inline void SetAllocatedExtension(
8084       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8085                                        _field_type, _is_packed>& id,
8086       typename _proto_TypeTraits::Singular::MutableType value) {
8087     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
8088                                     &_impl_._extensions_);
8089   }
8090   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8091             bool _is_packed>
8092   inline void UnsafeArenaSetAllocatedExtension(
8093       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8094                                        _field_type, _is_packed>& id,
8095       typename _proto_TypeTraits::Singular::MutableType value) {
8096     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
8097                                                value, &_impl_._extensions_);
8098   }
8099   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8100             bool _is_packed>
8101   PROTOBUF_NODISCARD inline
8102       typename _proto_TypeTraits::Singular::MutableType
8103       ReleaseExtension(
8104           const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8105                                            _field_type, _is_packed>& id) {
8106     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
8107   }
8108   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8109             bool _is_packed>
8110   inline typename _proto_TypeTraits::Singular::MutableType
8111   UnsafeArenaReleaseExtension(
8112       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8113                                        _field_type, _is_packed>& id) {
8114     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
8115                                                  &_impl_._extensions_);
8116   }
8117 
8118   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8119             bool _is_packed,
8120             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
8121   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
8122       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8123                                        _field_type, _is_packed>& id,
8124       int index) const {
8125     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
8126   }
8127 
8128   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8129             bool _is_packed,
8130             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
8131   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
8132       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8133                                        _field_type, _is_packed>& id,
8134       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8135     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
8136   }
8137 
8138   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8139             bool _is_packed>
8140   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
8141       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8142                                        _field_type, _is_packed>& id,
8143       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
8144     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
8145   }
8146 
8147   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8148             bool _is_packed>
8149   inline void SetExtension(
8150       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8151                                        _field_type, _is_packed>& id,
8152       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
8153     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
8154   }
8155 
8156   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8157             bool _is_packed>
8158   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
8159       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8160                                        _field_type, _is_packed>& id)
8161       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8162     typename _proto_TypeTraits::Repeated::MutableType to_add =
8163         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
8164     return to_add;
8165   }
8166 
8167   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8168             bool _is_packed>
8169   inline void AddExtension(
8170       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8171                                        _field_type, _is_packed>& id,
8172       typename _proto_TypeTraits::Repeated::ConstType value) {
8173     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
8174                            &_impl_._extensions_);
8175   }
8176 
8177   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8178             bool _is_packed>
8179   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
8180   GetRepeatedExtension(
8181       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8182                                        _field_type, _is_packed>& id) const
8183       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8184     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
8185   }
8186 
8187   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8188             bool _is_packed>
8189   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
8190   MutableRepeatedExtension(
8191       const ::google::protobuf::internal::ExtensionIdentifier<EnumValueOptions, _proto_TypeTraits,
8192                                        _field_type, _is_packed>& id)
8193       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8194     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
8195                                               _is_packed, &_impl_._extensions_);
8196   }
8197   // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueOptions)
8198  private:
8199   class _Internal;
8200   friend class ::google::protobuf::internal::TcParser;
8201   static const ::google::protobuf::internal::TcParseTable<
8202       3, 5, 3,
8203       0, 7>
8204       _table_;
8205 
8206 
8207   friend class ::google::protobuf::MessageLite;
8208   friend class ::google::protobuf::Arena;
8209   template <typename T>
8210   friend class ::google::protobuf::Arena::InternalHelper;
8211   using InternalArenaConstructable_ = void;
8212   using DestructorSkippable_ = void;
8213   struct Impl_ {
8214     inline explicit constexpr Impl_(
8215         ::google::protobuf::internal::ConstantInitialized) noexcept;
8216     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
8217                           ::google::protobuf::Arena* arena);
8218     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
8219                           ::google::protobuf::Arena* arena, const Impl_& from,
8220                           const EnumValueOptions& from_msg);
8221     ::google::protobuf::internal::ExtensionSet _extensions_;
8222     ::google::protobuf::internal::HasBits<1> _has_bits_;
8223     mutable ::google::protobuf::internal::CachedSize _cached_size_;
8224     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
8225     ::google::protobuf::FeatureSet* features_;
8226     ::google::protobuf::FieldOptions_FeatureSupport* feature_support_;
8227     bool deprecated_;
8228     bool debug_redact_;
8229     PROTOBUF_TSAN_DECLARE_MEMBER
8230   };
8231   union { Impl_ _impl_; };
8232   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
8233 };
8234 // -------------------------------------------------------------------
8235 
8236 class PROTOBUF_EXPORT EnumOptions final : public ::google::protobuf::Message
8237 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumOptions) */ {
8238  public:
8239   inline EnumOptions() : EnumOptions(nullptr) {}
8240   ~EnumOptions() PROTOBUF_FINAL;
8241   template <typename = void>
8242   explicit PROTOBUF_CONSTEXPR EnumOptions(
8243       ::google::protobuf::internal::ConstantInitialized);
8244 
8245   inline EnumOptions(const EnumOptions& from) : EnumOptions(nullptr, from) {}
8246   inline EnumOptions(EnumOptions&& from) noexcept
8247       : EnumOptions(nullptr, std::move(from)) {}
8248   inline EnumOptions& operator=(const EnumOptions& from) {
8249     CopyFrom(from);
8250     return *this;
8251   }
8252   inline EnumOptions& operator=(EnumOptions&& from) noexcept {
8253     if (this == &from) return *this;
8254     if (GetArena() == from.GetArena()
8255 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
8256         && GetArena() != nullptr
8257 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
8258     ) {
8259       InternalSwap(&from);
8260     } else {
8261       CopyFrom(from);
8262     }
8263     return *this;
8264   }
8265 
8266   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
8267       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8268     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
8269   }
8270   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
8271       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8272     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
8273   }
8274 
8275   static const ::google::protobuf::Descriptor* descriptor() {
8276     return GetDescriptor();
8277   }
8278   static const ::google::protobuf::Descriptor* GetDescriptor() {
8279     return default_instance().GetMetadata().descriptor;
8280   }
8281   static const ::google::protobuf::Reflection* GetReflection() {
8282     return default_instance().GetMetadata().reflection;
8283   }
8284   static const EnumOptions& default_instance() {
8285     return *internal_default_instance();
8286   }
8287   static inline const EnumOptions* internal_default_instance() {
8288     return reinterpret_cast<const EnumOptions*>(
8289         &_EnumOptions_default_instance_);
8290   }
8291   static constexpr int kIndexInFileMessages = 20;
8292   friend void swap(EnumOptions& a, EnumOptions& b) { a.Swap(&b); }
8293   inline void Swap(EnumOptions* other) {
8294     if (other == this) return;
8295 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
8296     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
8297 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
8298     if (GetArena() == other->GetArena()) {
8299 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
8300       InternalSwap(other);
8301     } else {
8302       ::google::protobuf::internal::GenericSwap(this, other);
8303     }
8304   }
8305   void UnsafeArenaSwap(EnumOptions* other) {
8306     if (other == this) return;
8307     ABSL_DCHECK(GetArena() == other->GetArena());
8308     InternalSwap(other);
8309   }
8310 
8311   // implements Message ----------------------------------------------
8312 
8313   EnumOptions* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
8314     return ::google::protobuf::Message::DefaultConstruct<EnumOptions>(arena);
8315   }
8316   using ::google::protobuf::Message::CopyFrom;
8317   void CopyFrom(const EnumOptions& from);
8318   using ::google::protobuf::Message::MergeFrom;
8319   void MergeFrom(const EnumOptions& from) { EnumOptions::MergeImpl(*this, from); }
8320 
8321   private:
8322   static void MergeImpl(
8323       ::google::protobuf::MessageLite& to_msg,
8324       const ::google::protobuf::MessageLite& from_msg);
8325 
8326   public:
8327   bool IsInitialized() const {
8328     return IsInitializedImpl(*this);
8329   }
8330 
8331   private:
8332   static bool IsInitializedImpl(const MessageLite& msg);
8333 
8334   public:
8335   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
8336   #if defined(PROTOBUF_CUSTOM_VTABLE)
8337   private:
8338   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
8339   static ::uint8_t* _InternalSerialize(
8340       const MessageLite& msg, ::uint8_t* target,
8341       ::google::protobuf::io::EpsCopyOutputStream* stream);
8342 
8343   public:
8344   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
8345   ::uint8_t* _InternalSerialize(
8346       ::uint8_t* target,
8347       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
8348     return _InternalSerialize(*this, target, stream);
8349   }
8350   #else   // PROTOBUF_CUSTOM_VTABLE
8351   ::size_t ByteSizeLong() const final;
8352   ::uint8_t* _InternalSerialize(
8353       ::uint8_t* target,
8354       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
8355   #endif  // PROTOBUF_CUSTOM_VTABLE
8356   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
8357 
8358   private:
8359   void SharedCtor(::google::protobuf::Arena* arena);
8360   void SharedDtor();
8361   void InternalSwap(EnumOptions* other);
8362  private:
8363   friend class ::google::protobuf::internal::AnyMetadata;
8364   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumOptions"; }
8365 
8366  protected:
8367   explicit EnumOptions(::google::protobuf::Arena* arena);
8368   EnumOptions(::google::protobuf::Arena* arena, const EnumOptions& from);
8369   EnumOptions(::google::protobuf::Arena* arena, EnumOptions&& from) noexcept
8370       : EnumOptions(arena) {
8371     *this = ::std::move(from);
8372   }
8373   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
8374   static const ::google::protobuf::Message::ClassDataFull _class_data_;
8375 
8376  public:
8377   ::google::protobuf::Metadata GetMetadata() const;
8378   // nested types ----------------------------------------------------
8379 
8380   // accessors -------------------------------------------------------
8381   enum : int {
8382     kUninterpretedOptionFieldNumber = 999,
8383     kFeaturesFieldNumber = 7,
8384     kAllowAliasFieldNumber = 2,
8385     kDeprecatedFieldNumber = 3,
8386     kDeprecatedLegacyJsonFieldConflictsFieldNumber = 6,
8387   };
8388   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
8389   int uninterpreted_option_size() const;
8390   private:
8391   int _internal_uninterpreted_option_size() const;
8392 
8393   public:
8394   void clear_uninterpreted_option() ;
8395   ::google::protobuf::UninterpretedOption* mutable_uninterpreted_option(int index);
8396   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* mutable_uninterpreted_option();
8397 
8398   private:
8399   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& _internal_uninterpreted_option() const;
8400   ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* _internal_mutable_uninterpreted_option();
8401   public:
8402   const ::google::protobuf::UninterpretedOption& uninterpreted_option(int index) const;
8403   ::google::protobuf::UninterpretedOption* add_uninterpreted_option();
8404   const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& uninterpreted_option() const;
8405   // optional .google.protobuf.FeatureSet features = 7;
8406   bool has_features() const;
8407   void clear_features() ;
8408   const ::google::protobuf::FeatureSet& features() const;
8409   PROTOBUF_NODISCARD ::google::protobuf::FeatureSet* release_features();
8410   ::google::protobuf::FeatureSet* mutable_features();
8411   void set_allocated_features(::google::protobuf::FeatureSet* value);
8412   void unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value);
8413   ::google::protobuf::FeatureSet* unsafe_arena_release_features();
8414 
8415   private:
8416   const ::google::protobuf::FeatureSet& _internal_features() const;
8417   ::google::protobuf::FeatureSet* _internal_mutable_features();
8418 
8419   public:
8420   // optional bool allow_alias = 2;
8421   bool has_allow_alias() const;
8422   void clear_allow_alias() ;
8423   bool allow_alias() const;
8424   void set_allow_alias(bool value);
8425 
8426   private:
8427   bool _internal_allow_alias() const;
8428   void _internal_set_allow_alias(bool value);
8429 
8430   public:
8431   // optional bool deprecated = 3 [default = false];
8432   bool has_deprecated() const;
8433   void clear_deprecated() ;
8434   bool deprecated() const;
8435   void set_deprecated(bool value);
8436 
8437   private:
8438   bool _internal_deprecated() const;
8439   void _internal_set_deprecated(bool value);
8440 
8441   public:
8442   // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
8443   [[deprecated]]  bool has_deprecated_legacy_json_field_conflicts() const;
8444   [[deprecated]]  void clear_deprecated_legacy_json_field_conflicts() ;
8445   [[deprecated]] bool deprecated_legacy_json_field_conflicts() const;
8446   [[deprecated]] void set_deprecated_legacy_json_field_conflicts(bool value);
8447 
8448   private:
8449   bool _internal_deprecated_legacy_json_field_conflicts() const;
8450   void _internal_set_deprecated_legacy_json_field_conflicts(bool value);
8451 
8452   public:
8453   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8454             bool _is_packed,
8455             typename = typename _proto_TypeTraits::Singular>
8456   inline bool HasExtension(
8457       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8458                                        _field_type, _is_packed>& id) const {
8459     return _impl_._extensions_.Has(id.number());
8460   }
8461 
8462   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8463             bool _is_packed>
8464   inline void ClearExtension(
8465       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8466                                        _field_type, _is_packed>& id) {
8467     _impl_._extensions_.ClearExtension(id.number());
8468   }
8469 
8470   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8471             bool _is_packed,
8472             typename = typename _proto_TypeTraits::Repeated>
8473   inline int ExtensionSize(
8474       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8475                                        _field_type, _is_packed>& id) const {
8476     return _impl_._extensions_.ExtensionSize(id.number());
8477   }
8478 
8479   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8480             bool _is_packed,
8481             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
8482   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
8483       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8484                                        _field_type, _is_packed>& id) const {
8485     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
8486   }
8487 
8488   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8489             bool _is_packed,
8490             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
8491   inline typename _proto_TypeTraits::Singular::ConstType GetExtension(
8492       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8493                                        _field_type, _is_packed>& id) const
8494       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8495     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, id.default_value());
8496   }
8497 
8498   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8499             bool _is_packed>
8500   inline typename _proto_TypeTraits::Singular::MutableType MutableExtension(
8501       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8502                                        _field_type, _is_packed>& id)
8503       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8504     return _proto_TypeTraits::Mutable(id.number(), _field_type, &_impl_._extensions_);
8505   }
8506 
8507   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8508             bool _is_packed>
8509   inline void SetExtension(
8510       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8511                                        _field_type, _is_packed>& id,
8512       typename _proto_TypeTraits::Singular::ConstType value) {
8513     _proto_TypeTraits::Set(id.number(), _field_type, value, &_impl_._extensions_);
8514   }
8515 
8516   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8517             bool _is_packed>
8518   inline void SetAllocatedExtension(
8519       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8520                                        _field_type, _is_packed>& id,
8521       typename _proto_TypeTraits::Singular::MutableType value) {
8522     _proto_TypeTraits::SetAllocated(id.number(), _field_type, value,
8523                                     &_impl_._extensions_);
8524   }
8525   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8526             bool _is_packed>
8527   inline void UnsafeArenaSetAllocatedExtension(
8528       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8529                                        _field_type, _is_packed>& id,
8530       typename _proto_TypeTraits::Singular::MutableType value) {
8531     _proto_TypeTraits::UnsafeArenaSetAllocated(id.number(), _field_type,
8532                                                value, &_impl_._extensions_);
8533   }
8534   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8535             bool _is_packed>
8536   PROTOBUF_NODISCARD inline
8537       typename _proto_TypeTraits::Singular::MutableType
8538       ReleaseExtension(
8539           const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8540                                            _field_type, _is_packed>& id) {
8541     return _proto_TypeTraits::Release(id.number(), _field_type, &_impl_._extensions_);
8542   }
8543   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8544             bool _is_packed>
8545   inline typename _proto_TypeTraits::Singular::MutableType
8546   UnsafeArenaReleaseExtension(
8547       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8548                                        _field_type, _is_packed>& id) {
8549     return _proto_TypeTraits::UnsafeArenaRelease(id.number(), _field_type,
8550                                                  &_impl_._extensions_);
8551   }
8552 
8553   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8554             bool _is_packed,
8555             std::enable_if_t<!_proto_TypeTraits::kLifetimeBound, int> = 0>
8556   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
8557       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8558                                        _field_type, _is_packed>& id,
8559       int index) const {
8560     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
8561   }
8562 
8563   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8564             bool _is_packed,
8565             std::enable_if_t<_proto_TypeTraits::kLifetimeBound, int> = 0>
8566   inline typename _proto_TypeTraits::Repeated::ConstType GetExtension(
8567       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8568                                        _field_type, _is_packed>& id,
8569       int index) const ABSL_ATTRIBUTE_LIFETIME_BOUND {
8570     return _proto_TypeTraits::Get(id.number(), _impl_._extensions_, index);
8571   }
8572 
8573   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8574             bool _is_packed>
8575   inline typename _proto_TypeTraits::Repeated::MutableType MutableExtension(
8576       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8577                                        _field_type, _is_packed>& id,
8578       int index) ABSL_ATTRIBUTE_LIFETIME_BOUND {
8579     return _proto_TypeTraits::Mutable(id.number(), index, &_impl_._extensions_);
8580   }
8581 
8582   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8583             bool _is_packed>
8584   inline void SetExtension(
8585       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8586                                        _field_type, _is_packed>& id,
8587       int index, typename _proto_TypeTraits::Repeated::ConstType value) {
8588     _proto_TypeTraits::Set(id.number(), index, value, &_impl_._extensions_);
8589   }
8590 
8591   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8592             bool _is_packed>
8593   inline typename _proto_TypeTraits::Repeated::MutableType AddExtension(
8594       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8595                                        _field_type, _is_packed>& id)
8596       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8597     typename _proto_TypeTraits::Repeated::MutableType to_add =
8598         _proto_TypeTraits::Add(id.number(), _field_type, &_impl_._extensions_);
8599     return to_add;
8600   }
8601 
8602   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8603             bool _is_packed>
8604   inline void AddExtension(
8605       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8606                                        _field_type, _is_packed>& id,
8607       typename _proto_TypeTraits::Repeated::ConstType value) {
8608     _proto_TypeTraits::Add(id.number(), _field_type, _is_packed, value,
8609                            &_impl_._extensions_);
8610   }
8611 
8612   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8613             bool _is_packed>
8614   inline const typename _proto_TypeTraits::Repeated::RepeatedFieldType&
8615   GetRepeatedExtension(
8616       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8617                                        _field_type, _is_packed>& id) const
8618       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8619     return _proto_TypeTraits::GetRepeated(id.number(), _impl_._extensions_);
8620   }
8621 
8622   template <typename _proto_TypeTraits, ::google::protobuf::internal::FieldType _field_type,
8623             bool _is_packed>
8624   inline typename _proto_TypeTraits::Repeated::RepeatedFieldType*
8625   MutableRepeatedExtension(
8626       const ::google::protobuf::internal::ExtensionIdentifier<EnumOptions, _proto_TypeTraits,
8627                                        _field_type, _is_packed>& id)
8628       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8629     return _proto_TypeTraits::MutableRepeated(id.number(), _field_type,
8630                                               _is_packed, &_impl_._extensions_);
8631   }
8632   // @@protoc_insertion_point(class_scope:google.protobuf.EnumOptions)
8633  private:
8634   class _Internal;
8635   friend class ::google::protobuf::internal::TcParser;
8636   static const ::google::protobuf::internal::TcParseTable<
8637       3, 5, 2,
8638       0, 7>
8639       _table_;
8640 
8641 
8642   friend class ::google::protobuf::MessageLite;
8643   friend class ::google::protobuf::Arena;
8644   template <typename T>
8645   friend class ::google::protobuf::Arena::InternalHelper;
8646   using InternalArenaConstructable_ = void;
8647   using DestructorSkippable_ = void;
8648   struct Impl_ {
8649     inline explicit constexpr Impl_(
8650         ::google::protobuf::internal::ConstantInitialized) noexcept;
8651     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
8652                           ::google::protobuf::Arena* arena);
8653     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
8654                           ::google::protobuf::Arena* arena, const Impl_& from,
8655                           const EnumOptions& from_msg);
8656     ::google::protobuf::internal::ExtensionSet _extensions_;
8657     ::google::protobuf::internal::HasBits<1> _has_bits_;
8658     mutable ::google::protobuf::internal::CachedSize _cached_size_;
8659     ::google::protobuf::RepeatedPtrField< ::google::protobuf::UninterpretedOption > uninterpreted_option_;
8660     ::google::protobuf::FeatureSet* features_;
8661     bool allow_alias_;
8662     bool deprecated_;
8663     bool deprecated_legacy_json_field_conflicts_;
8664     PROTOBUF_TSAN_DECLARE_MEMBER
8665   };
8666   union { Impl_ _impl_; };
8667   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
8668 };
8669 // -------------------------------------------------------------------
8670 
8671 class PROTOBUF_EXPORT OneofDescriptorProto final : public ::google::protobuf::Message
8672 /* @@protoc_insertion_point(class_definition:google.protobuf.OneofDescriptorProto) */ {
8673  public:
8674   inline OneofDescriptorProto() : OneofDescriptorProto(nullptr) {}
8675   ~OneofDescriptorProto() PROTOBUF_FINAL;
8676   template <typename = void>
8677   explicit PROTOBUF_CONSTEXPR OneofDescriptorProto(
8678       ::google::protobuf::internal::ConstantInitialized);
8679 
8680   inline OneofDescriptorProto(const OneofDescriptorProto& from) : OneofDescriptorProto(nullptr, from) {}
8681   inline OneofDescriptorProto(OneofDescriptorProto&& from) noexcept
8682       : OneofDescriptorProto(nullptr, std::move(from)) {}
8683   inline OneofDescriptorProto& operator=(const OneofDescriptorProto& from) {
8684     CopyFrom(from);
8685     return *this;
8686   }
8687   inline OneofDescriptorProto& operator=(OneofDescriptorProto&& from) noexcept {
8688     if (this == &from) return *this;
8689     if (GetArena() == from.GetArena()
8690 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
8691         && GetArena() != nullptr
8692 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
8693     ) {
8694       InternalSwap(&from);
8695     } else {
8696       CopyFrom(from);
8697     }
8698     return *this;
8699   }
8700 
8701   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
8702       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8703     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
8704   }
8705   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
8706       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8707     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
8708   }
8709 
8710   static const ::google::protobuf::Descriptor* descriptor() {
8711     return GetDescriptor();
8712   }
8713   static const ::google::protobuf::Descriptor* GetDescriptor() {
8714     return default_instance().GetMetadata().descriptor;
8715   }
8716   static const ::google::protobuf::Reflection* GetReflection() {
8717     return default_instance().GetMetadata().reflection;
8718   }
8719   static const OneofDescriptorProto& default_instance() {
8720     return *internal_default_instance();
8721   }
8722   static inline const OneofDescriptorProto* internal_default_instance() {
8723     return reinterpret_cast<const OneofDescriptorProto*>(
8724         &_OneofDescriptorProto_default_instance_);
8725   }
8726   static constexpr int kIndexInFileMessages = 8;
8727   friend void swap(OneofDescriptorProto& a, OneofDescriptorProto& b) { a.Swap(&b); }
8728   inline void Swap(OneofDescriptorProto* other) {
8729     if (other == this) return;
8730 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
8731     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
8732 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
8733     if (GetArena() == other->GetArena()) {
8734 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
8735       InternalSwap(other);
8736     } else {
8737       ::google::protobuf::internal::GenericSwap(this, other);
8738     }
8739   }
8740   void UnsafeArenaSwap(OneofDescriptorProto* other) {
8741     if (other == this) return;
8742     ABSL_DCHECK(GetArena() == other->GetArena());
8743     InternalSwap(other);
8744   }
8745 
8746   // implements Message ----------------------------------------------
8747 
8748   OneofDescriptorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
8749     return ::google::protobuf::Message::DefaultConstruct<OneofDescriptorProto>(arena);
8750   }
8751   using ::google::protobuf::Message::CopyFrom;
8752   void CopyFrom(const OneofDescriptorProto& from);
8753   using ::google::protobuf::Message::MergeFrom;
8754   void MergeFrom(const OneofDescriptorProto& from) { OneofDescriptorProto::MergeImpl(*this, from); }
8755 
8756   private:
8757   static void MergeImpl(
8758       ::google::protobuf::MessageLite& to_msg,
8759       const ::google::protobuf::MessageLite& from_msg);
8760 
8761   public:
8762   bool IsInitialized() const {
8763     return IsInitializedImpl(*this);
8764   }
8765 
8766   private:
8767   static bool IsInitializedImpl(const MessageLite& msg);
8768 
8769   public:
8770   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
8771   #if defined(PROTOBUF_CUSTOM_VTABLE)
8772   private:
8773   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
8774   static ::uint8_t* _InternalSerialize(
8775       const MessageLite& msg, ::uint8_t* target,
8776       ::google::protobuf::io::EpsCopyOutputStream* stream);
8777 
8778   public:
8779   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
8780   ::uint8_t* _InternalSerialize(
8781       ::uint8_t* target,
8782       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
8783     return _InternalSerialize(*this, target, stream);
8784   }
8785   #else   // PROTOBUF_CUSTOM_VTABLE
8786   ::size_t ByteSizeLong() const final;
8787   ::uint8_t* _InternalSerialize(
8788       ::uint8_t* target,
8789       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
8790   #endif  // PROTOBUF_CUSTOM_VTABLE
8791   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
8792 
8793   private:
8794   void SharedCtor(::google::protobuf::Arena* arena);
8795   void SharedDtor();
8796   void InternalSwap(OneofDescriptorProto* other);
8797  private:
8798   friend class ::google::protobuf::internal::AnyMetadata;
8799   static ::absl::string_view FullMessageName() { return "google.protobuf.OneofDescriptorProto"; }
8800 
8801  protected:
8802   explicit OneofDescriptorProto(::google::protobuf::Arena* arena);
8803   OneofDescriptorProto(::google::protobuf::Arena* arena, const OneofDescriptorProto& from);
8804   OneofDescriptorProto(::google::protobuf::Arena* arena, OneofDescriptorProto&& from) noexcept
8805       : OneofDescriptorProto(arena) {
8806     *this = ::std::move(from);
8807   }
8808   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
8809   static const ::google::protobuf::Message::ClassDataFull _class_data_;
8810 
8811  public:
8812   ::google::protobuf::Metadata GetMetadata() const;
8813   // nested types ----------------------------------------------------
8814 
8815   // accessors -------------------------------------------------------
8816   enum : int {
8817     kNameFieldNumber = 1,
8818     kOptionsFieldNumber = 2,
8819   };
8820   // optional string name = 1;
8821   bool has_name() const;
8822   void clear_name() ;
8823   const std::string& name() const;
8824   template <typename Arg_ = const std::string&, typename... Args_>
8825   void set_name(Arg_&& arg, Args_... args);
8826   std::string* mutable_name();
8827   PROTOBUF_NODISCARD std::string* release_name();
8828   void set_allocated_name(std::string* value);
8829 
8830   private:
8831   const std::string& _internal_name() const;
8832   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
8833       const std::string& value);
8834   std::string* _internal_mutable_name();
8835 
8836   public:
8837   // optional .google.protobuf.OneofOptions options = 2;
8838   bool has_options() const;
8839   void clear_options() ;
8840   const ::google::protobuf::OneofOptions& options() const;
8841   PROTOBUF_NODISCARD ::google::protobuf::OneofOptions* release_options();
8842   ::google::protobuf::OneofOptions* mutable_options();
8843   void set_allocated_options(::google::protobuf::OneofOptions* value);
8844   void unsafe_arena_set_allocated_options(::google::protobuf::OneofOptions* value);
8845   ::google::protobuf::OneofOptions* unsafe_arena_release_options();
8846 
8847   private:
8848   const ::google::protobuf::OneofOptions& _internal_options() const;
8849   ::google::protobuf::OneofOptions* _internal_mutable_options();
8850 
8851   public:
8852   // @@protoc_insertion_point(class_scope:google.protobuf.OneofDescriptorProto)
8853  private:
8854   class _Internal;
8855   friend class ::google::protobuf::internal::TcParser;
8856   static const ::google::protobuf::internal::TcParseTable<
8857       1, 2, 1,
8858       49, 2>
8859       _table_;
8860 
8861 
8862   friend class ::google::protobuf::MessageLite;
8863   friend class ::google::protobuf::Arena;
8864   template <typename T>
8865   friend class ::google::protobuf::Arena::InternalHelper;
8866   using InternalArenaConstructable_ = void;
8867   using DestructorSkippable_ = void;
8868   struct Impl_ {
8869     inline explicit constexpr Impl_(
8870         ::google::protobuf::internal::ConstantInitialized) noexcept;
8871     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
8872                           ::google::protobuf::Arena* arena);
8873     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
8874                           ::google::protobuf::Arena* arena, const Impl_& from,
8875                           const OneofDescriptorProto& from_msg);
8876     ::google::protobuf::internal::HasBits<1> _has_bits_;
8877     mutable ::google::protobuf::internal::CachedSize _cached_size_;
8878     ::google::protobuf::internal::ArenaStringPtr name_;
8879     ::google::protobuf::OneofOptions* options_;
8880     PROTOBUF_TSAN_DECLARE_MEMBER
8881   };
8882   union { Impl_ _impl_; };
8883   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
8884 };
8885 // -------------------------------------------------------------------
8886 
8887 class PROTOBUF_EXPORT MethodDescriptorProto final : public ::google::protobuf::Message
8888 /* @@protoc_insertion_point(class_definition:google.protobuf.MethodDescriptorProto) */ {
8889  public:
8890   inline MethodDescriptorProto() : MethodDescriptorProto(nullptr) {}
8891   ~MethodDescriptorProto() PROTOBUF_FINAL;
8892   template <typename = void>
8893   explicit PROTOBUF_CONSTEXPR MethodDescriptorProto(
8894       ::google::protobuf::internal::ConstantInitialized);
8895 
8896   inline MethodDescriptorProto(const MethodDescriptorProto& from) : MethodDescriptorProto(nullptr, from) {}
8897   inline MethodDescriptorProto(MethodDescriptorProto&& from) noexcept
8898       : MethodDescriptorProto(nullptr, std::move(from)) {}
8899   inline MethodDescriptorProto& operator=(const MethodDescriptorProto& from) {
8900     CopyFrom(from);
8901     return *this;
8902   }
8903   inline MethodDescriptorProto& operator=(MethodDescriptorProto&& from) noexcept {
8904     if (this == &from) return *this;
8905     if (GetArena() == from.GetArena()
8906 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
8907         && GetArena() != nullptr
8908 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
8909     ) {
8910       InternalSwap(&from);
8911     } else {
8912       CopyFrom(from);
8913     }
8914     return *this;
8915   }
8916 
8917   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
8918       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8919     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
8920   }
8921   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
8922       ABSL_ATTRIBUTE_LIFETIME_BOUND {
8923     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
8924   }
8925 
8926   static const ::google::protobuf::Descriptor* descriptor() {
8927     return GetDescriptor();
8928   }
8929   static const ::google::protobuf::Descriptor* GetDescriptor() {
8930     return default_instance().GetMetadata().descriptor;
8931   }
8932   static const ::google::protobuf::Reflection* GetReflection() {
8933     return default_instance().GetMetadata().reflection;
8934   }
8935   static const MethodDescriptorProto& default_instance() {
8936     return *internal_default_instance();
8937   }
8938   static inline const MethodDescriptorProto* internal_default_instance() {
8939     return reinterpret_cast<const MethodDescriptorProto*>(
8940         &_MethodDescriptorProto_default_instance_);
8941   }
8942   static constexpr int kIndexInFileMessages = 13;
8943   friend void swap(MethodDescriptorProto& a, MethodDescriptorProto& b) { a.Swap(&b); }
8944   inline void Swap(MethodDescriptorProto* other) {
8945     if (other == this) return;
8946 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
8947     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
8948 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
8949     if (GetArena() == other->GetArena()) {
8950 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
8951       InternalSwap(other);
8952     } else {
8953       ::google::protobuf::internal::GenericSwap(this, other);
8954     }
8955   }
8956   void UnsafeArenaSwap(MethodDescriptorProto* other) {
8957     if (other == this) return;
8958     ABSL_DCHECK(GetArena() == other->GetArena());
8959     InternalSwap(other);
8960   }
8961 
8962   // implements Message ----------------------------------------------
8963 
8964   MethodDescriptorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
8965     return ::google::protobuf::Message::DefaultConstruct<MethodDescriptorProto>(arena);
8966   }
8967   using ::google::protobuf::Message::CopyFrom;
8968   void CopyFrom(const MethodDescriptorProto& from);
8969   using ::google::protobuf::Message::MergeFrom;
8970   void MergeFrom(const MethodDescriptorProto& from) { MethodDescriptorProto::MergeImpl(*this, from); }
8971 
8972   private:
8973   static void MergeImpl(
8974       ::google::protobuf::MessageLite& to_msg,
8975       const ::google::protobuf::MessageLite& from_msg);
8976 
8977   public:
8978   bool IsInitialized() const {
8979     return IsInitializedImpl(*this);
8980   }
8981 
8982   private:
8983   static bool IsInitializedImpl(const MessageLite& msg);
8984 
8985   public:
8986   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
8987   #if defined(PROTOBUF_CUSTOM_VTABLE)
8988   private:
8989   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
8990   static ::uint8_t* _InternalSerialize(
8991       const MessageLite& msg, ::uint8_t* target,
8992       ::google::protobuf::io::EpsCopyOutputStream* stream);
8993 
8994   public:
8995   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
8996   ::uint8_t* _InternalSerialize(
8997       ::uint8_t* target,
8998       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
8999     return _InternalSerialize(*this, target, stream);
9000   }
9001   #else   // PROTOBUF_CUSTOM_VTABLE
9002   ::size_t ByteSizeLong() const final;
9003   ::uint8_t* _InternalSerialize(
9004       ::uint8_t* target,
9005       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
9006   #endif  // PROTOBUF_CUSTOM_VTABLE
9007   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
9008 
9009   private:
9010   void SharedCtor(::google::protobuf::Arena* arena);
9011   void SharedDtor();
9012   void InternalSwap(MethodDescriptorProto* other);
9013  private:
9014   friend class ::google::protobuf::internal::AnyMetadata;
9015   static ::absl::string_view FullMessageName() { return "google.protobuf.MethodDescriptorProto"; }
9016 
9017  protected:
9018   explicit MethodDescriptorProto(::google::protobuf::Arena* arena);
9019   MethodDescriptorProto(::google::protobuf::Arena* arena, const MethodDescriptorProto& from);
9020   MethodDescriptorProto(::google::protobuf::Arena* arena, MethodDescriptorProto&& from) noexcept
9021       : MethodDescriptorProto(arena) {
9022     *this = ::std::move(from);
9023   }
9024   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
9025   static const ::google::protobuf::Message::ClassDataFull _class_data_;
9026 
9027  public:
9028   ::google::protobuf::Metadata GetMetadata() const;
9029   // nested types ----------------------------------------------------
9030 
9031   // accessors -------------------------------------------------------
9032   enum : int {
9033     kNameFieldNumber = 1,
9034     kInputTypeFieldNumber = 2,
9035     kOutputTypeFieldNumber = 3,
9036     kOptionsFieldNumber = 4,
9037     kClientStreamingFieldNumber = 5,
9038     kServerStreamingFieldNumber = 6,
9039   };
9040   // optional string name = 1;
9041   bool has_name() const;
9042   void clear_name() ;
9043   const std::string& name() const;
9044   template <typename Arg_ = const std::string&, typename... Args_>
9045   void set_name(Arg_&& arg, Args_... args);
9046   std::string* mutable_name();
9047   PROTOBUF_NODISCARD std::string* release_name();
9048   void set_allocated_name(std::string* value);
9049 
9050   private:
9051   const std::string& _internal_name() const;
9052   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
9053       const std::string& value);
9054   std::string* _internal_mutable_name();
9055 
9056   public:
9057   // optional string input_type = 2;
9058   bool has_input_type() const;
9059   void clear_input_type() ;
9060   const std::string& input_type() const;
9061   template <typename Arg_ = const std::string&, typename... Args_>
9062   void set_input_type(Arg_&& arg, Args_... args);
9063   std::string* mutable_input_type();
9064   PROTOBUF_NODISCARD std::string* release_input_type();
9065   void set_allocated_input_type(std::string* value);
9066 
9067   private:
9068   const std::string& _internal_input_type() const;
9069   inline PROTOBUF_ALWAYS_INLINE void _internal_set_input_type(
9070       const std::string& value);
9071   std::string* _internal_mutable_input_type();
9072 
9073   public:
9074   // optional string output_type = 3;
9075   bool has_output_type() const;
9076   void clear_output_type() ;
9077   const std::string& output_type() const;
9078   template <typename Arg_ = const std::string&, typename... Args_>
9079   void set_output_type(Arg_&& arg, Args_... args);
9080   std::string* mutable_output_type();
9081   PROTOBUF_NODISCARD std::string* release_output_type();
9082   void set_allocated_output_type(std::string* value);
9083 
9084   private:
9085   const std::string& _internal_output_type() const;
9086   inline PROTOBUF_ALWAYS_INLINE void _internal_set_output_type(
9087       const std::string& value);
9088   std::string* _internal_mutable_output_type();
9089 
9090   public:
9091   // optional .google.protobuf.MethodOptions options = 4;
9092   bool has_options() const;
9093   void clear_options() ;
9094   const ::google::protobuf::MethodOptions& options() const;
9095   PROTOBUF_NODISCARD ::google::protobuf::MethodOptions* release_options();
9096   ::google::protobuf::MethodOptions* mutable_options();
9097   void set_allocated_options(::google::protobuf::MethodOptions* value);
9098   void unsafe_arena_set_allocated_options(::google::protobuf::MethodOptions* value);
9099   ::google::protobuf::MethodOptions* unsafe_arena_release_options();
9100 
9101   private:
9102   const ::google::protobuf::MethodOptions& _internal_options() const;
9103   ::google::protobuf::MethodOptions* _internal_mutable_options();
9104 
9105   public:
9106   // optional bool client_streaming = 5 [default = false];
9107   bool has_client_streaming() const;
9108   void clear_client_streaming() ;
9109   bool client_streaming() const;
9110   void set_client_streaming(bool value);
9111 
9112   private:
9113   bool _internal_client_streaming() const;
9114   void _internal_set_client_streaming(bool value);
9115 
9116   public:
9117   // optional bool server_streaming = 6 [default = false];
9118   bool has_server_streaming() const;
9119   void clear_server_streaming() ;
9120   bool server_streaming() const;
9121   void set_server_streaming(bool value);
9122 
9123   private:
9124   bool _internal_server_streaming() const;
9125   void _internal_set_server_streaming(bool value);
9126 
9127   public:
9128   // @@protoc_insertion_point(class_scope:google.protobuf.MethodDescriptorProto)
9129  private:
9130   class _Internal;
9131   friend class ::google::protobuf::internal::TcParser;
9132   static const ::google::protobuf::internal::TcParseTable<
9133       3, 6, 1,
9134       71, 2>
9135       _table_;
9136 
9137 
9138   friend class ::google::protobuf::MessageLite;
9139   friend class ::google::protobuf::Arena;
9140   template <typename T>
9141   friend class ::google::protobuf::Arena::InternalHelper;
9142   using InternalArenaConstructable_ = void;
9143   using DestructorSkippable_ = void;
9144   struct Impl_ {
9145     inline explicit constexpr Impl_(
9146         ::google::protobuf::internal::ConstantInitialized) noexcept;
9147     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
9148                           ::google::protobuf::Arena* arena);
9149     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
9150                           ::google::protobuf::Arena* arena, const Impl_& from,
9151                           const MethodDescriptorProto& from_msg);
9152     ::google::protobuf::internal::HasBits<1> _has_bits_;
9153     mutable ::google::protobuf::internal::CachedSize _cached_size_;
9154     ::google::protobuf::internal::ArenaStringPtr name_;
9155     ::google::protobuf::internal::ArenaStringPtr input_type_;
9156     ::google::protobuf::internal::ArenaStringPtr output_type_;
9157     ::google::protobuf::MethodOptions* options_;
9158     bool client_streaming_;
9159     bool server_streaming_;
9160     PROTOBUF_TSAN_DECLARE_MEMBER
9161   };
9162   union { Impl_ _impl_; };
9163   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
9164 };
9165 // -------------------------------------------------------------------
9166 
9167 class PROTOBUF_EXPORT FieldDescriptorProto final : public ::google::protobuf::Message
9168 /* @@protoc_insertion_point(class_definition:google.protobuf.FieldDescriptorProto) */ {
9169  public:
9170   inline FieldDescriptorProto() : FieldDescriptorProto(nullptr) {}
9171   ~FieldDescriptorProto() PROTOBUF_FINAL;
9172   template <typename = void>
9173   explicit PROTOBUF_CONSTEXPR FieldDescriptorProto(
9174       ::google::protobuf::internal::ConstantInitialized);
9175 
9176   inline FieldDescriptorProto(const FieldDescriptorProto& from) : FieldDescriptorProto(nullptr, from) {}
9177   inline FieldDescriptorProto(FieldDescriptorProto&& from) noexcept
9178       : FieldDescriptorProto(nullptr, std::move(from)) {}
9179   inline FieldDescriptorProto& operator=(const FieldDescriptorProto& from) {
9180     CopyFrom(from);
9181     return *this;
9182   }
9183   inline FieldDescriptorProto& operator=(FieldDescriptorProto&& from) noexcept {
9184     if (this == &from) return *this;
9185     if (GetArena() == from.GetArena()
9186 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
9187         && GetArena() != nullptr
9188 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
9189     ) {
9190       InternalSwap(&from);
9191     } else {
9192       CopyFrom(from);
9193     }
9194     return *this;
9195   }
9196 
9197   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
9198       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9199     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
9200   }
9201   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
9202       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9203     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
9204   }
9205 
9206   static const ::google::protobuf::Descriptor* descriptor() {
9207     return GetDescriptor();
9208   }
9209   static const ::google::protobuf::Descriptor* GetDescriptor() {
9210     return default_instance().GetMetadata().descriptor;
9211   }
9212   static const ::google::protobuf::Reflection* GetReflection() {
9213     return default_instance().GetMetadata().reflection;
9214   }
9215   static const FieldDescriptorProto& default_instance() {
9216     return *internal_default_instance();
9217   }
9218   static inline const FieldDescriptorProto* internal_default_instance() {
9219     return reinterpret_cast<const FieldDescriptorProto*>(
9220         &_FieldDescriptorProto_default_instance_);
9221   }
9222   static constexpr int kIndexInFileMessages = 7;
9223   friend void swap(FieldDescriptorProto& a, FieldDescriptorProto& b) { a.Swap(&b); }
9224   inline void Swap(FieldDescriptorProto* other) {
9225     if (other == this) return;
9226 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
9227     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
9228 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
9229     if (GetArena() == other->GetArena()) {
9230 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
9231       InternalSwap(other);
9232     } else {
9233       ::google::protobuf::internal::GenericSwap(this, other);
9234     }
9235   }
9236   void UnsafeArenaSwap(FieldDescriptorProto* other) {
9237     if (other == this) return;
9238     ABSL_DCHECK(GetArena() == other->GetArena());
9239     InternalSwap(other);
9240   }
9241 
9242   // implements Message ----------------------------------------------
9243 
9244   FieldDescriptorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
9245     return ::google::protobuf::Message::DefaultConstruct<FieldDescriptorProto>(arena);
9246   }
9247   using ::google::protobuf::Message::CopyFrom;
9248   void CopyFrom(const FieldDescriptorProto& from);
9249   using ::google::protobuf::Message::MergeFrom;
9250   void MergeFrom(const FieldDescriptorProto& from) { FieldDescriptorProto::MergeImpl(*this, from); }
9251 
9252   private:
9253   static void MergeImpl(
9254       ::google::protobuf::MessageLite& to_msg,
9255       const ::google::protobuf::MessageLite& from_msg);
9256 
9257   public:
9258   bool IsInitialized() const {
9259     return IsInitializedImpl(*this);
9260   }
9261 
9262   private:
9263   static bool IsInitializedImpl(const MessageLite& msg);
9264 
9265   public:
9266   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
9267   #if defined(PROTOBUF_CUSTOM_VTABLE)
9268   private:
9269   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
9270   static ::uint8_t* _InternalSerialize(
9271       const MessageLite& msg, ::uint8_t* target,
9272       ::google::protobuf::io::EpsCopyOutputStream* stream);
9273 
9274   public:
9275   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
9276   ::uint8_t* _InternalSerialize(
9277       ::uint8_t* target,
9278       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
9279     return _InternalSerialize(*this, target, stream);
9280   }
9281   #else   // PROTOBUF_CUSTOM_VTABLE
9282   ::size_t ByteSizeLong() const final;
9283   ::uint8_t* _InternalSerialize(
9284       ::uint8_t* target,
9285       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
9286   #endif  // PROTOBUF_CUSTOM_VTABLE
9287   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
9288 
9289   private:
9290   void SharedCtor(::google::protobuf::Arena* arena);
9291   void SharedDtor();
9292   void InternalSwap(FieldDescriptorProto* other);
9293  private:
9294   friend class ::google::protobuf::internal::AnyMetadata;
9295   static ::absl::string_view FullMessageName() { return "google.protobuf.FieldDescriptorProto"; }
9296 
9297  protected:
9298   explicit FieldDescriptorProto(::google::protobuf::Arena* arena);
9299   FieldDescriptorProto(::google::protobuf::Arena* arena, const FieldDescriptorProto& from);
9300   FieldDescriptorProto(::google::protobuf::Arena* arena, FieldDescriptorProto&& from) noexcept
9301       : FieldDescriptorProto(arena) {
9302     *this = ::std::move(from);
9303   }
9304   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
9305   static const ::google::protobuf::Message::ClassDataFull _class_data_;
9306 
9307  public:
9308   ::google::protobuf::Metadata GetMetadata() const;
9309   // nested types ----------------------------------------------------
9310   using Type = FieldDescriptorProto_Type;
9311   static constexpr Type TYPE_DOUBLE = FieldDescriptorProto_Type_TYPE_DOUBLE;
9312   static constexpr Type TYPE_FLOAT = FieldDescriptorProto_Type_TYPE_FLOAT;
9313   static constexpr Type TYPE_INT64 = FieldDescriptorProto_Type_TYPE_INT64;
9314   static constexpr Type TYPE_UINT64 = FieldDescriptorProto_Type_TYPE_UINT64;
9315   static constexpr Type TYPE_INT32 = FieldDescriptorProto_Type_TYPE_INT32;
9316   static constexpr Type TYPE_FIXED64 = FieldDescriptorProto_Type_TYPE_FIXED64;
9317   static constexpr Type TYPE_FIXED32 = FieldDescriptorProto_Type_TYPE_FIXED32;
9318   static constexpr Type TYPE_BOOL = FieldDescriptorProto_Type_TYPE_BOOL;
9319   static constexpr Type TYPE_STRING = FieldDescriptorProto_Type_TYPE_STRING;
9320   static constexpr Type TYPE_GROUP = FieldDescriptorProto_Type_TYPE_GROUP;
9321   static constexpr Type TYPE_MESSAGE = FieldDescriptorProto_Type_TYPE_MESSAGE;
9322   static constexpr Type TYPE_BYTES = FieldDescriptorProto_Type_TYPE_BYTES;
9323   static constexpr Type TYPE_UINT32 = FieldDescriptorProto_Type_TYPE_UINT32;
9324   static constexpr Type TYPE_ENUM = FieldDescriptorProto_Type_TYPE_ENUM;
9325   static constexpr Type TYPE_SFIXED32 = FieldDescriptorProto_Type_TYPE_SFIXED32;
9326   static constexpr Type TYPE_SFIXED64 = FieldDescriptorProto_Type_TYPE_SFIXED64;
9327   static constexpr Type TYPE_SINT32 = FieldDescriptorProto_Type_TYPE_SINT32;
9328   static constexpr Type TYPE_SINT64 = FieldDescriptorProto_Type_TYPE_SINT64;
9329   static inline bool Type_IsValid(int value) {
9330     return FieldDescriptorProto_Type_IsValid(value);
9331   }
9332   static constexpr Type Type_MIN = FieldDescriptorProto_Type_Type_MIN;
9333   static constexpr Type Type_MAX = FieldDescriptorProto_Type_Type_MAX;
9334   static constexpr int Type_ARRAYSIZE = FieldDescriptorProto_Type_Type_ARRAYSIZE;
9335   static inline const ::google::protobuf::EnumDescriptor* Type_descriptor() {
9336     return FieldDescriptorProto_Type_descriptor();
9337   }
9338   template <typename T>
9339   static inline const std::string& Type_Name(T value) {
9340     return FieldDescriptorProto_Type_Name(value);
9341   }
9342   static inline bool Type_Parse(absl::string_view name, Type* value) {
9343     return FieldDescriptorProto_Type_Parse(name, value);
9344   }
9345   using Label = FieldDescriptorProto_Label;
9346   static constexpr Label LABEL_OPTIONAL = FieldDescriptorProto_Label_LABEL_OPTIONAL;
9347   static constexpr Label LABEL_REPEATED = FieldDescriptorProto_Label_LABEL_REPEATED;
9348   static constexpr Label LABEL_REQUIRED = FieldDescriptorProto_Label_LABEL_REQUIRED;
9349   static inline bool Label_IsValid(int value) {
9350     return FieldDescriptorProto_Label_IsValid(value);
9351   }
9352   static constexpr Label Label_MIN = FieldDescriptorProto_Label_Label_MIN;
9353   static constexpr Label Label_MAX = FieldDescriptorProto_Label_Label_MAX;
9354   static constexpr int Label_ARRAYSIZE = FieldDescriptorProto_Label_Label_ARRAYSIZE;
9355   static inline const ::google::protobuf::EnumDescriptor* Label_descriptor() {
9356     return FieldDescriptorProto_Label_descriptor();
9357   }
9358   template <typename T>
9359   static inline const std::string& Label_Name(T value) {
9360     return FieldDescriptorProto_Label_Name(value);
9361   }
9362   static inline bool Label_Parse(absl::string_view name, Label* value) {
9363     return FieldDescriptorProto_Label_Parse(name, value);
9364   }
9365 
9366   // accessors -------------------------------------------------------
9367   enum : int {
9368     kNameFieldNumber = 1,
9369     kExtendeeFieldNumber = 2,
9370     kTypeNameFieldNumber = 6,
9371     kDefaultValueFieldNumber = 7,
9372     kJsonNameFieldNumber = 10,
9373     kOptionsFieldNumber = 8,
9374     kNumberFieldNumber = 3,
9375     kOneofIndexFieldNumber = 9,
9376     kProto3OptionalFieldNumber = 17,
9377     kLabelFieldNumber = 4,
9378     kTypeFieldNumber = 5,
9379   };
9380   // optional string name = 1;
9381   bool has_name() const;
9382   void clear_name() ;
9383   const std::string& name() const;
9384   template <typename Arg_ = const std::string&, typename... Args_>
9385   void set_name(Arg_&& arg, Args_... args);
9386   std::string* mutable_name();
9387   PROTOBUF_NODISCARD std::string* release_name();
9388   void set_allocated_name(std::string* value);
9389 
9390   private:
9391   const std::string& _internal_name() const;
9392   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
9393       const std::string& value);
9394   std::string* _internal_mutable_name();
9395 
9396   public:
9397   // optional string extendee = 2;
9398   bool has_extendee() const;
9399   void clear_extendee() ;
9400   const std::string& extendee() const;
9401   template <typename Arg_ = const std::string&, typename... Args_>
9402   void set_extendee(Arg_&& arg, Args_... args);
9403   std::string* mutable_extendee();
9404   PROTOBUF_NODISCARD std::string* release_extendee();
9405   void set_allocated_extendee(std::string* value);
9406 
9407   private:
9408   const std::string& _internal_extendee() const;
9409   inline PROTOBUF_ALWAYS_INLINE void _internal_set_extendee(
9410       const std::string& value);
9411   std::string* _internal_mutable_extendee();
9412 
9413   public:
9414   // optional string type_name = 6;
9415   bool has_type_name() const;
9416   void clear_type_name() ;
9417   const std::string& type_name() const;
9418   template <typename Arg_ = const std::string&, typename... Args_>
9419   void set_type_name(Arg_&& arg, Args_... args);
9420   std::string* mutable_type_name();
9421   PROTOBUF_NODISCARD std::string* release_type_name();
9422   void set_allocated_type_name(std::string* value);
9423 
9424   private:
9425   const std::string& _internal_type_name() const;
9426   inline PROTOBUF_ALWAYS_INLINE void _internal_set_type_name(
9427       const std::string& value);
9428   std::string* _internal_mutable_type_name();
9429 
9430   public:
9431   // optional string default_value = 7;
9432   bool has_default_value() const;
9433   void clear_default_value() ;
9434   const std::string& default_value() const;
9435   template <typename Arg_ = const std::string&, typename... Args_>
9436   void set_default_value(Arg_&& arg, Args_... args);
9437   std::string* mutable_default_value();
9438   PROTOBUF_NODISCARD std::string* release_default_value();
9439   void set_allocated_default_value(std::string* value);
9440 
9441   private:
9442   const std::string& _internal_default_value() const;
9443   inline PROTOBUF_ALWAYS_INLINE void _internal_set_default_value(
9444       const std::string& value);
9445   std::string* _internal_mutable_default_value();
9446 
9447   public:
9448   // optional string json_name = 10;
9449   bool has_json_name() const;
9450   void clear_json_name() ;
9451   const std::string& json_name() const;
9452   template <typename Arg_ = const std::string&, typename... Args_>
9453   void set_json_name(Arg_&& arg, Args_... args);
9454   std::string* mutable_json_name();
9455   PROTOBUF_NODISCARD std::string* release_json_name();
9456   void set_allocated_json_name(std::string* value);
9457 
9458   private:
9459   const std::string& _internal_json_name() const;
9460   inline PROTOBUF_ALWAYS_INLINE void _internal_set_json_name(
9461       const std::string& value);
9462   std::string* _internal_mutable_json_name();
9463 
9464   public:
9465   // optional .google.protobuf.FieldOptions options = 8;
9466   bool has_options() const;
9467   void clear_options() ;
9468   const ::google::protobuf::FieldOptions& options() const;
9469   PROTOBUF_NODISCARD ::google::protobuf::FieldOptions* release_options();
9470   ::google::protobuf::FieldOptions* mutable_options();
9471   void set_allocated_options(::google::protobuf::FieldOptions* value);
9472   void unsafe_arena_set_allocated_options(::google::protobuf::FieldOptions* value);
9473   ::google::protobuf::FieldOptions* unsafe_arena_release_options();
9474 
9475   private:
9476   const ::google::protobuf::FieldOptions& _internal_options() const;
9477   ::google::protobuf::FieldOptions* _internal_mutable_options();
9478 
9479   public:
9480   // optional int32 number = 3;
9481   bool has_number() const;
9482   void clear_number() ;
9483   ::int32_t number() const;
9484   void set_number(::int32_t value);
9485 
9486   private:
9487   ::int32_t _internal_number() const;
9488   void _internal_set_number(::int32_t value);
9489 
9490   public:
9491   // optional int32 oneof_index = 9;
9492   bool has_oneof_index() const;
9493   void clear_oneof_index() ;
9494   ::int32_t oneof_index() const;
9495   void set_oneof_index(::int32_t value);
9496 
9497   private:
9498   ::int32_t _internal_oneof_index() const;
9499   void _internal_set_oneof_index(::int32_t value);
9500 
9501   public:
9502   // optional bool proto3_optional = 17;
9503   bool has_proto3_optional() const;
9504   void clear_proto3_optional() ;
9505   bool proto3_optional() const;
9506   void set_proto3_optional(bool value);
9507 
9508   private:
9509   bool _internal_proto3_optional() const;
9510   void _internal_set_proto3_optional(bool value);
9511 
9512   public:
9513   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
9514   bool has_label() const;
9515   void clear_label() ;
9516   ::google::protobuf::FieldDescriptorProto_Label label() const;
9517   void set_label(::google::protobuf::FieldDescriptorProto_Label value);
9518 
9519   private:
9520   ::google::protobuf::FieldDescriptorProto_Label _internal_label() const;
9521   void _internal_set_label(::google::protobuf::FieldDescriptorProto_Label value);
9522 
9523   public:
9524   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
9525   bool has_type() const;
9526   void clear_type() ;
9527   ::google::protobuf::FieldDescriptorProto_Type type() const;
9528   void set_type(::google::protobuf::FieldDescriptorProto_Type value);
9529 
9530   private:
9531   ::google::protobuf::FieldDescriptorProto_Type _internal_type() const;
9532   void _internal_set_type(::google::protobuf::FieldDescriptorProto_Type value);
9533 
9534   public:
9535   // @@protoc_insertion_point(class_scope:google.protobuf.FieldDescriptorProto)
9536  private:
9537   class _Internal;
9538   friend class ::google::protobuf::internal::TcParser;
9539   static const ::google::protobuf::internal::TcParseTable<
9540       4, 11, 3,
9541       96, 2>
9542       _table_;
9543 
9544 
9545   friend class ::google::protobuf::MessageLite;
9546   friend class ::google::protobuf::Arena;
9547   template <typename T>
9548   friend class ::google::protobuf::Arena::InternalHelper;
9549   using InternalArenaConstructable_ = void;
9550   using DestructorSkippable_ = void;
9551   struct Impl_ {
9552     inline explicit constexpr Impl_(
9553         ::google::protobuf::internal::ConstantInitialized) noexcept;
9554     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
9555                           ::google::protobuf::Arena* arena);
9556     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
9557                           ::google::protobuf::Arena* arena, const Impl_& from,
9558                           const FieldDescriptorProto& from_msg);
9559     ::google::protobuf::internal::HasBits<1> _has_bits_;
9560     mutable ::google::protobuf::internal::CachedSize _cached_size_;
9561     ::google::protobuf::internal::ArenaStringPtr name_;
9562     ::google::protobuf::internal::ArenaStringPtr extendee_;
9563     ::google::protobuf::internal::ArenaStringPtr type_name_;
9564     ::google::protobuf::internal::ArenaStringPtr default_value_;
9565     ::google::protobuf::internal::ArenaStringPtr json_name_;
9566     ::google::protobuf::FieldOptions* options_;
9567     ::int32_t number_;
9568     ::int32_t oneof_index_;
9569     bool proto3_optional_;
9570     int label_;
9571     int type_;
9572     PROTOBUF_TSAN_DECLARE_MEMBER
9573   };
9574   union { Impl_ _impl_; };
9575   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
9576 };
9577 // -------------------------------------------------------------------
9578 
9579 class PROTOBUF_EXPORT EnumValueDescriptorProto final : public ::google::protobuf::Message
9580 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumValueDescriptorProto) */ {
9581  public:
9582   inline EnumValueDescriptorProto() : EnumValueDescriptorProto(nullptr) {}
9583   ~EnumValueDescriptorProto() PROTOBUF_FINAL;
9584   template <typename = void>
9585   explicit PROTOBUF_CONSTEXPR EnumValueDescriptorProto(
9586       ::google::protobuf::internal::ConstantInitialized);
9587 
9588   inline EnumValueDescriptorProto(const EnumValueDescriptorProto& from) : EnumValueDescriptorProto(nullptr, from) {}
9589   inline EnumValueDescriptorProto(EnumValueDescriptorProto&& from) noexcept
9590       : EnumValueDescriptorProto(nullptr, std::move(from)) {}
9591   inline EnumValueDescriptorProto& operator=(const EnumValueDescriptorProto& from) {
9592     CopyFrom(from);
9593     return *this;
9594   }
9595   inline EnumValueDescriptorProto& operator=(EnumValueDescriptorProto&& from) noexcept {
9596     if (this == &from) return *this;
9597     if (GetArena() == from.GetArena()
9598 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
9599         && GetArena() != nullptr
9600 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
9601     ) {
9602       InternalSwap(&from);
9603     } else {
9604       CopyFrom(from);
9605     }
9606     return *this;
9607   }
9608 
9609   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
9610       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9611     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
9612   }
9613   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
9614       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9615     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
9616   }
9617 
9618   static const ::google::protobuf::Descriptor* descriptor() {
9619     return GetDescriptor();
9620   }
9621   static const ::google::protobuf::Descriptor* GetDescriptor() {
9622     return default_instance().GetMetadata().descriptor;
9623   }
9624   static const ::google::protobuf::Reflection* GetReflection() {
9625     return default_instance().GetMetadata().reflection;
9626   }
9627   static const EnumValueDescriptorProto& default_instance() {
9628     return *internal_default_instance();
9629   }
9630   static inline const EnumValueDescriptorProto* internal_default_instance() {
9631     return reinterpret_cast<const EnumValueDescriptorProto*>(
9632         &_EnumValueDescriptorProto_default_instance_);
9633   }
9634   static constexpr int kIndexInFileMessages = 11;
9635   friend void swap(EnumValueDescriptorProto& a, EnumValueDescriptorProto& b) { a.Swap(&b); }
9636   inline void Swap(EnumValueDescriptorProto* other) {
9637     if (other == this) return;
9638 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
9639     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
9640 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
9641     if (GetArena() == other->GetArena()) {
9642 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
9643       InternalSwap(other);
9644     } else {
9645       ::google::protobuf::internal::GenericSwap(this, other);
9646     }
9647   }
9648   void UnsafeArenaSwap(EnumValueDescriptorProto* other) {
9649     if (other == this) return;
9650     ABSL_DCHECK(GetArena() == other->GetArena());
9651     InternalSwap(other);
9652   }
9653 
9654   // implements Message ----------------------------------------------
9655 
9656   EnumValueDescriptorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
9657     return ::google::protobuf::Message::DefaultConstruct<EnumValueDescriptorProto>(arena);
9658   }
9659   using ::google::protobuf::Message::CopyFrom;
9660   void CopyFrom(const EnumValueDescriptorProto& from);
9661   using ::google::protobuf::Message::MergeFrom;
9662   void MergeFrom(const EnumValueDescriptorProto& from) { EnumValueDescriptorProto::MergeImpl(*this, from); }
9663 
9664   private:
9665   static void MergeImpl(
9666       ::google::protobuf::MessageLite& to_msg,
9667       const ::google::protobuf::MessageLite& from_msg);
9668 
9669   public:
9670   bool IsInitialized() const {
9671     return IsInitializedImpl(*this);
9672   }
9673 
9674   private:
9675   static bool IsInitializedImpl(const MessageLite& msg);
9676 
9677   public:
9678   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
9679   #if defined(PROTOBUF_CUSTOM_VTABLE)
9680   private:
9681   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
9682   static ::uint8_t* _InternalSerialize(
9683       const MessageLite& msg, ::uint8_t* target,
9684       ::google::protobuf::io::EpsCopyOutputStream* stream);
9685 
9686   public:
9687   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
9688   ::uint8_t* _InternalSerialize(
9689       ::uint8_t* target,
9690       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
9691     return _InternalSerialize(*this, target, stream);
9692   }
9693   #else   // PROTOBUF_CUSTOM_VTABLE
9694   ::size_t ByteSizeLong() const final;
9695   ::uint8_t* _InternalSerialize(
9696       ::uint8_t* target,
9697       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
9698   #endif  // PROTOBUF_CUSTOM_VTABLE
9699   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
9700 
9701   private:
9702   void SharedCtor(::google::protobuf::Arena* arena);
9703   void SharedDtor();
9704   void InternalSwap(EnumValueDescriptorProto* other);
9705  private:
9706   friend class ::google::protobuf::internal::AnyMetadata;
9707   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumValueDescriptorProto"; }
9708 
9709  protected:
9710   explicit EnumValueDescriptorProto(::google::protobuf::Arena* arena);
9711   EnumValueDescriptorProto(::google::protobuf::Arena* arena, const EnumValueDescriptorProto& from);
9712   EnumValueDescriptorProto(::google::protobuf::Arena* arena, EnumValueDescriptorProto&& from) noexcept
9713       : EnumValueDescriptorProto(arena) {
9714     *this = ::std::move(from);
9715   }
9716   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
9717   static const ::google::protobuf::Message::ClassDataFull _class_data_;
9718 
9719  public:
9720   ::google::protobuf::Metadata GetMetadata() const;
9721   // nested types ----------------------------------------------------
9722 
9723   // accessors -------------------------------------------------------
9724   enum : int {
9725     kNameFieldNumber = 1,
9726     kOptionsFieldNumber = 3,
9727     kNumberFieldNumber = 2,
9728   };
9729   // optional string name = 1;
9730   bool has_name() const;
9731   void clear_name() ;
9732   const std::string& name() const;
9733   template <typename Arg_ = const std::string&, typename... Args_>
9734   void set_name(Arg_&& arg, Args_... args);
9735   std::string* mutable_name();
9736   PROTOBUF_NODISCARD std::string* release_name();
9737   void set_allocated_name(std::string* value);
9738 
9739   private:
9740   const std::string& _internal_name() const;
9741   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
9742       const std::string& value);
9743   std::string* _internal_mutable_name();
9744 
9745   public:
9746   // optional .google.protobuf.EnumValueOptions options = 3;
9747   bool has_options() const;
9748   void clear_options() ;
9749   const ::google::protobuf::EnumValueOptions& options() const;
9750   PROTOBUF_NODISCARD ::google::protobuf::EnumValueOptions* release_options();
9751   ::google::protobuf::EnumValueOptions* mutable_options();
9752   void set_allocated_options(::google::protobuf::EnumValueOptions* value);
9753   void unsafe_arena_set_allocated_options(::google::protobuf::EnumValueOptions* value);
9754   ::google::protobuf::EnumValueOptions* unsafe_arena_release_options();
9755 
9756   private:
9757   const ::google::protobuf::EnumValueOptions& _internal_options() const;
9758   ::google::protobuf::EnumValueOptions* _internal_mutable_options();
9759 
9760   public:
9761   // optional int32 number = 2;
9762   bool has_number() const;
9763   void clear_number() ;
9764   ::int32_t number() const;
9765   void set_number(::int32_t value);
9766 
9767   private:
9768   ::int32_t _internal_number() const;
9769   void _internal_set_number(::int32_t value);
9770 
9771   public:
9772   // @@protoc_insertion_point(class_scope:google.protobuf.EnumValueDescriptorProto)
9773  private:
9774   class _Internal;
9775   friend class ::google::protobuf::internal::TcParser;
9776   static const ::google::protobuf::internal::TcParseTable<
9777       2, 3, 1,
9778       53, 2>
9779       _table_;
9780 
9781 
9782   friend class ::google::protobuf::MessageLite;
9783   friend class ::google::protobuf::Arena;
9784   template <typename T>
9785   friend class ::google::protobuf::Arena::InternalHelper;
9786   using InternalArenaConstructable_ = void;
9787   using DestructorSkippable_ = void;
9788   struct Impl_ {
9789     inline explicit constexpr Impl_(
9790         ::google::protobuf::internal::ConstantInitialized) noexcept;
9791     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
9792                           ::google::protobuf::Arena* arena);
9793     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
9794                           ::google::protobuf::Arena* arena, const Impl_& from,
9795                           const EnumValueDescriptorProto& from_msg);
9796     ::google::protobuf::internal::HasBits<1> _has_bits_;
9797     mutable ::google::protobuf::internal::CachedSize _cached_size_;
9798     ::google::protobuf::internal::ArenaStringPtr name_;
9799     ::google::protobuf::EnumValueOptions* options_;
9800     ::int32_t number_;
9801     PROTOBUF_TSAN_DECLARE_MEMBER
9802   };
9803   union { Impl_ _impl_; };
9804   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
9805 };
9806 // -------------------------------------------------------------------
9807 
9808 class PROTOBUF_EXPORT DescriptorProto_ExtensionRange final : public ::google::protobuf::Message
9809 /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto.ExtensionRange) */ {
9810  public:
9811   inline DescriptorProto_ExtensionRange() : DescriptorProto_ExtensionRange(nullptr) {}
9812   ~DescriptorProto_ExtensionRange() PROTOBUF_FINAL;
9813   template <typename = void>
9814   explicit PROTOBUF_CONSTEXPR DescriptorProto_ExtensionRange(
9815       ::google::protobuf::internal::ConstantInitialized);
9816 
9817   inline DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from) : DescriptorProto_ExtensionRange(nullptr, from) {}
9818   inline DescriptorProto_ExtensionRange(DescriptorProto_ExtensionRange&& from) noexcept
9819       : DescriptorProto_ExtensionRange(nullptr, std::move(from)) {}
9820   inline DescriptorProto_ExtensionRange& operator=(const DescriptorProto_ExtensionRange& from) {
9821     CopyFrom(from);
9822     return *this;
9823   }
9824   inline DescriptorProto_ExtensionRange& operator=(DescriptorProto_ExtensionRange&& from) noexcept {
9825     if (this == &from) return *this;
9826     if (GetArena() == from.GetArena()
9827 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
9828         && GetArena() != nullptr
9829 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
9830     ) {
9831       InternalSwap(&from);
9832     } else {
9833       CopyFrom(from);
9834     }
9835     return *this;
9836   }
9837 
9838   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
9839       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9840     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
9841   }
9842   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
9843       ABSL_ATTRIBUTE_LIFETIME_BOUND {
9844     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
9845   }
9846 
9847   static const ::google::protobuf::Descriptor* descriptor() {
9848     return GetDescriptor();
9849   }
9850   static const ::google::protobuf::Descriptor* GetDescriptor() {
9851     return default_instance().GetMetadata().descriptor;
9852   }
9853   static const ::google::protobuf::Reflection* GetReflection() {
9854     return default_instance().GetMetadata().reflection;
9855   }
9856   static const DescriptorProto_ExtensionRange& default_instance() {
9857     return *internal_default_instance();
9858   }
9859   static inline const DescriptorProto_ExtensionRange* internal_default_instance() {
9860     return reinterpret_cast<const DescriptorProto_ExtensionRange*>(
9861         &_DescriptorProto_ExtensionRange_default_instance_);
9862   }
9863   static constexpr int kIndexInFileMessages = 2;
9864   friend void swap(DescriptorProto_ExtensionRange& a, DescriptorProto_ExtensionRange& b) { a.Swap(&b); }
9865   inline void Swap(DescriptorProto_ExtensionRange* other) {
9866     if (other == this) return;
9867 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
9868     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
9869 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
9870     if (GetArena() == other->GetArena()) {
9871 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
9872       InternalSwap(other);
9873     } else {
9874       ::google::protobuf::internal::GenericSwap(this, other);
9875     }
9876   }
9877   void UnsafeArenaSwap(DescriptorProto_ExtensionRange* other) {
9878     if (other == this) return;
9879     ABSL_DCHECK(GetArena() == other->GetArena());
9880     InternalSwap(other);
9881   }
9882 
9883   // implements Message ----------------------------------------------
9884 
9885   DescriptorProto_ExtensionRange* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
9886     return ::google::protobuf::Message::DefaultConstruct<DescriptorProto_ExtensionRange>(arena);
9887   }
9888   using ::google::protobuf::Message::CopyFrom;
9889   void CopyFrom(const DescriptorProto_ExtensionRange& from);
9890   using ::google::protobuf::Message::MergeFrom;
9891   void MergeFrom(const DescriptorProto_ExtensionRange& from) { DescriptorProto_ExtensionRange::MergeImpl(*this, from); }
9892 
9893   private:
9894   static void MergeImpl(
9895       ::google::protobuf::MessageLite& to_msg,
9896       const ::google::protobuf::MessageLite& from_msg);
9897 
9898   public:
9899   bool IsInitialized() const {
9900     return IsInitializedImpl(*this);
9901   }
9902 
9903   private:
9904   static bool IsInitializedImpl(const MessageLite& msg);
9905 
9906   public:
9907   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
9908   #if defined(PROTOBUF_CUSTOM_VTABLE)
9909   private:
9910   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
9911   static ::uint8_t* _InternalSerialize(
9912       const MessageLite& msg, ::uint8_t* target,
9913       ::google::protobuf::io::EpsCopyOutputStream* stream);
9914 
9915   public:
9916   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
9917   ::uint8_t* _InternalSerialize(
9918       ::uint8_t* target,
9919       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
9920     return _InternalSerialize(*this, target, stream);
9921   }
9922   #else   // PROTOBUF_CUSTOM_VTABLE
9923   ::size_t ByteSizeLong() const final;
9924   ::uint8_t* _InternalSerialize(
9925       ::uint8_t* target,
9926       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
9927   #endif  // PROTOBUF_CUSTOM_VTABLE
9928   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
9929 
9930   private:
9931   void SharedCtor(::google::protobuf::Arena* arena);
9932   void SharedDtor();
9933   void InternalSwap(DescriptorProto_ExtensionRange* other);
9934  private:
9935   friend class ::google::protobuf::internal::AnyMetadata;
9936   static ::absl::string_view FullMessageName() { return "google.protobuf.DescriptorProto.ExtensionRange"; }
9937 
9938  protected:
9939   explicit DescriptorProto_ExtensionRange(::google::protobuf::Arena* arena);
9940   DescriptorProto_ExtensionRange(::google::protobuf::Arena* arena, const DescriptorProto_ExtensionRange& from);
9941   DescriptorProto_ExtensionRange(::google::protobuf::Arena* arena, DescriptorProto_ExtensionRange&& from) noexcept
9942       : DescriptorProto_ExtensionRange(arena) {
9943     *this = ::std::move(from);
9944   }
9945   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
9946   static const ::google::protobuf::Message::ClassDataFull _class_data_;
9947 
9948  public:
9949   ::google::protobuf::Metadata GetMetadata() const;
9950   // nested types ----------------------------------------------------
9951 
9952   // accessors -------------------------------------------------------
9953   enum : int {
9954     kOptionsFieldNumber = 3,
9955     kStartFieldNumber = 1,
9956     kEndFieldNumber = 2,
9957   };
9958   // optional .google.protobuf.ExtensionRangeOptions options = 3;
9959   bool has_options() const;
9960   void clear_options() ;
9961   const ::google::protobuf::ExtensionRangeOptions& options() const;
9962   PROTOBUF_NODISCARD ::google::protobuf::ExtensionRangeOptions* release_options();
9963   ::google::protobuf::ExtensionRangeOptions* mutable_options();
9964   void set_allocated_options(::google::protobuf::ExtensionRangeOptions* value);
9965   void unsafe_arena_set_allocated_options(::google::protobuf::ExtensionRangeOptions* value);
9966   ::google::protobuf::ExtensionRangeOptions* unsafe_arena_release_options();
9967 
9968   private:
9969   const ::google::protobuf::ExtensionRangeOptions& _internal_options() const;
9970   ::google::protobuf::ExtensionRangeOptions* _internal_mutable_options();
9971 
9972   public:
9973   // optional int32 start = 1;
9974   bool has_start() const;
9975   void clear_start() ;
9976   ::int32_t start() const;
9977   void set_start(::int32_t value);
9978 
9979   private:
9980   ::int32_t _internal_start() const;
9981   void _internal_set_start(::int32_t value);
9982 
9983   public:
9984   // optional int32 end = 2;
9985   bool has_end() const;
9986   void clear_end() ;
9987   ::int32_t end() const;
9988   void set_end(::int32_t value);
9989 
9990   private:
9991   ::int32_t _internal_end() const;
9992   void _internal_set_end(::int32_t value);
9993 
9994   public:
9995   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto.ExtensionRange)
9996  private:
9997   class _Internal;
9998   friend class ::google::protobuf::internal::TcParser;
9999   static const ::google::protobuf::internal::TcParseTable<
10000       2, 3, 1,
10001       0, 2>
10002       _table_;
10003 
10004 
10005   friend class ::google::protobuf::MessageLite;
10006   friend class ::google::protobuf::Arena;
10007   template <typename T>
10008   friend class ::google::protobuf::Arena::InternalHelper;
10009   using InternalArenaConstructable_ = void;
10010   using DestructorSkippable_ = void;
10011   struct Impl_ {
10012     inline explicit constexpr Impl_(
10013         ::google::protobuf::internal::ConstantInitialized) noexcept;
10014     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
10015                           ::google::protobuf::Arena* arena);
10016     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
10017                           ::google::protobuf::Arena* arena, const Impl_& from,
10018                           const DescriptorProto_ExtensionRange& from_msg);
10019     ::google::protobuf::internal::HasBits<1> _has_bits_;
10020     mutable ::google::protobuf::internal::CachedSize _cached_size_;
10021     ::google::protobuf::ExtensionRangeOptions* options_;
10022     ::int32_t start_;
10023     ::int32_t end_;
10024     PROTOBUF_TSAN_DECLARE_MEMBER
10025   };
10026   union { Impl_ _impl_; };
10027   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
10028 };
10029 // -------------------------------------------------------------------
10030 
10031 class PROTOBUF_EXPORT ServiceDescriptorProto final : public ::google::protobuf::Message
10032 /* @@protoc_insertion_point(class_definition:google.protobuf.ServiceDescriptorProto) */ {
10033  public:
10034   inline ServiceDescriptorProto() : ServiceDescriptorProto(nullptr) {}
10035   ~ServiceDescriptorProto() PROTOBUF_FINAL;
10036   template <typename = void>
10037   explicit PROTOBUF_CONSTEXPR ServiceDescriptorProto(
10038       ::google::protobuf::internal::ConstantInitialized);
10039 
10040   inline ServiceDescriptorProto(const ServiceDescriptorProto& from) : ServiceDescriptorProto(nullptr, from) {}
10041   inline ServiceDescriptorProto(ServiceDescriptorProto&& from) noexcept
10042       : ServiceDescriptorProto(nullptr, std::move(from)) {}
10043   inline ServiceDescriptorProto& operator=(const ServiceDescriptorProto& from) {
10044     CopyFrom(from);
10045     return *this;
10046   }
10047   inline ServiceDescriptorProto& operator=(ServiceDescriptorProto&& from) noexcept {
10048     if (this == &from) return *this;
10049     if (GetArena() == from.GetArena()
10050 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
10051         && GetArena() != nullptr
10052 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
10053     ) {
10054       InternalSwap(&from);
10055     } else {
10056       CopyFrom(from);
10057     }
10058     return *this;
10059   }
10060 
10061   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
10062       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10063     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
10064   }
10065   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
10066       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10067     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
10068   }
10069 
10070   static const ::google::protobuf::Descriptor* descriptor() {
10071     return GetDescriptor();
10072   }
10073   static const ::google::protobuf::Descriptor* GetDescriptor() {
10074     return default_instance().GetMetadata().descriptor;
10075   }
10076   static const ::google::protobuf::Reflection* GetReflection() {
10077     return default_instance().GetMetadata().reflection;
10078   }
10079   static const ServiceDescriptorProto& default_instance() {
10080     return *internal_default_instance();
10081   }
10082   static inline const ServiceDescriptorProto* internal_default_instance() {
10083     return reinterpret_cast<const ServiceDescriptorProto*>(
10084         &_ServiceDescriptorProto_default_instance_);
10085   }
10086   static constexpr int kIndexInFileMessages = 12;
10087   friend void swap(ServiceDescriptorProto& a, ServiceDescriptorProto& b) { a.Swap(&b); }
10088   inline void Swap(ServiceDescriptorProto* other) {
10089     if (other == this) return;
10090 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
10091     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
10092 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
10093     if (GetArena() == other->GetArena()) {
10094 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
10095       InternalSwap(other);
10096     } else {
10097       ::google::protobuf::internal::GenericSwap(this, other);
10098     }
10099   }
10100   void UnsafeArenaSwap(ServiceDescriptorProto* other) {
10101     if (other == this) return;
10102     ABSL_DCHECK(GetArena() == other->GetArena());
10103     InternalSwap(other);
10104   }
10105 
10106   // implements Message ----------------------------------------------
10107 
10108   ServiceDescriptorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
10109     return ::google::protobuf::Message::DefaultConstruct<ServiceDescriptorProto>(arena);
10110   }
10111   using ::google::protobuf::Message::CopyFrom;
10112   void CopyFrom(const ServiceDescriptorProto& from);
10113   using ::google::protobuf::Message::MergeFrom;
10114   void MergeFrom(const ServiceDescriptorProto& from) { ServiceDescriptorProto::MergeImpl(*this, from); }
10115 
10116   private:
10117   static void MergeImpl(
10118       ::google::protobuf::MessageLite& to_msg,
10119       const ::google::protobuf::MessageLite& from_msg);
10120 
10121   public:
10122   bool IsInitialized() const {
10123     return IsInitializedImpl(*this);
10124   }
10125 
10126   private:
10127   static bool IsInitializedImpl(const MessageLite& msg);
10128 
10129   public:
10130   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
10131   #if defined(PROTOBUF_CUSTOM_VTABLE)
10132   private:
10133   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
10134   static ::uint8_t* _InternalSerialize(
10135       const MessageLite& msg, ::uint8_t* target,
10136       ::google::protobuf::io::EpsCopyOutputStream* stream);
10137 
10138   public:
10139   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
10140   ::uint8_t* _InternalSerialize(
10141       ::uint8_t* target,
10142       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
10143     return _InternalSerialize(*this, target, stream);
10144   }
10145   #else   // PROTOBUF_CUSTOM_VTABLE
10146   ::size_t ByteSizeLong() const final;
10147   ::uint8_t* _InternalSerialize(
10148       ::uint8_t* target,
10149       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
10150   #endif  // PROTOBUF_CUSTOM_VTABLE
10151   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
10152 
10153   private:
10154   void SharedCtor(::google::protobuf::Arena* arena);
10155   void SharedDtor();
10156   void InternalSwap(ServiceDescriptorProto* other);
10157  private:
10158   friend class ::google::protobuf::internal::AnyMetadata;
10159   static ::absl::string_view FullMessageName() { return "google.protobuf.ServiceDescriptorProto"; }
10160 
10161  protected:
10162   explicit ServiceDescriptorProto(::google::protobuf::Arena* arena);
10163   ServiceDescriptorProto(::google::protobuf::Arena* arena, const ServiceDescriptorProto& from);
10164   ServiceDescriptorProto(::google::protobuf::Arena* arena, ServiceDescriptorProto&& from) noexcept
10165       : ServiceDescriptorProto(arena) {
10166     *this = ::std::move(from);
10167   }
10168   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
10169   static const ::google::protobuf::Message::ClassDataFull _class_data_;
10170 
10171  public:
10172   ::google::protobuf::Metadata GetMetadata() const;
10173   // nested types ----------------------------------------------------
10174 
10175   // accessors -------------------------------------------------------
10176   enum : int {
10177     kMethodFieldNumber = 2,
10178     kNameFieldNumber = 1,
10179     kOptionsFieldNumber = 3,
10180   };
10181   // repeated .google.protobuf.MethodDescriptorProto method = 2;
10182   int method_size() const;
10183   private:
10184   int _internal_method_size() const;
10185 
10186   public:
10187   void clear_method() ;
10188   ::google::protobuf::MethodDescriptorProto* mutable_method(int index);
10189   ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>* mutable_method();
10190 
10191   private:
10192   const ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>& _internal_method() const;
10193   ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>* _internal_mutable_method();
10194   public:
10195   const ::google::protobuf::MethodDescriptorProto& method(int index) const;
10196   ::google::protobuf::MethodDescriptorProto* add_method();
10197   const ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>& method() const;
10198   // optional string name = 1;
10199   bool has_name() const;
10200   void clear_name() ;
10201   const std::string& name() const;
10202   template <typename Arg_ = const std::string&, typename... Args_>
10203   void set_name(Arg_&& arg, Args_... args);
10204   std::string* mutable_name();
10205   PROTOBUF_NODISCARD std::string* release_name();
10206   void set_allocated_name(std::string* value);
10207 
10208   private:
10209   const std::string& _internal_name() const;
10210   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
10211       const std::string& value);
10212   std::string* _internal_mutable_name();
10213 
10214   public:
10215   // optional .google.protobuf.ServiceOptions options = 3;
10216   bool has_options() const;
10217   void clear_options() ;
10218   const ::google::protobuf::ServiceOptions& options() const;
10219   PROTOBUF_NODISCARD ::google::protobuf::ServiceOptions* release_options();
10220   ::google::protobuf::ServiceOptions* mutable_options();
10221   void set_allocated_options(::google::protobuf::ServiceOptions* value);
10222   void unsafe_arena_set_allocated_options(::google::protobuf::ServiceOptions* value);
10223   ::google::protobuf::ServiceOptions* unsafe_arena_release_options();
10224 
10225   private:
10226   const ::google::protobuf::ServiceOptions& _internal_options() const;
10227   ::google::protobuf::ServiceOptions* _internal_mutable_options();
10228 
10229   public:
10230   // @@protoc_insertion_point(class_scope:google.protobuf.ServiceDescriptorProto)
10231  private:
10232   class _Internal;
10233   friend class ::google::protobuf::internal::TcParser;
10234   static const ::google::protobuf::internal::TcParseTable<
10235       2, 3, 2,
10236       51, 2>
10237       _table_;
10238 
10239 
10240   friend class ::google::protobuf::MessageLite;
10241   friend class ::google::protobuf::Arena;
10242   template <typename T>
10243   friend class ::google::protobuf::Arena::InternalHelper;
10244   using InternalArenaConstructable_ = void;
10245   using DestructorSkippable_ = void;
10246   struct Impl_ {
10247     inline explicit constexpr Impl_(
10248         ::google::protobuf::internal::ConstantInitialized) noexcept;
10249     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
10250                           ::google::protobuf::Arena* arena);
10251     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
10252                           ::google::protobuf::Arena* arena, const Impl_& from,
10253                           const ServiceDescriptorProto& from_msg);
10254     ::google::protobuf::internal::HasBits<1> _has_bits_;
10255     mutable ::google::protobuf::internal::CachedSize _cached_size_;
10256     ::google::protobuf::RepeatedPtrField< ::google::protobuf::MethodDescriptorProto > method_;
10257     ::google::protobuf::internal::ArenaStringPtr name_;
10258     ::google::protobuf::ServiceOptions* options_;
10259     PROTOBUF_TSAN_DECLARE_MEMBER
10260   };
10261   union { Impl_ _impl_; };
10262   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
10263 };
10264 // -------------------------------------------------------------------
10265 
10266 class PROTOBUF_EXPORT EnumDescriptorProto final : public ::google::protobuf::Message
10267 /* @@protoc_insertion_point(class_definition:google.protobuf.EnumDescriptorProto) */ {
10268  public:
10269   inline EnumDescriptorProto() : EnumDescriptorProto(nullptr) {}
10270   ~EnumDescriptorProto() PROTOBUF_FINAL;
10271   template <typename = void>
10272   explicit PROTOBUF_CONSTEXPR EnumDescriptorProto(
10273       ::google::protobuf::internal::ConstantInitialized);
10274 
10275   inline EnumDescriptorProto(const EnumDescriptorProto& from) : EnumDescriptorProto(nullptr, from) {}
10276   inline EnumDescriptorProto(EnumDescriptorProto&& from) noexcept
10277       : EnumDescriptorProto(nullptr, std::move(from)) {}
10278   inline EnumDescriptorProto& operator=(const EnumDescriptorProto& from) {
10279     CopyFrom(from);
10280     return *this;
10281   }
10282   inline EnumDescriptorProto& operator=(EnumDescriptorProto&& from) noexcept {
10283     if (this == &from) return *this;
10284     if (GetArena() == from.GetArena()
10285 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
10286         && GetArena() != nullptr
10287 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
10288     ) {
10289       InternalSwap(&from);
10290     } else {
10291       CopyFrom(from);
10292     }
10293     return *this;
10294   }
10295 
10296   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
10297       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10298     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
10299   }
10300   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
10301       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10302     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
10303   }
10304 
10305   static const ::google::protobuf::Descriptor* descriptor() {
10306     return GetDescriptor();
10307   }
10308   static const ::google::protobuf::Descriptor* GetDescriptor() {
10309     return default_instance().GetMetadata().descriptor;
10310   }
10311   static const ::google::protobuf::Reflection* GetReflection() {
10312     return default_instance().GetMetadata().reflection;
10313   }
10314   static const EnumDescriptorProto& default_instance() {
10315     return *internal_default_instance();
10316   }
10317   static inline const EnumDescriptorProto* internal_default_instance() {
10318     return reinterpret_cast<const EnumDescriptorProto*>(
10319         &_EnumDescriptorProto_default_instance_);
10320   }
10321   static constexpr int kIndexInFileMessages = 10;
10322   friend void swap(EnumDescriptorProto& a, EnumDescriptorProto& b) { a.Swap(&b); }
10323   inline void Swap(EnumDescriptorProto* other) {
10324     if (other == this) return;
10325 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
10326     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
10327 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
10328     if (GetArena() == other->GetArena()) {
10329 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
10330       InternalSwap(other);
10331     } else {
10332       ::google::protobuf::internal::GenericSwap(this, other);
10333     }
10334   }
10335   void UnsafeArenaSwap(EnumDescriptorProto* other) {
10336     if (other == this) return;
10337     ABSL_DCHECK(GetArena() == other->GetArena());
10338     InternalSwap(other);
10339   }
10340 
10341   // implements Message ----------------------------------------------
10342 
10343   EnumDescriptorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
10344     return ::google::protobuf::Message::DefaultConstruct<EnumDescriptorProto>(arena);
10345   }
10346   using ::google::protobuf::Message::CopyFrom;
10347   void CopyFrom(const EnumDescriptorProto& from);
10348   using ::google::protobuf::Message::MergeFrom;
10349   void MergeFrom(const EnumDescriptorProto& from) { EnumDescriptorProto::MergeImpl(*this, from); }
10350 
10351   private:
10352   static void MergeImpl(
10353       ::google::protobuf::MessageLite& to_msg,
10354       const ::google::protobuf::MessageLite& from_msg);
10355 
10356   public:
10357   bool IsInitialized() const {
10358     return IsInitializedImpl(*this);
10359   }
10360 
10361   private:
10362   static bool IsInitializedImpl(const MessageLite& msg);
10363 
10364   public:
10365   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
10366   #if defined(PROTOBUF_CUSTOM_VTABLE)
10367   private:
10368   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
10369   static ::uint8_t* _InternalSerialize(
10370       const MessageLite& msg, ::uint8_t* target,
10371       ::google::protobuf::io::EpsCopyOutputStream* stream);
10372 
10373   public:
10374   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
10375   ::uint8_t* _InternalSerialize(
10376       ::uint8_t* target,
10377       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
10378     return _InternalSerialize(*this, target, stream);
10379   }
10380   #else   // PROTOBUF_CUSTOM_VTABLE
10381   ::size_t ByteSizeLong() const final;
10382   ::uint8_t* _InternalSerialize(
10383       ::uint8_t* target,
10384       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
10385   #endif  // PROTOBUF_CUSTOM_VTABLE
10386   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
10387 
10388   private:
10389   void SharedCtor(::google::protobuf::Arena* arena);
10390   void SharedDtor();
10391   void InternalSwap(EnumDescriptorProto* other);
10392  private:
10393   friend class ::google::protobuf::internal::AnyMetadata;
10394   static ::absl::string_view FullMessageName() { return "google.protobuf.EnumDescriptorProto"; }
10395 
10396  protected:
10397   explicit EnumDescriptorProto(::google::protobuf::Arena* arena);
10398   EnumDescriptorProto(::google::protobuf::Arena* arena, const EnumDescriptorProto& from);
10399   EnumDescriptorProto(::google::protobuf::Arena* arena, EnumDescriptorProto&& from) noexcept
10400       : EnumDescriptorProto(arena) {
10401     *this = ::std::move(from);
10402   }
10403   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
10404   static const ::google::protobuf::Message::ClassDataFull _class_data_;
10405 
10406  public:
10407   ::google::protobuf::Metadata GetMetadata() const;
10408   // nested types ----------------------------------------------------
10409   using EnumReservedRange = EnumDescriptorProto_EnumReservedRange;
10410 
10411   // accessors -------------------------------------------------------
10412   enum : int {
10413     kValueFieldNumber = 2,
10414     kReservedRangeFieldNumber = 4,
10415     kReservedNameFieldNumber = 5,
10416     kNameFieldNumber = 1,
10417     kOptionsFieldNumber = 3,
10418   };
10419   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
10420   int value_size() const;
10421   private:
10422   int _internal_value_size() const;
10423 
10424   public:
10425   void clear_value() ;
10426   ::google::protobuf::EnumValueDescriptorProto* mutable_value(int index);
10427   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>* mutable_value();
10428 
10429   private:
10430   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>& _internal_value() const;
10431   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>* _internal_mutable_value();
10432   public:
10433   const ::google::protobuf::EnumValueDescriptorProto& value(int index) const;
10434   ::google::protobuf::EnumValueDescriptorProto* add_value();
10435   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>& value() const;
10436   // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
10437   int reserved_range_size() const;
10438   private:
10439   int _internal_reserved_range_size() const;
10440 
10441   public:
10442   void clear_reserved_range() ;
10443   ::google::protobuf::EnumDescriptorProto_EnumReservedRange* mutable_reserved_range(int index);
10444   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>* mutable_reserved_range();
10445 
10446   private:
10447   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>& _internal_reserved_range() const;
10448   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>* _internal_mutable_reserved_range();
10449   public:
10450   const ::google::protobuf::EnumDescriptorProto_EnumReservedRange& reserved_range(int index) const;
10451   ::google::protobuf::EnumDescriptorProto_EnumReservedRange* add_reserved_range();
10452   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>& reserved_range() const;
10453   // repeated string reserved_name = 5;
10454   int reserved_name_size() const;
10455   private:
10456   int _internal_reserved_name_size() const;
10457 
10458   public:
10459   void clear_reserved_name() ;
10460   const std::string& reserved_name(int index) const;
10461   std::string* mutable_reserved_name(int index);
10462   template <typename Arg_ = const std::string&, typename... Args_>
10463   void set_reserved_name(int index, Arg_&& value, Args_... args);
10464   std::string* add_reserved_name();
10465   template <typename Arg_ = const std::string&, typename... Args_>
10466   void add_reserved_name(Arg_&& value, Args_... args);
10467   const ::google::protobuf::RepeatedPtrField<std::string>& reserved_name() const;
10468   ::google::protobuf::RepeatedPtrField<std::string>* mutable_reserved_name();
10469 
10470   private:
10471   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_reserved_name() const;
10472   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_reserved_name();
10473 
10474   public:
10475   // optional string name = 1;
10476   bool has_name() const;
10477   void clear_name() ;
10478   const std::string& name() const;
10479   template <typename Arg_ = const std::string&, typename... Args_>
10480   void set_name(Arg_&& arg, Args_... args);
10481   std::string* mutable_name();
10482   PROTOBUF_NODISCARD std::string* release_name();
10483   void set_allocated_name(std::string* value);
10484 
10485   private:
10486   const std::string& _internal_name() const;
10487   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
10488       const std::string& value);
10489   std::string* _internal_mutable_name();
10490 
10491   public:
10492   // optional .google.protobuf.EnumOptions options = 3;
10493   bool has_options() const;
10494   void clear_options() ;
10495   const ::google::protobuf::EnumOptions& options() const;
10496   PROTOBUF_NODISCARD ::google::protobuf::EnumOptions* release_options();
10497   ::google::protobuf::EnumOptions* mutable_options();
10498   void set_allocated_options(::google::protobuf::EnumOptions* value);
10499   void unsafe_arena_set_allocated_options(::google::protobuf::EnumOptions* value);
10500   ::google::protobuf::EnumOptions* unsafe_arena_release_options();
10501 
10502   private:
10503   const ::google::protobuf::EnumOptions& _internal_options() const;
10504   ::google::protobuf::EnumOptions* _internal_mutable_options();
10505 
10506   public:
10507   // @@protoc_insertion_point(class_scope:google.protobuf.EnumDescriptorProto)
10508  private:
10509   class _Internal;
10510   friend class ::google::protobuf::internal::TcParser;
10511   static const ::google::protobuf::internal::TcParseTable<
10512       3, 5, 3,
10513       61, 2>
10514       _table_;
10515 
10516 
10517   friend class ::google::protobuf::MessageLite;
10518   friend class ::google::protobuf::Arena;
10519   template <typename T>
10520   friend class ::google::protobuf::Arena::InternalHelper;
10521   using InternalArenaConstructable_ = void;
10522   using DestructorSkippable_ = void;
10523   struct Impl_ {
10524     inline explicit constexpr Impl_(
10525         ::google::protobuf::internal::ConstantInitialized) noexcept;
10526     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
10527                           ::google::protobuf::Arena* arena);
10528     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
10529                           ::google::protobuf::Arena* arena, const Impl_& from,
10530                           const EnumDescriptorProto& from_msg);
10531     ::google::protobuf::internal::HasBits<1> _has_bits_;
10532     mutable ::google::protobuf::internal::CachedSize _cached_size_;
10533     ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumValueDescriptorProto > value_;
10534     ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto_EnumReservedRange > reserved_range_;
10535     ::google::protobuf::RepeatedPtrField<std::string> reserved_name_;
10536     ::google::protobuf::internal::ArenaStringPtr name_;
10537     ::google::protobuf::EnumOptions* options_;
10538     PROTOBUF_TSAN_DECLARE_MEMBER
10539   };
10540   union { Impl_ _impl_; };
10541   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
10542 };
10543 // -------------------------------------------------------------------
10544 
10545 class PROTOBUF_EXPORT DescriptorProto final : public ::google::protobuf::Message
10546 /* @@protoc_insertion_point(class_definition:google.protobuf.DescriptorProto) */ {
10547  public:
10548   inline DescriptorProto() : DescriptorProto(nullptr) {}
10549   ~DescriptorProto() PROTOBUF_FINAL;
10550   template <typename = void>
10551   explicit PROTOBUF_CONSTEXPR DescriptorProto(
10552       ::google::protobuf::internal::ConstantInitialized);
10553 
10554   inline DescriptorProto(const DescriptorProto& from) : DescriptorProto(nullptr, from) {}
10555   inline DescriptorProto(DescriptorProto&& from) noexcept
10556       : DescriptorProto(nullptr, std::move(from)) {}
10557   inline DescriptorProto& operator=(const DescriptorProto& from) {
10558     CopyFrom(from);
10559     return *this;
10560   }
10561   inline DescriptorProto& operator=(DescriptorProto&& from) noexcept {
10562     if (this == &from) return *this;
10563     if (GetArena() == from.GetArena()
10564 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
10565         && GetArena() != nullptr
10566 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
10567     ) {
10568       InternalSwap(&from);
10569     } else {
10570       CopyFrom(from);
10571     }
10572     return *this;
10573   }
10574 
10575   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
10576       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10577     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
10578   }
10579   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
10580       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10581     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
10582   }
10583 
10584   static const ::google::protobuf::Descriptor* descriptor() {
10585     return GetDescriptor();
10586   }
10587   static const ::google::protobuf::Descriptor* GetDescriptor() {
10588     return default_instance().GetMetadata().descriptor;
10589   }
10590   static const ::google::protobuf::Reflection* GetReflection() {
10591     return default_instance().GetMetadata().reflection;
10592   }
10593   static const DescriptorProto& default_instance() {
10594     return *internal_default_instance();
10595   }
10596   static inline const DescriptorProto* internal_default_instance() {
10597     return reinterpret_cast<const DescriptorProto*>(
10598         &_DescriptorProto_default_instance_);
10599   }
10600   static constexpr int kIndexInFileMessages = 4;
10601   friend void swap(DescriptorProto& a, DescriptorProto& b) { a.Swap(&b); }
10602   inline void Swap(DescriptorProto* other) {
10603     if (other == this) return;
10604 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
10605     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
10606 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
10607     if (GetArena() == other->GetArena()) {
10608 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
10609       InternalSwap(other);
10610     } else {
10611       ::google::protobuf::internal::GenericSwap(this, other);
10612     }
10613   }
10614   void UnsafeArenaSwap(DescriptorProto* other) {
10615     if (other == this) return;
10616     ABSL_DCHECK(GetArena() == other->GetArena());
10617     InternalSwap(other);
10618   }
10619 
10620   // implements Message ----------------------------------------------
10621 
10622   DescriptorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
10623     return ::google::protobuf::Message::DefaultConstruct<DescriptorProto>(arena);
10624   }
10625   using ::google::protobuf::Message::CopyFrom;
10626   void CopyFrom(const DescriptorProto& from);
10627   using ::google::protobuf::Message::MergeFrom;
10628   void MergeFrom(const DescriptorProto& from) { DescriptorProto::MergeImpl(*this, from); }
10629 
10630   private:
10631   static void MergeImpl(
10632       ::google::protobuf::MessageLite& to_msg,
10633       const ::google::protobuf::MessageLite& from_msg);
10634 
10635   public:
10636   bool IsInitialized() const {
10637     return IsInitializedImpl(*this);
10638   }
10639 
10640   private:
10641   static bool IsInitializedImpl(const MessageLite& msg);
10642 
10643   public:
10644   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
10645   #if defined(PROTOBUF_CUSTOM_VTABLE)
10646   private:
10647   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
10648   static ::uint8_t* _InternalSerialize(
10649       const MessageLite& msg, ::uint8_t* target,
10650       ::google::protobuf::io::EpsCopyOutputStream* stream);
10651 
10652   public:
10653   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
10654   ::uint8_t* _InternalSerialize(
10655       ::uint8_t* target,
10656       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
10657     return _InternalSerialize(*this, target, stream);
10658   }
10659   #else   // PROTOBUF_CUSTOM_VTABLE
10660   ::size_t ByteSizeLong() const final;
10661   ::uint8_t* _InternalSerialize(
10662       ::uint8_t* target,
10663       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
10664   #endif  // PROTOBUF_CUSTOM_VTABLE
10665   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
10666 
10667   private:
10668   void SharedCtor(::google::protobuf::Arena* arena);
10669   void SharedDtor();
10670   void InternalSwap(DescriptorProto* other);
10671  private:
10672   friend class ::google::protobuf::internal::AnyMetadata;
10673   static ::absl::string_view FullMessageName() { return "google.protobuf.DescriptorProto"; }
10674 
10675  protected:
10676   explicit DescriptorProto(::google::protobuf::Arena* arena);
10677   DescriptorProto(::google::protobuf::Arena* arena, const DescriptorProto& from);
10678   DescriptorProto(::google::protobuf::Arena* arena, DescriptorProto&& from) noexcept
10679       : DescriptorProto(arena) {
10680     *this = ::std::move(from);
10681   }
10682   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
10683   static const ::google::protobuf::Message::ClassDataFull _class_data_;
10684 
10685  public:
10686   ::google::protobuf::Metadata GetMetadata() const;
10687   // nested types ----------------------------------------------------
10688   using ExtensionRange = DescriptorProto_ExtensionRange;
10689   using ReservedRange = DescriptorProto_ReservedRange;
10690 
10691   // accessors -------------------------------------------------------
10692   enum : int {
10693     kFieldFieldNumber = 2,
10694     kNestedTypeFieldNumber = 3,
10695     kEnumTypeFieldNumber = 4,
10696     kExtensionRangeFieldNumber = 5,
10697     kExtensionFieldNumber = 6,
10698     kOneofDeclFieldNumber = 8,
10699     kReservedRangeFieldNumber = 9,
10700     kReservedNameFieldNumber = 10,
10701     kNameFieldNumber = 1,
10702     kOptionsFieldNumber = 7,
10703   };
10704   // repeated .google.protobuf.FieldDescriptorProto field = 2;
10705   int field_size() const;
10706   private:
10707   int _internal_field_size() const;
10708 
10709   public:
10710   void clear_field() ;
10711   ::google::protobuf::FieldDescriptorProto* mutable_field(int index);
10712   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* mutable_field();
10713 
10714   private:
10715   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& _internal_field() const;
10716   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* _internal_mutable_field();
10717   public:
10718   const ::google::protobuf::FieldDescriptorProto& field(int index) const;
10719   ::google::protobuf::FieldDescriptorProto* add_field();
10720   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& field() const;
10721   // repeated .google.protobuf.DescriptorProto nested_type = 3;
10722   int nested_type_size() const;
10723   private:
10724   int _internal_nested_type_size() const;
10725 
10726   public:
10727   void clear_nested_type() ;
10728   ::google::protobuf::DescriptorProto* mutable_nested_type(int index);
10729   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* mutable_nested_type();
10730 
10731   private:
10732   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& _internal_nested_type() const;
10733   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* _internal_mutable_nested_type();
10734   public:
10735   const ::google::protobuf::DescriptorProto& nested_type(int index) const;
10736   ::google::protobuf::DescriptorProto* add_nested_type();
10737   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& nested_type() const;
10738   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
10739   int enum_type_size() const;
10740   private:
10741   int _internal_enum_type_size() const;
10742 
10743   public:
10744   void clear_enum_type() ;
10745   ::google::protobuf::EnumDescriptorProto* mutable_enum_type(int index);
10746   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* mutable_enum_type();
10747 
10748   private:
10749   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& _internal_enum_type() const;
10750   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* _internal_mutable_enum_type();
10751   public:
10752   const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const;
10753   ::google::protobuf::EnumDescriptorProto* add_enum_type();
10754   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& enum_type() const;
10755   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
10756   int extension_range_size() const;
10757   private:
10758   int _internal_extension_range_size() const;
10759 
10760   public:
10761   void clear_extension_range() ;
10762   ::google::protobuf::DescriptorProto_ExtensionRange* mutable_extension_range(int index);
10763   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>* mutable_extension_range();
10764 
10765   private:
10766   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>& _internal_extension_range() const;
10767   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>* _internal_mutable_extension_range();
10768   public:
10769   const ::google::protobuf::DescriptorProto_ExtensionRange& extension_range(int index) const;
10770   ::google::protobuf::DescriptorProto_ExtensionRange* add_extension_range();
10771   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>& extension_range() const;
10772   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
10773   int extension_size() const;
10774   private:
10775   int _internal_extension_size() const;
10776 
10777   public:
10778   void clear_extension() ;
10779   ::google::protobuf::FieldDescriptorProto* mutable_extension(int index);
10780   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* mutable_extension();
10781 
10782   private:
10783   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& _internal_extension() const;
10784   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* _internal_mutable_extension();
10785   public:
10786   const ::google::protobuf::FieldDescriptorProto& extension(int index) const;
10787   ::google::protobuf::FieldDescriptorProto* add_extension();
10788   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& extension() const;
10789   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
10790   int oneof_decl_size() const;
10791   private:
10792   int _internal_oneof_decl_size() const;
10793 
10794   public:
10795   void clear_oneof_decl() ;
10796   ::google::protobuf::OneofDescriptorProto* mutable_oneof_decl(int index);
10797   ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>* mutable_oneof_decl();
10798 
10799   private:
10800   const ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>& _internal_oneof_decl() const;
10801   ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>* _internal_mutable_oneof_decl();
10802   public:
10803   const ::google::protobuf::OneofDescriptorProto& oneof_decl(int index) const;
10804   ::google::protobuf::OneofDescriptorProto* add_oneof_decl();
10805   const ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>& oneof_decl() const;
10806   // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
10807   int reserved_range_size() const;
10808   private:
10809   int _internal_reserved_range_size() const;
10810 
10811   public:
10812   void clear_reserved_range() ;
10813   ::google::protobuf::DescriptorProto_ReservedRange* mutable_reserved_range(int index);
10814   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>* mutable_reserved_range();
10815 
10816   private:
10817   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>& _internal_reserved_range() const;
10818   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>* _internal_mutable_reserved_range();
10819   public:
10820   const ::google::protobuf::DescriptorProto_ReservedRange& reserved_range(int index) const;
10821   ::google::protobuf::DescriptorProto_ReservedRange* add_reserved_range();
10822   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>& reserved_range() const;
10823   // repeated string reserved_name = 10;
10824   int reserved_name_size() const;
10825   private:
10826   int _internal_reserved_name_size() const;
10827 
10828   public:
10829   void clear_reserved_name() ;
10830   const std::string& reserved_name(int index) const;
10831   std::string* mutable_reserved_name(int index);
10832   template <typename Arg_ = const std::string&, typename... Args_>
10833   void set_reserved_name(int index, Arg_&& value, Args_... args);
10834   std::string* add_reserved_name();
10835   template <typename Arg_ = const std::string&, typename... Args_>
10836   void add_reserved_name(Arg_&& value, Args_... args);
10837   const ::google::protobuf::RepeatedPtrField<std::string>& reserved_name() const;
10838   ::google::protobuf::RepeatedPtrField<std::string>* mutable_reserved_name();
10839 
10840   private:
10841   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_reserved_name() const;
10842   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_reserved_name();
10843 
10844   public:
10845   // optional string name = 1;
10846   bool has_name() const;
10847   void clear_name() ;
10848   const std::string& name() const;
10849   template <typename Arg_ = const std::string&, typename... Args_>
10850   void set_name(Arg_&& arg, Args_... args);
10851   std::string* mutable_name();
10852   PROTOBUF_NODISCARD std::string* release_name();
10853   void set_allocated_name(std::string* value);
10854 
10855   private:
10856   const std::string& _internal_name() const;
10857   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
10858       const std::string& value);
10859   std::string* _internal_mutable_name();
10860 
10861   public:
10862   // optional .google.protobuf.MessageOptions options = 7;
10863   bool has_options() const;
10864   void clear_options() ;
10865   const ::google::protobuf::MessageOptions& options() const;
10866   PROTOBUF_NODISCARD ::google::protobuf::MessageOptions* release_options();
10867   ::google::protobuf::MessageOptions* mutable_options();
10868   void set_allocated_options(::google::protobuf::MessageOptions* value);
10869   void unsafe_arena_set_allocated_options(::google::protobuf::MessageOptions* value);
10870   ::google::protobuf::MessageOptions* unsafe_arena_release_options();
10871 
10872   private:
10873   const ::google::protobuf::MessageOptions& _internal_options() const;
10874   ::google::protobuf::MessageOptions* _internal_mutable_options();
10875 
10876   public:
10877   // @@protoc_insertion_point(class_scope:google.protobuf.DescriptorProto)
10878  private:
10879   class _Internal;
10880   friend class ::google::protobuf::internal::TcParser;
10881   static const ::google::protobuf::internal::TcParseTable<
10882       4, 10, 8,
10883       65, 2>
10884       _table_;
10885 
10886 
10887   friend class ::google::protobuf::MessageLite;
10888   friend class ::google::protobuf::Arena;
10889   template <typename T>
10890   friend class ::google::protobuf::Arena::InternalHelper;
10891   using InternalArenaConstructable_ = void;
10892   using DestructorSkippable_ = void;
10893   struct Impl_ {
10894     inline explicit constexpr Impl_(
10895         ::google::protobuf::internal::ConstantInitialized) noexcept;
10896     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
10897                           ::google::protobuf::Arena* arena);
10898     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
10899                           ::google::protobuf::Arena* arena, const Impl_& from,
10900                           const DescriptorProto& from_msg);
10901     ::google::protobuf::internal::HasBits<1> _has_bits_;
10902     mutable ::google::protobuf::internal::CachedSize _cached_size_;
10903     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > field_;
10904     ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > nested_type_;
10905     ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_;
10906     ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ExtensionRange > extension_range_;
10907     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_;
10908     ::google::protobuf::RepeatedPtrField< ::google::protobuf::OneofDescriptorProto > oneof_decl_;
10909     ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto_ReservedRange > reserved_range_;
10910     ::google::protobuf::RepeatedPtrField<std::string> reserved_name_;
10911     ::google::protobuf::internal::ArenaStringPtr name_;
10912     ::google::protobuf::MessageOptions* options_;
10913     PROTOBUF_TSAN_DECLARE_MEMBER
10914   };
10915   union { Impl_ _impl_; };
10916   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
10917 };
10918 // -------------------------------------------------------------------
10919 
10920 class PROTOBUF_EXPORT FileDescriptorProto final : public ::google::protobuf::Message
10921 /* @@protoc_insertion_point(class_definition:google.protobuf.FileDescriptorProto) */ {
10922  public:
10923   inline FileDescriptorProto() : FileDescriptorProto(nullptr) {}
10924   ~FileDescriptorProto() PROTOBUF_FINAL;
10925   template <typename = void>
10926   explicit PROTOBUF_CONSTEXPR FileDescriptorProto(
10927       ::google::protobuf::internal::ConstantInitialized);
10928 
10929   inline FileDescriptorProto(const FileDescriptorProto& from) : FileDescriptorProto(nullptr, from) {}
10930   inline FileDescriptorProto(FileDescriptorProto&& from) noexcept
10931       : FileDescriptorProto(nullptr, std::move(from)) {}
10932   inline FileDescriptorProto& operator=(const FileDescriptorProto& from) {
10933     CopyFrom(from);
10934     return *this;
10935   }
10936   inline FileDescriptorProto& operator=(FileDescriptorProto&& from) noexcept {
10937     if (this == &from) return *this;
10938     if (GetArena() == from.GetArena()
10939 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
10940         && GetArena() != nullptr
10941 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
10942     ) {
10943       InternalSwap(&from);
10944     } else {
10945       CopyFrom(from);
10946     }
10947     return *this;
10948   }
10949 
10950   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
10951       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10952     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
10953   }
10954   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
10955       ABSL_ATTRIBUTE_LIFETIME_BOUND {
10956     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
10957   }
10958 
10959   static const ::google::protobuf::Descriptor* descriptor() {
10960     return GetDescriptor();
10961   }
10962   static const ::google::protobuf::Descriptor* GetDescriptor() {
10963     return default_instance().GetMetadata().descriptor;
10964   }
10965   static const ::google::protobuf::Reflection* GetReflection() {
10966     return default_instance().GetMetadata().reflection;
10967   }
10968   static const FileDescriptorProto& default_instance() {
10969     return *internal_default_instance();
10970   }
10971   static inline const FileDescriptorProto* internal_default_instance() {
10972     return reinterpret_cast<const FileDescriptorProto*>(
10973         &_FileDescriptorProto_default_instance_);
10974   }
10975   static constexpr int kIndexInFileMessages = 1;
10976   friend void swap(FileDescriptorProto& a, FileDescriptorProto& b) { a.Swap(&b); }
10977   inline void Swap(FileDescriptorProto* other) {
10978     if (other == this) return;
10979 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
10980     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
10981 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
10982     if (GetArena() == other->GetArena()) {
10983 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
10984       InternalSwap(other);
10985     } else {
10986       ::google::protobuf::internal::GenericSwap(this, other);
10987     }
10988   }
10989   void UnsafeArenaSwap(FileDescriptorProto* other) {
10990     if (other == this) return;
10991     ABSL_DCHECK(GetArena() == other->GetArena());
10992     InternalSwap(other);
10993   }
10994 
10995   // implements Message ----------------------------------------------
10996 
10997   FileDescriptorProto* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
10998     return ::google::protobuf::Message::DefaultConstruct<FileDescriptorProto>(arena);
10999   }
11000   using ::google::protobuf::Message::CopyFrom;
11001   void CopyFrom(const FileDescriptorProto& from);
11002   using ::google::protobuf::Message::MergeFrom;
11003   void MergeFrom(const FileDescriptorProto& from) { FileDescriptorProto::MergeImpl(*this, from); }
11004 
11005   private:
11006   static void MergeImpl(
11007       ::google::protobuf::MessageLite& to_msg,
11008       const ::google::protobuf::MessageLite& from_msg);
11009 
11010   public:
11011   bool IsInitialized() const {
11012     return IsInitializedImpl(*this);
11013   }
11014 
11015   private:
11016   static bool IsInitializedImpl(const MessageLite& msg);
11017 
11018   public:
11019   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
11020   #if defined(PROTOBUF_CUSTOM_VTABLE)
11021   private:
11022   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
11023   static ::uint8_t* _InternalSerialize(
11024       const MessageLite& msg, ::uint8_t* target,
11025       ::google::protobuf::io::EpsCopyOutputStream* stream);
11026 
11027   public:
11028   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
11029   ::uint8_t* _InternalSerialize(
11030       ::uint8_t* target,
11031       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
11032     return _InternalSerialize(*this, target, stream);
11033   }
11034   #else   // PROTOBUF_CUSTOM_VTABLE
11035   ::size_t ByteSizeLong() const final;
11036   ::uint8_t* _InternalSerialize(
11037       ::uint8_t* target,
11038       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
11039   #endif  // PROTOBUF_CUSTOM_VTABLE
11040   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
11041 
11042   private:
11043   void SharedCtor(::google::protobuf::Arena* arena);
11044   void SharedDtor();
11045   void InternalSwap(FileDescriptorProto* other);
11046  private:
11047   friend class ::google::protobuf::internal::AnyMetadata;
11048   static ::absl::string_view FullMessageName() { return "google.protobuf.FileDescriptorProto"; }
11049 
11050  protected:
11051   explicit FileDescriptorProto(::google::protobuf::Arena* arena);
11052   FileDescriptorProto(::google::protobuf::Arena* arena, const FileDescriptorProto& from);
11053   FileDescriptorProto(::google::protobuf::Arena* arena, FileDescriptorProto&& from) noexcept
11054       : FileDescriptorProto(arena) {
11055     *this = ::std::move(from);
11056   }
11057   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
11058   static const ::google::protobuf::Message::ClassDataFull _class_data_;
11059 
11060  public:
11061   ::google::protobuf::Metadata GetMetadata() const;
11062   // nested types ----------------------------------------------------
11063 
11064   // accessors -------------------------------------------------------
11065   enum : int {
11066     kDependencyFieldNumber = 3,
11067     kMessageTypeFieldNumber = 4,
11068     kEnumTypeFieldNumber = 5,
11069     kServiceFieldNumber = 6,
11070     kExtensionFieldNumber = 7,
11071     kPublicDependencyFieldNumber = 10,
11072     kWeakDependencyFieldNumber = 11,
11073     kNameFieldNumber = 1,
11074     kPackageFieldNumber = 2,
11075     kSyntaxFieldNumber = 12,
11076     kOptionsFieldNumber = 8,
11077     kSourceCodeInfoFieldNumber = 9,
11078     kEditionFieldNumber = 14,
11079   };
11080   // repeated string dependency = 3;
11081   int dependency_size() const;
11082   private:
11083   int _internal_dependency_size() const;
11084 
11085   public:
11086   void clear_dependency() ;
11087   const std::string& dependency(int index) const;
11088   std::string* mutable_dependency(int index);
11089   template <typename Arg_ = const std::string&, typename... Args_>
11090   void set_dependency(int index, Arg_&& value, Args_... args);
11091   std::string* add_dependency();
11092   template <typename Arg_ = const std::string&, typename... Args_>
11093   void add_dependency(Arg_&& value, Args_... args);
11094   const ::google::protobuf::RepeatedPtrField<std::string>& dependency() const;
11095   ::google::protobuf::RepeatedPtrField<std::string>* mutable_dependency();
11096 
11097   private:
11098   const ::google::protobuf::RepeatedPtrField<std::string>& _internal_dependency() const;
11099   ::google::protobuf::RepeatedPtrField<std::string>* _internal_mutable_dependency();
11100 
11101   public:
11102   // repeated .google.protobuf.DescriptorProto message_type = 4;
11103   int message_type_size() const;
11104   private:
11105   int _internal_message_type_size() const;
11106 
11107   public:
11108   void clear_message_type() ;
11109   ::google::protobuf::DescriptorProto* mutable_message_type(int index);
11110   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* mutable_message_type();
11111 
11112   private:
11113   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& _internal_message_type() const;
11114   ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* _internal_mutable_message_type();
11115   public:
11116   const ::google::protobuf::DescriptorProto& message_type(int index) const;
11117   ::google::protobuf::DescriptorProto* add_message_type();
11118   const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& message_type() const;
11119   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
11120   int enum_type_size() const;
11121   private:
11122   int _internal_enum_type_size() const;
11123 
11124   public:
11125   void clear_enum_type() ;
11126   ::google::protobuf::EnumDescriptorProto* mutable_enum_type(int index);
11127   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* mutable_enum_type();
11128 
11129   private:
11130   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& _internal_enum_type() const;
11131   ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* _internal_mutable_enum_type();
11132   public:
11133   const ::google::protobuf::EnumDescriptorProto& enum_type(int index) const;
11134   ::google::protobuf::EnumDescriptorProto* add_enum_type();
11135   const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& enum_type() const;
11136   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
11137   int service_size() const;
11138   private:
11139   int _internal_service_size() const;
11140 
11141   public:
11142   void clear_service() ;
11143   ::google::protobuf::ServiceDescriptorProto* mutable_service(int index);
11144   ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>* mutable_service();
11145 
11146   private:
11147   const ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>& _internal_service() const;
11148   ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>* _internal_mutable_service();
11149   public:
11150   const ::google::protobuf::ServiceDescriptorProto& service(int index) const;
11151   ::google::protobuf::ServiceDescriptorProto* add_service();
11152   const ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>& service() const;
11153   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
11154   int extension_size() const;
11155   private:
11156   int _internal_extension_size() const;
11157 
11158   public:
11159   void clear_extension() ;
11160   ::google::protobuf::FieldDescriptorProto* mutable_extension(int index);
11161   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* mutable_extension();
11162 
11163   private:
11164   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& _internal_extension() const;
11165   ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* _internal_mutable_extension();
11166   public:
11167   const ::google::protobuf::FieldDescriptorProto& extension(int index) const;
11168   ::google::protobuf::FieldDescriptorProto* add_extension();
11169   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& extension() const;
11170   // repeated int32 public_dependency = 10;
11171   int public_dependency_size() const;
11172   private:
11173   int _internal_public_dependency_size() const;
11174 
11175   public:
11176   void clear_public_dependency() ;
11177   ::int32_t public_dependency(int index) const;
11178   void set_public_dependency(int index, ::int32_t value);
11179   void add_public_dependency(::int32_t value);
11180   const ::google::protobuf::RepeatedField<::int32_t>& public_dependency() const;
11181   ::google::protobuf::RepeatedField<::int32_t>* mutable_public_dependency();
11182 
11183   private:
11184   const ::google::protobuf::RepeatedField<::int32_t>& _internal_public_dependency() const;
11185   ::google::protobuf::RepeatedField<::int32_t>* _internal_mutable_public_dependency();
11186 
11187   public:
11188   // repeated int32 weak_dependency = 11;
11189   int weak_dependency_size() const;
11190   private:
11191   int _internal_weak_dependency_size() const;
11192 
11193   public:
11194   void clear_weak_dependency() ;
11195   ::int32_t weak_dependency(int index) const;
11196   void set_weak_dependency(int index, ::int32_t value);
11197   void add_weak_dependency(::int32_t value);
11198   const ::google::protobuf::RepeatedField<::int32_t>& weak_dependency() const;
11199   ::google::protobuf::RepeatedField<::int32_t>* mutable_weak_dependency();
11200 
11201   private:
11202   const ::google::protobuf::RepeatedField<::int32_t>& _internal_weak_dependency() const;
11203   ::google::protobuf::RepeatedField<::int32_t>* _internal_mutable_weak_dependency();
11204 
11205   public:
11206   // optional string name = 1;
11207   bool has_name() const;
11208   void clear_name() ;
11209   const std::string& name() const;
11210   template <typename Arg_ = const std::string&, typename... Args_>
11211   void set_name(Arg_&& arg, Args_... args);
11212   std::string* mutable_name();
11213   PROTOBUF_NODISCARD std::string* release_name();
11214   void set_allocated_name(std::string* value);
11215 
11216   private:
11217   const std::string& _internal_name() const;
11218   inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(
11219       const std::string& value);
11220   std::string* _internal_mutable_name();
11221 
11222   public:
11223   // optional string package = 2;
11224   bool has_package() const;
11225   void clear_package() ;
11226   const std::string& package() const;
11227   template <typename Arg_ = const std::string&, typename... Args_>
11228   void set_package(Arg_&& arg, Args_... args);
11229   std::string* mutable_package();
11230   PROTOBUF_NODISCARD std::string* release_package();
11231   void set_allocated_package(std::string* value);
11232 
11233   private:
11234   const std::string& _internal_package() const;
11235   inline PROTOBUF_ALWAYS_INLINE void _internal_set_package(
11236       const std::string& value);
11237   std::string* _internal_mutable_package();
11238 
11239   public:
11240   // optional string syntax = 12;
11241   bool has_syntax() const;
11242   void clear_syntax() ;
11243   const std::string& syntax() const;
11244   template <typename Arg_ = const std::string&, typename... Args_>
11245   void set_syntax(Arg_&& arg, Args_... args);
11246   std::string* mutable_syntax();
11247   PROTOBUF_NODISCARD std::string* release_syntax();
11248   void set_allocated_syntax(std::string* value);
11249 
11250   private:
11251   const std::string& _internal_syntax() const;
11252   inline PROTOBUF_ALWAYS_INLINE void _internal_set_syntax(
11253       const std::string& value);
11254   std::string* _internal_mutable_syntax();
11255 
11256   public:
11257   // optional .google.protobuf.FileOptions options = 8;
11258   bool has_options() const;
11259   void clear_options() ;
11260   const ::google::protobuf::FileOptions& options() const;
11261   PROTOBUF_NODISCARD ::google::protobuf::FileOptions* release_options();
11262   ::google::protobuf::FileOptions* mutable_options();
11263   void set_allocated_options(::google::protobuf::FileOptions* value);
11264   void unsafe_arena_set_allocated_options(::google::protobuf::FileOptions* value);
11265   ::google::protobuf::FileOptions* unsafe_arena_release_options();
11266 
11267   private:
11268   const ::google::protobuf::FileOptions& _internal_options() const;
11269   ::google::protobuf::FileOptions* _internal_mutable_options();
11270 
11271   public:
11272   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
11273   bool has_source_code_info() const;
11274   void clear_source_code_info() ;
11275   const ::google::protobuf::SourceCodeInfo& source_code_info() const;
11276   PROTOBUF_NODISCARD ::google::protobuf::SourceCodeInfo* release_source_code_info();
11277   ::google::protobuf::SourceCodeInfo* mutable_source_code_info();
11278   void set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* value);
11279   void unsafe_arena_set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* value);
11280   ::google::protobuf::SourceCodeInfo* unsafe_arena_release_source_code_info();
11281 
11282   private:
11283   const ::google::protobuf::SourceCodeInfo& _internal_source_code_info() const;
11284   ::google::protobuf::SourceCodeInfo* _internal_mutable_source_code_info();
11285 
11286   public:
11287   // optional .google.protobuf.Edition edition = 14;
11288   bool has_edition() const;
11289   void clear_edition() ;
11290   ::google::protobuf::Edition edition() const;
11291   void set_edition(::google::protobuf::Edition value);
11292 
11293   private:
11294   ::google::protobuf::Edition _internal_edition() const;
11295   void _internal_set_edition(::google::protobuf::Edition value);
11296 
11297   public:
11298   // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorProto)
11299  private:
11300   class _Internal;
11301   friend class ::google::protobuf::internal::TcParser;
11302   static const ::google::protobuf::internal::TcParseTable<
11303       4, 13, 7,
11304       79, 2>
11305       _table_;
11306 
11307 
11308   friend class ::google::protobuf::MessageLite;
11309   friend class ::google::protobuf::Arena;
11310   template <typename T>
11311   friend class ::google::protobuf::Arena::InternalHelper;
11312   using InternalArenaConstructable_ = void;
11313   using DestructorSkippable_ = void;
11314   struct Impl_ {
11315     inline explicit constexpr Impl_(
11316         ::google::protobuf::internal::ConstantInitialized) noexcept;
11317     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
11318                           ::google::protobuf::Arena* arena);
11319     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
11320                           ::google::protobuf::Arena* arena, const Impl_& from,
11321                           const FileDescriptorProto& from_msg);
11322     ::google::protobuf::internal::HasBits<1> _has_bits_;
11323     mutable ::google::protobuf::internal::CachedSize _cached_size_;
11324     ::google::protobuf::RepeatedPtrField<std::string> dependency_;
11325     ::google::protobuf::RepeatedPtrField< ::google::protobuf::DescriptorProto > message_type_;
11326     ::google::protobuf::RepeatedPtrField< ::google::protobuf::EnumDescriptorProto > enum_type_;
11327     ::google::protobuf::RepeatedPtrField< ::google::protobuf::ServiceDescriptorProto > service_;
11328     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FieldDescriptorProto > extension_;
11329     ::google::protobuf::RepeatedField<::int32_t> public_dependency_;
11330     ::google::protobuf::RepeatedField<::int32_t> weak_dependency_;
11331     ::google::protobuf::internal::ArenaStringPtr name_;
11332     ::google::protobuf::internal::ArenaStringPtr package_;
11333     ::google::protobuf::internal::ArenaStringPtr syntax_;
11334     ::google::protobuf::FileOptions* options_;
11335     ::google::protobuf::SourceCodeInfo* source_code_info_;
11336     int edition_;
11337     PROTOBUF_TSAN_DECLARE_MEMBER
11338   };
11339   union { Impl_ _impl_; };
11340   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
11341 };
11342 // -------------------------------------------------------------------
11343 
11344 class PROTOBUF_EXPORT FileDescriptorSet final : public ::google::protobuf::Message
11345 /* @@protoc_insertion_point(class_definition:google.protobuf.FileDescriptorSet) */ {
11346  public:
11347   inline FileDescriptorSet() : FileDescriptorSet(nullptr) {}
11348   ~FileDescriptorSet() PROTOBUF_FINAL;
11349   template <typename = void>
11350   explicit PROTOBUF_CONSTEXPR FileDescriptorSet(
11351       ::google::protobuf::internal::ConstantInitialized);
11352 
11353   inline FileDescriptorSet(const FileDescriptorSet& from) : FileDescriptorSet(nullptr, from) {}
11354   inline FileDescriptorSet(FileDescriptorSet&& from) noexcept
11355       : FileDescriptorSet(nullptr, std::move(from)) {}
11356   inline FileDescriptorSet& operator=(const FileDescriptorSet& from) {
11357     CopyFrom(from);
11358     return *this;
11359   }
11360   inline FileDescriptorSet& operator=(FileDescriptorSet&& from) noexcept {
11361     if (this == &from) return *this;
11362     if (GetArena() == from.GetArena()
11363 #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
11364         && GetArena() != nullptr
11365 #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
11366     ) {
11367       InternalSwap(&from);
11368     } else {
11369       CopyFrom(from);
11370     }
11371     return *this;
11372   }
11373 
11374   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
11375       ABSL_ATTRIBUTE_LIFETIME_BOUND {
11376     return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
11377   }
11378   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields()
11379       ABSL_ATTRIBUTE_LIFETIME_BOUND {
11380     return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
11381   }
11382 
11383   static const ::google::protobuf::Descriptor* descriptor() {
11384     return GetDescriptor();
11385   }
11386   static const ::google::protobuf::Descriptor* GetDescriptor() {
11387     return default_instance().GetMetadata().descriptor;
11388   }
11389   static const ::google::protobuf::Reflection* GetReflection() {
11390     return default_instance().GetMetadata().reflection;
11391   }
11392   static const FileDescriptorSet& default_instance() {
11393     return *internal_default_instance();
11394   }
11395   static inline const FileDescriptorSet* internal_default_instance() {
11396     return reinterpret_cast<const FileDescriptorSet*>(
11397         &_FileDescriptorSet_default_instance_);
11398   }
11399   static constexpr int kIndexInFileMessages = 0;
11400   friend void swap(FileDescriptorSet& a, FileDescriptorSet& b) { a.Swap(&b); }
11401   inline void Swap(FileDescriptorSet* other) {
11402     if (other == this) return;
11403 #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
11404     if (GetArena() != nullptr && GetArena() == other->GetArena()) {
11405 #else   // PROTOBUF_FORCE_COPY_IN_SWAP
11406     if (GetArena() == other->GetArena()) {
11407 #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
11408       InternalSwap(other);
11409     } else {
11410       ::google::protobuf::internal::GenericSwap(this, other);
11411     }
11412   }
11413   void UnsafeArenaSwap(FileDescriptorSet* other) {
11414     if (other == this) return;
11415     ABSL_DCHECK(GetArena() == other->GetArena());
11416     InternalSwap(other);
11417   }
11418 
11419   // implements Message ----------------------------------------------
11420 
11421   FileDescriptorSet* New(::google::protobuf::Arena* arena = nullptr) const PROTOBUF_FINAL {
11422     return ::google::protobuf::Message::DefaultConstruct<FileDescriptorSet>(arena);
11423   }
11424   using ::google::protobuf::Message::CopyFrom;
11425   void CopyFrom(const FileDescriptorSet& from);
11426   using ::google::protobuf::Message::MergeFrom;
11427   void MergeFrom(const FileDescriptorSet& from) { FileDescriptorSet::MergeImpl(*this, from); }
11428 
11429   private:
11430   static void MergeImpl(
11431       ::google::protobuf::MessageLite& to_msg,
11432       const ::google::protobuf::MessageLite& from_msg);
11433 
11434   public:
11435   bool IsInitialized() const {
11436     return IsInitializedImpl(*this);
11437   }
11438 
11439   private:
11440   static bool IsInitializedImpl(const MessageLite& msg);
11441 
11442   public:
11443   ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
11444   #if defined(PROTOBUF_CUSTOM_VTABLE)
11445   private:
11446   static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
11447   static ::uint8_t* _InternalSerialize(
11448       const MessageLite& msg, ::uint8_t* target,
11449       ::google::protobuf::io::EpsCopyOutputStream* stream);
11450 
11451   public:
11452   ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
11453   ::uint8_t* _InternalSerialize(
11454       ::uint8_t* target,
11455       ::google::protobuf::io::EpsCopyOutputStream* stream) const {
11456     return _InternalSerialize(*this, target, stream);
11457   }
11458   #else   // PROTOBUF_CUSTOM_VTABLE
11459   ::size_t ByteSizeLong() const final;
11460   ::uint8_t* _InternalSerialize(
11461       ::uint8_t* target,
11462       ::google::protobuf::io::EpsCopyOutputStream* stream) const final;
11463   #endif  // PROTOBUF_CUSTOM_VTABLE
11464   int GetCachedSize() const { return _impl_._cached_size_.Get(); }
11465 
11466   private:
11467   void SharedCtor(::google::protobuf::Arena* arena);
11468   void SharedDtor();
11469   void InternalSwap(FileDescriptorSet* other);
11470  private:
11471   friend class ::google::protobuf::internal::AnyMetadata;
11472   static ::absl::string_view FullMessageName() { return "google.protobuf.FileDescriptorSet"; }
11473 
11474  protected:
11475   explicit FileDescriptorSet(::google::protobuf::Arena* arena);
11476   FileDescriptorSet(::google::protobuf::Arena* arena, const FileDescriptorSet& from);
11477   FileDescriptorSet(::google::protobuf::Arena* arena, FileDescriptorSet&& from) noexcept
11478       : FileDescriptorSet(arena) {
11479     *this = ::std::move(from);
11480   }
11481   const ::google::protobuf::Message::ClassData* GetClassData() const PROTOBUF_FINAL;
11482   static const ::google::protobuf::Message::ClassDataFull _class_data_;
11483 
11484  public:
11485   ::google::protobuf::Metadata GetMetadata() const;
11486   // nested types ----------------------------------------------------
11487 
11488   // accessors -------------------------------------------------------
11489   enum : int {
11490     kFileFieldNumber = 1,
11491   };
11492   // repeated .google.protobuf.FileDescriptorProto file = 1;
11493   int file_size() const;
11494   private:
11495   int _internal_file_size() const;
11496 
11497   public:
11498   void clear_file() ;
11499   ::google::protobuf::FileDescriptorProto* mutable_file(int index);
11500   ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>* mutable_file();
11501 
11502   private:
11503   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>& _internal_file() const;
11504   ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>* _internal_mutable_file();
11505   public:
11506   const ::google::protobuf::FileDescriptorProto& file(int index) const;
11507   ::google::protobuf::FileDescriptorProto* add_file();
11508   const ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>& file() const;
11509   // @@protoc_insertion_point(class_scope:google.protobuf.FileDescriptorSet)
11510  private:
11511   class _Internal;
11512   friend class ::google::protobuf::internal::TcParser;
11513   static const ::google::protobuf::internal::TcParseTable<
11514       0, 1, 1,
11515       0, 2>
11516       _table_;
11517 
11518 
11519   friend class ::google::protobuf::MessageLite;
11520   friend class ::google::protobuf::Arena;
11521   template <typename T>
11522   friend class ::google::protobuf::Arena::InternalHelper;
11523   using InternalArenaConstructable_ = void;
11524   using DestructorSkippable_ = void;
11525   struct Impl_ {
11526     inline explicit constexpr Impl_(
11527         ::google::protobuf::internal::ConstantInitialized) noexcept;
11528     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
11529                           ::google::protobuf::Arena* arena);
11530     inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility,
11531                           ::google::protobuf::Arena* arena, const Impl_& from,
11532                           const FileDescriptorSet& from_msg);
11533     ::google::protobuf::RepeatedPtrField< ::google::protobuf::FileDescriptorProto > file_;
11534     mutable ::google::protobuf::internal::CachedSize _cached_size_;
11535     PROTOBUF_TSAN_DECLARE_MEMBER
11536   };
11537   union { Impl_ _impl_; };
11538   friend struct ::TableStruct_google_2fprotobuf_2fdescriptor_2eproto;
11539 };
11540 
11541 // ===================================================================
11542 
11543 
11544 
11545 
11546 // ===================================================================
11547 
11548 
11549 #ifdef __GNUC__
11550 #pragma GCC diagnostic push
11551 #pragma GCC diagnostic ignored "-Wstrict-aliasing"
11552 #endif  // __GNUC__
11553 // -------------------------------------------------------------------
11554 
11555 // FileDescriptorSet
11556 
11557 // repeated .google.protobuf.FileDescriptorProto file = 1;
11558 inline int FileDescriptorSet::_internal_file_size() const {
11559   return _internal_file().size();
11560 }
11561 inline int FileDescriptorSet::file_size() const {
11562   return _internal_file_size();
11563 }
11564 inline void FileDescriptorSet::clear_file() {
11565   ::google::protobuf::internal::TSanWrite(&_impl_);
11566   _impl_.file_.Clear();
11567 }
11568 inline ::google::protobuf::FileDescriptorProto* FileDescriptorSet::mutable_file(int index)
11569     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11570   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorSet.file)
11571   return _internal_mutable_file()->Mutable(index);
11572 }
11573 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>* FileDescriptorSet::mutable_file()
11574     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11575   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorSet.file)
11576   ::google::protobuf::internal::TSanWrite(&_impl_);
11577   return _internal_mutable_file();
11578 }
11579 inline const ::google::protobuf::FileDescriptorProto& FileDescriptorSet::file(int index) const
11580     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11581   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorSet.file)
11582   return _internal_file().Get(index);
11583 }
11584 inline ::google::protobuf::FileDescriptorProto* FileDescriptorSet::add_file() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11585   ::google::protobuf::internal::TSanWrite(&_impl_);
11586   ::google::protobuf::FileDescriptorProto* _add = _internal_mutable_file()->Add();
11587   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorSet.file)
11588   return _add;
11589 }
11590 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>& FileDescriptorSet::file() const
11591     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11592   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorSet.file)
11593   return _internal_file();
11594 }
11595 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>&
11596 FileDescriptorSet::_internal_file() const {
11597   ::google::protobuf::internal::TSanRead(&_impl_);
11598   return _impl_.file_;
11599 }
11600 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FileDescriptorProto>*
11601 FileDescriptorSet::_internal_mutable_file() {
11602   ::google::protobuf::internal::TSanRead(&_impl_);
11603   return &_impl_.file_;
11604 }
11605 
11606 // -------------------------------------------------------------------
11607 
11608 // FileDescriptorProto
11609 
11610 // optional string name = 1;
11611 inline bool FileDescriptorProto::has_name() const {
11612   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
11613   return value;
11614 }
11615 inline void FileDescriptorProto::clear_name() {
11616   ::google::protobuf::internal::TSanWrite(&_impl_);
11617   _impl_.name_.ClearToEmpty();
11618   _impl_._has_bits_[0] &= ~0x00000001u;
11619 }
11620 inline const std::string& FileDescriptorProto::name() const
11621     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11622   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.name)
11623   return _internal_name();
11624 }
11625 template <typename Arg_, typename... Args_>
11626 inline PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_name(Arg_&& arg,
11627                                                      Args_... args) {
11628   ::google::protobuf::internal::TSanWrite(&_impl_);
11629   _impl_._has_bits_[0] |= 0x00000001u;
11630   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
11631   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.name)
11632 }
11633 inline std::string* FileDescriptorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11634   std::string* _s = _internal_mutable_name();
11635   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.name)
11636   return _s;
11637 }
11638 inline const std::string& FileDescriptorProto::_internal_name() const {
11639   ::google::protobuf::internal::TSanRead(&_impl_);
11640   return _impl_.name_.Get();
11641 }
11642 inline void FileDescriptorProto::_internal_set_name(const std::string& value) {
11643   ::google::protobuf::internal::TSanWrite(&_impl_);
11644   _impl_._has_bits_[0] |= 0x00000001u;
11645   _impl_.name_.Set(value, GetArena());
11646 }
11647 inline std::string* FileDescriptorProto::_internal_mutable_name() {
11648   ::google::protobuf::internal::TSanWrite(&_impl_);
11649   _impl_._has_bits_[0] |= 0x00000001u;
11650   return _impl_.name_.Mutable( GetArena());
11651 }
11652 inline std::string* FileDescriptorProto::release_name() {
11653   ::google::protobuf::internal::TSanWrite(&_impl_);
11654   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.name)
11655   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
11656     return nullptr;
11657   }
11658   _impl_._has_bits_[0] &= ~0x00000001u;
11659   auto* released = _impl_.name_.Release();
11660   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11661   _impl_.name_.Set("", GetArena());
11662   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11663   return released;
11664 }
11665 inline void FileDescriptorProto::set_allocated_name(std::string* value) {
11666   ::google::protobuf::internal::TSanWrite(&_impl_);
11667   if (value != nullptr) {
11668     _impl_._has_bits_[0] |= 0x00000001u;
11669   } else {
11670     _impl_._has_bits_[0] &= ~0x00000001u;
11671   }
11672   _impl_.name_.SetAllocated(value, GetArena());
11673   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11674         if (_impl_.name_.IsDefault()) {
11675           _impl_.name_.Set("", GetArena());
11676         }
11677   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11678   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.name)
11679 }
11680 
11681 // optional string package = 2;
11682 inline bool FileDescriptorProto::has_package() const {
11683   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
11684   return value;
11685 }
11686 inline void FileDescriptorProto::clear_package() {
11687   ::google::protobuf::internal::TSanWrite(&_impl_);
11688   _impl_.package_.ClearToEmpty();
11689   _impl_._has_bits_[0] &= ~0x00000002u;
11690 }
11691 inline const std::string& FileDescriptorProto::package() const
11692     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11693   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.package)
11694   return _internal_package();
11695 }
11696 template <typename Arg_, typename... Args_>
11697 inline PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_package(Arg_&& arg,
11698                                                      Args_... args) {
11699   ::google::protobuf::internal::TSanWrite(&_impl_);
11700   _impl_._has_bits_[0] |= 0x00000002u;
11701   _impl_.package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
11702   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.package)
11703 }
11704 inline std::string* FileDescriptorProto::mutable_package() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11705   std::string* _s = _internal_mutable_package();
11706   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.package)
11707   return _s;
11708 }
11709 inline const std::string& FileDescriptorProto::_internal_package() const {
11710   ::google::protobuf::internal::TSanRead(&_impl_);
11711   return _impl_.package_.Get();
11712 }
11713 inline void FileDescriptorProto::_internal_set_package(const std::string& value) {
11714   ::google::protobuf::internal::TSanWrite(&_impl_);
11715   _impl_._has_bits_[0] |= 0x00000002u;
11716   _impl_.package_.Set(value, GetArena());
11717 }
11718 inline std::string* FileDescriptorProto::_internal_mutable_package() {
11719   ::google::protobuf::internal::TSanWrite(&_impl_);
11720   _impl_._has_bits_[0] |= 0x00000002u;
11721   return _impl_.package_.Mutable( GetArena());
11722 }
11723 inline std::string* FileDescriptorProto::release_package() {
11724   ::google::protobuf::internal::TSanWrite(&_impl_);
11725   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.package)
11726   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
11727     return nullptr;
11728   }
11729   _impl_._has_bits_[0] &= ~0x00000002u;
11730   auto* released = _impl_.package_.Release();
11731   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11732   _impl_.package_.Set("", GetArena());
11733   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11734   return released;
11735 }
11736 inline void FileDescriptorProto::set_allocated_package(std::string* value) {
11737   ::google::protobuf::internal::TSanWrite(&_impl_);
11738   if (value != nullptr) {
11739     _impl_._has_bits_[0] |= 0x00000002u;
11740   } else {
11741     _impl_._has_bits_[0] &= ~0x00000002u;
11742   }
11743   _impl_.package_.SetAllocated(value, GetArena());
11744   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
11745         if (_impl_.package_.IsDefault()) {
11746           _impl_.package_.Set("", GetArena());
11747         }
11748   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
11749   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.package)
11750 }
11751 
11752 // repeated string dependency = 3;
11753 inline int FileDescriptorProto::_internal_dependency_size() const {
11754   return _internal_dependency().size();
11755 }
11756 inline int FileDescriptorProto::dependency_size() const {
11757   return _internal_dependency_size();
11758 }
11759 inline void FileDescriptorProto::clear_dependency() {
11760   ::google::protobuf::internal::TSanWrite(&_impl_);
11761   _impl_.dependency_.Clear();
11762 }
11763 inline std::string* FileDescriptorProto::add_dependency() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11764   ::google::protobuf::internal::TSanWrite(&_impl_);
11765   std::string* _s = _internal_mutable_dependency()->Add();
11766   // @@protoc_insertion_point(field_add_mutable:google.protobuf.FileDescriptorProto.dependency)
11767   return _s;
11768 }
11769 inline const std::string& FileDescriptorProto::dependency(int index) const
11770     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11771   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.dependency)
11772   return _internal_dependency().Get(index);
11773 }
11774 inline std::string* FileDescriptorProto::mutable_dependency(int index)
11775     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11776   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.dependency)
11777   return _internal_mutable_dependency()->Mutable(index);
11778 }
11779 template <typename Arg_, typename... Args_>
11780 inline void FileDescriptorProto::set_dependency(int index, Arg_&& value, Args_... args) {
11781   ::google::protobuf::internal::AssignToString(
11782       *_internal_mutable_dependency()->Mutable(index),
11783       std::forward<Arg_>(value), args... );
11784   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.dependency)
11785 }
11786 template <typename Arg_, typename... Args_>
11787 inline void FileDescriptorProto::add_dependency(Arg_&& value, Args_... args) {
11788   ::google::protobuf::internal::TSanWrite(&_impl_);
11789   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_dependency(),
11790                                std::forward<Arg_>(value),
11791                                args... );
11792   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.dependency)
11793 }
11794 inline const ::google::protobuf::RepeatedPtrField<std::string>&
11795 FileDescriptorProto::dependency() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
11796   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.dependency)
11797   return _internal_dependency();
11798 }
11799 inline ::google::protobuf::RepeatedPtrField<std::string>*
11800 FileDescriptorProto::mutable_dependency() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11801   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.dependency)
11802   ::google::protobuf::internal::TSanWrite(&_impl_);
11803   return _internal_mutable_dependency();
11804 }
11805 inline const ::google::protobuf::RepeatedPtrField<std::string>&
11806 FileDescriptorProto::_internal_dependency() const {
11807   ::google::protobuf::internal::TSanRead(&_impl_);
11808   return _impl_.dependency_;
11809 }
11810 inline ::google::protobuf::RepeatedPtrField<std::string>*
11811 FileDescriptorProto::_internal_mutable_dependency() {
11812   ::google::protobuf::internal::TSanRead(&_impl_);
11813   return &_impl_.dependency_;
11814 }
11815 
11816 // repeated int32 public_dependency = 10;
11817 inline int FileDescriptorProto::_internal_public_dependency_size() const {
11818   return _internal_public_dependency().size();
11819 }
11820 inline int FileDescriptorProto::public_dependency_size() const {
11821   return _internal_public_dependency_size();
11822 }
11823 inline void FileDescriptorProto::clear_public_dependency() {
11824   ::google::protobuf::internal::TSanWrite(&_impl_);
11825   _impl_.public_dependency_.Clear();
11826 }
11827 inline ::int32_t FileDescriptorProto::public_dependency(int index) const {
11828   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.public_dependency)
11829   return _internal_public_dependency().Get(index);
11830 }
11831 inline void FileDescriptorProto::set_public_dependency(int index, ::int32_t value) {
11832   _internal_mutable_public_dependency()->Set(index, value);
11833   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.public_dependency)
11834 }
11835 inline void FileDescriptorProto::add_public_dependency(::int32_t value) {
11836   ::google::protobuf::internal::TSanWrite(&_impl_);
11837   _internal_mutable_public_dependency()->Add(value);
11838   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.public_dependency)
11839 }
11840 inline const ::google::protobuf::RepeatedField<::int32_t>& FileDescriptorProto::public_dependency() const
11841     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11842   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.public_dependency)
11843   return _internal_public_dependency();
11844 }
11845 inline ::google::protobuf::RepeatedField<::int32_t>* FileDescriptorProto::mutable_public_dependency()
11846     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11847   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.public_dependency)
11848   ::google::protobuf::internal::TSanWrite(&_impl_);
11849   return _internal_mutable_public_dependency();
11850 }
11851 inline const ::google::protobuf::RepeatedField<::int32_t>&
11852 FileDescriptorProto::_internal_public_dependency() const {
11853   ::google::protobuf::internal::TSanRead(&_impl_);
11854   return _impl_.public_dependency_;
11855 }
11856 inline ::google::protobuf::RepeatedField<::int32_t>* FileDescriptorProto::_internal_mutable_public_dependency() {
11857   ::google::protobuf::internal::TSanRead(&_impl_);
11858   return &_impl_.public_dependency_;
11859 }
11860 
11861 // repeated int32 weak_dependency = 11;
11862 inline int FileDescriptorProto::_internal_weak_dependency_size() const {
11863   return _internal_weak_dependency().size();
11864 }
11865 inline int FileDescriptorProto::weak_dependency_size() const {
11866   return _internal_weak_dependency_size();
11867 }
11868 inline void FileDescriptorProto::clear_weak_dependency() {
11869   ::google::protobuf::internal::TSanWrite(&_impl_);
11870   _impl_.weak_dependency_.Clear();
11871 }
11872 inline ::int32_t FileDescriptorProto::weak_dependency(int index) const {
11873   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.weak_dependency)
11874   return _internal_weak_dependency().Get(index);
11875 }
11876 inline void FileDescriptorProto::set_weak_dependency(int index, ::int32_t value) {
11877   _internal_mutable_weak_dependency()->Set(index, value);
11878   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.weak_dependency)
11879 }
11880 inline void FileDescriptorProto::add_weak_dependency(::int32_t value) {
11881   ::google::protobuf::internal::TSanWrite(&_impl_);
11882   _internal_mutable_weak_dependency()->Add(value);
11883   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.weak_dependency)
11884 }
11885 inline const ::google::protobuf::RepeatedField<::int32_t>& FileDescriptorProto::weak_dependency() const
11886     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11887   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.weak_dependency)
11888   return _internal_weak_dependency();
11889 }
11890 inline ::google::protobuf::RepeatedField<::int32_t>* FileDescriptorProto::mutable_weak_dependency()
11891     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11892   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.weak_dependency)
11893   ::google::protobuf::internal::TSanWrite(&_impl_);
11894   return _internal_mutable_weak_dependency();
11895 }
11896 inline const ::google::protobuf::RepeatedField<::int32_t>&
11897 FileDescriptorProto::_internal_weak_dependency() const {
11898   ::google::protobuf::internal::TSanRead(&_impl_);
11899   return _impl_.weak_dependency_;
11900 }
11901 inline ::google::protobuf::RepeatedField<::int32_t>* FileDescriptorProto::_internal_mutable_weak_dependency() {
11902   ::google::protobuf::internal::TSanRead(&_impl_);
11903   return &_impl_.weak_dependency_;
11904 }
11905 
11906 // repeated .google.protobuf.DescriptorProto message_type = 4;
11907 inline int FileDescriptorProto::_internal_message_type_size() const {
11908   return _internal_message_type().size();
11909 }
11910 inline int FileDescriptorProto::message_type_size() const {
11911   return _internal_message_type_size();
11912 }
11913 inline void FileDescriptorProto::clear_message_type() {
11914   ::google::protobuf::internal::TSanWrite(&_impl_);
11915   _impl_.message_type_.Clear();
11916 }
11917 inline ::google::protobuf::DescriptorProto* FileDescriptorProto::mutable_message_type(int index)
11918     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11919   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.message_type)
11920   return _internal_mutable_message_type()->Mutable(index);
11921 }
11922 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* FileDescriptorProto::mutable_message_type()
11923     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11924   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.message_type)
11925   ::google::protobuf::internal::TSanWrite(&_impl_);
11926   return _internal_mutable_message_type();
11927 }
11928 inline const ::google::protobuf::DescriptorProto& FileDescriptorProto::message_type(int index) const
11929     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11930   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.message_type)
11931   return _internal_message_type().Get(index);
11932 }
11933 inline ::google::protobuf::DescriptorProto* FileDescriptorProto::add_message_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11934   ::google::protobuf::internal::TSanWrite(&_impl_);
11935   ::google::protobuf::DescriptorProto* _add = _internal_mutable_message_type()->Add();
11936   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.message_type)
11937   return _add;
11938 }
11939 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& FileDescriptorProto::message_type() const
11940     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11941   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.message_type)
11942   return _internal_message_type();
11943 }
11944 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>&
11945 FileDescriptorProto::_internal_message_type() const {
11946   ::google::protobuf::internal::TSanRead(&_impl_);
11947   return _impl_.message_type_;
11948 }
11949 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>*
11950 FileDescriptorProto::_internal_mutable_message_type() {
11951   ::google::protobuf::internal::TSanRead(&_impl_);
11952   return &_impl_.message_type_;
11953 }
11954 
11955 // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
11956 inline int FileDescriptorProto::_internal_enum_type_size() const {
11957   return _internal_enum_type().size();
11958 }
11959 inline int FileDescriptorProto::enum_type_size() const {
11960   return _internal_enum_type_size();
11961 }
11962 inline void FileDescriptorProto::clear_enum_type() {
11963   ::google::protobuf::internal::TSanWrite(&_impl_);
11964   _impl_.enum_type_.Clear();
11965 }
11966 inline ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::mutable_enum_type(int index)
11967     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11968   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.enum_type)
11969   return _internal_mutable_enum_type()->Mutable(index);
11970 }
11971 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* FileDescriptorProto::mutable_enum_type()
11972     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11973   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.enum_type)
11974   ::google::protobuf::internal::TSanWrite(&_impl_);
11975   return _internal_mutable_enum_type();
11976 }
11977 inline const ::google::protobuf::EnumDescriptorProto& FileDescriptorProto::enum_type(int index) const
11978     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11979   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.enum_type)
11980   return _internal_enum_type().Get(index);
11981 }
11982 inline ::google::protobuf::EnumDescriptorProto* FileDescriptorProto::add_enum_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
11983   ::google::protobuf::internal::TSanWrite(&_impl_);
11984   ::google::protobuf::EnumDescriptorProto* _add = _internal_mutable_enum_type()->Add();
11985   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.enum_type)
11986   return _add;
11987 }
11988 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& FileDescriptorProto::enum_type() const
11989     ABSL_ATTRIBUTE_LIFETIME_BOUND {
11990   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.enum_type)
11991   return _internal_enum_type();
11992 }
11993 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>&
11994 FileDescriptorProto::_internal_enum_type() const {
11995   ::google::protobuf::internal::TSanRead(&_impl_);
11996   return _impl_.enum_type_;
11997 }
11998 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>*
11999 FileDescriptorProto::_internal_mutable_enum_type() {
12000   ::google::protobuf::internal::TSanRead(&_impl_);
12001   return &_impl_.enum_type_;
12002 }
12003 
12004 // repeated .google.protobuf.ServiceDescriptorProto service = 6;
12005 inline int FileDescriptorProto::_internal_service_size() const {
12006   return _internal_service().size();
12007 }
12008 inline int FileDescriptorProto::service_size() const {
12009   return _internal_service_size();
12010 }
12011 inline void FileDescriptorProto::clear_service() {
12012   ::google::protobuf::internal::TSanWrite(&_impl_);
12013   _impl_.service_.Clear();
12014 }
12015 inline ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::mutable_service(int index)
12016     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12017   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.service)
12018   return _internal_mutable_service()->Mutable(index);
12019 }
12020 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>* FileDescriptorProto::mutable_service()
12021     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12022   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.service)
12023   ::google::protobuf::internal::TSanWrite(&_impl_);
12024   return _internal_mutable_service();
12025 }
12026 inline const ::google::protobuf::ServiceDescriptorProto& FileDescriptorProto::service(int index) const
12027     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12028   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.service)
12029   return _internal_service().Get(index);
12030 }
12031 inline ::google::protobuf::ServiceDescriptorProto* FileDescriptorProto::add_service() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12032   ::google::protobuf::internal::TSanWrite(&_impl_);
12033   ::google::protobuf::ServiceDescriptorProto* _add = _internal_mutable_service()->Add();
12034   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.service)
12035   return _add;
12036 }
12037 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>& FileDescriptorProto::service() const
12038     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12039   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.service)
12040   return _internal_service();
12041 }
12042 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>&
12043 FileDescriptorProto::_internal_service() const {
12044   ::google::protobuf::internal::TSanRead(&_impl_);
12045   return _impl_.service_;
12046 }
12047 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::ServiceDescriptorProto>*
12048 FileDescriptorProto::_internal_mutable_service() {
12049   ::google::protobuf::internal::TSanRead(&_impl_);
12050   return &_impl_.service_;
12051 }
12052 
12053 // repeated .google.protobuf.FieldDescriptorProto extension = 7;
12054 inline int FileDescriptorProto::_internal_extension_size() const {
12055   return _internal_extension().size();
12056 }
12057 inline int FileDescriptorProto::extension_size() const {
12058   return _internal_extension_size();
12059 }
12060 inline void FileDescriptorProto::clear_extension() {
12061   ::google::protobuf::internal::TSanWrite(&_impl_);
12062   _impl_.extension_.Clear();
12063 }
12064 inline ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::mutable_extension(int index)
12065     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12066   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.extension)
12067   return _internal_mutable_extension()->Mutable(index);
12068 }
12069 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* FileDescriptorProto::mutable_extension()
12070     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12071   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileDescriptorProto.extension)
12072   ::google::protobuf::internal::TSanWrite(&_impl_);
12073   return _internal_mutable_extension();
12074 }
12075 inline const ::google::protobuf::FieldDescriptorProto& FileDescriptorProto::extension(int index) const
12076     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12077   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.extension)
12078   return _internal_extension().Get(index);
12079 }
12080 inline ::google::protobuf::FieldDescriptorProto* FileDescriptorProto::add_extension() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12081   ::google::protobuf::internal::TSanWrite(&_impl_);
12082   ::google::protobuf::FieldDescriptorProto* _add = _internal_mutable_extension()->Add();
12083   // @@protoc_insertion_point(field_add:google.protobuf.FileDescriptorProto.extension)
12084   return _add;
12085 }
12086 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& FileDescriptorProto::extension() const
12087     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12088   // @@protoc_insertion_point(field_list:google.protobuf.FileDescriptorProto.extension)
12089   return _internal_extension();
12090 }
12091 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>&
12092 FileDescriptorProto::_internal_extension() const {
12093   ::google::protobuf::internal::TSanRead(&_impl_);
12094   return _impl_.extension_;
12095 }
12096 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>*
12097 FileDescriptorProto::_internal_mutable_extension() {
12098   ::google::protobuf::internal::TSanRead(&_impl_);
12099   return &_impl_.extension_;
12100 }
12101 
12102 // optional .google.protobuf.FileOptions options = 8;
12103 inline bool FileDescriptorProto::has_options() const {
12104   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
12105   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
12106   return value;
12107 }
12108 inline void FileDescriptorProto::clear_options() {
12109   ::google::protobuf::internal::TSanWrite(&_impl_);
12110   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
12111   _impl_._has_bits_[0] &= ~0x00000008u;
12112 }
12113 inline const ::google::protobuf::FileOptions& FileDescriptorProto::_internal_options() const {
12114   ::google::protobuf::internal::TSanRead(&_impl_);
12115   const ::google::protobuf::FileOptions* p = _impl_.options_;
12116   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FileOptions&>(::google::protobuf::_FileOptions_default_instance_);
12117 }
12118 inline const ::google::protobuf::FileOptions& FileDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12119   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.options)
12120   return _internal_options();
12121 }
12122 inline void FileDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::FileOptions* value) {
12123   ::google::protobuf::internal::TSanWrite(&_impl_);
12124   if (GetArena() == nullptr) {
12125     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
12126   }
12127   _impl_.options_ = reinterpret_cast<::google::protobuf::FileOptions*>(value);
12128   if (value != nullptr) {
12129     _impl_._has_bits_[0] |= 0x00000008u;
12130   } else {
12131     _impl_._has_bits_[0] &= ~0x00000008u;
12132   }
12133   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FileDescriptorProto.options)
12134 }
12135 inline ::google::protobuf::FileOptions* FileDescriptorProto::release_options() {
12136   ::google::protobuf::internal::TSanWrite(&_impl_);
12137 
12138   _impl_._has_bits_[0] &= ~0x00000008u;
12139   ::google::protobuf::FileOptions* released = _impl_.options_;
12140   _impl_.options_ = nullptr;
12141 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12142   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
12143   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
12144   if (GetArena() == nullptr) {
12145     delete old;
12146   }
12147 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
12148   if (GetArena() != nullptr) {
12149     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
12150   }
12151 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
12152   return released;
12153 }
12154 inline ::google::protobuf::FileOptions* FileDescriptorProto::unsafe_arena_release_options() {
12155   ::google::protobuf::internal::TSanWrite(&_impl_);
12156   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.options)
12157 
12158   _impl_._has_bits_[0] &= ~0x00000008u;
12159   ::google::protobuf::FileOptions* temp = _impl_.options_;
12160   _impl_.options_ = nullptr;
12161   return temp;
12162 }
12163 inline ::google::protobuf::FileOptions* FileDescriptorProto::_internal_mutable_options() {
12164   ::google::protobuf::internal::TSanWrite(&_impl_);
12165   if (_impl_.options_ == nullptr) {
12166     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FileOptions>(GetArena());
12167     _impl_.options_ = reinterpret_cast<::google::protobuf::FileOptions*>(p);
12168   }
12169   return _impl_.options_;
12170 }
12171 inline ::google::protobuf::FileOptions* FileDescriptorProto::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12172   _impl_._has_bits_[0] |= 0x00000008u;
12173   ::google::protobuf::FileOptions* _msg = _internal_mutable_options();
12174   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.options)
12175   return _msg;
12176 }
12177 inline void FileDescriptorProto::set_allocated_options(::google::protobuf::FileOptions* value) {
12178   ::google::protobuf::Arena* message_arena = GetArena();
12179   ::google::protobuf::internal::TSanWrite(&_impl_);
12180   if (message_arena == nullptr) {
12181     delete (_impl_.options_);
12182   }
12183 
12184   if (value != nullptr) {
12185     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
12186     if (message_arena != submessage_arena) {
12187       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
12188     }
12189     _impl_._has_bits_[0] |= 0x00000008u;
12190   } else {
12191     _impl_._has_bits_[0] &= ~0x00000008u;
12192   }
12193 
12194   _impl_.options_ = reinterpret_cast<::google::protobuf::FileOptions*>(value);
12195   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.options)
12196 }
12197 
12198 // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
12199 inline bool FileDescriptorProto::has_source_code_info() const {
12200   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
12201   PROTOBUF_ASSUME(!value || _impl_.source_code_info_ != nullptr);
12202   return value;
12203 }
12204 inline void FileDescriptorProto::clear_source_code_info() {
12205   ::google::protobuf::internal::TSanWrite(&_impl_);
12206   if (_impl_.source_code_info_ != nullptr) _impl_.source_code_info_->Clear();
12207   _impl_._has_bits_[0] &= ~0x00000010u;
12208 }
12209 inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::_internal_source_code_info() const {
12210   ::google::protobuf::internal::TSanRead(&_impl_);
12211   const ::google::protobuf::SourceCodeInfo* p = _impl_.source_code_info_;
12212   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::SourceCodeInfo&>(::google::protobuf::_SourceCodeInfo_default_instance_);
12213 }
12214 inline const ::google::protobuf::SourceCodeInfo& FileDescriptorProto::source_code_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12215   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.source_code_info)
12216   return _internal_source_code_info();
12217 }
12218 inline void FileDescriptorProto::unsafe_arena_set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* value) {
12219   ::google::protobuf::internal::TSanWrite(&_impl_);
12220   if (GetArena() == nullptr) {
12221     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.source_code_info_);
12222   }
12223   _impl_.source_code_info_ = reinterpret_cast<::google::protobuf::SourceCodeInfo*>(value);
12224   if (value != nullptr) {
12225     _impl_._has_bits_[0] |= 0x00000010u;
12226   } else {
12227     _impl_._has_bits_[0] &= ~0x00000010u;
12228   }
12229   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FileDescriptorProto.source_code_info)
12230 }
12231 inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::release_source_code_info() {
12232   ::google::protobuf::internal::TSanWrite(&_impl_);
12233 
12234   _impl_._has_bits_[0] &= ~0x00000010u;
12235   ::google::protobuf::SourceCodeInfo* released = _impl_.source_code_info_;
12236   _impl_.source_code_info_ = nullptr;
12237 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12238   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
12239   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
12240   if (GetArena() == nullptr) {
12241     delete old;
12242   }
12243 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
12244   if (GetArena() != nullptr) {
12245     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
12246   }
12247 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
12248   return released;
12249 }
12250 inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::unsafe_arena_release_source_code_info() {
12251   ::google::protobuf::internal::TSanWrite(&_impl_);
12252   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.source_code_info)
12253 
12254   _impl_._has_bits_[0] &= ~0x00000010u;
12255   ::google::protobuf::SourceCodeInfo* temp = _impl_.source_code_info_;
12256   _impl_.source_code_info_ = nullptr;
12257   return temp;
12258 }
12259 inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::_internal_mutable_source_code_info() {
12260   ::google::protobuf::internal::TSanWrite(&_impl_);
12261   if (_impl_.source_code_info_ == nullptr) {
12262     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::SourceCodeInfo>(GetArena());
12263     _impl_.source_code_info_ = reinterpret_cast<::google::protobuf::SourceCodeInfo*>(p);
12264   }
12265   return _impl_.source_code_info_;
12266 }
12267 inline ::google::protobuf::SourceCodeInfo* FileDescriptorProto::mutable_source_code_info() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12268   _impl_._has_bits_[0] |= 0x00000010u;
12269   ::google::protobuf::SourceCodeInfo* _msg = _internal_mutable_source_code_info();
12270   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.source_code_info)
12271   return _msg;
12272 }
12273 inline void FileDescriptorProto::set_allocated_source_code_info(::google::protobuf::SourceCodeInfo* value) {
12274   ::google::protobuf::Arena* message_arena = GetArena();
12275   ::google::protobuf::internal::TSanWrite(&_impl_);
12276   if (message_arena == nullptr) {
12277     delete (_impl_.source_code_info_);
12278   }
12279 
12280   if (value != nullptr) {
12281     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
12282     if (message_arena != submessage_arena) {
12283       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
12284     }
12285     _impl_._has_bits_[0] |= 0x00000010u;
12286   } else {
12287     _impl_._has_bits_[0] &= ~0x00000010u;
12288   }
12289 
12290   _impl_.source_code_info_ = reinterpret_cast<::google::protobuf::SourceCodeInfo*>(value);
12291   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.source_code_info)
12292 }
12293 
12294 // optional string syntax = 12;
12295 inline bool FileDescriptorProto::has_syntax() const {
12296   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
12297   return value;
12298 }
12299 inline void FileDescriptorProto::clear_syntax() {
12300   ::google::protobuf::internal::TSanWrite(&_impl_);
12301   _impl_.syntax_.ClearToEmpty();
12302   _impl_._has_bits_[0] &= ~0x00000004u;
12303 }
12304 inline const std::string& FileDescriptorProto::syntax() const
12305     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12306   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.syntax)
12307   return _internal_syntax();
12308 }
12309 template <typename Arg_, typename... Args_>
12310 inline PROTOBUF_ALWAYS_INLINE void FileDescriptorProto::set_syntax(Arg_&& arg,
12311                                                      Args_... args) {
12312   ::google::protobuf::internal::TSanWrite(&_impl_);
12313   _impl_._has_bits_[0] |= 0x00000004u;
12314   _impl_.syntax_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
12315   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.syntax)
12316 }
12317 inline std::string* FileDescriptorProto::mutable_syntax() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12318   std::string* _s = _internal_mutable_syntax();
12319   // @@protoc_insertion_point(field_mutable:google.protobuf.FileDescriptorProto.syntax)
12320   return _s;
12321 }
12322 inline const std::string& FileDescriptorProto::_internal_syntax() const {
12323   ::google::protobuf::internal::TSanRead(&_impl_);
12324   return _impl_.syntax_.Get();
12325 }
12326 inline void FileDescriptorProto::_internal_set_syntax(const std::string& value) {
12327   ::google::protobuf::internal::TSanWrite(&_impl_);
12328   _impl_._has_bits_[0] |= 0x00000004u;
12329   _impl_.syntax_.Set(value, GetArena());
12330 }
12331 inline std::string* FileDescriptorProto::_internal_mutable_syntax() {
12332   ::google::protobuf::internal::TSanWrite(&_impl_);
12333   _impl_._has_bits_[0] |= 0x00000004u;
12334   return _impl_.syntax_.Mutable( GetArena());
12335 }
12336 inline std::string* FileDescriptorProto::release_syntax() {
12337   ::google::protobuf::internal::TSanWrite(&_impl_);
12338   // @@protoc_insertion_point(field_release:google.protobuf.FileDescriptorProto.syntax)
12339   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
12340     return nullptr;
12341   }
12342   _impl_._has_bits_[0] &= ~0x00000004u;
12343   auto* released = _impl_.syntax_.Release();
12344   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12345   _impl_.syntax_.Set("", GetArena());
12346   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12347   return released;
12348 }
12349 inline void FileDescriptorProto::set_allocated_syntax(std::string* value) {
12350   ::google::protobuf::internal::TSanWrite(&_impl_);
12351   if (value != nullptr) {
12352     _impl_._has_bits_[0] |= 0x00000004u;
12353   } else {
12354     _impl_._has_bits_[0] &= ~0x00000004u;
12355   }
12356   _impl_.syntax_.SetAllocated(value, GetArena());
12357   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12358         if (_impl_.syntax_.IsDefault()) {
12359           _impl_.syntax_.Set("", GetArena());
12360         }
12361   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12362   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileDescriptorProto.syntax)
12363 }
12364 
12365 // optional .google.protobuf.Edition edition = 14;
12366 inline bool FileDescriptorProto::has_edition() const {
12367   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
12368   return value;
12369 }
12370 inline void FileDescriptorProto::clear_edition() {
12371   ::google::protobuf::internal::TSanWrite(&_impl_);
12372   _impl_.edition_ = 0;
12373   _impl_._has_bits_[0] &= ~0x00000020u;
12374 }
12375 inline ::google::protobuf::Edition FileDescriptorProto::edition() const {
12376   // @@protoc_insertion_point(field_get:google.protobuf.FileDescriptorProto.edition)
12377   return _internal_edition();
12378 }
12379 inline void FileDescriptorProto::set_edition(::google::protobuf::Edition value) {
12380   _internal_set_edition(value);
12381   _impl_._has_bits_[0] |= 0x00000020u;
12382   // @@protoc_insertion_point(field_set:google.protobuf.FileDescriptorProto.edition)
12383 }
12384 inline ::google::protobuf::Edition FileDescriptorProto::_internal_edition() const {
12385   ::google::protobuf::internal::TSanRead(&_impl_);
12386   return static_cast<::google::protobuf::Edition>(_impl_.edition_);
12387 }
12388 inline void FileDescriptorProto::_internal_set_edition(::google::protobuf::Edition value) {
12389   ::google::protobuf::internal::TSanWrite(&_impl_);
12390   assert(::google::protobuf::Edition_IsValid(value));
12391   _impl_.edition_ = value;
12392 }
12393 
12394 // -------------------------------------------------------------------
12395 
12396 // DescriptorProto_ExtensionRange
12397 
12398 // optional int32 start = 1;
12399 inline bool DescriptorProto_ExtensionRange::has_start() const {
12400   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
12401   return value;
12402 }
12403 inline void DescriptorProto_ExtensionRange::clear_start() {
12404   ::google::protobuf::internal::TSanWrite(&_impl_);
12405   _impl_.start_ = 0;
12406   _impl_._has_bits_[0] &= ~0x00000002u;
12407 }
12408 inline ::int32_t DescriptorProto_ExtensionRange::start() const {
12409   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.start)
12410   return _internal_start();
12411 }
12412 inline void DescriptorProto_ExtensionRange::set_start(::int32_t value) {
12413   _internal_set_start(value);
12414   _impl_._has_bits_[0] |= 0x00000002u;
12415   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.start)
12416 }
12417 inline ::int32_t DescriptorProto_ExtensionRange::_internal_start() const {
12418   ::google::protobuf::internal::TSanRead(&_impl_);
12419   return _impl_.start_;
12420 }
12421 inline void DescriptorProto_ExtensionRange::_internal_set_start(::int32_t value) {
12422   ::google::protobuf::internal::TSanWrite(&_impl_);
12423   _impl_.start_ = value;
12424 }
12425 
12426 // optional int32 end = 2;
12427 inline bool DescriptorProto_ExtensionRange::has_end() const {
12428   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
12429   return value;
12430 }
12431 inline void DescriptorProto_ExtensionRange::clear_end() {
12432   ::google::protobuf::internal::TSanWrite(&_impl_);
12433   _impl_.end_ = 0;
12434   _impl_._has_bits_[0] &= ~0x00000004u;
12435 }
12436 inline ::int32_t DescriptorProto_ExtensionRange::end() const {
12437   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.end)
12438   return _internal_end();
12439 }
12440 inline void DescriptorProto_ExtensionRange::set_end(::int32_t value) {
12441   _internal_set_end(value);
12442   _impl_._has_bits_[0] |= 0x00000004u;
12443   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ExtensionRange.end)
12444 }
12445 inline ::int32_t DescriptorProto_ExtensionRange::_internal_end() const {
12446   ::google::protobuf::internal::TSanRead(&_impl_);
12447   return _impl_.end_;
12448 }
12449 inline void DescriptorProto_ExtensionRange::_internal_set_end(::int32_t value) {
12450   ::google::protobuf::internal::TSanWrite(&_impl_);
12451   _impl_.end_ = value;
12452 }
12453 
12454 // optional .google.protobuf.ExtensionRangeOptions options = 3;
12455 inline bool DescriptorProto_ExtensionRange::has_options() const {
12456   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
12457   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
12458   return value;
12459 }
12460 inline void DescriptorProto_ExtensionRange::clear_options() {
12461   ::google::protobuf::internal::TSanWrite(&_impl_);
12462   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
12463   _impl_._has_bits_[0] &= ~0x00000001u;
12464 }
12465 inline const ::google::protobuf::ExtensionRangeOptions& DescriptorProto_ExtensionRange::_internal_options() const {
12466   ::google::protobuf::internal::TSanRead(&_impl_);
12467   const ::google::protobuf::ExtensionRangeOptions* p = _impl_.options_;
12468   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::ExtensionRangeOptions&>(::google::protobuf::_ExtensionRangeOptions_default_instance_);
12469 }
12470 inline const ::google::protobuf::ExtensionRangeOptions& DescriptorProto_ExtensionRange::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12471   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ExtensionRange.options)
12472   return _internal_options();
12473 }
12474 inline void DescriptorProto_ExtensionRange::unsafe_arena_set_allocated_options(::google::protobuf::ExtensionRangeOptions* value) {
12475   ::google::protobuf::internal::TSanWrite(&_impl_);
12476   if (GetArena() == nullptr) {
12477     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
12478   }
12479   _impl_.options_ = reinterpret_cast<::google::protobuf::ExtensionRangeOptions*>(value);
12480   if (value != nullptr) {
12481     _impl_._has_bits_[0] |= 0x00000001u;
12482   } else {
12483     _impl_._has_bits_[0] &= ~0x00000001u;
12484   }
12485   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.DescriptorProto.ExtensionRange.options)
12486 }
12487 inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange::release_options() {
12488   ::google::protobuf::internal::TSanWrite(&_impl_);
12489 
12490   _impl_._has_bits_[0] &= ~0x00000001u;
12491   ::google::protobuf::ExtensionRangeOptions* released = _impl_.options_;
12492   _impl_.options_ = nullptr;
12493 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
12494   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
12495   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
12496   if (GetArena() == nullptr) {
12497     delete old;
12498   }
12499 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
12500   if (GetArena() != nullptr) {
12501     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
12502   }
12503 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
12504   return released;
12505 }
12506 inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange::unsafe_arena_release_options() {
12507   ::google::protobuf::internal::TSanWrite(&_impl_);
12508   // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.ExtensionRange.options)
12509 
12510   _impl_._has_bits_[0] &= ~0x00000001u;
12511   ::google::protobuf::ExtensionRangeOptions* temp = _impl_.options_;
12512   _impl_.options_ = nullptr;
12513   return temp;
12514 }
12515 inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange::_internal_mutable_options() {
12516   ::google::protobuf::internal::TSanWrite(&_impl_);
12517   if (_impl_.options_ == nullptr) {
12518     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::ExtensionRangeOptions>(GetArena());
12519     _impl_.options_ = reinterpret_cast<::google::protobuf::ExtensionRangeOptions*>(p);
12520   }
12521   return _impl_.options_;
12522 }
12523 inline ::google::protobuf::ExtensionRangeOptions* DescriptorProto_ExtensionRange::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12524   _impl_._has_bits_[0] |= 0x00000001u;
12525   ::google::protobuf::ExtensionRangeOptions* _msg = _internal_mutable_options();
12526   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.ExtensionRange.options)
12527   return _msg;
12528 }
12529 inline void DescriptorProto_ExtensionRange::set_allocated_options(::google::protobuf::ExtensionRangeOptions* value) {
12530   ::google::protobuf::Arena* message_arena = GetArena();
12531   ::google::protobuf::internal::TSanWrite(&_impl_);
12532   if (message_arena == nullptr) {
12533     delete (_impl_.options_);
12534   }
12535 
12536   if (value != nullptr) {
12537     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
12538     if (message_arena != submessage_arena) {
12539       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
12540     }
12541     _impl_._has_bits_[0] |= 0x00000001u;
12542   } else {
12543     _impl_._has_bits_[0] &= ~0x00000001u;
12544   }
12545 
12546   _impl_.options_ = reinterpret_cast<::google::protobuf::ExtensionRangeOptions*>(value);
12547   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.ExtensionRange.options)
12548 }
12549 
12550 // -------------------------------------------------------------------
12551 
12552 // DescriptorProto_ReservedRange
12553 
12554 // optional int32 start = 1;
12555 inline bool DescriptorProto_ReservedRange::has_start() const {
12556   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
12557   return value;
12558 }
12559 inline void DescriptorProto_ReservedRange::clear_start() {
12560   ::google::protobuf::internal::TSanWrite(&_impl_);
12561   _impl_.start_ = 0;
12562   _impl_._has_bits_[0] &= ~0x00000001u;
12563 }
12564 inline ::int32_t DescriptorProto_ReservedRange::start() const {
12565   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ReservedRange.start)
12566   return _internal_start();
12567 }
12568 inline void DescriptorProto_ReservedRange::set_start(::int32_t value) {
12569   _internal_set_start(value);
12570   _impl_._has_bits_[0] |= 0x00000001u;
12571   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.start)
12572 }
12573 inline ::int32_t DescriptorProto_ReservedRange::_internal_start() const {
12574   ::google::protobuf::internal::TSanRead(&_impl_);
12575   return _impl_.start_;
12576 }
12577 inline void DescriptorProto_ReservedRange::_internal_set_start(::int32_t value) {
12578   ::google::protobuf::internal::TSanWrite(&_impl_);
12579   _impl_.start_ = value;
12580 }
12581 
12582 // optional int32 end = 2;
12583 inline bool DescriptorProto_ReservedRange::has_end() const {
12584   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
12585   return value;
12586 }
12587 inline void DescriptorProto_ReservedRange::clear_end() {
12588   ::google::protobuf::internal::TSanWrite(&_impl_);
12589   _impl_.end_ = 0;
12590   _impl_._has_bits_[0] &= ~0x00000002u;
12591 }
12592 inline ::int32_t DescriptorProto_ReservedRange::end() const {
12593   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.ReservedRange.end)
12594   return _internal_end();
12595 }
12596 inline void DescriptorProto_ReservedRange::set_end(::int32_t value) {
12597   _internal_set_end(value);
12598   _impl_._has_bits_[0] |= 0x00000002u;
12599   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.ReservedRange.end)
12600 }
12601 inline ::int32_t DescriptorProto_ReservedRange::_internal_end() const {
12602   ::google::protobuf::internal::TSanRead(&_impl_);
12603   return _impl_.end_;
12604 }
12605 inline void DescriptorProto_ReservedRange::_internal_set_end(::int32_t value) {
12606   ::google::protobuf::internal::TSanWrite(&_impl_);
12607   _impl_.end_ = value;
12608 }
12609 
12610 // -------------------------------------------------------------------
12611 
12612 // DescriptorProto
12613 
12614 // optional string name = 1;
12615 inline bool DescriptorProto::has_name() const {
12616   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
12617   return value;
12618 }
12619 inline void DescriptorProto::clear_name() {
12620   ::google::protobuf::internal::TSanWrite(&_impl_);
12621   _impl_.name_.ClearToEmpty();
12622   _impl_._has_bits_[0] &= ~0x00000001u;
12623 }
12624 inline const std::string& DescriptorProto::name() const
12625     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12626   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.name)
12627   return _internal_name();
12628 }
12629 template <typename Arg_, typename... Args_>
12630 inline PROTOBUF_ALWAYS_INLINE void DescriptorProto::set_name(Arg_&& arg,
12631                                                      Args_... args) {
12632   ::google::protobuf::internal::TSanWrite(&_impl_);
12633   _impl_._has_bits_[0] |= 0x00000001u;
12634   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
12635   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.name)
12636 }
12637 inline std::string* DescriptorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12638   std::string* _s = _internal_mutable_name();
12639   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.name)
12640   return _s;
12641 }
12642 inline const std::string& DescriptorProto::_internal_name() const {
12643   ::google::protobuf::internal::TSanRead(&_impl_);
12644   return _impl_.name_.Get();
12645 }
12646 inline void DescriptorProto::_internal_set_name(const std::string& value) {
12647   ::google::protobuf::internal::TSanWrite(&_impl_);
12648   _impl_._has_bits_[0] |= 0x00000001u;
12649   _impl_.name_.Set(value, GetArena());
12650 }
12651 inline std::string* DescriptorProto::_internal_mutable_name() {
12652   ::google::protobuf::internal::TSanWrite(&_impl_);
12653   _impl_._has_bits_[0] |= 0x00000001u;
12654   return _impl_.name_.Mutable( GetArena());
12655 }
12656 inline std::string* DescriptorProto::release_name() {
12657   ::google::protobuf::internal::TSanWrite(&_impl_);
12658   // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.name)
12659   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
12660     return nullptr;
12661   }
12662   _impl_._has_bits_[0] &= ~0x00000001u;
12663   auto* released = _impl_.name_.Release();
12664   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12665   _impl_.name_.Set("", GetArena());
12666   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12667   return released;
12668 }
12669 inline void DescriptorProto::set_allocated_name(std::string* value) {
12670   ::google::protobuf::internal::TSanWrite(&_impl_);
12671   if (value != nullptr) {
12672     _impl_._has_bits_[0] |= 0x00000001u;
12673   } else {
12674     _impl_._has_bits_[0] &= ~0x00000001u;
12675   }
12676   _impl_.name_.SetAllocated(value, GetArena());
12677   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
12678         if (_impl_.name_.IsDefault()) {
12679           _impl_.name_.Set("", GetArena());
12680         }
12681   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
12682   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.name)
12683 }
12684 
12685 // repeated .google.protobuf.FieldDescriptorProto field = 2;
12686 inline int DescriptorProto::_internal_field_size() const {
12687   return _internal_field().size();
12688 }
12689 inline int DescriptorProto::field_size() const {
12690   return _internal_field_size();
12691 }
12692 inline void DescriptorProto::clear_field() {
12693   ::google::protobuf::internal::TSanWrite(&_impl_);
12694   _impl_.field_.Clear();
12695 }
12696 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_field(int index)
12697     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12698   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.field)
12699   return _internal_mutable_field()->Mutable(index);
12700 }
12701 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* DescriptorProto::mutable_field()
12702     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12703   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.field)
12704   ::google::protobuf::internal::TSanWrite(&_impl_);
12705   return _internal_mutable_field();
12706 }
12707 inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::field(int index) const
12708     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12709   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.field)
12710   return _internal_field().Get(index);
12711 }
12712 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_field() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12713   ::google::protobuf::internal::TSanWrite(&_impl_);
12714   ::google::protobuf::FieldDescriptorProto* _add = _internal_mutable_field()->Add();
12715   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.field)
12716   return _add;
12717 }
12718 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& DescriptorProto::field() const
12719     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12720   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.field)
12721   return _internal_field();
12722 }
12723 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>&
12724 DescriptorProto::_internal_field() const {
12725   ::google::protobuf::internal::TSanRead(&_impl_);
12726   return _impl_.field_;
12727 }
12728 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>*
12729 DescriptorProto::_internal_mutable_field() {
12730   ::google::protobuf::internal::TSanRead(&_impl_);
12731   return &_impl_.field_;
12732 }
12733 
12734 // repeated .google.protobuf.FieldDescriptorProto extension = 6;
12735 inline int DescriptorProto::_internal_extension_size() const {
12736   return _internal_extension().size();
12737 }
12738 inline int DescriptorProto::extension_size() const {
12739   return _internal_extension_size();
12740 }
12741 inline void DescriptorProto::clear_extension() {
12742   ::google::protobuf::internal::TSanWrite(&_impl_);
12743   _impl_.extension_.Clear();
12744 }
12745 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::mutable_extension(int index)
12746     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12747   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension)
12748   return _internal_mutable_extension()->Mutable(index);
12749 }
12750 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>* DescriptorProto::mutable_extension()
12751     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12752   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension)
12753   ::google::protobuf::internal::TSanWrite(&_impl_);
12754   return _internal_mutable_extension();
12755 }
12756 inline const ::google::protobuf::FieldDescriptorProto& DescriptorProto::extension(int index) const
12757     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12758   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension)
12759   return _internal_extension().Get(index);
12760 }
12761 inline ::google::protobuf::FieldDescriptorProto* DescriptorProto::add_extension() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12762   ::google::protobuf::internal::TSanWrite(&_impl_);
12763   ::google::protobuf::FieldDescriptorProto* _add = _internal_mutable_extension()->Add();
12764   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension)
12765   return _add;
12766 }
12767 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>& DescriptorProto::extension() const
12768     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12769   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension)
12770   return _internal_extension();
12771 }
12772 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>&
12773 DescriptorProto::_internal_extension() const {
12774   ::google::protobuf::internal::TSanRead(&_impl_);
12775   return _impl_.extension_;
12776 }
12777 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldDescriptorProto>*
12778 DescriptorProto::_internal_mutable_extension() {
12779   ::google::protobuf::internal::TSanRead(&_impl_);
12780   return &_impl_.extension_;
12781 }
12782 
12783 // repeated .google.protobuf.DescriptorProto nested_type = 3;
12784 inline int DescriptorProto::_internal_nested_type_size() const {
12785   return _internal_nested_type().size();
12786 }
12787 inline int DescriptorProto::nested_type_size() const {
12788   return _internal_nested_type_size();
12789 }
12790 inline void DescriptorProto::clear_nested_type() {
12791   ::google::protobuf::internal::TSanWrite(&_impl_);
12792   _impl_.nested_type_.Clear();
12793 }
12794 inline ::google::protobuf::DescriptorProto* DescriptorProto::mutable_nested_type(int index)
12795     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12796   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.nested_type)
12797   return _internal_mutable_nested_type()->Mutable(index);
12798 }
12799 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>* DescriptorProto::mutable_nested_type()
12800     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12801   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.nested_type)
12802   ::google::protobuf::internal::TSanWrite(&_impl_);
12803   return _internal_mutable_nested_type();
12804 }
12805 inline const ::google::protobuf::DescriptorProto& DescriptorProto::nested_type(int index) const
12806     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12807   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.nested_type)
12808   return _internal_nested_type().Get(index);
12809 }
12810 inline ::google::protobuf::DescriptorProto* DescriptorProto::add_nested_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12811   ::google::protobuf::internal::TSanWrite(&_impl_);
12812   ::google::protobuf::DescriptorProto* _add = _internal_mutable_nested_type()->Add();
12813   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.nested_type)
12814   return _add;
12815 }
12816 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>& DescriptorProto::nested_type() const
12817     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12818   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.nested_type)
12819   return _internal_nested_type();
12820 }
12821 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>&
12822 DescriptorProto::_internal_nested_type() const {
12823   ::google::protobuf::internal::TSanRead(&_impl_);
12824   return _impl_.nested_type_;
12825 }
12826 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto>*
12827 DescriptorProto::_internal_mutable_nested_type() {
12828   ::google::protobuf::internal::TSanRead(&_impl_);
12829   return &_impl_.nested_type_;
12830 }
12831 
12832 // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
12833 inline int DescriptorProto::_internal_enum_type_size() const {
12834   return _internal_enum_type().size();
12835 }
12836 inline int DescriptorProto::enum_type_size() const {
12837   return _internal_enum_type_size();
12838 }
12839 inline void DescriptorProto::clear_enum_type() {
12840   ::google::protobuf::internal::TSanWrite(&_impl_);
12841   _impl_.enum_type_.Clear();
12842 }
12843 inline ::google::protobuf::EnumDescriptorProto* DescriptorProto::mutable_enum_type(int index)
12844     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12845   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.enum_type)
12846   return _internal_mutable_enum_type()->Mutable(index);
12847 }
12848 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>* DescriptorProto::mutable_enum_type()
12849     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12850   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.enum_type)
12851   ::google::protobuf::internal::TSanWrite(&_impl_);
12852   return _internal_mutable_enum_type();
12853 }
12854 inline const ::google::protobuf::EnumDescriptorProto& DescriptorProto::enum_type(int index) const
12855     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12856   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.enum_type)
12857   return _internal_enum_type().Get(index);
12858 }
12859 inline ::google::protobuf::EnumDescriptorProto* DescriptorProto::add_enum_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12860   ::google::protobuf::internal::TSanWrite(&_impl_);
12861   ::google::protobuf::EnumDescriptorProto* _add = _internal_mutable_enum_type()->Add();
12862   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.enum_type)
12863   return _add;
12864 }
12865 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>& DescriptorProto::enum_type() const
12866     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12867   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.enum_type)
12868   return _internal_enum_type();
12869 }
12870 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>&
12871 DescriptorProto::_internal_enum_type() const {
12872   ::google::protobuf::internal::TSanRead(&_impl_);
12873   return _impl_.enum_type_;
12874 }
12875 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto>*
12876 DescriptorProto::_internal_mutable_enum_type() {
12877   ::google::protobuf::internal::TSanRead(&_impl_);
12878   return &_impl_.enum_type_;
12879 }
12880 
12881 // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
12882 inline int DescriptorProto::_internal_extension_range_size() const {
12883   return _internal_extension_range().size();
12884 }
12885 inline int DescriptorProto::extension_range_size() const {
12886   return _internal_extension_range_size();
12887 }
12888 inline void DescriptorProto::clear_extension_range() {
12889   ::google::protobuf::internal::TSanWrite(&_impl_);
12890   _impl_.extension_range_.Clear();
12891 }
12892 inline ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::mutable_extension_range(int index)
12893     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12894   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.extension_range)
12895   return _internal_mutable_extension_range()->Mutable(index);
12896 }
12897 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>* DescriptorProto::mutable_extension_range()
12898     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12899   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.extension_range)
12900   ::google::protobuf::internal::TSanWrite(&_impl_);
12901   return _internal_mutable_extension_range();
12902 }
12903 inline const ::google::protobuf::DescriptorProto_ExtensionRange& DescriptorProto::extension_range(int index) const
12904     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12905   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.extension_range)
12906   return _internal_extension_range().Get(index);
12907 }
12908 inline ::google::protobuf::DescriptorProto_ExtensionRange* DescriptorProto::add_extension_range() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12909   ::google::protobuf::internal::TSanWrite(&_impl_);
12910   ::google::protobuf::DescriptorProto_ExtensionRange* _add = _internal_mutable_extension_range()->Add();
12911   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.extension_range)
12912   return _add;
12913 }
12914 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>& DescriptorProto::extension_range() const
12915     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12916   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.extension_range)
12917   return _internal_extension_range();
12918 }
12919 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>&
12920 DescriptorProto::_internal_extension_range() const {
12921   ::google::protobuf::internal::TSanRead(&_impl_);
12922   return _impl_.extension_range_;
12923 }
12924 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ExtensionRange>*
12925 DescriptorProto::_internal_mutable_extension_range() {
12926   ::google::protobuf::internal::TSanRead(&_impl_);
12927   return &_impl_.extension_range_;
12928 }
12929 
12930 // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
12931 inline int DescriptorProto::_internal_oneof_decl_size() const {
12932   return _internal_oneof_decl().size();
12933 }
12934 inline int DescriptorProto::oneof_decl_size() const {
12935   return _internal_oneof_decl_size();
12936 }
12937 inline void DescriptorProto::clear_oneof_decl() {
12938   ::google::protobuf::internal::TSanWrite(&_impl_);
12939   _impl_.oneof_decl_.Clear();
12940 }
12941 inline ::google::protobuf::OneofDescriptorProto* DescriptorProto::mutable_oneof_decl(int index)
12942     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12943   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.oneof_decl)
12944   return _internal_mutable_oneof_decl()->Mutable(index);
12945 }
12946 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>* DescriptorProto::mutable_oneof_decl()
12947     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12948   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.oneof_decl)
12949   ::google::protobuf::internal::TSanWrite(&_impl_);
12950   return _internal_mutable_oneof_decl();
12951 }
12952 inline const ::google::protobuf::OneofDescriptorProto& DescriptorProto::oneof_decl(int index) const
12953     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12954   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.oneof_decl)
12955   return _internal_oneof_decl().Get(index);
12956 }
12957 inline ::google::protobuf::OneofDescriptorProto* DescriptorProto::add_oneof_decl() ABSL_ATTRIBUTE_LIFETIME_BOUND {
12958   ::google::protobuf::internal::TSanWrite(&_impl_);
12959   ::google::protobuf::OneofDescriptorProto* _add = _internal_mutable_oneof_decl()->Add();
12960   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.oneof_decl)
12961   return _add;
12962 }
12963 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>& DescriptorProto::oneof_decl() const
12964     ABSL_ATTRIBUTE_LIFETIME_BOUND {
12965   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.oneof_decl)
12966   return _internal_oneof_decl();
12967 }
12968 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>&
12969 DescriptorProto::_internal_oneof_decl() const {
12970   ::google::protobuf::internal::TSanRead(&_impl_);
12971   return _impl_.oneof_decl_;
12972 }
12973 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::OneofDescriptorProto>*
12974 DescriptorProto::_internal_mutable_oneof_decl() {
12975   ::google::protobuf::internal::TSanRead(&_impl_);
12976   return &_impl_.oneof_decl_;
12977 }
12978 
12979 // optional .google.protobuf.MessageOptions options = 7;
12980 inline bool DescriptorProto::has_options() const {
12981   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
12982   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
12983   return value;
12984 }
12985 inline void DescriptorProto::clear_options() {
12986   ::google::protobuf::internal::TSanWrite(&_impl_);
12987   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
12988   _impl_._has_bits_[0] &= ~0x00000002u;
12989 }
12990 inline const ::google::protobuf::MessageOptions& DescriptorProto::_internal_options() const {
12991   ::google::protobuf::internal::TSanRead(&_impl_);
12992   const ::google::protobuf::MessageOptions* p = _impl_.options_;
12993   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::MessageOptions&>(::google::protobuf::_MessageOptions_default_instance_);
12994 }
12995 inline const ::google::protobuf::MessageOptions& DescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
12996   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.options)
12997   return _internal_options();
12998 }
12999 inline void DescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::MessageOptions* value) {
13000   ::google::protobuf::internal::TSanWrite(&_impl_);
13001   if (GetArena() == nullptr) {
13002     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
13003   }
13004   _impl_.options_ = reinterpret_cast<::google::protobuf::MessageOptions*>(value);
13005   if (value != nullptr) {
13006     _impl_._has_bits_[0] |= 0x00000002u;
13007   } else {
13008     _impl_._has_bits_[0] &= ~0x00000002u;
13009   }
13010   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.DescriptorProto.options)
13011 }
13012 inline ::google::protobuf::MessageOptions* DescriptorProto::release_options() {
13013   ::google::protobuf::internal::TSanWrite(&_impl_);
13014 
13015   _impl_._has_bits_[0] &= ~0x00000002u;
13016   ::google::protobuf::MessageOptions* released = _impl_.options_;
13017   _impl_.options_ = nullptr;
13018 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
13019   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
13020   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13021   if (GetArena() == nullptr) {
13022     delete old;
13023   }
13024 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
13025   if (GetArena() != nullptr) {
13026     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13027   }
13028 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
13029   return released;
13030 }
13031 inline ::google::protobuf::MessageOptions* DescriptorProto::unsafe_arena_release_options() {
13032   ::google::protobuf::internal::TSanWrite(&_impl_);
13033   // @@protoc_insertion_point(field_release:google.protobuf.DescriptorProto.options)
13034 
13035   _impl_._has_bits_[0] &= ~0x00000002u;
13036   ::google::protobuf::MessageOptions* temp = _impl_.options_;
13037   _impl_.options_ = nullptr;
13038   return temp;
13039 }
13040 inline ::google::protobuf::MessageOptions* DescriptorProto::_internal_mutable_options() {
13041   ::google::protobuf::internal::TSanWrite(&_impl_);
13042   if (_impl_.options_ == nullptr) {
13043     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::MessageOptions>(GetArena());
13044     _impl_.options_ = reinterpret_cast<::google::protobuf::MessageOptions*>(p);
13045   }
13046   return _impl_.options_;
13047 }
13048 inline ::google::protobuf::MessageOptions* DescriptorProto::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13049   _impl_._has_bits_[0] |= 0x00000002u;
13050   ::google::protobuf::MessageOptions* _msg = _internal_mutable_options();
13051   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.options)
13052   return _msg;
13053 }
13054 inline void DescriptorProto::set_allocated_options(::google::protobuf::MessageOptions* value) {
13055   ::google::protobuf::Arena* message_arena = GetArena();
13056   ::google::protobuf::internal::TSanWrite(&_impl_);
13057   if (message_arena == nullptr) {
13058     delete (_impl_.options_);
13059   }
13060 
13061   if (value != nullptr) {
13062     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
13063     if (message_arena != submessage_arena) {
13064       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
13065     }
13066     _impl_._has_bits_[0] |= 0x00000002u;
13067   } else {
13068     _impl_._has_bits_[0] &= ~0x00000002u;
13069   }
13070 
13071   _impl_.options_ = reinterpret_cast<::google::protobuf::MessageOptions*>(value);
13072   // @@protoc_insertion_point(field_set_allocated:google.protobuf.DescriptorProto.options)
13073 }
13074 
13075 // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
13076 inline int DescriptorProto::_internal_reserved_range_size() const {
13077   return _internal_reserved_range().size();
13078 }
13079 inline int DescriptorProto::reserved_range_size() const {
13080   return _internal_reserved_range_size();
13081 }
13082 inline void DescriptorProto::clear_reserved_range() {
13083   ::google::protobuf::internal::TSanWrite(&_impl_);
13084   _impl_.reserved_range_.Clear();
13085 }
13086 inline ::google::protobuf::DescriptorProto_ReservedRange* DescriptorProto::mutable_reserved_range(int index)
13087     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13088   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.reserved_range)
13089   return _internal_mutable_reserved_range()->Mutable(index);
13090 }
13091 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>* DescriptorProto::mutable_reserved_range()
13092     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13093   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.reserved_range)
13094   ::google::protobuf::internal::TSanWrite(&_impl_);
13095   return _internal_mutable_reserved_range();
13096 }
13097 inline const ::google::protobuf::DescriptorProto_ReservedRange& DescriptorProto::reserved_range(int index) const
13098     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13099   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.reserved_range)
13100   return _internal_reserved_range().Get(index);
13101 }
13102 inline ::google::protobuf::DescriptorProto_ReservedRange* DescriptorProto::add_reserved_range() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13103   ::google::protobuf::internal::TSanWrite(&_impl_);
13104   ::google::protobuf::DescriptorProto_ReservedRange* _add = _internal_mutable_reserved_range()->Add();
13105   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.reserved_range)
13106   return _add;
13107 }
13108 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>& DescriptorProto::reserved_range() const
13109     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13110   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.reserved_range)
13111   return _internal_reserved_range();
13112 }
13113 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>&
13114 DescriptorProto::_internal_reserved_range() const {
13115   ::google::protobuf::internal::TSanRead(&_impl_);
13116   return _impl_.reserved_range_;
13117 }
13118 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::DescriptorProto_ReservedRange>*
13119 DescriptorProto::_internal_mutable_reserved_range() {
13120   ::google::protobuf::internal::TSanRead(&_impl_);
13121   return &_impl_.reserved_range_;
13122 }
13123 
13124 // repeated string reserved_name = 10;
13125 inline int DescriptorProto::_internal_reserved_name_size() const {
13126   return _internal_reserved_name().size();
13127 }
13128 inline int DescriptorProto::reserved_name_size() const {
13129   return _internal_reserved_name_size();
13130 }
13131 inline void DescriptorProto::clear_reserved_name() {
13132   ::google::protobuf::internal::TSanWrite(&_impl_);
13133   _impl_.reserved_name_.Clear();
13134 }
13135 inline std::string* DescriptorProto::add_reserved_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13136   ::google::protobuf::internal::TSanWrite(&_impl_);
13137   std::string* _s = _internal_mutable_reserved_name()->Add();
13138   // @@protoc_insertion_point(field_add_mutable:google.protobuf.DescriptorProto.reserved_name)
13139   return _s;
13140 }
13141 inline const std::string& DescriptorProto::reserved_name(int index) const
13142     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13143   // @@protoc_insertion_point(field_get:google.protobuf.DescriptorProto.reserved_name)
13144   return _internal_reserved_name().Get(index);
13145 }
13146 inline std::string* DescriptorProto::mutable_reserved_name(int index)
13147     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13148   // @@protoc_insertion_point(field_mutable:google.protobuf.DescriptorProto.reserved_name)
13149   return _internal_mutable_reserved_name()->Mutable(index);
13150 }
13151 template <typename Arg_, typename... Args_>
13152 inline void DescriptorProto::set_reserved_name(int index, Arg_&& value, Args_... args) {
13153   ::google::protobuf::internal::AssignToString(
13154       *_internal_mutable_reserved_name()->Mutable(index),
13155       std::forward<Arg_>(value), args... );
13156   // @@protoc_insertion_point(field_set:google.protobuf.DescriptorProto.reserved_name)
13157 }
13158 template <typename Arg_, typename... Args_>
13159 inline void DescriptorProto::add_reserved_name(Arg_&& value, Args_... args) {
13160   ::google::protobuf::internal::TSanWrite(&_impl_);
13161   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_reserved_name(),
13162                                std::forward<Arg_>(value),
13163                                args... );
13164   // @@protoc_insertion_point(field_add:google.protobuf.DescriptorProto.reserved_name)
13165 }
13166 inline const ::google::protobuf::RepeatedPtrField<std::string>&
13167 DescriptorProto::reserved_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13168   // @@protoc_insertion_point(field_list:google.protobuf.DescriptorProto.reserved_name)
13169   return _internal_reserved_name();
13170 }
13171 inline ::google::protobuf::RepeatedPtrField<std::string>*
13172 DescriptorProto::mutable_reserved_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13173   // @@protoc_insertion_point(field_mutable_list:google.protobuf.DescriptorProto.reserved_name)
13174   ::google::protobuf::internal::TSanWrite(&_impl_);
13175   return _internal_mutable_reserved_name();
13176 }
13177 inline const ::google::protobuf::RepeatedPtrField<std::string>&
13178 DescriptorProto::_internal_reserved_name() const {
13179   ::google::protobuf::internal::TSanRead(&_impl_);
13180   return _impl_.reserved_name_;
13181 }
13182 inline ::google::protobuf::RepeatedPtrField<std::string>*
13183 DescriptorProto::_internal_mutable_reserved_name() {
13184   ::google::protobuf::internal::TSanRead(&_impl_);
13185   return &_impl_.reserved_name_;
13186 }
13187 
13188 // -------------------------------------------------------------------
13189 
13190 // ExtensionRangeOptions_Declaration
13191 
13192 // optional int32 number = 1;
13193 inline bool ExtensionRangeOptions_Declaration::has_number() const {
13194   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
13195   return value;
13196 }
13197 inline void ExtensionRangeOptions_Declaration::clear_number() {
13198   ::google::protobuf::internal::TSanWrite(&_impl_);
13199   _impl_.number_ = 0;
13200   _impl_._has_bits_[0] &= ~0x00000004u;
13201 }
13202 inline ::int32_t ExtensionRangeOptions_Declaration::number() const {
13203   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.number)
13204   return _internal_number();
13205 }
13206 inline void ExtensionRangeOptions_Declaration::set_number(::int32_t value) {
13207   _internal_set_number(value);
13208   _impl_._has_bits_[0] |= 0x00000004u;
13209   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.number)
13210 }
13211 inline ::int32_t ExtensionRangeOptions_Declaration::_internal_number() const {
13212   ::google::protobuf::internal::TSanRead(&_impl_);
13213   return _impl_.number_;
13214 }
13215 inline void ExtensionRangeOptions_Declaration::_internal_set_number(::int32_t value) {
13216   ::google::protobuf::internal::TSanWrite(&_impl_);
13217   _impl_.number_ = value;
13218 }
13219 
13220 // optional string full_name = 2;
13221 inline bool ExtensionRangeOptions_Declaration::has_full_name() const {
13222   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
13223   return value;
13224 }
13225 inline void ExtensionRangeOptions_Declaration::clear_full_name() {
13226   ::google::protobuf::internal::TSanWrite(&_impl_);
13227   _impl_.full_name_.ClearToEmpty();
13228   _impl_._has_bits_[0] &= ~0x00000001u;
13229 }
13230 inline const std::string& ExtensionRangeOptions_Declaration::full_name() const
13231     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13232   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
13233   return _internal_full_name();
13234 }
13235 template <typename Arg_, typename... Args_>
13236 inline PROTOBUF_ALWAYS_INLINE void ExtensionRangeOptions_Declaration::set_full_name(Arg_&& arg,
13237                                                      Args_... args) {
13238   ::google::protobuf::internal::TSanWrite(&_impl_);
13239   _impl_._has_bits_[0] |= 0x00000001u;
13240   _impl_.full_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13241   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
13242 }
13243 inline std::string* ExtensionRangeOptions_Declaration::mutable_full_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13244   std::string* _s = _internal_mutable_full_name();
13245   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
13246   return _s;
13247 }
13248 inline const std::string& ExtensionRangeOptions_Declaration::_internal_full_name() const {
13249   ::google::protobuf::internal::TSanRead(&_impl_);
13250   return _impl_.full_name_.Get();
13251 }
13252 inline void ExtensionRangeOptions_Declaration::_internal_set_full_name(const std::string& value) {
13253   ::google::protobuf::internal::TSanWrite(&_impl_);
13254   _impl_._has_bits_[0] |= 0x00000001u;
13255   _impl_.full_name_.Set(value, GetArena());
13256 }
13257 inline std::string* ExtensionRangeOptions_Declaration::_internal_mutable_full_name() {
13258   ::google::protobuf::internal::TSanWrite(&_impl_);
13259   _impl_._has_bits_[0] |= 0x00000001u;
13260   return _impl_.full_name_.Mutable( GetArena());
13261 }
13262 inline std::string* ExtensionRangeOptions_Declaration::release_full_name() {
13263   ::google::protobuf::internal::TSanWrite(&_impl_);
13264   // @@protoc_insertion_point(field_release:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
13265   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
13266     return nullptr;
13267   }
13268   _impl_._has_bits_[0] &= ~0x00000001u;
13269   auto* released = _impl_.full_name_.Release();
13270   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13271   _impl_.full_name_.Set("", GetArena());
13272   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13273   return released;
13274 }
13275 inline void ExtensionRangeOptions_Declaration::set_allocated_full_name(std::string* value) {
13276   ::google::protobuf::internal::TSanWrite(&_impl_);
13277   if (value != nullptr) {
13278     _impl_._has_bits_[0] |= 0x00000001u;
13279   } else {
13280     _impl_._has_bits_[0] &= ~0x00000001u;
13281   }
13282   _impl_.full_name_.SetAllocated(value, GetArena());
13283   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13284         if (_impl_.full_name_.IsDefault()) {
13285           _impl_.full_name_.Set("", GetArena());
13286         }
13287   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13288   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ExtensionRangeOptions.Declaration.full_name)
13289 }
13290 
13291 // optional string type = 3;
13292 inline bool ExtensionRangeOptions_Declaration::has_type() const {
13293   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
13294   return value;
13295 }
13296 inline void ExtensionRangeOptions_Declaration::clear_type() {
13297   ::google::protobuf::internal::TSanWrite(&_impl_);
13298   _impl_.type_.ClearToEmpty();
13299   _impl_._has_bits_[0] &= ~0x00000002u;
13300 }
13301 inline const std::string& ExtensionRangeOptions_Declaration::type() const
13302     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13303   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.type)
13304   return _internal_type();
13305 }
13306 template <typename Arg_, typename... Args_>
13307 inline PROTOBUF_ALWAYS_INLINE void ExtensionRangeOptions_Declaration::set_type(Arg_&& arg,
13308                                                      Args_... args) {
13309   ::google::protobuf::internal::TSanWrite(&_impl_);
13310   _impl_._has_bits_[0] |= 0x00000002u;
13311   _impl_.type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13312   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.type)
13313 }
13314 inline std::string* ExtensionRangeOptions_Declaration::mutable_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13315   std::string* _s = _internal_mutable_type();
13316   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.Declaration.type)
13317   return _s;
13318 }
13319 inline const std::string& ExtensionRangeOptions_Declaration::_internal_type() const {
13320   ::google::protobuf::internal::TSanRead(&_impl_);
13321   return _impl_.type_.Get();
13322 }
13323 inline void ExtensionRangeOptions_Declaration::_internal_set_type(const std::string& value) {
13324   ::google::protobuf::internal::TSanWrite(&_impl_);
13325   _impl_._has_bits_[0] |= 0x00000002u;
13326   _impl_.type_.Set(value, GetArena());
13327 }
13328 inline std::string* ExtensionRangeOptions_Declaration::_internal_mutable_type() {
13329   ::google::protobuf::internal::TSanWrite(&_impl_);
13330   _impl_._has_bits_[0] |= 0x00000002u;
13331   return _impl_.type_.Mutable( GetArena());
13332 }
13333 inline std::string* ExtensionRangeOptions_Declaration::release_type() {
13334   ::google::protobuf::internal::TSanWrite(&_impl_);
13335   // @@protoc_insertion_point(field_release:google.protobuf.ExtensionRangeOptions.Declaration.type)
13336   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
13337     return nullptr;
13338   }
13339   _impl_._has_bits_[0] &= ~0x00000002u;
13340   auto* released = _impl_.type_.Release();
13341   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13342   _impl_.type_.Set("", GetArena());
13343   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13344   return released;
13345 }
13346 inline void ExtensionRangeOptions_Declaration::set_allocated_type(std::string* value) {
13347   ::google::protobuf::internal::TSanWrite(&_impl_);
13348   if (value != nullptr) {
13349     _impl_._has_bits_[0] |= 0x00000002u;
13350   } else {
13351     _impl_._has_bits_[0] &= ~0x00000002u;
13352   }
13353   _impl_.type_.SetAllocated(value, GetArena());
13354   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13355         if (_impl_.type_.IsDefault()) {
13356           _impl_.type_.Set("", GetArena());
13357         }
13358   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13359   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ExtensionRangeOptions.Declaration.type)
13360 }
13361 
13362 // optional bool reserved = 5;
13363 inline bool ExtensionRangeOptions_Declaration::has_reserved() const {
13364   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
13365   return value;
13366 }
13367 inline void ExtensionRangeOptions_Declaration::clear_reserved() {
13368   ::google::protobuf::internal::TSanWrite(&_impl_);
13369   _impl_.reserved_ = false;
13370   _impl_._has_bits_[0] &= ~0x00000008u;
13371 }
13372 inline bool ExtensionRangeOptions_Declaration::reserved() const {
13373   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.reserved)
13374   return _internal_reserved();
13375 }
13376 inline void ExtensionRangeOptions_Declaration::set_reserved(bool value) {
13377   _internal_set_reserved(value);
13378   _impl_._has_bits_[0] |= 0x00000008u;
13379   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.reserved)
13380 }
13381 inline bool ExtensionRangeOptions_Declaration::_internal_reserved() const {
13382   ::google::protobuf::internal::TSanRead(&_impl_);
13383   return _impl_.reserved_;
13384 }
13385 inline void ExtensionRangeOptions_Declaration::_internal_set_reserved(bool value) {
13386   ::google::protobuf::internal::TSanWrite(&_impl_);
13387   _impl_.reserved_ = value;
13388 }
13389 
13390 // optional bool repeated = 6;
13391 inline bool ExtensionRangeOptions_Declaration::has_repeated() const {
13392   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
13393   return value;
13394 }
13395 inline void ExtensionRangeOptions_Declaration::clear_repeated() {
13396   ::google::protobuf::internal::TSanWrite(&_impl_);
13397   _impl_.repeated_ = false;
13398   _impl_._has_bits_[0] &= ~0x00000010u;
13399 }
13400 inline bool ExtensionRangeOptions_Declaration::repeated() const {
13401   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.Declaration.repeated)
13402   return _internal_repeated();
13403 }
13404 inline void ExtensionRangeOptions_Declaration::set_repeated(bool value) {
13405   _internal_set_repeated(value);
13406   _impl_._has_bits_[0] |= 0x00000010u;
13407   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.Declaration.repeated)
13408 }
13409 inline bool ExtensionRangeOptions_Declaration::_internal_repeated() const {
13410   ::google::protobuf::internal::TSanRead(&_impl_);
13411   return _impl_.repeated_;
13412 }
13413 inline void ExtensionRangeOptions_Declaration::_internal_set_repeated(bool value) {
13414   ::google::protobuf::internal::TSanWrite(&_impl_);
13415   _impl_.repeated_ = value;
13416 }
13417 
13418 // -------------------------------------------------------------------
13419 
13420 // ExtensionRangeOptions
13421 
13422 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
13423 inline int ExtensionRangeOptions::_internal_uninterpreted_option_size() const {
13424   return _internal_uninterpreted_option().size();
13425 }
13426 inline int ExtensionRangeOptions::uninterpreted_option_size() const {
13427   return _internal_uninterpreted_option_size();
13428 }
13429 inline void ExtensionRangeOptions::clear_uninterpreted_option() {
13430   ::google::protobuf::internal::TSanWrite(&_impl_);
13431   _impl_.uninterpreted_option_.Clear();
13432 }
13433 inline ::google::protobuf::UninterpretedOption* ExtensionRangeOptions::mutable_uninterpreted_option(int index)
13434     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13435   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
13436   return _internal_mutable_uninterpreted_option()->Mutable(index);
13437 }
13438 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* ExtensionRangeOptions::mutable_uninterpreted_option()
13439     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13440   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
13441   ::google::protobuf::internal::TSanWrite(&_impl_);
13442   return _internal_mutable_uninterpreted_option();
13443 }
13444 inline const ::google::protobuf::UninterpretedOption& ExtensionRangeOptions::uninterpreted_option(int index) const
13445     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13446   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
13447   return _internal_uninterpreted_option().Get(index);
13448 }
13449 inline ::google::protobuf::UninterpretedOption* ExtensionRangeOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13450   ::google::protobuf::internal::TSanWrite(&_impl_);
13451   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
13452   // @@protoc_insertion_point(field_add:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
13453   return _add;
13454 }
13455 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& ExtensionRangeOptions::uninterpreted_option() const
13456     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13457   // @@protoc_insertion_point(field_list:google.protobuf.ExtensionRangeOptions.uninterpreted_option)
13458   return _internal_uninterpreted_option();
13459 }
13460 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
13461 ExtensionRangeOptions::_internal_uninterpreted_option() const {
13462   ::google::protobuf::internal::TSanRead(&_impl_);
13463   return _impl_.uninterpreted_option_;
13464 }
13465 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
13466 ExtensionRangeOptions::_internal_mutable_uninterpreted_option() {
13467   ::google::protobuf::internal::TSanRead(&_impl_);
13468   return &_impl_.uninterpreted_option_;
13469 }
13470 
13471 // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
13472 inline int ExtensionRangeOptions::_internal_declaration_size() const {
13473   return _internal_declaration().size();
13474 }
13475 inline int ExtensionRangeOptions::declaration_size() const {
13476   return _internal_declaration_size();
13477 }
13478 inline void ExtensionRangeOptions::clear_declaration() {
13479   ::google::protobuf::internal::TSanWrite(&_impl_);
13480   _impl_.declaration_.Clear();
13481 }
13482 inline ::google::protobuf::ExtensionRangeOptions_Declaration* ExtensionRangeOptions::mutable_declaration(int index)
13483     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13484   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.declaration)
13485   return _internal_mutable_declaration()->Mutable(index);
13486 }
13487 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>* ExtensionRangeOptions::mutable_declaration()
13488     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13489   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ExtensionRangeOptions.declaration)
13490   ::google::protobuf::internal::TSanWrite(&_impl_);
13491   return _internal_mutable_declaration();
13492 }
13493 inline const ::google::protobuf::ExtensionRangeOptions_Declaration& ExtensionRangeOptions::declaration(int index) const
13494     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13495   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.declaration)
13496   return _internal_declaration().Get(index);
13497 }
13498 inline ::google::protobuf::ExtensionRangeOptions_Declaration* ExtensionRangeOptions::add_declaration() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13499   ::google::protobuf::internal::TSanWrite(&_impl_);
13500   ::google::protobuf::ExtensionRangeOptions_Declaration* _add = _internal_mutable_declaration()->Add();
13501   // @@protoc_insertion_point(field_add:google.protobuf.ExtensionRangeOptions.declaration)
13502   return _add;
13503 }
13504 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>& ExtensionRangeOptions::declaration() const
13505     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13506   // @@protoc_insertion_point(field_list:google.protobuf.ExtensionRangeOptions.declaration)
13507   return _internal_declaration();
13508 }
13509 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>&
13510 ExtensionRangeOptions::_internal_declaration() const {
13511   ::google::protobuf::internal::TSanRead(&_impl_);
13512   return _impl_.declaration_;
13513 }
13514 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::ExtensionRangeOptions_Declaration>*
13515 ExtensionRangeOptions::_internal_mutable_declaration() {
13516   ::google::protobuf::internal::TSanRead(&_impl_);
13517   return &_impl_.declaration_;
13518 }
13519 
13520 // optional .google.protobuf.FeatureSet features = 50;
13521 inline bool ExtensionRangeOptions::has_features() const {
13522   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
13523   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
13524   return value;
13525 }
13526 inline void ExtensionRangeOptions::clear_features() {
13527   ::google::protobuf::internal::TSanWrite(&_impl_);
13528   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
13529   _impl_._has_bits_[0] &= ~0x00000001u;
13530 }
13531 inline const ::google::protobuf::FeatureSet& ExtensionRangeOptions::_internal_features() const {
13532   ::google::protobuf::internal::TSanRead(&_impl_);
13533   const ::google::protobuf::FeatureSet* p = _impl_.features_;
13534   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
13535 }
13536 inline const ::google::protobuf::FeatureSet& ExtensionRangeOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
13537   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.features)
13538   return _internal_features();
13539 }
13540 inline void ExtensionRangeOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
13541   ::google::protobuf::internal::TSanWrite(&_impl_);
13542   if (GetArena() == nullptr) {
13543     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
13544   }
13545   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
13546   if (value != nullptr) {
13547     _impl_._has_bits_[0] |= 0x00000001u;
13548   } else {
13549     _impl_._has_bits_[0] &= ~0x00000001u;
13550   }
13551   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.ExtensionRangeOptions.features)
13552 }
13553 inline ::google::protobuf::FeatureSet* ExtensionRangeOptions::release_features() {
13554   ::google::protobuf::internal::TSanWrite(&_impl_);
13555 
13556   _impl_._has_bits_[0] &= ~0x00000001u;
13557   ::google::protobuf::FeatureSet* released = _impl_.features_;
13558   _impl_.features_ = nullptr;
13559 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
13560   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
13561   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13562   if (GetArena() == nullptr) {
13563     delete old;
13564   }
13565 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
13566   if (GetArena() != nullptr) {
13567     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
13568   }
13569 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
13570   return released;
13571 }
13572 inline ::google::protobuf::FeatureSet* ExtensionRangeOptions::unsafe_arena_release_features() {
13573   ::google::protobuf::internal::TSanWrite(&_impl_);
13574   // @@protoc_insertion_point(field_release:google.protobuf.ExtensionRangeOptions.features)
13575 
13576   _impl_._has_bits_[0] &= ~0x00000001u;
13577   ::google::protobuf::FeatureSet* temp = _impl_.features_;
13578   _impl_.features_ = nullptr;
13579   return temp;
13580 }
13581 inline ::google::protobuf::FeatureSet* ExtensionRangeOptions::_internal_mutable_features() {
13582   ::google::protobuf::internal::TSanWrite(&_impl_);
13583   if (_impl_.features_ == nullptr) {
13584     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
13585     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
13586   }
13587   return _impl_.features_;
13588 }
13589 inline ::google::protobuf::FeatureSet* ExtensionRangeOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13590   _impl_._has_bits_[0] |= 0x00000001u;
13591   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
13592   // @@protoc_insertion_point(field_mutable:google.protobuf.ExtensionRangeOptions.features)
13593   return _msg;
13594 }
13595 inline void ExtensionRangeOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
13596   ::google::protobuf::Arena* message_arena = GetArena();
13597   ::google::protobuf::internal::TSanWrite(&_impl_);
13598   if (message_arena == nullptr) {
13599     delete (_impl_.features_);
13600   }
13601 
13602   if (value != nullptr) {
13603     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
13604     if (message_arena != submessage_arena) {
13605       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
13606     }
13607     _impl_._has_bits_[0] |= 0x00000001u;
13608   } else {
13609     _impl_._has_bits_[0] &= ~0x00000001u;
13610   }
13611 
13612   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
13613   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ExtensionRangeOptions.features)
13614 }
13615 
13616 // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
13617 inline bool ExtensionRangeOptions::has_verification() const {
13618   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
13619   return value;
13620 }
13621 inline void ExtensionRangeOptions::clear_verification() {
13622   ::google::protobuf::internal::TSanWrite(&_impl_);
13623   _impl_.verification_ = 1;
13624   _impl_._has_bits_[0] &= ~0x00000002u;
13625 }
13626 inline ::google::protobuf::ExtensionRangeOptions_VerificationState ExtensionRangeOptions::verification() const {
13627   // @@protoc_insertion_point(field_get:google.protobuf.ExtensionRangeOptions.verification)
13628   return _internal_verification();
13629 }
13630 inline void ExtensionRangeOptions::set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value) {
13631   _internal_set_verification(value);
13632   _impl_._has_bits_[0] |= 0x00000002u;
13633   // @@protoc_insertion_point(field_set:google.protobuf.ExtensionRangeOptions.verification)
13634 }
13635 inline ::google::protobuf::ExtensionRangeOptions_VerificationState ExtensionRangeOptions::_internal_verification() const {
13636   ::google::protobuf::internal::TSanRead(&_impl_);
13637   return static_cast<::google::protobuf::ExtensionRangeOptions_VerificationState>(_impl_.verification_);
13638 }
13639 inline void ExtensionRangeOptions::_internal_set_verification(::google::protobuf::ExtensionRangeOptions_VerificationState value) {
13640   ::google::protobuf::internal::TSanWrite(&_impl_);
13641   assert(::google::protobuf::ExtensionRangeOptions_VerificationState_IsValid(value));
13642   _impl_.verification_ = value;
13643 }
13644 
13645 // -------------------------------------------------------------------
13646 
13647 // FieldDescriptorProto
13648 
13649 // optional string name = 1;
13650 inline bool FieldDescriptorProto::has_name() const {
13651   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
13652   return value;
13653 }
13654 inline void FieldDescriptorProto::clear_name() {
13655   ::google::protobuf::internal::TSanWrite(&_impl_);
13656   _impl_.name_.ClearToEmpty();
13657   _impl_._has_bits_[0] &= ~0x00000001u;
13658 }
13659 inline const std::string& FieldDescriptorProto::name() const
13660     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13661   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.name)
13662   return _internal_name();
13663 }
13664 template <typename Arg_, typename... Args_>
13665 inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_name(Arg_&& arg,
13666                                                      Args_... args) {
13667   ::google::protobuf::internal::TSanWrite(&_impl_);
13668   _impl_._has_bits_[0] |= 0x00000001u;
13669   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13670   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.name)
13671 }
13672 inline std::string* FieldDescriptorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13673   std::string* _s = _internal_mutable_name();
13674   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.name)
13675   return _s;
13676 }
13677 inline const std::string& FieldDescriptorProto::_internal_name() const {
13678   ::google::protobuf::internal::TSanRead(&_impl_);
13679   return _impl_.name_.Get();
13680 }
13681 inline void FieldDescriptorProto::_internal_set_name(const std::string& value) {
13682   ::google::protobuf::internal::TSanWrite(&_impl_);
13683   _impl_._has_bits_[0] |= 0x00000001u;
13684   _impl_.name_.Set(value, GetArena());
13685 }
13686 inline std::string* FieldDescriptorProto::_internal_mutable_name() {
13687   ::google::protobuf::internal::TSanWrite(&_impl_);
13688   _impl_._has_bits_[0] |= 0x00000001u;
13689   return _impl_.name_.Mutable( GetArena());
13690 }
13691 inline std::string* FieldDescriptorProto::release_name() {
13692   ::google::protobuf::internal::TSanWrite(&_impl_);
13693   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.name)
13694   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
13695     return nullptr;
13696   }
13697   _impl_._has_bits_[0] &= ~0x00000001u;
13698   auto* released = _impl_.name_.Release();
13699   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13700   _impl_.name_.Set("", GetArena());
13701   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13702   return released;
13703 }
13704 inline void FieldDescriptorProto::set_allocated_name(std::string* value) {
13705   ::google::protobuf::internal::TSanWrite(&_impl_);
13706   if (value != nullptr) {
13707     _impl_._has_bits_[0] |= 0x00000001u;
13708   } else {
13709     _impl_._has_bits_[0] &= ~0x00000001u;
13710   }
13711   _impl_.name_.SetAllocated(value, GetArena());
13712   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13713         if (_impl_.name_.IsDefault()) {
13714           _impl_.name_.Set("", GetArena());
13715         }
13716   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13717   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.name)
13718 }
13719 
13720 // optional int32 number = 3;
13721 inline bool FieldDescriptorProto::has_number() const {
13722   bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
13723   return value;
13724 }
13725 inline void FieldDescriptorProto::clear_number() {
13726   ::google::protobuf::internal::TSanWrite(&_impl_);
13727   _impl_.number_ = 0;
13728   _impl_._has_bits_[0] &= ~0x00000040u;
13729 }
13730 inline ::int32_t FieldDescriptorProto::number() const {
13731   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.number)
13732   return _internal_number();
13733 }
13734 inline void FieldDescriptorProto::set_number(::int32_t value) {
13735   _internal_set_number(value);
13736   _impl_._has_bits_[0] |= 0x00000040u;
13737   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.number)
13738 }
13739 inline ::int32_t FieldDescriptorProto::_internal_number() const {
13740   ::google::protobuf::internal::TSanRead(&_impl_);
13741   return _impl_.number_;
13742 }
13743 inline void FieldDescriptorProto::_internal_set_number(::int32_t value) {
13744   ::google::protobuf::internal::TSanWrite(&_impl_);
13745   _impl_.number_ = value;
13746 }
13747 
13748 // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
13749 inline bool FieldDescriptorProto::has_label() const {
13750   bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
13751   return value;
13752 }
13753 inline void FieldDescriptorProto::clear_label() {
13754   ::google::protobuf::internal::TSanWrite(&_impl_);
13755   _impl_.label_ = 1;
13756   _impl_._has_bits_[0] &= ~0x00000200u;
13757 }
13758 inline ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::label() const {
13759   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.label)
13760   return _internal_label();
13761 }
13762 inline void FieldDescriptorProto::set_label(::google::protobuf::FieldDescriptorProto_Label value) {
13763   _internal_set_label(value);
13764   _impl_._has_bits_[0] |= 0x00000200u;
13765   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.label)
13766 }
13767 inline ::google::protobuf::FieldDescriptorProto_Label FieldDescriptorProto::_internal_label() const {
13768   ::google::protobuf::internal::TSanRead(&_impl_);
13769   return static_cast<::google::protobuf::FieldDescriptorProto_Label>(_impl_.label_);
13770 }
13771 inline void FieldDescriptorProto::_internal_set_label(::google::protobuf::FieldDescriptorProto_Label value) {
13772   ::google::protobuf::internal::TSanWrite(&_impl_);
13773   assert(::google::protobuf::FieldDescriptorProto_Label_IsValid(value));
13774   _impl_.label_ = value;
13775 }
13776 
13777 // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
13778 inline bool FieldDescriptorProto::has_type() const {
13779   bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
13780   return value;
13781 }
13782 inline void FieldDescriptorProto::clear_type() {
13783   ::google::protobuf::internal::TSanWrite(&_impl_);
13784   _impl_.type_ = 1;
13785   _impl_._has_bits_[0] &= ~0x00000400u;
13786 }
13787 inline ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::type() const {
13788   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type)
13789   return _internal_type();
13790 }
13791 inline void FieldDescriptorProto::set_type(::google::protobuf::FieldDescriptorProto_Type value) {
13792   _internal_set_type(value);
13793   _impl_._has_bits_[0] |= 0x00000400u;
13794   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type)
13795 }
13796 inline ::google::protobuf::FieldDescriptorProto_Type FieldDescriptorProto::_internal_type() const {
13797   ::google::protobuf::internal::TSanRead(&_impl_);
13798   return static_cast<::google::protobuf::FieldDescriptorProto_Type>(_impl_.type_);
13799 }
13800 inline void FieldDescriptorProto::_internal_set_type(::google::protobuf::FieldDescriptorProto_Type value) {
13801   ::google::protobuf::internal::TSanWrite(&_impl_);
13802   assert(::google::protobuf::FieldDescriptorProto_Type_IsValid(value));
13803   _impl_.type_ = value;
13804 }
13805 
13806 // optional string type_name = 6;
13807 inline bool FieldDescriptorProto::has_type_name() const {
13808   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
13809   return value;
13810 }
13811 inline void FieldDescriptorProto::clear_type_name() {
13812   ::google::protobuf::internal::TSanWrite(&_impl_);
13813   _impl_.type_name_.ClearToEmpty();
13814   _impl_._has_bits_[0] &= ~0x00000004u;
13815 }
13816 inline const std::string& FieldDescriptorProto::type_name() const
13817     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13818   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.type_name)
13819   return _internal_type_name();
13820 }
13821 template <typename Arg_, typename... Args_>
13822 inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_type_name(Arg_&& arg,
13823                                                      Args_... args) {
13824   ::google::protobuf::internal::TSanWrite(&_impl_);
13825   _impl_._has_bits_[0] |= 0x00000004u;
13826   _impl_.type_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13827   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.type_name)
13828 }
13829 inline std::string* FieldDescriptorProto::mutable_type_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13830   std::string* _s = _internal_mutable_type_name();
13831   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.type_name)
13832   return _s;
13833 }
13834 inline const std::string& FieldDescriptorProto::_internal_type_name() const {
13835   ::google::protobuf::internal::TSanRead(&_impl_);
13836   return _impl_.type_name_.Get();
13837 }
13838 inline void FieldDescriptorProto::_internal_set_type_name(const std::string& value) {
13839   ::google::protobuf::internal::TSanWrite(&_impl_);
13840   _impl_._has_bits_[0] |= 0x00000004u;
13841   _impl_.type_name_.Set(value, GetArena());
13842 }
13843 inline std::string* FieldDescriptorProto::_internal_mutable_type_name() {
13844   ::google::protobuf::internal::TSanWrite(&_impl_);
13845   _impl_._has_bits_[0] |= 0x00000004u;
13846   return _impl_.type_name_.Mutable( GetArena());
13847 }
13848 inline std::string* FieldDescriptorProto::release_type_name() {
13849   ::google::protobuf::internal::TSanWrite(&_impl_);
13850   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.type_name)
13851   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
13852     return nullptr;
13853   }
13854   _impl_._has_bits_[0] &= ~0x00000004u;
13855   auto* released = _impl_.type_name_.Release();
13856   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13857   _impl_.type_name_.Set("", GetArena());
13858   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13859   return released;
13860 }
13861 inline void FieldDescriptorProto::set_allocated_type_name(std::string* value) {
13862   ::google::protobuf::internal::TSanWrite(&_impl_);
13863   if (value != nullptr) {
13864     _impl_._has_bits_[0] |= 0x00000004u;
13865   } else {
13866     _impl_._has_bits_[0] &= ~0x00000004u;
13867   }
13868   _impl_.type_name_.SetAllocated(value, GetArena());
13869   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13870         if (_impl_.type_name_.IsDefault()) {
13871           _impl_.type_name_.Set("", GetArena());
13872         }
13873   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13874   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.type_name)
13875 }
13876 
13877 // optional string extendee = 2;
13878 inline bool FieldDescriptorProto::has_extendee() const {
13879   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
13880   return value;
13881 }
13882 inline void FieldDescriptorProto::clear_extendee() {
13883   ::google::protobuf::internal::TSanWrite(&_impl_);
13884   _impl_.extendee_.ClearToEmpty();
13885   _impl_._has_bits_[0] &= ~0x00000002u;
13886 }
13887 inline const std::string& FieldDescriptorProto::extendee() const
13888     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13889   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.extendee)
13890   return _internal_extendee();
13891 }
13892 template <typename Arg_, typename... Args_>
13893 inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_extendee(Arg_&& arg,
13894                                                      Args_... args) {
13895   ::google::protobuf::internal::TSanWrite(&_impl_);
13896   _impl_._has_bits_[0] |= 0x00000002u;
13897   _impl_.extendee_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13898   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.extendee)
13899 }
13900 inline std::string* FieldDescriptorProto::mutable_extendee() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13901   std::string* _s = _internal_mutable_extendee();
13902   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.extendee)
13903   return _s;
13904 }
13905 inline const std::string& FieldDescriptorProto::_internal_extendee() const {
13906   ::google::protobuf::internal::TSanRead(&_impl_);
13907   return _impl_.extendee_.Get();
13908 }
13909 inline void FieldDescriptorProto::_internal_set_extendee(const std::string& value) {
13910   ::google::protobuf::internal::TSanWrite(&_impl_);
13911   _impl_._has_bits_[0] |= 0x00000002u;
13912   _impl_.extendee_.Set(value, GetArena());
13913 }
13914 inline std::string* FieldDescriptorProto::_internal_mutable_extendee() {
13915   ::google::protobuf::internal::TSanWrite(&_impl_);
13916   _impl_._has_bits_[0] |= 0x00000002u;
13917   return _impl_.extendee_.Mutable( GetArena());
13918 }
13919 inline std::string* FieldDescriptorProto::release_extendee() {
13920   ::google::protobuf::internal::TSanWrite(&_impl_);
13921   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.extendee)
13922   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
13923     return nullptr;
13924   }
13925   _impl_._has_bits_[0] &= ~0x00000002u;
13926   auto* released = _impl_.extendee_.Release();
13927   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13928   _impl_.extendee_.Set("", GetArena());
13929   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13930   return released;
13931 }
13932 inline void FieldDescriptorProto::set_allocated_extendee(std::string* value) {
13933   ::google::protobuf::internal::TSanWrite(&_impl_);
13934   if (value != nullptr) {
13935     _impl_._has_bits_[0] |= 0x00000002u;
13936   } else {
13937     _impl_._has_bits_[0] &= ~0x00000002u;
13938   }
13939   _impl_.extendee_.SetAllocated(value, GetArena());
13940   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13941         if (_impl_.extendee_.IsDefault()) {
13942           _impl_.extendee_.Set("", GetArena());
13943         }
13944   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
13945   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.extendee)
13946 }
13947 
13948 // optional string default_value = 7;
13949 inline bool FieldDescriptorProto::has_default_value() const {
13950   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
13951   return value;
13952 }
13953 inline void FieldDescriptorProto::clear_default_value() {
13954   ::google::protobuf::internal::TSanWrite(&_impl_);
13955   _impl_.default_value_.ClearToEmpty();
13956   _impl_._has_bits_[0] &= ~0x00000008u;
13957 }
13958 inline const std::string& FieldDescriptorProto::default_value() const
13959     ABSL_ATTRIBUTE_LIFETIME_BOUND {
13960   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.default_value)
13961   return _internal_default_value();
13962 }
13963 template <typename Arg_, typename... Args_>
13964 inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_default_value(Arg_&& arg,
13965                                                      Args_... args) {
13966   ::google::protobuf::internal::TSanWrite(&_impl_);
13967   _impl_._has_bits_[0] |= 0x00000008u;
13968   _impl_.default_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
13969   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.default_value)
13970 }
13971 inline std::string* FieldDescriptorProto::mutable_default_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
13972   std::string* _s = _internal_mutable_default_value();
13973   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.default_value)
13974   return _s;
13975 }
13976 inline const std::string& FieldDescriptorProto::_internal_default_value() const {
13977   ::google::protobuf::internal::TSanRead(&_impl_);
13978   return _impl_.default_value_.Get();
13979 }
13980 inline void FieldDescriptorProto::_internal_set_default_value(const std::string& value) {
13981   ::google::protobuf::internal::TSanWrite(&_impl_);
13982   _impl_._has_bits_[0] |= 0x00000008u;
13983   _impl_.default_value_.Set(value, GetArena());
13984 }
13985 inline std::string* FieldDescriptorProto::_internal_mutable_default_value() {
13986   ::google::protobuf::internal::TSanWrite(&_impl_);
13987   _impl_._has_bits_[0] |= 0x00000008u;
13988   return _impl_.default_value_.Mutable( GetArena());
13989 }
13990 inline std::string* FieldDescriptorProto::release_default_value() {
13991   ::google::protobuf::internal::TSanWrite(&_impl_);
13992   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.default_value)
13993   if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
13994     return nullptr;
13995   }
13996   _impl_._has_bits_[0] &= ~0x00000008u;
13997   auto* released = _impl_.default_value_.Release();
13998   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
13999   _impl_.default_value_.Set("", GetArena());
14000   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14001   return released;
14002 }
14003 inline void FieldDescriptorProto::set_allocated_default_value(std::string* value) {
14004   ::google::protobuf::internal::TSanWrite(&_impl_);
14005   if (value != nullptr) {
14006     _impl_._has_bits_[0] |= 0x00000008u;
14007   } else {
14008     _impl_._has_bits_[0] &= ~0x00000008u;
14009   }
14010   _impl_.default_value_.SetAllocated(value, GetArena());
14011   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14012         if (_impl_.default_value_.IsDefault()) {
14013           _impl_.default_value_.Set("", GetArena());
14014         }
14015   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14016   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.default_value)
14017 }
14018 
14019 // optional int32 oneof_index = 9;
14020 inline bool FieldDescriptorProto::has_oneof_index() const {
14021   bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
14022   return value;
14023 }
14024 inline void FieldDescriptorProto::clear_oneof_index() {
14025   ::google::protobuf::internal::TSanWrite(&_impl_);
14026   _impl_.oneof_index_ = 0;
14027   _impl_._has_bits_[0] &= ~0x00000080u;
14028 }
14029 inline ::int32_t FieldDescriptorProto::oneof_index() const {
14030   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.oneof_index)
14031   return _internal_oneof_index();
14032 }
14033 inline void FieldDescriptorProto::set_oneof_index(::int32_t value) {
14034   _internal_set_oneof_index(value);
14035   _impl_._has_bits_[0] |= 0x00000080u;
14036   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.oneof_index)
14037 }
14038 inline ::int32_t FieldDescriptorProto::_internal_oneof_index() const {
14039   ::google::protobuf::internal::TSanRead(&_impl_);
14040   return _impl_.oneof_index_;
14041 }
14042 inline void FieldDescriptorProto::_internal_set_oneof_index(::int32_t value) {
14043   ::google::protobuf::internal::TSanWrite(&_impl_);
14044   _impl_.oneof_index_ = value;
14045 }
14046 
14047 // optional string json_name = 10;
14048 inline bool FieldDescriptorProto::has_json_name() const {
14049   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
14050   return value;
14051 }
14052 inline void FieldDescriptorProto::clear_json_name() {
14053   ::google::protobuf::internal::TSanWrite(&_impl_);
14054   _impl_.json_name_.ClearToEmpty();
14055   _impl_._has_bits_[0] &= ~0x00000010u;
14056 }
14057 inline const std::string& FieldDescriptorProto::json_name() const
14058     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14059   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.json_name)
14060   return _internal_json_name();
14061 }
14062 template <typename Arg_, typename... Args_>
14063 inline PROTOBUF_ALWAYS_INLINE void FieldDescriptorProto::set_json_name(Arg_&& arg,
14064                                                      Args_... args) {
14065   ::google::protobuf::internal::TSanWrite(&_impl_);
14066   _impl_._has_bits_[0] |= 0x00000010u;
14067   _impl_.json_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14068   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.json_name)
14069 }
14070 inline std::string* FieldDescriptorProto::mutable_json_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14071   std::string* _s = _internal_mutable_json_name();
14072   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.json_name)
14073   return _s;
14074 }
14075 inline const std::string& FieldDescriptorProto::_internal_json_name() const {
14076   ::google::protobuf::internal::TSanRead(&_impl_);
14077   return _impl_.json_name_.Get();
14078 }
14079 inline void FieldDescriptorProto::_internal_set_json_name(const std::string& value) {
14080   ::google::protobuf::internal::TSanWrite(&_impl_);
14081   _impl_._has_bits_[0] |= 0x00000010u;
14082   _impl_.json_name_.Set(value, GetArena());
14083 }
14084 inline std::string* FieldDescriptorProto::_internal_mutable_json_name() {
14085   ::google::protobuf::internal::TSanWrite(&_impl_);
14086   _impl_._has_bits_[0] |= 0x00000010u;
14087   return _impl_.json_name_.Mutable( GetArena());
14088 }
14089 inline std::string* FieldDescriptorProto::release_json_name() {
14090   ::google::protobuf::internal::TSanWrite(&_impl_);
14091   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.json_name)
14092   if ((_impl_._has_bits_[0] & 0x00000010u) == 0) {
14093     return nullptr;
14094   }
14095   _impl_._has_bits_[0] &= ~0x00000010u;
14096   auto* released = _impl_.json_name_.Release();
14097   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14098   _impl_.json_name_.Set("", GetArena());
14099   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14100   return released;
14101 }
14102 inline void FieldDescriptorProto::set_allocated_json_name(std::string* value) {
14103   ::google::protobuf::internal::TSanWrite(&_impl_);
14104   if (value != nullptr) {
14105     _impl_._has_bits_[0] |= 0x00000010u;
14106   } else {
14107     _impl_._has_bits_[0] &= ~0x00000010u;
14108   }
14109   _impl_.json_name_.SetAllocated(value, GetArena());
14110   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14111         if (_impl_.json_name_.IsDefault()) {
14112           _impl_.json_name_.Set("", GetArena());
14113         }
14114   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14115   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.json_name)
14116 }
14117 
14118 // optional .google.protobuf.FieldOptions options = 8;
14119 inline bool FieldDescriptorProto::has_options() const {
14120   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
14121   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
14122   return value;
14123 }
14124 inline void FieldDescriptorProto::clear_options() {
14125   ::google::protobuf::internal::TSanWrite(&_impl_);
14126   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
14127   _impl_._has_bits_[0] &= ~0x00000020u;
14128 }
14129 inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::_internal_options() const {
14130   ::google::protobuf::internal::TSanRead(&_impl_);
14131   const ::google::protobuf::FieldOptions* p = _impl_.options_;
14132   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FieldOptions&>(::google::protobuf::_FieldOptions_default_instance_);
14133 }
14134 inline const ::google::protobuf::FieldOptions& FieldDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14135   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.options)
14136   return _internal_options();
14137 }
14138 inline void FieldDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::FieldOptions* value) {
14139   ::google::protobuf::internal::TSanWrite(&_impl_);
14140   if (GetArena() == nullptr) {
14141     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
14142   }
14143   _impl_.options_ = reinterpret_cast<::google::protobuf::FieldOptions*>(value);
14144   if (value != nullptr) {
14145     _impl_._has_bits_[0] |= 0x00000020u;
14146   } else {
14147     _impl_._has_bits_[0] &= ~0x00000020u;
14148   }
14149   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FieldDescriptorProto.options)
14150 }
14151 inline ::google::protobuf::FieldOptions* FieldDescriptorProto::release_options() {
14152   ::google::protobuf::internal::TSanWrite(&_impl_);
14153 
14154   _impl_._has_bits_[0] &= ~0x00000020u;
14155   ::google::protobuf::FieldOptions* released = _impl_.options_;
14156   _impl_.options_ = nullptr;
14157 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
14158   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14159   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14160   if (GetArena() == nullptr) {
14161     delete old;
14162   }
14163 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
14164   if (GetArena() != nullptr) {
14165     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14166   }
14167 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
14168   return released;
14169 }
14170 inline ::google::protobuf::FieldOptions* FieldDescriptorProto::unsafe_arena_release_options() {
14171   ::google::protobuf::internal::TSanWrite(&_impl_);
14172   // @@protoc_insertion_point(field_release:google.protobuf.FieldDescriptorProto.options)
14173 
14174   _impl_._has_bits_[0] &= ~0x00000020u;
14175   ::google::protobuf::FieldOptions* temp = _impl_.options_;
14176   _impl_.options_ = nullptr;
14177   return temp;
14178 }
14179 inline ::google::protobuf::FieldOptions* FieldDescriptorProto::_internal_mutable_options() {
14180   ::google::protobuf::internal::TSanWrite(&_impl_);
14181   if (_impl_.options_ == nullptr) {
14182     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldOptions>(GetArena());
14183     _impl_.options_ = reinterpret_cast<::google::protobuf::FieldOptions*>(p);
14184   }
14185   return _impl_.options_;
14186 }
14187 inline ::google::protobuf::FieldOptions* FieldDescriptorProto::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14188   _impl_._has_bits_[0] |= 0x00000020u;
14189   ::google::protobuf::FieldOptions* _msg = _internal_mutable_options();
14190   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldDescriptorProto.options)
14191   return _msg;
14192 }
14193 inline void FieldDescriptorProto::set_allocated_options(::google::protobuf::FieldOptions* value) {
14194   ::google::protobuf::Arena* message_arena = GetArena();
14195   ::google::protobuf::internal::TSanWrite(&_impl_);
14196   if (message_arena == nullptr) {
14197     delete (_impl_.options_);
14198   }
14199 
14200   if (value != nullptr) {
14201     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
14202     if (message_arena != submessage_arena) {
14203       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14204     }
14205     _impl_._has_bits_[0] |= 0x00000020u;
14206   } else {
14207     _impl_._has_bits_[0] &= ~0x00000020u;
14208   }
14209 
14210   _impl_.options_ = reinterpret_cast<::google::protobuf::FieldOptions*>(value);
14211   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldDescriptorProto.options)
14212 }
14213 
14214 // optional bool proto3_optional = 17;
14215 inline bool FieldDescriptorProto::has_proto3_optional() const {
14216   bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
14217   return value;
14218 }
14219 inline void FieldDescriptorProto::clear_proto3_optional() {
14220   ::google::protobuf::internal::TSanWrite(&_impl_);
14221   _impl_.proto3_optional_ = false;
14222   _impl_._has_bits_[0] &= ~0x00000100u;
14223 }
14224 inline bool FieldDescriptorProto::proto3_optional() const {
14225   // @@protoc_insertion_point(field_get:google.protobuf.FieldDescriptorProto.proto3_optional)
14226   return _internal_proto3_optional();
14227 }
14228 inline void FieldDescriptorProto::set_proto3_optional(bool value) {
14229   _internal_set_proto3_optional(value);
14230   _impl_._has_bits_[0] |= 0x00000100u;
14231   // @@protoc_insertion_point(field_set:google.protobuf.FieldDescriptorProto.proto3_optional)
14232 }
14233 inline bool FieldDescriptorProto::_internal_proto3_optional() const {
14234   ::google::protobuf::internal::TSanRead(&_impl_);
14235   return _impl_.proto3_optional_;
14236 }
14237 inline void FieldDescriptorProto::_internal_set_proto3_optional(bool value) {
14238   ::google::protobuf::internal::TSanWrite(&_impl_);
14239   _impl_.proto3_optional_ = value;
14240 }
14241 
14242 // -------------------------------------------------------------------
14243 
14244 // OneofDescriptorProto
14245 
14246 // optional string name = 1;
14247 inline bool OneofDescriptorProto::has_name() const {
14248   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
14249   return value;
14250 }
14251 inline void OneofDescriptorProto::clear_name() {
14252   ::google::protobuf::internal::TSanWrite(&_impl_);
14253   _impl_.name_.ClearToEmpty();
14254   _impl_._has_bits_[0] &= ~0x00000001u;
14255 }
14256 inline const std::string& OneofDescriptorProto::name() const
14257     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14258   // @@protoc_insertion_point(field_get:google.protobuf.OneofDescriptorProto.name)
14259   return _internal_name();
14260 }
14261 template <typename Arg_, typename... Args_>
14262 inline PROTOBUF_ALWAYS_INLINE void OneofDescriptorProto::set_name(Arg_&& arg,
14263                                                      Args_... args) {
14264   ::google::protobuf::internal::TSanWrite(&_impl_);
14265   _impl_._has_bits_[0] |= 0x00000001u;
14266   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14267   // @@protoc_insertion_point(field_set:google.protobuf.OneofDescriptorProto.name)
14268 }
14269 inline std::string* OneofDescriptorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14270   std::string* _s = _internal_mutable_name();
14271   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofDescriptorProto.name)
14272   return _s;
14273 }
14274 inline const std::string& OneofDescriptorProto::_internal_name() const {
14275   ::google::protobuf::internal::TSanRead(&_impl_);
14276   return _impl_.name_.Get();
14277 }
14278 inline void OneofDescriptorProto::_internal_set_name(const std::string& value) {
14279   ::google::protobuf::internal::TSanWrite(&_impl_);
14280   _impl_._has_bits_[0] |= 0x00000001u;
14281   _impl_.name_.Set(value, GetArena());
14282 }
14283 inline std::string* OneofDescriptorProto::_internal_mutable_name() {
14284   ::google::protobuf::internal::TSanWrite(&_impl_);
14285   _impl_._has_bits_[0] |= 0x00000001u;
14286   return _impl_.name_.Mutable( GetArena());
14287 }
14288 inline std::string* OneofDescriptorProto::release_name() {
14289   ::google::protobuf::internal::TSanWrite(&_impl_);
14290   // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.name)
14291   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
14292     return nullptr;
14293   }
14294   _impl_._has_bits_[0] &= ~0x00000001u;
14295   auto* released = _impl_.name_.Release();
14296   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14297   _impl_.name_.Set("", GetArena());
14298   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14299   return released;
14300 }
14301 inline void OneofDescriptorProto::set_allocated_name(std::string* value) {
14302   ::google::protobuf::internal::TSanWrite(&_impl_);
14303   if (value != nullptr) {
14304     _impl_._has_bits_[0] |= 0x00000001u;
14305   } else {
14306     _impl_._has_bits_[0] &= ~0x00000001u;
14307   }
14308   _impl_.name_.SetAllocated(value, GetArena());
14309   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14310         if (_impl_.name_.IsDefault()) {
14311           _impl_.name_.Set("", GetArena());
14312         }
14313   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14314   // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofDescriptorProto.name)
14315 }
14316 
14317 // optional .google.protobuf.OneofOptions options = 2;
14318 inline bool OneofDescriptorProto::has_options() const {
14319   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
14320   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
14321   return value;
14322 }
14323 inline void OneofDescriptorProto::clear_options() {
14324   ::google::protobuf::internal::TSanWrite(&_impl_);
14325   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
14326   _impl_._has_bits_[0] &= ~0x00000002u;
14327 }
14328 inline const ::google::protobuf::OneofOptions& OneofDescriptorProto::_internal_options() const {
14329   ::google::protobuf::internal::TSanRead(&_impl_);
14330   const ::google::protobuf::OneofOptions* p = _impl_.options_;
14331   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::OneofOptions&>(::google::protobuf::_OneofOptions_default_instance_);
14332 }
14333 inline const ::google::protobuf::OneofOptions& OneofDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14334   // @@protoc_insertion_point(field_get:google.protobuf.OneofDescriptorProto.options)
14335   return _internal_options();
14336 }
14337 inline void OneofDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::OneofOptions* value) {
14338   ::google::protobuf::internal::TSanWrite(&_impl_);
14339   if (GetArena() == nullptr) {
14340     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
14341   }
14342   _impl_.options_ = reinterpret_cast<::google::protobuf::OneofOptions*>(value);
14343   if (value != nullptr) {
14344     _impl_._has_bits_[0] |= 0x00000002u;
14345   } else {
14346     _impl_._has_bits_[0] &= ~0x00000002u;
14347   }
14348   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.OneofDescriptorProto.options)
14349 }
14350 inline ::google::protobuf::OneofOptions* OneofDescriptorProto::release_options() {
14351   ::google::protobuf::internal::TSanWrite(&_impl_);
14352 
14353   _impl_._has_bits_[0] &= ~0x00000002u;
14354   ::google::protobuf::OneofOptions* released = _impl_.options_;
14355   _impl_.options_ = nullptr;
14356 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
14357   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14358   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14359   if (GetArena() == nullptr) {
14360     delete old;
14361   }
14362 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
14363   if (GetArena() != nullptr) {
14364     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14365   }
14366 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
14367   return released;
14368 }
14369 inline ::google::protobuf::OneofOptions* OneofDescriptorProto::unsafe_arena_release_options() {
14370   ::google::protobuf::internal::TSanWrite(&_impl_);
14371   // @@protoc_insertion_point(field_release:google.protobuf.OneofDescriptorProto.options)
14372 
14373   _impl_._has_bits_[0] &= ~0x00000002u;
14374   ::google::protobuf::OneofOptions* temp = _impl_.options_;
14375   _impl_.options_ = nullptr;
14376   return temp;
14377 }
14378 inline ::google::protobuf::OneofOptions* OneofDescriptorProto::_internal_mutable_options() {
14379   ::google::protobuf::internal::TSanWrite(&_impl_);
14380   if (_impl_.options_ == nullptr) {
14381     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::OneofOptions>(GetArena());
14382     _impl_.options_ = reinterpret_cast<::google::protobuf::OneofOptions*>(p);
14383   }
14384   return _impl_.options_;
14385 }
14386 inline ::google::protobuf::OneofOptions* OneofDescriptorProto::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14387   _impl_._has_bits_[0] |= 0x00000002u;
14388   ::google::protobuf::OneofOptions* _msg = _internal_mutable_options();
14389   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofDescriptorProto.options)
14390   return _msg;
14391 }
14392 inline void OneofDescriptorProto::set_allocated_options(::google::protobuf::OneofOptions* value) {
14393   ::google::protobuf::Arena* message_arena = GetArena();
14394   ::google::protobuf::internal::TSanWrite(&_impl_);
14395   if (message_arena == nullptr) {
14396     delete (_impl_.options_);
14397   }
14398 
14399   if (value != nullptr) {
14400     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
14401     if (message_arena != submessage_arena) {
14402       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14403     }
14404     _impl_._has_bits_[0] |= 0x00000002u;
14405   } else {
14406     _impl_._has_bits_[0] &= ~0x00000002u;
14407   }
14408 
14409   _impl_.options_ = reinterpret_cast<::google::protobuf::OneofOptions*>(value);
14410   // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofDescriptorProto.options)
14411 }
14412 
14413 // -------------------------------------------------------------------
14414 
14415 // EnumDescriptorProto_EnumReservedRange
14416 
14417 // optional int32 start = 1;
14418 inline bool EnumDescriptorProto_EnumReservedRange::has_start() const {
14419   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
14420   return value;
14421 }
14422 inline void EnumDescriptorProto_EnumReservedRange::clear_start() {
14423   ::google::protobuf::internal::TSanWrite(&_impl_);
14424   _impl_.start_ = 0;
14425   _impl_._has_bits_[0] &= ~0x00000001u;
14426 }
14427 inline ::int32_t EnumDescriptorProto_EnumReservedRange::start() const {
14428   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.EnumReservedRange.start)
14429   return _internal_start();
14430 }
14431 inline void EnumDescriptorProto_EnumReservedRange::set_start(::int32_t value) {
14432   _internal_set_start(value);
14433   _impl_._has_bits_[0] |= 0x00000001u;
14434   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.EnumReservedRange.start)
14435 }
14436 inline ::int32_t EnumDescriptorProto_EnumReservedRange::_internal_start() const {
14437   ::google::protobuf::internal::TSanRead(&_impl_);
14438   return _impl_.start_;
14439 }
14440 inline void EnumDescriptorProto_EnumReservedRange::_internal_set_start(::int32_t value) {
14441   ::google::protobuf::internal::TSanWrite(&_impl_);
14442   _impl_.start_ = value;
14443 }
14444 
14445 // optional int32 end = 2;
14446 inline bool EnumDescriptorProto_EnumReservedRange::has_end() const {
14447   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
14448   return value;
14449 }
14450 inline void EnumDescriptorProto_EnumReservedRange::clear_end() {
14451   ::google::protobuf::internal::TSanWrite(&_impl_);
14452   _impl_.end_ = 0;
14453   _impl_._has_bits_[0] &= ~0x00000002u;
14454 }
14455 inline ::int32_t EnumDescriptorProto_EnumReservedRange::end() const {
14456   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.EnumReservedRange.end)
14457   return _internal_end();
14458 }
14459 inline void EnumDescriptorProto_EnumReservedRange::set_end(::int32_t value) {
14460   _internal_set_end(value);
14461   _impl_._has_bits_[0] |= 0x00000002u;
14462   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.EnumReservedRange.end)
14463 }
14464 inline ::int32_t EnumDescriptorProto_EnumReservedRange::_internal_end() const {
14465   ::google::protobuf::internal::TSanRead(&_impl_);
14466   return _impl_.end_;
14467 }
14468 inline void EnumDescriptorProto_EnumReservedRange::_internal_set_end(::int32_t value) {
14469   ::google::protobuf::internal::TSanWrite(&_impl_);
14470   _impl_.end_ = value;
14471 }
14472 
14473 // -------------------------------------------------------------------
14474 
14475 // EnumDescriptorProto
14476 
14477 // optional string name = 1;
14478 inline bool EnumDescriptorProto::has_name() const {
14479   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
14480   return value;
14481 }
14482 inline void EnumDescriptorProto::clear_name() {
14483   ::google::protobuf::internal::TSanWrite(&_impl_);
14484   _impl_.name_.ClearToEmpty();
14485   _impl_._has_bits_[0] &= ~0x00000001u;
14486 }
14487 inline const std::string& EnumDescriptorProto::name() const
14488     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14489   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.name)
14490   return _internal_name();
14491 }
14492 template <typename Arg_, typename... Args_>
14493 inline PROTOBUF_ALWAYS_INLINE void EnumDescriptorProto::set_name(Arg_&& arg,
14494                                                      Args_... args) {
14495   ::google::protobuf::internal::TSanWrite(&_impl_);
14496   _impl_._has_bits_[0] |= 0x00000001u;
14497   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14498   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.name)
14499 }
14500 inline std::string* EnumDescriptorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14501   std::string* _s = _internal_mutable_name();
14502   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.name)
14503   return _s;
14504 }
14505 inline const std::string& EnumDescriptorProto::_internal_name() const {
14506   ::google::protobuf::internal::TSanRead(&_impl_);
14507   return _impl_.name_.Get();
14508 }
14509 inline void EnumDescriptorProto::_internal_set_name(const std::string& value) {
14510   ::google::protobuf::internal::TSanWrite(&_impl_);
14511   _impl_._has_bits_[0] |= 0x00000001u;
14512   _impl_.name_.Set(value, GetArena());
14513 }
14514 inline std::string* EnumDescriptorProto::_internal_mutable_name() {
14515   ::google::protobuf::internal::TSanWrite(&_impl_);
14516   _impl_._has_bits_[0] |= 0x00000001u;
14517   return _impl_.name_.Mutable( GetArena());
14518 }
14519 inline std::string* EnumDescriptorProto::release_name() {
14520   ::google::protobuf::internal::TSanWrite(&_impl_);
14521   // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.name)
14522   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
14523     return nullptr;
14524   }
14525   _impl_._has_bits_[0] &= ~0x00000001u;
14526   auto* released = _impl_.name_.Release();
14527   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14528   _impl_.name_.Set("", GetArena());
14529   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14530   return released;
14531 }
14532 inline void EnumDescriptorProto::set_allocated_name(std::string* value) {
14533   ::google::protobuf::internal::TSanWrite(&_impl_);
14534   if (value != nullptr) {
14535     _impl_._has_bits_[0] |= 0x00000001u;
14536   } else {
14537     _impl_._has_bits_[0] &= ~0x00000001u;
14538   }
14539   _impl_.name_.SetAllocated(value, GetArena());
14540   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14541         if (_impl_.name_.IsDefault()) {
14542           _impl_.name_.Set("", GetArena());
14543         }
14544   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14545   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.name)
14546 }
14547 
14548 // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
14549 inline int EnumDescriptorProto::_internal_value_size() const {
14550   return _internal_value().size();
14551 }
14552 inline int EnumDescriptorProto::value_size() const {
14553   return _internal_value_size();
14554 }
14555 inline void EnumDescriptorProto::clear_value() {
14556   ::google::protobuf::internal::TSanWrite(&_impl_);
14557   _impl_.value_.Clear();
14558 }
14559 inline ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::mutable_value(int index)
14560     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14561   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.value)
14562   return _internal_mutable_value()->Mutable(index);
14563 }
14564 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>* EnumDescriptorProto::mutable_value()
14565     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14566   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.value)
14567   ::google::protobuf::internal::TSanWrite(&_impl_);
14568   return _internal_mutable_value();
14569 }
14570 inline const ::google::protobuf::EnumValueDescriptorProto& EnumDescriptorProto::value(int index) const
14571     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14572   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.value)
14573   return _internal_value().Get(index);
14574 }
14575 inline ::google::protobuf::EnumValueDescriptorProto* EnumDescriptorProto::add_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14576   ::google::protobuf::internal::TSanWrite(&_impl_);
14577   ::google::protobuf::EnumValueDescriptorProto* _add = _internal_mutable_value()->Add();
14578   // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.value)
14579   return _add;
14580 }
14581 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>& EnumDescriptorProto::value() const
14582     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14583   // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.value)
14584   return _internal_value();
14585 }
14586 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>&
14587 EnumDescriptorProto::_internal_value() const {
14588   ::google::protobuf::internal::TSanRead(&_impl_);
14589   return _impl_.value_;
14590 }
14591 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumValueDescriptorProto>*
14592 EnumDescriptorProto::_internal_mutable_value() {
14593   ::google::protobuf::internal::TSanRead(&_impl_);
14594   return &_impl_.value_;
14595 }
14596 
14597 // optional .google.protobuf.EnumOptions options = 3;
14598 inline bool EnumDescriptorProto::has_options() const {
14599   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
14600   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
14601   return value;
14602 }
14603 inline void EnumDescriptorProto::clear_options() {
14604   ::google::protobuf::internal::TSanWrite(&_impl_);
14605   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
14606   _impl_._has_bits_[0] &= ~0x00000002u;
14607 }
14608 inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::_internal_options() const {
14609   ::google::protobuf::internal::TSanRead(&_impl_);
14610   const ::google::protobuf::EnumOptions* p = _impl_.options_;
14611   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::EnumOptions&>(::google::protobuf::_EnumOptions_default_instance_);
14612 }
14613 inline const ::google::protobuf::EnumOptions& EnumDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14614   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.options)
14615   return _internal_options();
14616 }
14617 inline void EnumDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::EnumOptions* value) {
14618   ::google::protobuf::internal::TSanWrite(&_impl_);
14619   if (GetArena() == nullptr) {
14620     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
14621   }
14622   _impl_.options_ = reinterpret_cast<::google::protobuf::EnumOptions*>(value);
14623   if (value != nullptr) {
14624     _impl_._has_bits_[0] |= 0x00000002u;
14625   } else {
14626     _impl_._has_bits_[0] &= ~0x00000002u;
14627   }
14628   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumDescriptorProto.options)
14629 }
14630 inline ::google::protobuf::EnumOptions* EnumDescriptorProto::release_options() {
14631   ::google::protobuf::internal::TSanWrite(&_impl_);
14632 
14633   _impl_._has_bits_[0] &= ~0x00000002u;
14634   ::google::protobuf::EnumOptions* released = _impl_.options_;
14635   _impl_.options_ = nullptr;
14636 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
14637   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14638   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14639   if (GetArena() == nullptr) {
14640     delete old;
14641   }
14642 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
14643   if (GetArena() != nullptr) {
14644     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14645   }
14646 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
14647   return released;
14648 }
14649 inline ::google::protobuf::EnumOptions* EnumDescriptorProto::unsafe_arena_release_options() {
14650   ::google::protobuf::internal::TSanWrite(&_impl_);
14651   // @@protoc_insertion_point(field_release:google.protobuf.EnumDescriptorProto.options)
14652 
14653   _impl_._has_bits_[0] &= ~0x00000002u;
14654   ::google::protobuf::EnumOptions* temp = _impl_.options_;
14655   _impl_.options_ = nullptr;
14656   return temp;
14657 }
14658 inline ::google::protobuf::EnumOptions* EnumDescriptorProto::_internal_mutable_options() {
14659   ::google::protobuf::internal::TSanWrite(&_impl_);
14660   if (_impl_.options_ == nullptr) {
14661     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::EnumOptions>(GetArena());
14662     _impl_.options_ = reinterpret_cast<::google::protobuf::EnumOptions*>(p);
14663   }
14664   return _impl_.options_;
14665 }
14666 inline ::google::protobuf::EnumOptions* EnumDescriptorProto::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14667   _impl_._has_bits_[0] |= 0x00000002u;
14668   ::google::protobuf::EnumOptions* _msg = _internal_mutable_options();
14669   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.options)
14670   return _msg;
14671 }
14672 inline void EnumDescriptorProto::set_allocated_options(::google::protobuf::EnumOptions* value) {
14673   ::google::protobuf::Arena* message_arena = GetArena();
14674   ::google::protobuf::internal::TSanWrite(&_impl_);
14675   if (message_arena == nullptr) {
14676     delete (_impl_.options_);
14677   }
14678 
14679   if (value != nullptr) {
14680     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
14681     if (message_arena != submessage_arena) {
14682       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14683     }
14684     _impl_._has_bits_[0] |= 0x00000002u;
14685   } else {
14686     _impl_._has_bits_[0] &= ~0x00000002u;
14687   }
14688 
14689   _impl_.options_ = reinterpret_cast<::google::protobuf::EnumOptions*>(value);
14690   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumDescriptorProto.options)
14691 }
14692 
14693 // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
14694 inline int EnumDescriptorProto::_internal_reserved_range_size() const {
14695   return _internal_reserved_range().size();
14696 }
14697 inline int EnumDescriptorProto::reserved_range_size() const {
14698   return _internal_reserved_range_size();
14699 }
14700 inline void EnumDescriptorProto::clear_reserved_range() {
14701   ::google::protobuf::internal::TSanWrite(&_impl_);
14702   _impl_.reserved_range_.Clear();
14703 }
14704 inline ::google::protobuf::EnumDescriptorProto_EnumReservedRange* EnumDescriptorProto::mutable_reserved_range(int index)
14705     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14706   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.reserved_range)
14707   return _internal_mutable_reserved_range()->Mutable(index);
14708 }
14709 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>* EnumDescriptorProto::mutable_reserved_range()
14710     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14711   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.reserved_range)
14712   ::google::protobuf::internal::TSanWrite(&_impl_);
14713   return _internal_mutable_reserved_range();
14714 }
14715 inline const ::google::protobuf::EnumDescriptorProto_EnumReservedRange& EnumDescriptorProto::reserved_range(int index) const
14716     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14717   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.reserved_range)
14718   return _internal_reserved_range().Get(index);
14719 }
14720 inline ::google::protobuf::EnumDescriptorProto_EnumReservedRange* EnumDescriptorProto::add_reserved_range() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14721   ::google::protobuf::internal::TSanWrite(&_impl_);
14722   ::google::protobuf::EnumDescriptorProto_EnumReservedRange* _add = _internal_mutable_reserved_range()->Add();
14723   // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.reserved_range)
14724   return _add;
14725 }
14726 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>& EnumDescriptorProto::reserved_range() const
14727     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14728   // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.reserved_range)
14729   return _internal_reserved_range();
14730 }
14731 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>&
14732 EnumDescriptorProto::_internal_reserved_range() const {
14733   ::google::protobuf::internal::TSanRead(&_impl_);
14734   return _impl_.reserved_range_;
14735 }
14736 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::EnumDescriptorProto_EnumReservedRange>*
14737 EnumDescriptorProto::_internal_mutable_reserved_range() {
14738   ::google::protobuf::internal::TSanRead(&_impl_);
14739   return &_impl_.reserved_range_;
14740 }
14741 
14742 // repeated string reserved_name = 5;
14743 inline int EnumDescriptorProto::_internal_reserved_name_size() const {
14744   return _internal_reserved_name().size();
14745 }
14746 inline int EnumDescriptorProto::reserved_name_size() const {
14747   return _internal_reserved_name_size();
14748 }
14749 inline void EnumDescriptorProto::clear_reserved_name() {
14750   ::google::protobuf::internal::TSanWrite(&_impl_);
14751   _impl_.reserved_name_.Clear();
14752 }
14753 inline std::string* EnumDescriptorProto::add_reserved_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14754   ::google::protobuf::internal::TSanWrite(&_impl_);
14755   std::string* _s = _internal_mutable_reserved_name()->Add();
14756   // @@protoc_insertion_point(field_add_mutable:google.protobuf.EnumDescriptorProto.reserved_name)
14757   return _s;
14758 }
14759 inline const std::string& EnumDescriptorProto::reserved_name(int index) const
14760     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14761   // @@protoc_insertion_point(field_get:google.protobuf.EnumDescriptorProto.reserved_name)
14762   return _internal_reserved_name().Get(index);
14763 }
14764 inline std::string* EnumDescriptorProto::mutable_reserved_name(int index)
14765     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14766   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumDescriptorProto.reserved_name)
14767   return _internal_mutable_reserved_name()->Mutable(index);
14768 }
14769 template <typename Arg_, typename... Args_>
14770 inline void EnumDescriptorProto::set_reserved_name(int index, Arg_&& value, Args_... args) {
14771   ::google::protobuf::internal::AssignToString(
14772       *_internal_mutable_reserved_name()->Mutable(index),
14773       std::forward<Arg_>(value), args... );
14774   // @@protoc_insertion_point(field_set:google.protobuf.EnumDescriptorProto.reserved_name)
14775 }
14776 template <typename Arg_, typename... Args_>
14777 inline void EnumDescriptorProto::add_reserved_name(Arg_&& value, Args_... args) {
14778   ::google::protobuf::internal::TSanWrite(&_impl_);
14779   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_reserved_name(),
14780                                std::forward<Arg_>(value),
14781                                args... );
14782   // @@protoc_insertion_point(field_add:google.protobuf.EnumDescriptorProto.reserved_name)
14783 }
14784 inline const ::google::protobuf::RepeatedPtrField<std::string>&
14785 EnumDescriptorProto::reserved_name() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14786   // @@protoc_insertion_point(field_list:google.protobuf.EnumDescriptorProto.reserved_name)
14787   return _internal_reserved_name();
14788 }
14789 inline ::google::protobuf::RepeatedPtrField<std::string>*
14790 EnumDescriptorProto::mutable_reserved_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14791   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumDescriptorProto.reserved_name)
14792   ::google::protobuf::internal::TSanWrite(&_impl_);
14793   return _internal_mutable_reserved_name();
14794 }
14795 inline const ::google::protobuf::RepeatedPtrField<std::string>&
14796 EnumDescriptorProto::_internal_reserved_name() const {
14797   ::google::protobuf::internal::TSanRead(&_impl_);
14798   return _impl_.reserved_name_;
14799 }
14800 inline ::google::protobuf::RepeatedPtrField<std::string>*
14801 EnumDescriptorProto::_internal_mutable_reserved_name() {
14802   ::google::protobuf::internal::TSanRead(&_impl_);
14803   return &_impl_.reserved_name_;
14804 }
14805 
14806 // -------------------------------------------------------------------
14807 
14808 // EnumValueDescriptorProto
14809 
14810 // optional string name = 1;
14811 inline bool EnumValueDescriptorProto::has_name() const {
14812   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
14813   return value;
14814 }
14815 inline void EnumValueDescriptorProto::clear_name() {
14816   ::google::protobuf::internal::TSanWrite(&_impl_);
14817   _impl_.name_.ClearToEmpty();
14818   _impl_._has_bits_[0] &= ~0x00000001u;
14819 }
14820 inline const std::string& EnumValueDescriptorProto::name() const
14821     ABSL_ATTRIBUTE_LIFETIME_BOUND {
14822   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.name)
14823   return _internal_name();
14824 }
14825 template <typename Arg_, typename... Args_>
14826 inline PROTOBUF_ALWAYS_INLINE void EnumValueDescriptorProto::set_name(Arg_&& arg,
14827                                                      Args_... args) {
14828   ::google::protobuf::internal::TSanWrite(&_impl_);
14829   _impl_._has_bits_[0] |= 0x00000001u;
14830   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
14831   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.name)
14832 }
14833 inline std::string* EnumValueDescriptorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14834   std::string* _s = _internal_mutable_name();
14835   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.name)
14836   return _s;
14837 }
14838 inline const std::string& EnumValueDescriptorProto::_internal_name() const {
14839   ::google::protobuf::internal::TSanRead(&_impl_);
14840   return _impl_.name_.Get();
14841 }
14842 inline void EnumValueDescriptorProto::_internal_set_name(const std::string& value) {
14843   ::google::protobuf::internal::TSanWrite(&_impl_);
14844   _impl_._has_bits_[0] |= 0x00000001u;
14845   _impl_.name_.Set(value, GetArena());
14846 }
14847 inline std::string* EnumValueDescriptorProto::_internal_mutable_name() {
14848   ::google::protobuf::internal::TSanWrite(&_impl_);
14849   _impl_._has_bits_[0] |= 0x00000001u;
14850   return _impl_.name_.Mutable( GetArena());
14851 }
14852 inline std::string* EnumValueDescriptorProto::release_name() {
14853   ::google::protobuf::internal::TSanWrite(&_impl_);
14854   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.name)
14855   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
14856     return nullptr;
14857   }
14858   _impl_._has_bits_[0] &= ~0x00000001u;
14859   auto* released = _impl_.name_.Release();
14860   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14861   _impl_.name_.Set("", GetArena());
14862   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14863   return released;
14864 }
14865 inline void EnumValueDescriptorProto::set_allocated_name(std::string* value) {
14866   ::google::protobuf::internal::TSanWrite(&_impl_);
14867   if (value != nullptr) {
14868     _impl_._has_bits_[0] |= 0x00000001u;
14869   } else {
14870     _impl_._has_bits_[0] &= ~0x00000001u;
14871   }
14872   _impl_.name_.SetAllocated(value, GetArena());
14873   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
14874         if (_impl_.name_.IsDefault()) {
14875           _impl_.name_.Set("", GetArena());
14876         }
14877   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
14878   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.name)
14879 }
14880 
14881 // optional int32 number = 2;
14882 inline bool EnumValueDescriptorProto::has_number() const {
14883   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
14884   return value;
14885 }
14886 inline void EnumValueDescriptorProto::clear_number() {
14887   ::google::protobuf::internal::TSanWrite(&_impl_);
14888   _impl_.number_ = 0;
14889   _impl_._has_bits_[0] &= ~0x00000004u;
14890 }
14891 inline ::int32_t EnumValueDescriptorProto::number() const {
14892   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.number)
14893   return _internal_number();
14894 }
14895 inline void EnumValueDescriptorProto::set_number(::int32_t value) {
14896   _internal_set_number(value);
14897   _impl_._has_bits_[0] |= 0x00000004u;
14898   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueDescriptorProto.number)
14899 }
14900 inline ::int32_t EnumValueDescriptorProto::_internal_number() const {
14901   ::google::protobuf::internal::TSanRead(&_impl_);
14902   return _impl_.number_;
14903 }
14904 inline void EnumValueDescriptorProto::_internal_set_number(::int32_t value) {
14905   ::google::protobuf::internal::TSanWrite(&_impl_);
14906   _impl_.number_ = value;
14907 }
14908 
14909 // optional .google.protobuf.EnumValueOptions options = 3;
14910 inline bool EnumValueDescriptorProto::has_options() const {
14911   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
14912   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
14913   return value;
14914 }
14915 inline void EnumValueDescriptorProto::clear_options() {
14916   ::google::protobuf::internal::TSanWrite(&_impl_);
14917   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
14918   _impl_._has_bits_[0] &= ~0x00000002u;
14919 }
14920 inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::_internal_options() const {
14921   ::google::protobuf::internal::TSanRead(&_impl_);
14922   const ::google::protobuf::EnumValueOptions* p = _impl_.options_;
14923   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::EnumValueOptions&>(::google::protobuf::_EnumValueOptions_default_instance_);
14924 }
14925 inline const ::google::protobuf::EnumValueOptions& EnumValueDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
14926   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueDescriptorProto.options)
14927   return _internal_options();
14928 }
14929 inline void EnumValueDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::EnumValueOptions* value) {
14930   ::google::protobuf::internal::TSanWrite(&_impl_);
14931   if (GetArena() == nullptr) {
14932     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
14933   }
14934   _impl_.options_ = reinterpret_cast<::google::protobuf::EnumValueOptions*>(value);
14935   if (value != nullptr) {
14936     _impl_._has_bits_[0] |= 0x00000002u;
14937   } else {
14938     _impl_._has_bits_[0] &= ~0x00000002u;
14939   }
14940   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumValueDescriptorProto.options)
14941 }
14942 inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::release_options() {
14943   ::google::protobuf::internal::TSanWrite(&_impl_);
14944 
14945   _impl_._has_bits_[0] &= ~0x00000002u;
14946   ::google::protobuf::EnumValueOptions* released = _impl_.options_;
14947   _impl_.options_ = nullptr;
14948 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
14949   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
14950   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14951   if (GetArena() == nullptr) {
14952     delete old;
14953   }
14954 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
14955   if (GetArena() != nullptr) {
14956     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
14957   }
14958 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
14959   return released;
14960 }
14961 inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::unsafe_arena_release_options() {
14962   ::google::protobuf::internal::TSanWrite(&_impl_);
14963   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueDescriptorProto.options)
14964 
14965   _impl_._has_bits_[0] &= ~0x00000002u;
14966   ::google::protobuf::EnumValueOptions* temp = _impl_.options_;
14967   _impl_.options_ = nullptr;
14968   return temp;
14969 }
14970 inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::_internal_mutable_options() {
14971   ::google::protobuf::internal::TSanWrite(&_impl_);
14972   if (_impl_.options_ == nullptr) {
14973     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::EnumValueOptions>(GetArena());
14974     _impl_.options_ = reinterpret_cast<::google::protobuf::EnumValueOptions*>(p);
14975   }
14976   return _impl_.options_;
14977 }
14978 inline ::google::protobuf::EnumValueOptions* EnumValueDescriptorProto::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
14979   _impl_._has_bits_[0] |= 0x00000002u;
14980   ::google::protobuf::EnumValueOptions* _msg = _internal_mutable_options();
14981   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueDescriptorProto.options)
14982   return _msg;
14983 }
14984 inline void EnumValueDescriptorProto::set_allocated_options(::google::protobuf::EnumValueOptions* value) {
14985   ::google::protobuf::Arena* message_arena = GetArena();
14986   ::google::protobuf::internal::TSanWrite(&_impl_);
14987   if (message_arena == nullptr) {
14988     delete (_impl_.options_);
14989   }
14990 
14991   if (value != nullptr) {
14992     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
14993     if (message_arena != submessage_arena) {
14994       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
14995     }
14996     _impl_._has_bits_[0] |= 0x00000002u;
14997   } else {
14998     _impl_._has_bits_[0] &= ~0x00000002u;
14999   }
15000 
15001   _impl_.options_ = reinterpret_cast<::google::protobuf::EnumValueOptions*>(value);
15002   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueDescriptorProto.options)
15003 }
15004 
15005 // -------------------------------------------------------------------
15006 
15007 // ServiceDescriptorProto
15008 
15009 // optional string name = 1;
15010 inline bool ServiceDescriptorProto::has_name() const {
15011   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
15012   return value;
15013 }
15014 inline void ServiceDescriptorProto::clear_name() {
15015   ::google::protobuf::internal::TSanWrite(&_impl_);
15016   _impl_.name_.ClearToEmpty();
15017   _impl_._has_bits_[0] &= ~0x00000001u;
15018 }
15019 inline const std::string& ServiceDescriptorProto::name() const
15020     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15021   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.name)
15022   return _internal_name();
15023 }
15024 template <typename Arg_, typename... Args_>
15025 inline PROTOBUF_ALWAYS_INLINE void ServiceDescriptorProto::set_name(Arg_&& arg,
15026                                                      Args_... args) {
15027   ::google::protobuf::internal::TSanWrite(&_impl_);
15028   _impl_._has_bits_[0] |= 0x00000001u;
15029   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15030   // @@protoc_insertion_point(field_set:google.protobuf.ServiceDescriptorProto.name)
15031 }
15032 inline std::string* ServiceDescriptorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15033   std::string* _s = _internal_mutable_name();
15034   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.name)
15035   return _s;
15036 }
15037 inline const std::string& ServiceDescriptorProto::_internal_name() const {
15038   ::google::protobuf::internal::TSanRead(&_impl_);
15039   return _impl_.name_.Get();
15040 }
15041 inline void ServiceDescriptorProto::_internal_set_name(const std::string& value) {
15042   ::google::protobuf::internal::TSanWrite(&_impl_);
15043   _impl_._has_bits_[0] |= 0x00000001u;
15044   _impl_.name_.Set(value, GetArena());
15045 }
15046 inline std::string* ServiceDescriptorProto::_internal_mutable_name() {
15047   ::google::protobuf::internal::TSanWrite(&_impl_);
15048   _impl_._has_bits_[0] |= 0x00000001u;
15049   return _impl_.name_.Mutable( GetArena());
15050 }
15051 inline std::string* ServiceDescriptorProto::release_name() {
15052   ::google::protobuf::internal::TSanWrite(&_impl_);
15053   // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.name)
15054   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
15055     return nullptr;
15056   }
15057   _impl_._has_bits_[0] &= ~0x00000001u;
15058   auto* released = _impl_.name_.Release();
15059   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15060   _impl_.name_.Set("", GetArena());
15061   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15062   return released;
15063 }
15064 inline void ServiceDescriptorProto::set_allocated_name(std::string* value) {
15065   ::google::protobuf::internal::TSanWrite(&_impl_);
15066   if (value != nullptr) {
15067     _impl_._has_bits_[0] |= 0x00000001u;
15068   } else {
15069     _impl_._has_bits_[0] &= ~0x00000001u;
15070   }
15071   _impl_.name_.SetAllocated(value, GetArena());
15072   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15073         if (_impl_.name_.IsDefault()) {
15074           _impl_.name_.Set("", GetArena());
15075         }
15076   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15077   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.name)
15078 }
15079 
15080 // repeated .google.protobuf.MethodDescriptorProto method = 2;
15081 inline int ServiceDescriptorProto::_internal_method_size() const {
15082   return _internal_method().size();
15083 }
15084 inline int ServiceDescriptorProto::method_size() const {
15085   return _internal_method_size();
15086 }
15087 inline void ServiceDescriptorProto::clear_method() {
15088   ::google::protobuf::internal::TSanWrite(&_impl_);
15089   _impl_.method_.Clear();
15090 }
15091 inline ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::mutable_method(int index)
15092     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15093   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.method)
15094   return _internal_mutable_method()->Mutable(index);
15095 }
15096 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>* ServiceDescriptorProto::mutable_method()
15097     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15098   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceDescriptorProto.method)
15099   ::google::protobuf::internal::TSanWrite(&_impl_);
15100   return _internal_mutable_method();
15101 }
15102 inline const ::google::protobuf::MethodDescriptorProto& ServiceDescriptorProto::method(int index) const
15103     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15104   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.method)
15105   return _internal_method().Get(index);
15106 }
15107 inline ::google::protobuf::MethodDescriptorProto* ServiceDescriptorProto::add_method() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15108   ::google::protobuf::internal::TSanWrite(&_impl_);
15109   ::google::protobuf::MethodDescriptorProto* _add = _internal_mutable_method()->Add();
15110   // @@protoc_insertion_point(field_add:google.protobuf.ServiceDescriptorProto.method)
15111   return _add;
15112 }
15113 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>& ServiceDescriptorProto::method() const
15114     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15115   // @@protoc_insertion_point(field_list:google.protobuf.ServiceDescriptorProto.method)
15116   return _internal_method();
15117 }
15118 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>&
15119 ServiceDescriptorProto::_internal_method() const {
15120   ::google::protobuf::internal::TSanRead(&_impl_);
15121   return _impl_.method_;
15122 }
15123 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::MethodDescriptorProto>*
15124 ServiceDescriptorProto::_internal_mutable_method() {
15125   ::google::protobuf::internal::TSanRead(&_impl_);
15126   return &_impl_.method_;
15127 }
15128 
15129 // optional .google.protobuf.ServiceOptions options = 3;
15130 inline bool ServiceDescriptorProto::has_options() const {
15131   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
15132   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
15133   return value;
15134 }
15135 inline void ServiceDescriptorProto::clear_options() {
15136   ::google::protobuf::internal::TSanWrite(&_impl_);
15137   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
15138   _impl_._has_bits_[0] &= ~0x00000002u;
15139 }
15140 inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::_internal_options() const {
15141   ::google::protobuf::internal::TSanRead(&_impl_);
15142   const ::google::protobuf::ServiceOptions* p = _impl_.options_;
15143   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::ServiceOptions&>(::google::protobuf::_ServiceOptions_default_instance_);
15144 }
15145 inline const ::google::protobuf::ServiceOptions& ServiceDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15146   // @@protoc_insertion_point(field_get:google.protobuf.ServiceDescriptorProto.options)
15147   return _internal_options();
15148 }
15149 inline void ServiceDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::ServiceOptions* value) {
15150   ::google::protobuf::internal::TSanWrite(&_impl_);
15151   if (GetArena() == nullptr) {
15152     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
15153   }
15154   _impl_.options_ = reinterpret_cast<::google::protobuf::ServiceOptions*>(value);
15155   if (value != nullptr) {
15156     _impl_._has_bits_[0] |= 0x00000002u;
15157   } else {
15158     _impl_._has_bits_[0] &= ~0x00000002u;
15159   }
15160   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.ServiceDescriptorProto.options)
15161 }
15162 inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::release_options() {
15163   ::google::protobuf::internal::TSanWrite(&_impl_);
15164 
15165   _impl_._has_bits_[0] &= ~0x00000002u;
15166   ::google::protobuf::ServiceOptions* released = _impl_.options_;
15167   _impl_.options_ = nullptr;
15168 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
15169   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
15170   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15171   if (GetArena() == nullptr) {
15172     delete old;
15173   }
15174 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
15175   if (GetArena() != nullptr) {
15176     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15177   }
15178 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
15179   return released;
15180 }
15181 inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::unsafe_arena_release_options() {
15182   ::google::protobuf::internal::TSanWrite(&_impl_);
15183   // @@protoc_insertion_point(field_release:google.protobuf.ServiceDescriptorProto.options)
15184 
15185   _impl_._has_bits_[0] &= ~0x00000002u;
15186   ::google::protobuf::ServiceOptions* temp = _impl_.options_;
15187   _impl_.options_ = nullptr;
15188   return temp;
15189 }
15190 inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::_internal_mutable_options() {
15191   ::google::protobuf::internal::TSanWrite(&_impl_);
15192   if (_impl_.options_ == nullptr) {
15193     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::ServiceOptions>(GetArena());
15194     _impl_.options_ = reinterpret_cast<::google::protobuf::ServiceOptions*>(p);
15195   }
15196   return _impl_.options_;
15197 }
15198 inline ::google::protobuf::ServiceOptions* ServiceDescriptorProto::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15199   _impl_._has_bits_[0] |= 0x00000002u;
15200   ::google::protobuf::ServiceOptions* _msg = _internal_mutable_options();
15201   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceDescriptorProto.options)
15202   return _msg;
15203 }
15204 inline void ServiceDescriptorProto::set_allocated_options(::google::protobuf::ServiceOptions* value) {
15205   ::google::protobuf::Arena* message_arena = GetArena();
15206   ::google::protobuf::internal::TSanWrite(&_impl_);
15207   if (message_arena == nullptr) {
15208     delete (_impl_.options_);
15209   }
15210 
15211   if (value != nullptr) {
15212     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
15213     if (message_arena != submessage_arena) {
15214       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
15215     }
15216     _impl_._has_bits_[0] |= 0x00000002u;
15217   } else {
15218     _impl_._has_bits_[0] &= ~0x00000002u;
15219   }
15220 
15221   _impl_.options_ = reinterpret_cast<::google::protobuf::ServiceOptions*>(value);
15222   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceDescriptorProto.options)
15223 }
15224 
15225 // -------------------------------------------------------------------
15226 
15227 // MethodDescriptorProto
15228 
15229 // optional string name = 1;
15230 inline bool MethodDescriptorProto::has_name() const {
15231   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
15232   return value;
15233 }
15234 inline void MethodDescriptorProto::clear_name() {
15235   ::google::protobuf::internal::TSanWrite(&_impl_);
15236   _impl_.name_.ClearToEmpty();
15237   _impl_._has_bits_[0] &= ~0x00000001u;
15238 }
15239 inline const std::string& MethodDescriptorProto::name() const
15240     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15241   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.name)
15242   return _internal_name();
15243 }
15244 template <typename Arg_, typename... Args_>
15245 inline PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_name(Arg_&& arg,
15246                                                      Args_... args) {
15247   ::google::protobuf::internal::TSanWrite(&_impl_);
15248   _impl_._has_bits_[0] |= 0x00000001u;
15249   _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15250   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.name)
15251 }
15252 inline std::string* MethodDescriptorProto::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15253   std::string* _s = _internal_mutable_name();
15254   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.name)
15255   return _s;
15256 }
15257 inline const std::string& MethodDescriptorProto::_internal_name() const {
15258   ::google::protobuf::internal::TSanRead(&_impl_);
15259   return _impl_.name_.Get();
15260 }
15261 inline void MethodDescriptorProto::_internal_set_name(const std::string& value) {
15262   ::google::protobuf::internal::TSanWrite(&_impl_);
15263   _impl_._has_bits_[0] |= 0x00000001u;
15264   _impl_.name_.Set(value, GetArena());
15265 }
15266 inline std::string* MethodDescriptorProto::_internal_mutable_name() {
15267   ::google::protobuf::internal::TSanWrite(&_impl_);
15268   _impl_._has_bits_[0] |= 0x00000001u;
15269   return _impl_.name_.Mutable( GetArena());
15270 }
15271 inline std::string* MethodDescriptorProto::release_name() {
15272   ::google::protobuf::internal::TSanWrite(&_impl_);
15273   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.name)
15274   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
15275     return nullptr;
15276   }
15277   _impl_._has_bits_[0] &= ~0x00000001u;
15278   auto* released = _impl_.name_.Release();
15279   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15280   _impl_.name_.Set("", GetArena());
15281   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15282   return released;
15283 }
15284 inline void MethodDescriptorProto::set_allocated_name(std::string* value) {
15285   ::google::protobuf::internal::TSanWrite(&_impl_);
15286   if (value != nullptr) {
15287     _impl_._has_bits_[0] |= 0x00000001u;
15288   } else {
15289     _impl_._has_bits_[0] &= ~0x00000001u;
15290   }
15291   _impl_.name_.SetAllocated(value, GetArena());
15292   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15293         if (_impl_.name_.IsDefault()) {
15294           _impl_.name_.Set("", GetArena());
15295         }
15296   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15297   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.name)
15298 }
15299 
15300 // optional string input_type = 2;
15301 inline bool MethodDescriptorProto::has_input_type() const {
15302   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
15303   return value;
15304 }
15305 inline void MethodDescriptorProto::clear_input_type() {
15306   ::google::protobuf::internal::TSanWrite(&_impl_);
15307   _impl_.input_type_.ClearToEmpty();
15308   _impl_._has_bits_[0] &= ~0x00000002u;
15309 }
15310 inline const std::string& MethodDescriptorProto::input_type() const
15311     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15312   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.input_type)
15313   return _internal_input_type();
15314 }
15315 template <typename Arg_, typename... Args_>
15316 inline PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_input_type(Arg_&& arg,
15317                                                      Args_... args) {
15318   ::google::protobuf::internal::TSanWrite(&_impl_);
15319   _impl_._has_bits_[0] |= 0x00000002u;
15320   _impl_.input_type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15321   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.input_type)
15322 }
15323 inline std::string* MethodDescriptorProto::mutable_input_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15324   std::string* _s = _internal_mutable_input_type();
15325   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.input_type)
15326   return _s;
15327 }
15328 inline const std::string& MethodDescriptorProto::_internal_input_type() const {
15329   ::google::protobuf::internal::TSanRead(&_impl_);
15330   return _impl_.input_type_.Get();
15331 }
15332 inline void MethodDescriptorProto::_internal_set_input_type(const std::string& value) {
15333   ::google::protobuf::internal::TSanWrite(&_impl_);
15334   _impl_._has_bits_[0] |= 0x00000002u;
15335   _impl_.input_type_.Set(value, GetArena());
15336 }
15337 inline std::string* MethodDescriptorProto::_internal_mutable_input_type() {
15338   ::google::protobuf::internal::TSanWrite(&_impl_);
15339   _impl_._has_bits_[0] |= 0x00000002u;
15340   return _impl_.input_type_.Mutable( GetArena());
15341 }
15342 inline std::string* MethodDescriptorProto::release_input_type() {
15343   ::google::protobuf::internal::TSanWrite(&_impl_);
15344   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.input_type)
15345   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
15346     return nullptr;
15347   }
15348   _impl_._has_bits_[0] &= ~0x00000002u;
15349   auto* released = _impl_.input_type_.Release();
15350   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15351   _impl_.input_type_.Set("", GetArena());
15352   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15353   return released;
15354 }
15355 inline void MethodDescriptorProto::set_allocated_input_type(std::string* value) {
15356   ::google::protobuf::internal::TSanWrite(&_impl_);
15357   if (value != nullptr) {
15358     _impl_._has_bits_[0] |= 0x00000002u;
15359   } else {
15360     _impl_._has_bits_[0] &= ~0x00000002u;
15361   }
15362   _impl_.input_type_.SetAllocated(value, GetArena());
15363   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15364         if (_impl_.input_type_.IsDefault()) {
15365           _impl_.input_type_.Set("", GetArena());
15366         }
15367   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15368   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.input_type)
15369 }
15370 
15371 // optional string output_type = 3;
15372 inline bool MethodDescriptorProto::has_output_type() const {
15373   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
15374   return value;
15375 }
15376 inline void MethodDescriptorProto::clear_output_type() {
15377   ::google::protobuf::internal::TSanWrite(&_impl_);
15378   _impl_.output_type_.ClearToEmpty();
15379   _impl_._has_bits_[0] &= ~0x00000004u;
15380 }
15381 inline const std::string& MethodDescriptorProto::output_type() const
15382     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15383   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.output_type)
15384   return _internal_output_type();
15385 }
15386 template <typename Arg_, typename... Args_>
15387 inline PROTOBUF_ALWAYS_INLINE void MethodDescriptorProto::set_output_type(Arg_&& arg,
15388                                                      Args_... args) {
15389   ::google::protobuf::internal::TSanWrite(&_impl_);
15390   _impl_._has_bits_[0] |= 0x00000004u;
15391   _impl_.output_type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15392   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.output_type)
15393 }
15394 inline std::string* MethodDescriptorProto::mutable_output_type() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15395   std::string* _s = _internal_mutable_output_type();
15396   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.output_type)
15397   return _s;
15398 }
15399 inline const std::string& MethodDescriptorProto::_internal_output_type() const {
15400   ::google::protobuf::internal::TSanRead(&_impl_);
15401   return _impl_.output_type_.Get();
15402 }
15403 inline void MethodDescriptorProto::_internal_set_output_type(const std::string& value) {
15404   ::google::protobuf::internal::TSanWrite(&_impl_);
15405   _impl_._has_bits_[0] |= 0x00000004u;
15406   _impl_.output_type_.Set(value, GetArena());
15407 }
15408 inline std::string* MethodDescriptorProto::_internal_mutable_output_type() {
15409   ::google::protobuf::internal::TSanWrite(&_impl_);
15410   _impl_._has_bits_[0] |= 0x00000004u;
15411   return _impl_.output_type_.Mutable( GetArena());
15412 }
15413 inline std::string* MethodDescriptorProto::release_output_type() {
15414   ::google::protobuf::internal::TSanWrite(&_impl_);
15415   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.output_type)
15416   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
15417     return nullptr;
15418   }
15419   _impl_._has_bits_[0] &= ~0x00000004u;
15420   auto* released = _impl_.output_type_.Release();
15421   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15422   _impl_.output_type_.Set("", GetArena());
15423   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15424   return released;
15425 }
15426 inline void MethodDescriptorProto::set_allocated_output_type(std::string* value) {
15427   ::google::protobuf::internal::TSanWrite(&_impl_);
15428   if (value != nullptr) {
15429     _impl_._has_bits_[0] |= 0x00000004u;
15430   } else {
15431     _impl_._has_bits_[0] &= ~0x00000004u;
15432   }
15433   _impl_.output_type_.SetAllocated(value, GetArena());
15434   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15435         if (_impl_.output_type_.IsDefault()) {
15436           _impl_.output_type_.Set("", GetArena());
15437         }
15438   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15439   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.output_type)
15440 }
15441 
15442 // optional .google.protobuf.MethodOptions options = 4;
15443 inline bool MethodDescriptorProto::has_options() const {
15444   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
15445   PROTOBUF_ASSUME(!value || _impl_.options_ != nullptr);
15446   return value;
15447 }
15448 inline void MethodDescriptorProto::clear_options() {
15449   ::google::protobuf::internal::TSanWrite(&_impl_);
15450   if (_impl_.options_ != nullptr) _impl_.options_->Clear();
15451   _impl_._has_bits_[0] &= ~0x00000008u;
15452 }
15453 inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::_internal_options() const {
15454   ::google::protobuf::internal::TSanRead(&_impl_);
15455   const ::google::protobuf::MethodOptions* p = _impl_.options_;
15456   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::MethodOptions&>(::google::protobuf::_MethodOptions_default_instance_);
15457 }
15458 inline const ::google::protobuf::MethodOptions& MethodDescriptorProto::options() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
15459   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.options)
15460   return _internal_options();
15461 }
15462 inline void MethodDescriptorProto::unsafe_arena_set_allocated_options(::google::protobuf::MethodOptions* value) {
15463   ::google::protobuf::internal::TSanWrite(&_impl_);
15464   if (GetArena() == nullptr) {
15465     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.options_);
15466   }
15467   _impl_.options_ = reinterpret_cast<::google::protobuf::MethodOptions*>(value);
15468   if (value != nullptr) {
15469     _impl_._has_bits_[0] |= 0x00000008u;
15470   } else {
15471     _impl_._has_bits_[0] &= ~0x00000008u;
15472   }
15473   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.MethodDescriptorProto.options)
15474 }
15475 inline ::google::protobuf::MethodOptions* MethodDescriptorProto::release_options() {
15476   ::google::protobuf::internal::TSanWrite(&_impl_);
15477 
15478   _impl_._has_bits_[0] &= ~0x00000008u;
15479   ::google::protobuf::MethodOptions* released = _impl_.options_;
15480   _impl_.options_ = nullptr;
15481 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
15482   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
15483   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15484   if (GetArena() == nullptr) {
15485     delete old;
15486   }
15487 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
15488   if (GetArena() != nullptr) {
15489     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
15490   }
15491 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
15492   return released;
15493 }
15494 inline ::google::protobuf::MethodOptions* MethodDescriptorProto::unsafe_arena_release_options() {
15495   ::google::protobuf::internal::TSanWrite(&_impl_);
15496   // @@protoc_insertion_point(field_release:google.protobuf.MethodDescriptorProto.options)
15497 
15498   _impl_._has_bits_[0] &= ~0x00000008u;
15499   ::google::protobuf::MethodOptions* temp = _impl_.options_;
15500   _impl_.options_ = nullptr;
15501   return temp;
15502 }
15503 inline ::google::protobuf::MethodOptions* MethodDescriptorProto::_internal_mutable_options() {
15504   ::google::protobuf::internal::TSanWrite(&_impl_);
15505   if (_impl_.options_ == nullptr) {
15506     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::MethodOptions>(GetArena());
15507     _impl_.options_ = reinterpret_cast<::google::protobuf::MethodOptions*>(p);
15508   }
15509   return _impl_.options_;
15510 }
15511 inline ::google::protobuf::MethodOptions* MethodDescriptorProto::mutable_options() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15512   _impl_._has_bits_[0] |= 0x00000008u;
15513   ::google::protobuf::MethodOptions* _msg = _internal_mutable_options();
15514   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodDescriptorProto.options)
15515   return _msg;
15516 }
15517 inline void MethodDescriptorProto::set_allocated_options(::google::protobuf::MethodOptions* value) {
15518   ::google::protobuf::Arena* message_arena = GetArena();
15519   ::google::protobuf::internal::TSanWrite(&_impl_);
15520   if (message_arena == nullptr) {
15521     delete (_impl_.options_);
15522   }
15523 
15524   if (value != nullptr) {
15525     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
15526     if (message_arena != submessage_arena) {
15527       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
15528     }
15529     _impl_._has_bits_[0] |= 0x00000008u;
15530   } else {
15531     _impl_._has_bits_[0] &= ~0x00000008u;
15532   }
15533 
15534   _impl_.options_ = reinterpret_cast<::google::protobuf::MethodOptions*>(value);
15535   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodDescriptorProto.options)
15536 }
15537 
15538 // optional bool client_streaming = 5 [default = false];
15539 inline bool MethodDescriptorProto::has_client_streaming() const {
15540   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
15541   return value;
15542 }
15543 inline void MethodDescriptorProto::clear_client_streaming() {
15544   ::google::protobuf::internal::TSanWrite(&_impl_);
15545   _impl_.client_streaming_ = false;
15546   _impl_._has_bits_[0] &= ~0x00000010u;
15547 }
15548 inline bool MethodDescriptorProto::client_streaming() const {
15549   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.client_streaming)
15550   return _internal_client_streaming();
15551 }
15552 inline void MethodDescriptorProto::set_client_streaming(bool value) {
15553   _internal_set_client_streaming(value);
15554   _impl_._has_bits_[0] |= 0x00000010u;
15555   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.client_streaming)
15556 }
15557 inline bool MethodDescriptorProto::_internal_client_streaming() const {
15558   ::google::protobuf::internal::TSanRead(&_impl_);
15559   return _impl_.client_streaming_;
15560 }
15561 inline void MethodDescriptorProto::_internal_set_client_streaming(bool value) {
15562   ::google::protobuf::internal::TSanWrite(&_impl_);
15563   _impl_.client_streaming_ = value;
15564 }
15565 
15566 // optional bool server_streaming = 6 [default = false];
15567 inline bool MethodDescriptorProto::has_server_streaming() const {
15568   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
15569   return value;
15570 }
15571 inline void MethodDescriptorProto::clear_server_streaming() {
15572   ::google::protobuf::internal::TSanWrite(&_impl_);
15573   _impl_.server_streaming_ = false;
15574   _impl_._has_bits_[0] &= ~0x00000020u;
15575 }
15576 inline bool MethodDescriptorProto::server_streaming() const {
15577   // @@protoc_insertion_point(field_get:google.protobuf.MethodDescriptorProto.server_streaming)
15578   return _internal_server_streaming();
15579 }
15580 inline void MethodDescriptorProto::set_server_streaming(bool value) {
15581   _internal_set_server_streaming(value);
15582   _impl_._has_bits_[0] |= 0x00000020u;
15583   // @@protoc_insertion_point(field_set:google.protobuf.MethodDescriptorProto.server_streaming)
15584 }
15585 inline bool MethodDescriptorProto::_internal_server_streaming() const {
15586   ::google::protobuf::internal::TSanRead(&_impl_);
15587   return _impl_.server_streaming_;
15588 }
15589 inline void MethodDescriptorProto::_internal_set_server_streaming(bool value) {
15590   ::google::protobuf::internal::TSanWrite(&_impl_);
15591   _impl_.server_streaming_ = value;
15592 }
15593 
15594 // -------------------------------------------------------------------
15595 
15596 // FileOptions
15597 
15598 // optional string java_package = 1;
15599 inline bool FileOptions::has_java_package() const {
15600   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
15601   return value;
15602 }
15603 inline void FileOptions::clear_java_package() {
15604   ::google::protobuf::internal::TSanWrite(&_impl_);
15605   _impl_.java_package_.ClearToEmpty();
15606   _impl_._has_bits_[0] &= ~0x00000001u;
15607 }
15608 inline const std::string& FileOptions::java_package() const
15609     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15610   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_package)
15611   return _internal_java_package();
15612 }
15613 template <typename Arg_, typename... Args_>
15614 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_java_package(Arg_&& arg,
15615                                                      Args_... args) {
15616   ::google::protobuf::internal::TSanWrite(&_impl_);
15617   _impl_._has_bits_[0] |= 0x00000001u;
15618   _impl_.java_package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15619   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_package)
15620 }
15621 inline std::string* FileOptions::mutable_java_package() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15622   std::string* _s = _internal_mutable_java_package();
15623   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_package)
15624   return _s;
15625 }
15626 inline const std::string& FileOptions::_internal_java_package() const {
15627   ::google::protobuf::internal::TSanRead(&_impl_);
15628   return _impl_.java_package_.Get();
15629 }
15630 inline void FileOptions::_internal_set_java_package(const std::string& value) {
15631   ::google::protobuf::internal::TSanWrite(&_impl_);
15632   _impl_._has_bits_[0] |= 0x00000001u;
15633   _impl_.java_package_.Set(value, GetArena());
15634 }
15635 inline std::string* FileOptions::_internal_mutable_java_package() {
15636   ::google::protobuf::internal::TSanWrite(&_impl_);
15637   _impl_._has_bits_[0] |= 0x00000001u;
15638   return _impl_.java_package_.Mutable( GetArena());
15639 }
15640 inline std::string* FileOptions::release_java_package() {
15641   ::google::protobuf::internal::TSanWrite(&_impl_);
15642   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_package)
15643   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
15644     return nullptr;
15645   }
15646   _impl_._has_bits_[0] &= ~0x00000001u;
15647   auto* released = _impl_.java_package_.Release();
15648   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15649   _impl_.java_package_.Set("", GetArena());
15650   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15651   return released;
15652 }
15653 inline void FileOptions::set_allocated_java_package(std::string* value) {
15654   ::google::protobuf::internal::TSanWrite(&_impl_);
15655   if (value != nullptr) {
15656     _impl_._has_bits_[0] |= 0x00000001u;
15657   } else {
15658     _impl_._has_bits_[0] &= ~0x00000001u;
15659   }
15660   _impl_.java_package_.SetAllocated(value, GetArena());
15661   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15662         if (_impl_.java_package_.IsDefault()) {
15663           _impl_.java_package_.Set("", GetArena());
15664         }
15665   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15666   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_package)
15667 }
15668 
15669 // optional string java_outer_classname = 8;
15670 inline bool FileOptions::has_java_outer_classname() const {
15671   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
15672   return value;
15673 }
15674 inline void FileOptions::clear_java_outer_classname() {
15675   ::google::protobuf::internal::TSanWrite(&_impl_);
15676   _impl_.java_outer_classname_.ClearToEmpty();
15677   _impl_._has_bits_[0] &= ~0x00000002u;
15678 }
15679 inline const std::string& FileOptions::java_outer_classname() const
15680     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15681   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_outer_classname)
15682   return _internal_java_outer_classname();
15683 }
15684 template <typename Arg_, typename... Args_>
15685 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_java_outer_classname(Arg_&& arg,
15686                                                      Args_... args) {
15687   ::google::protobuf::internal::TSanWrite(&_impl_);
15688   _impl_._has_bits_[0] |= 0x00000002u;
15689   _impl_.java_outer_classname_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15690   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_outer_classname)
15691 }
15692 inline std::string* FileOptions::mutable_java_outer_classname() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15693   std::string* _s = _internal_mutable_java_outer_classname();
15694   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.java_outer_classname)
15695   return _s;
15696 }
15697 inline const std::string& FileOptions::_internal_java_outer_classname() const {
15698   ::google::protobuf::internal::TSanRead(&_impl_);
15699   return _impl_.java_outer_classname_.Get();
15700 }
15701 inline void FileOptions::_internal_set_java_outer_classname(const std::string& value) {
15702   ::google::protobuf::internal::TSanWrite(&_impl_);
15703   _impl_._has_bits_[0] |= 0x00000002u;
15704   _impl_.java_outer_classname_.Set(value, GetArena());
15705 }
15706 inline std::string* FileOptions::_internal_mutable_java_outer_classname() {
15707   ::google::protobuf::internal::TSanWrite(&_impl_);
15708   _impl_._has_bits_[0] |= 0x00000002u;
15709   return _impl_.java_outer_classname_.Mutable( GetArena());
15710 }
15711 inline std::string* FileOptions::release_java_outer_classname() {
15712   ::google::protobuf::internal::TSanWrite(&_impl_);
15713   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.java_outer_classname)
15714   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
15715     return nullptr;
15716   }
15717   _impl_._has_bits_[0] &= ~0x00000002u;
15718   auto* released = _impl_.java_outer_classname_.Release();
15719   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15720   _impl_.java_outer_classname_.Set("", GetArena());
15721   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15722   return released;
15723 }
15724 inline void FileOptions::set_allocated_java_outer_classname(std::string* value) {
15725   ::google::protobuf::internal::TSanWrite(&_impl_);
15726   if (value != nullptr) {
15727     _impl_._has_bits_[0] |= 0x00000002u;
15728   } else {
15729     _impl_._has_bits_[0] &= ~0x00000002u;
15730   }
15731   _impl_.java_outer_classname_.SetAllocated(value, GetArena());
15732   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15733         if (_impl_.java_outer_classname_.IsDefault()) {
15734           _impl_.java_outer_classname_.Set("", GetArena());
15735         }
15736   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15737   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.java_outer_classname)
15738 }
15739 
15740 // optional bool java_multiple_files = 10 [default = false];
15741 inline bool FileOptions::has_java_multiple_files() const {
15742   bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
15743   return value;
15744 }
15745 inline void FileOptions::clear_java_multiple_files() {
15746   ::google::protobuf::internal::TSanWrite(&_impl_);
15747   _impl_.java_multiple_files_ = false;
15748   _impl_._has_bits_[0] &= ~0x00000800u;
15749 }
15750 inline bool FileOptions::java_multiple_files() const {
15751   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_multiple_files)
15752   return _internal_java_multiple_files();
15753 }
15754 inline void FileOptions::set_java_multiple_files(bool value) {
15755   _internal_set_java_multiple_files(value);
15756   _impl_._has_bits_[0] |= 0x00000800u;
15757   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_multiple_files)
15758 }
15759 inline bool FileOptions::_internal_java_multiple_files() const {
15760   ::google::protobuf::internal::TSanRead(&_impl_);
15761   return _impl_.java_multiple_files_;
15762 }
15763 inline void FileOptions::_internal_set_java_multiple_files(bool value) {
15764   ::google::protobuf::internal::TSanWrite(&_impl_);
15765   _impl_.java_multiple_files_ = value;
15766 }
15767 
15768 // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
15769 inline bool FileOptions::has_java_generate_equals_and_hash() const {
15770   bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
15771   return value;
15772 }
15773 inline void FileOptions::clear_java_generate_equals_and_hash() {
15774   ::google::protobuf::internal::TSanWrite(&_impl_);
15775   _impl_.java_generate_equals_and_hash_ = false;
15776   _impl_._has_bits_[0] &= ~0x00001000u;
15777 }
15778 inline bool FileOptions::java_generate_equals_and_hash() const {
15779   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generate_equals_and_hash)
15780   return _internal_java_generate_equals_and_hash();
15781 }
15782 inline void FileOptions::set_java_generate_equals_and_hash(bool value) {
15783   _internal_set_java_generate_equals_and_hash(value);
15784   _impl_._has_bits_[0] |= 0x00001000u;
15785   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generate_equals_and_hash)
15786 }
15787 inline bool FileOptions::_internal_java_generate_equals_and_hash() const {
15788   ::google::protobuf::internal::TSanRead(&_impl_);
15789   return _impl_.java_generate_equals_and_hash_;
15790 }
15791 inline void FileOptions::_internal_set_java_generate_equals_and_hash(bool value) {
15792   ::google::protobuf::internal::TSanWrite(&_impl_);
15793   _impl_.java_generate_equals_and_hash_ = value;
15794 }
15795 
15796 // optional bool java_string_check_utf8 = 27 [default = false];
15797 inline bool FileOptions::has_java_string_check_utf8() const {
15798   bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
15799   return value;
15800 }
15801 inline void FileOptions::clear_java_string_check_utf8() {
15802   ::google::protobuf::internal::TSanWrite(&_impl_);
15803   _impl_.java_string_check_utf8_ = false;
15804   _impl_._has_bits_[0] &= ~0x00002000u;
15805 }
15806 inline bool FileOptions::java_string_check_utf8() const {
15807   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_string_check_utf8)
15808   return _internal_java_string_check_utf8();
15809 }
15810 inline void FileOptions::set_java_string_check_utf8(bool value) {
15811   _internal_set_java_string_check_utf8(value);
15812   _impl_._has_bits_[0] |= 0x00002000u;
15813   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_string_check_utf8)
15814 }
15815 inline bool FileOptions::_internal_java_string_check_utf8() const {
15816   ::google::protobuf::internal::TSanRead(&_impl_);
15817   return _impl_.java_string_check_utf8_;
15818 }
15819 inline void FileOptions::_internal_set_java_string_check_utf8(bool value) {
15820   ::google::protobuf::internal::TSanWrite(&_impl_);
15821   _impl_.java_string_check_utf8_ = value;
15822 }
15823 
15824 // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
15825 inline bool FileOptions::has_optimize_for() const {
15826   bool value = (_impl_._has_bits_[0] & 0x00040000u) != 0;
15827   return value;
15828 }
15829 inline void FileOptions::clear_optimize_for() {
15830   ::google::protobuf::internal::TSanWrite(&_impl_);
15831   _impl_.optimize_for_ = 1;
15832   _impl_._has_bits_[0] &= ~0x00040000u;
15833 }
15834 inline ::google::protobuf::FileOptions_OptimizeMode FileOptions::optimize_for() const {
15835   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.optimize_for)
15836   return _internal_optimize_for();
15837 }
15838 inline void FileOptions::set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) {
15839   _internal_set_optimize_for(value);
15840   _impl_._has_bits_[0] |= 0x00040000u;
15841   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.optimize_for)
15842 }
15843 inline ::google::protobuf::FileOptions_OptimizeMode FileOptions::_internal_optimize_for() const {
15844   ::google::protobuf::internal::TSanRead(&_impl_);
15845   return static_cast<::google::protobuf::FileOptions_OptimizeMode>(_impl_.optimize_for_);
15846 }
15847 inline void FileOptions::_internal_set_optimize_for(::google::protobuf::FileOptions_OptimizeMode value) {
15848   ::google::protobuf::internal::TSanWrite(&_impl_);
15849   assert(::google::protobuf::FileOptions_OptimizeMode_IsValid(value));
15850   _impl_.optimize_for_ = value;
15851 }
15852 
15853 // optional string go_package = 11;
15854 inline bool FileOptions::has_go_package() const {
15855   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
15856   return value;
15857 }
15858 inline void FileOptions::clear_go_package() {
15859   ::google::protobuf::internal::TSanWrite(&_impl_);
15860   _impl_.go_package_.ClearToEmpty();
15861   _impl_._has_bits_[0] &= ~0x00000004u;
15862 }
15863 inline const std::string& FileOptions::go_package() const
15864     ABSL_ATTRIBUTE_LIFETIME_BOUND {
15865   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.go_package)
15866   return _internal_go_package();
15867 }
15868 template <typename Arg_, typename... Args_>
15869 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_go_package(Arg_&& arg,
15870                                                      Args_... args) {
15871   ::google::protobuf::internal::TSanWrite(&_impl_);
15872   _impl_._has_bits_[0] |= 0x00000004u;
15873   _impl_.go_package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
15874   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.go_package)
15875 }
15876 inline std::string* FileOptions::mutable_go_package() ABSL_ATTRIBUTE_LIFETIME_BOUND {
15877   std::string* _s = _internal_mutable_go_package();
15878   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.go_package)
15879   return _s;
15880 }
15881 inline const std::string& FileOptions::_internal_go_package() const {
15882   ::google::protobuf::internal::TSanRead(&_impl_);
15883   return _impl_.go_package_.Get();
15884 }
15885 inline void FileOptions::_internal_set_go_package(const std::string& value) {
15886   ::google::protobuf::internal::TSanWrite(&_impl_);
15887   _impl_._has_bits_[0] |= 0x00000004u;
15888   _impl_.go_package_.Set(value, GetArena());
15889 }
15890 inline std::string* FileOptions::_internal_mutable_go_package() {
15891   ::google::protobuf::internal::TSanWrite(&_impl_);
15892   _impl_._has_bits_[0] |= 0x00000004u;
15893   return _impl_.go_package_.Mutable( GetArena());
15894 }
15895 inline std::string* FileOptions::release_go_package() {
15896   ::google::protobuf::internal::TSanWrite(&_impl_);
15897   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.go_package)
15898   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
15899     return nullptr;
15900   }
15901   _impl_._has_bits_[0] &= ~0x00000004u;
15902   auto* released = _impl_.go_package_.Release();
15903   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15904   _impl_.go_package_.Set("", GetArena());
15905   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15906   return released;
15907 }
15908 inline void FileOptions::set_allocated_go_package(std::string* value) {
15909   ::google::protobuf::internal::TSanWrite(&_impl_);
15910   if (value != nullptr) {
15911     _impl_._has_bits_[0] |= 0x00000004u;
15912   } else {
15913     _impl_._has_bits_[0] &= ~0x00000004u;
15914   }
15915   _impl_.go_package_.SetAllocated(value, GetArena());
15916   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
15917         if (_impl_.go_package_.IsDefault()) {
15918           _impl_.go_package_.Set("", GetArena());
15919         }
15920   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
15921   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.go_package)
15922 }
15923 
15924 // optional bool cc_generic_services = 16 [default = false];
15925 inline bool FileOptions::has_cc_generic_services() const {
15926   bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
15927   return value;
15928 }
15929 inline void FileOptions::clear_cc_generic_services() {
15930   ::google::protobuf::internal::TSanWrite(&_impl_);
15931   _impl_.cc_generic_services_ = false;
15932   _impl_._has_bits_[0] &= ~0x00004000u;
15933 }
15934 inline bool FileOptions::cc_generic_services() const {
15935   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_generic_services)
15936   return _internal_cc_generic_services();
15937 }
15938 inline void FileOptions::set_cc_generic_services(bool value) {
15939   _internal_set_cc_generic_services(value);
15940   _impl_._has_bits_[0] |= 0x00004000u;
15941   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_generic_services)
15942 }
15943 inline bool FileOptions::_internal_cc_generic_services() const {
15944   ::google::protobuf::internal::TSanRead(&_impl_);
15945   return _impl_.cc_generic_services_;
15946 }
15947 inline void FileOptions::_internal_set_cc_generic_services(bool value) {
15948   ::google::protobuf::internal::TSanWrite(&_impl_);
15949   _impl_.cc_generic_services_ = value;
15950 }
15951 
15952 // optional bool java_generic_services = 17 [default = false];
15953 inline bool FileOptions::has_java_generic_services() const {
15954   bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
15955   return value;
15956 }
15957 inline void FileOptions::clear_java_generic_services() {
15958   ::google::protobuf::internal::TSanWrite(&_impl_);
15959   _impl_.java_generic_services_ = false;
15960   _impl_._has_bits_[0] &= ~0x00008000u;
15961 }
15962 inline bool FileOptions::java_generic_services() const {
15963   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.java_generic_services)
15964   return _internal_java_generic_services();
15965 }
15966 inline void FileOptions::set_java_generic_services(bool value) {
15967   _internal_set_java_generic_services(value);
15968   _impl_._has_bits_[0] |= 0x00008000u;
15969   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.java_generic_services)
15970 }
15971 inline bool FileOptions::_internal_java_generic_services() const {
15972   ::google::protobuf::internal::TSanRead(&_impl_);
15973   return _impl_.java_generic_services_;
15974 }
15975 inline void FileOptions::_internal_set_java_generic_services(bool value) {
15976   ::google::protobuf::internal::TSanWrite(&_impl_);
15977   _impl_.java_generic_services_ = value;
15978 }
15979 
15980 // optional bool py_generic_services = 18 [default = false];
15981 inline bool FileOptions::has_py_generic_services() const {
15982   bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
15983   return value;
15984 }
15985 inline void FileOptions::clear_py_generic_services() {
15986   ::google::protobuf::internal::TSanWrite(&_impl_);
15987   _impl_.py_generic_services_ = false;
15988   _impl_._has_bits_[0] &= ~0x00010000u;
15989 }
15990 inline bool FileOptions::py_generic_services() const {
15991   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.py_generic_services)
15992   return _internal_py_generic_services();
15993 }
15994 inline void FileOptions::set_py_generic_services(bool value) {
15995   _internal_set_py_generic_services(value);
15996   _impl_._has_bits_[0] |= 0x00010000u;
15997   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.py_generic_services)
15998 }
15999 inline bool FileOptions::_internal_py_generic_services() const {
16000   ::google::protobuf::internal::TSanRead(&_impl_);
16001   return _impl_.py_generic_services_;
16002 }
16003 inline void FileOptions::_internal_set_py_generic_services(bool value) {
16004   ::google::protobuf::internal::TSanWrite(&_impl_);
16005   _impl_.py_generic_services_ = value;
16006 }
16007 
16008 // optional bool deprecated = 23 [default = false];
16009 inline bool FileOptions::has_deprecated() const {
16010   bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0;
16011   return value;
16012 }
16013 inline void FileOptions::clear_deprecated() {
16014   ::google::protobuf::internal::TSanWrite(&_impl_);
16015   _impl_.deprecated_ = false;
16016   _impl_._has_bits_[0] &= ~0x00020000u;
16017 }
16018 inline bool FileOptions::deprecated() const {
16019   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.deprecated)
16020   return _internal_deprecated();
16021 }
16022 inline void FileOptions::set_deprecated(bool value) {
16023   _internal_set_deprecated(value);
16024   _impl_._has_bits_[0] |= 0x00020000u;
16025   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.deprecated)
16026 }
16027 inline bool FileOptions::_internal_deprecated() const {
16028   ::google::protobuf::internal::TSanRead(&_impl_);
16029   return _impl_.deprecated_;
16030 }
16031 inline void FileOptions::_internal_set_deprecated(bool value) {
16032   ::google::protobuf::internal::TSanWrite(&_impl_);
16033   _impl_.deprecated_ = value;
16034 }
16035 
16036 // optional bool cc_enable_arenas = 31 [default = true];
16037 inline bool FileOptions::has_cc_enable_arenas() const {
16038   bool value = (_impl_._has_bits_[0] & 0x00080000u) != 0;
16039   return value;
16040 }
16041 inline void FileOptions::clear_cc_enable_arenas() {
16042   ::google::protobuf::internal::TSanWrite(&_impl_);
16043   _impl_.cc_enable_arenas_ = true;
16044   _impl_._has_bits_[0] &= ~0x00080000u;
16045 }
16046 inline bool FileOptions::cc_enable_arenas() const {
16047   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.cc_enable_arenas)
16048   return _internal_cc_enable_arenas();
16049 }
16050 inline void FileOptions::set_cc_enable_arenas(bool value) {
16051   _internal_set_cc_enable_arenas(value);
16052   _impl_._has_bits_[0] |= 0x00080000u;
16053   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.cc_enable_arenas)
16054 }
16055 inline bool FileOptions::_internal_cc_enable_arenas() const {
16056   ::google::protobuf::internal::TSanRead(&_impl_);
16057   return _impl_.cc_enable_arenas_;
16058 }
16059 inline void FileOptions::_internal_set_cc_enable_arenas(bool value) {
16060   ::google::protobuf::internal::TSanWrite(&_impl_);
16061   _impl_.cc_enable_arenas_ = value;
16062 }
16063 
16064 // optional string objc_class_prefix = 36;
16065 inline bool FileOptions::has_objc_class_prefix() const {
16066   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
16067   return value;
16068 }
16069 inline void FileOptions::clear_objc_class_prefix() {
16070   ::google::protobuf::internal::TSanWrite(&_impl_);
16071   _impl_.objc_class_prefix_.ClearToEmpty();
16072   _impl_._has_bits_[0] &= ~0x00000008u;
16073 }
16074 inline const std::string& FileOptions::objc_class_prefix() const
16075     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16076   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.objc_class_prefix)
16077   return _internal_objc_class_prefix();
16078 }
16079 template <typename Arg_, typename... Args_>
16080 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_objc_class_prefix(Arg_&& arg,
16081                                                      Args_... args) {
16082   ::google::protobuf::internal::TSanWrite(&_impl_);
16083   _impl_._has_bits_[0] |= 0x00000008u;
16084   _impl_.objc_class_prefix_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16085   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.objc_class_prefix)
16086 }
16087 inline std::string* FileOptions::mutable_objc_class_prefix() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16088   std::string* _s = _internal_mutable_objc_class_prefix();
16089   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.objc_class_prefix)
16090   return _s;
16091 }
16092 inline const std::string& FileOptions::_internal_objc_class_prefix() const {
16093   ::google::protobuf::internal::TSanRead(&_impl_);
16094   return _impl_.objc_class_prefix_.Get();
16095 }
16096 inline void FileOptions::_internal_set_objc_class_prefix(const std::string& value) {
16097   ::google::protobuf::internal::TSanWrite(&_impl_);
16098   _impl_._has_bits_[0] |= 0x00000008u;
16099   _impl_.objc_class_prefix_.Set(value, GetArena());
16100 }
16101 inline std::string* FileOptions::_internal_mutable_objc_class_prefix() {
16102   ::google::protobuf::internal::TSanWrite(&_impl_);
16103   _impl_._has_bits_[0] |= 0x00000008u;
16104   return _impl_.objc_class_prefix_.Mutable( GetArena());
16105 }
16106 inline std::string* FileOptions::release_objc_class_prefix() {
16107   ::google::protobuf::internal::TSanWrite(&_impl_);
16108   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.objc_class_prefix)
16109   if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
16110     return nullptr;
16111   }
16112   _impl_._has_bits_[0] &= ~0x00000008u;
16113   auto* released = _impl_.objc_class_prefix_.Release();
16114   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16115   _impl_.objc_class_prefix_.Set("", GetArena());
16116   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16117   return released;
16118 }
16119 inline void FileOptions::set_allocated_objc_class_prefix(std::string* value) {
16120   ::google::protobuf::internal::TSanWrite(&_impl_);
16121   if (value != nullptr) {
16122     _impl_._has_bits_[0] |= 0x00000008u;
16123   } else {
16124     _impl_._has_bits_[0] &= ~0x00000008u;
16125   }
16126   _impl_.objc_class_prefix_.SetAllocated(value, GetArena());
16127   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16128         if (_impl_.objc_class_prefix_.IsDefault()) {
16129           _impl_.objc_class_prefix_.Set("", GetArena());
16130         }
16131   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16132   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.objc_class_prefix)
16133 }
16134 
16135 // optional string csharp_namespace = 37;
16136 inline bool FileOptions::has_csharp_namespace() const {
16137   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
16138   return value;
16139 }
16140 inline void FileOptions::clear_csharp_namespace() {
16141   ::google::protobuf::internal::TSanWrite(&_impl_);
16142   _impl_.csharp_namespace_.ClearToEmpty();
16143   _impl_._has_bits_[0] &= ~0x00000010u;
16144 }
16145 inline const std::string& FileOptions::csharp_namespace() const
16146     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16147   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.csharp_namespace)
16148   return _internal_csharp_namespace();
16149 }
16150 template <typename Arg_, typename... Args_>
16151 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_csharp_namespace(Arg_&& arg,
16152                                                      Args_... args) {
16153   ::google::protobuf::internal::TSanWrite(&_impl_);
16154   _impl_._has_bits_[0] |= 0x00000010u;
16155   _impl_.csharp_namespace_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16156   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.csharp_namespace)
16157 }
16158 inline std::string* FileOptions::mutable_csharp_namespace() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16159   std::string* _s = _internal_mutable_csharp_namespace();
16160   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.csharp_namespace)
16161   return _s;
16162 }
16163 inline const std::string& FileOptions::_internal_csharp_namespace() const {
16164   ::google::protobuf::internal::TSanRead(&_impl_);
16165   return _impl_.csharp_namespace_.Get();
16166 }
16167 inline void FileOptions::_internal_set_csharp_namespace(const std::string& value) {
16168   ::google::protobuf::internal::TSanWrite(&_impl_);
16169   _impl_._has_bits_[0] |= 0x00000010u;
16170   _impl_.csharp_namespace_.Set(value, GetArena());
16171 }
16172 inline std::string* FileOptions::_internal_mutable_csharp_namespace() {
16173   ::google::protobuf::internal::TSanWrite(&_impl_);
16174   _impl_._has_bits_[0] |= 0x00000010u;
16175   return _impl_.csharp_namespace_.Mutable( GetArena());
16176 }
16177 inline std::string* FileOptions::release_csharp_namespace() {
16178   ::google::protobuf::internal::TSanWrite(&_impl_);
16179   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.csharp_namespace)
16180   if ((_impl_._has_bits_[0] & 0x00000010u) == 0) {
16181     return nullptr;
16182   }
16183   _impl_._has_bits_[0] &= ~0x00000010u;
16184   auto* released = _impl_.csharp_namespace_.Release();
16185   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16186   _impl_.csharp_namespace_.Set("", GetArena());
16187   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16188   return released;
16189 }
16190 inline void FileOptions::set_allocated_csharp_namespace(std::string* value) {
16191   ::google::protobuf::internal::TSanWrite(&_impl_);
16192   if (value != nullptr) {
16193     _impl_._has_bits_[0] |= 0x00000010u;
16194   } else {
16195     _impl_._has_bits_[0] &= ~0x00000010u;
16196   }
16197   _impl_.csharp_namespace_.SetAllocated(value, GetArena());
16198   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16199         if (_impl_.csharp_namespace_.IsDefault()) {
16200           _impl_.csharp_namespace_.Set("", GetArena());
16201         }
16202   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16203   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.csharp_namespace)
16204 }
16205 
16206 // optional string swift_prefix = 39;
16207 inline bool FileOptions::has_swift_prefix() const {
16208   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
16209   return value;
16210 }
16211 inline void FileOptions::clear_swift_prefix() {
16212   ::google::protobuf::internal::TSanWrite(&_impl_);
16213   _impl_.swift_prefix_.ClearToEmpty();
16214   _impl_._has_bits_[0] &= ~0x00000020u;
16215 }
16216 inline const std::string& FileOptions::swift_prefix() const
16217     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16218   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.swift_prefix)
16219   return _internal_swift_prefix();
16220 }
16221 template <typename Arg_, typename... Args_>
16222 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_swift_prefix(Arg_&& arg,
16223                                                      Args_... args) {
16224   ::google::protobuf::internal::TSanWrite(&_impl_);
16225   _impl_._has_bits_[0] |= 0x00000020u;
16226   _impl_.swift_prefix_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16227   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.swift_prefix)
16228 }
16229 inline std::string* FileOptions::mutable_swift_prefix() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16230   std::string* _s = _internal_mutable_swift_prefix();
16231   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.swift_prefix)
16232   return _s;
16233 }
16234 inline const std::string& FileOptions::_internal_swift_prefix() const {
16235   ::google::protobuf::internal::TSanRead(&_impl_);
16236   return _impl_.swift_prefix_.Get();
16237 }
16238 inline void FileOptions::_internal_set_swift_prefix(const std::string& value) {
16239   ::google::protobuf::internal::TSanWrite(&_impl_);
16240   _impl_._has_bits_[0] |= 0x00000020u;
16241   _impl_.swift_prefix_.Set(value, GetArena());
16242 }
16243 inline std::string* FileOptions::_internal_mutable_swift_prefix() {
16244   ::google::protobuf::internal::TSanWrite(&_impl_);
16245   _impl_._has_bits_[0] |= 0x00000020u;
16246   return _impl_.swift_prefix_.Mutable( GetArena());
16247 }
16248 inline std::string* FileOptions::release_swift_prefix() {
16249   ::google::protobuf::internal::TSanWrite(&_impl_);
16250   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.swift_prefix)
16251   if ((_impl_._has_bits_[0] & 0x00000020u) == 0) {
16252     return nullptr;
16253   }
16254   _impl_._has_bits_[0] &= ~0x00000020u;
16255   auto* released = _impl_.swift_prefix_.Release();
16256   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16257   _impl_.swift_prefix_.Set("", GetArena());
16258   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16259   return released;
16260 }
16261 inline void FileOptions::set_allocated_swift_prefix(std::string* value) {
16262   ::google::protobuf::internal::TSanWrite(&_impl_);
16263   if (value != nullptr) {
16264     _impl_._has_bits_[0] |= 0x00000020u;
16265   } else {
16266     _impl_._has_bits_[0] &= ~0x00000020u;
16267   }
16268   _impl_.swift_prefix_.SetAllocated(value, GetArena());
16269   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16270         if (_impl_.swift_prefix_.IsDefault()) {
16271           _impl_.swift_prefix_.Set("", GetArena());
16272         }
16273   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16274   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.swift_prefix)
16275 }
16276 
16277 // optional string php_class_prefix = 40;
16278 inline bool FileOptions::has_php_class_prefix() const {
16279   bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
16280   return value;
16281 }
16282 inline void FileOptions::clear_php_class_prefix() {
16283   ::google::protobuf::internal::TSanWrite(&_impl_);
16284   _impl_.php_class_prefix_.ClearToEmpty();
16285   _impl_._has_bits_[0] &= ~0x00000040u;
16286 }
16287 inline const std::string& FileOptions::php_class_prefix() const
16288     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16289   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.php_class_prefix)
16290   return _internal_php_class_prefix();
16291 }
16292 template <typename Arg_, typename... Args_>
16293 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_class_prefix(Arg_&& arg,
16294                                                      Args_... args) {
16295   ::google::protobuf::internal::TSanWrite(&_impl_);
16296   _impl_._has_bits_[0] |= 0x00000040u;
16297   _impl_.php_class_prefix_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16298   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_class_prefix)
16299 }
16300 inline std::string* FileOptions::mutable_php_class_prefix() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16301   std::string* _s = _internal_mutable_php_class_prefix();
16302   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.php_class_prefix)
16303   return _s;
16304 }
16305 inline const std::string& FileOptions::_internal_php_class_prefix() const {
16306   ::google::protobuf::internal::TSanRead(&_impl_);
16307   return _impl_.php_class_prefix_.Get();
16308 }
16309 inline void FileOptions::_internal_set_php_class_prefix(const std::string& value) {
16310   ::google::protobuf::internal::TSanWrite(&_impl_);
16311   _impl_._has_bits_[0] |= 0x00000040u;
16312   _impl_.php_class_prefix_.Set(value, GetArena());
16313 }
16314 inline std::string* FileOptions::_internal_mutable_php_class_prefix() {
16315   ::google::protobuf::internal::TSanWrite(&_impl_);
16316   _impl_._has_bits_[0] |= 0x00000040u;
16317   return _impl_.php_class_prefix_.Mutable( GetArena());
16318 }
16319 inline std::string* FileOptions::release_php_class_prefix() {
16320   ::google::protobuf::internal::TSanWrite(&_impl_);
16321   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_class_prefix)
16322   if ((_impl_._has_bits_[0] & 0x00000040u) == 0) {
16323     return nullptr;
16324   }
16325   _impl_._has_bits_[0] &= ~0x00000040u;
16326   auto* released = _impl_.php_class_prefix_.Release();
16327   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16328   _impl_.php_class_prefix_.Set("", GetArena());
16329   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16330   return released;
16331 }
16332 inline void FileOptions::set_allocated_php_class_prefix(std::string* value) {
16333   ::google::protobuf::internal::TSanWrite(&_impl_);
16334   if (value != nullptr) {
16335     _impl_._has_bits_[0] |= 0x00000040u;
16336   } else {
16337     _impl_._has_bits_[0] &= ~0x00000040u;
16338   }
16339   _impl_.php_class_prefix_.SetAllocated(value, GetArena());
16340   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16341         if (_impl_.php_class_prefix_.IsDefault()) {
16342           _impl_.php_class_prefix_.Set("", GetArena());
16343         }
16344   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16345   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.php_class_prefix)
16346 }
16347 
16348 // optional string php_namespace = 41;
16349 inline bool FileOptions::has_php_namespace() const {
16350   bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
16351   return value;
16352 }
16353 inline void FileOptions::clear_php_namespace() {
16354   ::google::protobuf::internal::TSanWrite(&_impl_);
16355   _impl_.php_namespace_.ClearToEmpty();
16356   _impl_._has_bits_[0] &= ~0x00000080u;
16357 }
16358 inline const std::string& FileOptions::php_namespace() const
16359     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16360   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.php_namespace)
16361   return _internal_php_namespace();
16362 }
16363 template <typename Arg_, typename... Args_>
16364 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_namespace(Arg_&& arg,
16365                                                      Args_... args) {
16366   ::google::protobuf::internal::TSanWrite(&_impl_);
16367   _impl_._has_bits_[0] |= 0x00000080u;
16368   _impl_.php_namespace_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16369   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_namespace)
16370 }
16371 inline std::string* FileOptions::mutable_php_namespace() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16372   std::string* _s = _internal_mutable_php_namespace();
16373   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.php_namespace)
16374   return _s;
16375 }
16376 inline const std::string& FileOptions::_internal_php_namespace() const {
16377   ::google::protobuf::internal::TSanRead(&_impl_);
16378   return _impl_.php_namespace_.Get();
16379 }
16380 inline void FileOptions::_internal_set_php_namespace(const std::string& value) {
16381   ::google::protobuf::internal::TSanWrite(&_impl_);
16382   _impl_._has_bits_[0] |= 0x00000080u;
16383   _impl_.php_namespace_.Set(value, GetArena());
16384 }
16385 inline std::string* FileOptions::_internal_mutable_php_namespace() {
16386   ::google::protobuf::internal::TSanWrite(&_impl_);
16387   _impl_._has_bits_[0] |= 0x00000080u;
16388   return _impl_.php_namespace_.Mutable( GetArena());
16389 }
16390 inline std::string* FileOptions::release_php_namespace() {
16391   ::google::protobuf::internal::TSanWrite(&_impl_);
16392   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_namespace)
16393   if ((_impl_._has_bits_[0] & 0x00000080u) == 0) {
16394     return nullptr;
16395   }
16396   _impl_._has_bits_[0] &= ~0x00000080u;
16397   auto* released = _impl_.php_namespace_.Release();
16398   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16399   _impl_.php_namespace_.Set("", GetArena());
16400   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16401   return released;
16402 }
16403 inline void FileOptions::set_allocated_php_namespace(std::string* value) {
16404   ::google::protobuf::internal::TSanWrite(&_impl_);
16405   if (value != nullptr) {
16406     _impl_._has_bits_[0] |= 0x00000080u;
16407   } else {
16408     _impl_._has_bits_[0] &= ~0x00000080u;
16409   }
16410   _impl_.php_namespace_.SetAllocated(value, GetArena());
16411   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16412         if (_impl_.php_namespace_.IsDefault()) {
16413           _impl_.php_namespace_.Set("", GetArena());
16414         }
16415   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16416   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.php_namespace)
16417 }
16418 
16419 // optional string php_metadata_namespace = 44;
16420 inline bool FileOptions::has_php_metadata_namespace() const {
16421   bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
16422   return value;
16423 }
16424 inline void FileOptions::clear_php_metadata_namespace() {
16425   ::google::protobuf::internal::TSanWrite(&_impl_);
16426   _impl_.php_metadata_namespace_.ClearToEmpty();
16427   _impl_._has_bits_[0] &= ~0x00000100u;
16428 }
16429 inline const std::string& FileOptions::php_metadata_namespace() const
16430     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16431   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.php_metadata_namespace)
16432   return _internal_php_metadata_namespace();
16433 }
16434 template <typename Arg_, typename... Args_>
16435 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_php_metadata_namespace(Arg_&& arg,
16436                                                      Args_... args) {
16437   ::google::protobuf::internal::TSanWrite(&_impl_);
16438   _impl_._has_bits_[0] |= 0x00000100u;
16439   _impl_.php_metadata_namespace_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16440   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.php_metadata_namespace)
16441 }
16442 inline std::string* FileOptions::mutable_php_metadata_namespace() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16443   std::string* _s = _internal_mutable_php_metadata_namespace();
16444   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.php_metadata_namespace)
16445   return _s;
16446 }
16447 inline const std::string& FileOptions::_internal_php_metadata_namespace() const {
16448   ::google::protobuf::internal::TSanRead(&_impl_);
16449   return _impl_.php_metadata_namespace_.Get();
16450 }
16451 inline void FileOptions::_internal_set_php_metadata_namespace(const std::string& value) {
16452   ::google::protobuf::internal::TSanWrite(&_impl_);
16453   _impl_._has_bits_[0] |= 0x00000100u;
16454   _impl_.php_metadata_namespace_.Set(value, GetArena());
16455 }
16456 inline std::string* FileOptions::_internal_mutable_php_metadata_namespace() {
16457   ::google::protobuf::internal::TSanWrite(&_impl_);
16458   _impl_._has_bits_[0] |= 0x00000100u;
16459   return _impl_.php_metadata_namespace_.Mutable( GetArena());
16460 }
16461 inline std::string* FileOptions::release_php_metadata_namespace() {
16462   ::google::protobuf::internal::TSanWrite(&_impl_);
16463   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.php_metadata_namespace)
16464   if ((_impl_._has_bits_[0] & 0x00000100u) == 0) {
16465     return nullptr;
16466   }
16467   _impl_._has_bits_[0] &= ~0x00000100u;
16468   auto* released = _impl_.php_metadata_namespace_.Release();
16469   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16470   _impl_.php_metadata_namespace_.Set("", GetArena());
16471   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16472   return released;
16473 }
16474 inline void FileOptions::set_allocated_php_metadata_namespace(std::string* value) {
16475   ::google::protobuf::internal::TSanWrite(&_impl_);
16476   if (value != nullptr) {
16477     _impl_._has_bits_[0] |= 0x00000100u;
16478   } else {
16479     _impl_._has_bits_[0] &= ~0x00000100u;
16480   }
16481   _impl_.php_metadata_namespace_.SetAllocated(value, GetArena());
16482   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16483         if (_impl_.php_metadata_namespace_.IsDefault()) {
16484           _impl_.php_metadata_namespace_.Set("", GetArena());
16485         }
16486   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16487   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.php_metadata_namespace)
16488 }
16489 
16490 // optional string ruby_package = 45;
16491 inline bool FileOptions::has_ruby_package() const {
16492   bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
16493   return value;
16494 }
16495 inline void FileOptions::clear_ruby_package() {
16496   ::google::protobuf::internal::TSanWrite(&_impl_);
16497   _impl_.ruby_package_.ClearToEmpty();
16498   _impl_._has_bits_[0] &= ~0x00000200u;
16499 }
16500 inline const std::string& FileOptions::ruby_package() const
16501     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16502   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.ruby_package)
16503   return _internal_ruby_package();
16504 }
16505 template <typename Arg_, typename... Args_>
16506 inline PROTOBUF_ALWAYS_INLINE void FileOptions::set_ruby_package(Arg_&& arg,
16507                                                      Args_... args) {
16508   ::google::protobuf::internal::TSanWrite(&_impl_);
16509   _impl_._has_bits_[0] |= 0x00000200u;
16510   _impl_.ruby_package_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
16511   // @@protoc_insertion_point(field_set:google.protobuf.FileOptions.ruby_package)
16512 }
16513 inline std::string* FileOptions::mutable_ruby_package() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16514   std::string* _s = _internal_mutable_ruby_package();
16515   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.ruby_package)
16516   return _s;
16517 }
16518 inline const std::string& FileOptions::_internal_ruby_package() const {
16519   ::google::protobuf::internal::TSanRead(&_impl_);
16520   return _impl_.ruby_package_.Get();
16521 }
16522 inline void FileOptions::_internal_set_ruby_package(const std::string& value) {
16523   ::google::protobuf::internal::TSanWrite(&_impl_);
16524   _impl_._has_bits_[0] |= 0x00000200u;
16525   _impl_.ruby_package_.Set(value, GetArena());
16526 }
16527 inline std::string* FileOptions::_internal_mutable_ruby_package() {
16528   ::google::protobuf::internal::TSanWrite(&_impl_);
16529   _impl_._has_bits_[0] |= 0x00000200u;
16530   return _impl_.ruby_package_.Mutable( GetArena());
16531 }
16532 inline std::string* FileOptions::release_ruby_package() {
16533   ::google::protobuf::internal::TSanWrite(&_impl_);
16534   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.ruby_package)
16535   if ((_impl_._has_bits_[0] & 0x00000200u) == 0) {
16536     return nullptr;
16537   }
16538   _impl_._has_bits_[0] &= ~0x00000200u;
16539   auto* released = _impl_.ruby_package_.Release();
16540   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16541   _impl_.ruby_package_.Set("", GetArena());
16542   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16543   return released;
16544 }
16545 inline void FileOptions::set_allocated_ruby_package(std::string* value) {
16546   ::google::protobuf::internal::TSanWrite(&_impl_);
16547   if (value != nullptr) {
16548     _impl_._has_bits_[0] |= 0x00000200u;
16549   } else {
16550     _impl_._has_bits_[0] &= ~0x00000200u;
16551   }
16552   _impl_.ruby_package_.SetAllocated(value, GetArena());
16553   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
16554         if (_impl_.ruby_package_.IsDefault()) {
16555           _impl_.ruby_package_.Set("", GetArena());
16556         }
16557   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
16558   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.ruby_package)
16559 }
16560 
16561 // optional .google.protobuf.FeatureSet features = 50;
16562 inline bool FileOptions::has_features() const {
16563   bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
16564   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
16565   return value;
16566 }
16567 inline void FileOptions::clear_features() {
16568   ::google::protobuf::internal::TSanWrite(&_impl_);
16569   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
16570   _impl_._has_bits_[0] &= ~0x00000400u;
16571 }
16572 inline const ::google::protobuf::FeatureSet& FileOptions::_internal_features() const {
16573   ::google::protobuf::internal::TSanRead(&_impl_);
16574   const ::google::protobuf::FeatureSet* p = _impl_.features_;
16575   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
16576 }
16577 inline const ::google::protobuf::FeatureSet& FileOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
16578   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.features)
16579   return _internal_features();
16580 }
16581 inline void FileOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
16582   ::google::protobuf::internal::TSanWrite(&_impl_);
16583   if (GetArena() == nullptr) {
16584     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
16585   }
16586   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
16587   if (value != nullptr) {
16588     _impl_._has_bits_[0] |= 0x00000400u;
16589   } else {
16590     _impl_._has_bits_[0] &= ~0x00000400u;
16591   }
16592   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FileOptions.features)
16593 }
16594 inline ::google::protobuf::FeatureSet* FileOptions::release_features() {
16595   ::google::protobuf::internal::TSanWrite(&_impl_);
16596 
16597   _impl_._has_bits_[0] &= ~0x00000400u;
16598   ::google::protobuf::FeatureSet* released = _impl_.features_;
16599   _impl_.features_ = nullptr;
16600 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
16601   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
16602   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16603   if (GetArena() == nullptr) {
16604     delete old;
16605   }
16606 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
16607   if (GetArena() != nullptr) {
16608     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16609   }
16610 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
16611   return released;
16612 }
16613 inline ::google::protobuf::FeatureSet* FileOptions::unsafe_arena_release_features() {
16614   ::google::protobuf::internal::TSanWrite(&_impl_);
16615   // @@protoc_insertion_point(field_release:google.protobuf.FileOptions.features)
16616 
16617   _impl_._has_bits_[0] &= ~0x00000400u;
16618   ::google::protobuf::FeatureSet* temp = _impl_.features_;
16619   _impl_.features_ = nullptr;
16620   return temp;
16621 }
16622 inline ::google::protobuf::FeatureSet* FileOptions::_internal_mutable_features() {
16623   ::google::protobuf::internal::TSanWrite(&_impl_);
16624   if (_impl_.features_ == nullptr) {
16625     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
16626     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
16627   }
16628   return _impl_.features_;
16629 }
16630 inline ::google::protobuf::FeatureSet* FileOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16631   _impl_._has_bits_[0] |= 0x00000400u;
16632   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
16633   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.features)
16634   return _msg;
16635 }
16636 inline void FileOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
16637   ::google::protobuf::Arena* message_arena = GetArena();
16638   ::google::protobuf::internal::TSanWrite(&_impl_);
16639   if (message_arena == nullptr) {
16640     delete (_impl_.features_);
16641   }
16642 
16643   if (value != nullptr) {
16644     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
16645     if (message_arena != submessage_arena) {
16646       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
16647     }
16648     _impl_._has_bits_[0] |= 0x00000400u;
16649   } else {
16650     _impl_._has_bits_[0] &= ~0x00000400u;
16651   }
16652 
16653   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
16654   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FileOptions.features)
16655 }
16656 
16657 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
16658 inline int FileOptions::_internal_uninterpreted_option_size() const {
16659   return _internal_uninterpreted_option().size();
16660 }
16661 inline int FileOptions::uninterpreted_option_size() const {
16662   return _internal_uninterpreted_option_size();
16663 }
16664 inline void FileOptions::clear_uninterpreted_option() {
16665   ::google::protobuf::internal::TSanWrite(&_impl_);
16666   _impl_.uninterpreted_option_.Clear();
16667 }
16668 inline ::google::protobuf::UninterpretedOption* FileOptions::mutable_uninterpreted_option(int index)
16669     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16670   // @@protoc_insertion_point(field_mutable:google.protobuf.FileOptions.uninterpreted_option)
16671   return _internal_mutable_uninterpreted_option()->Mutable(index);
16672 }
16673 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* FileOptions::mutable_uninterpreted_option()
16674     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16675   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FileOptions.uninterpreted_option)
16676   ::google::protobuf::internal::TSanWrite(&_impl_);
16677   return _internal_mutable_uninterpreted_option();
16678 }
16679 inline const ::google::protobuf::UninterpretedOption& FileOptions::uninterpreted_option(int index) const
16680     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16681   // @@protoc_insertion_point(field_get:google.protobuf.FileOptions.uninterpreted_option)
16682   return _internal_uninterpreted_option().Get(index);
16683 }
16684 inline ::google::protobuf::UninterpretedOption* FileOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16685   ::google::protobuf::internal::TSanWrite(&_impl_);
16686   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
16687   // @@protoc_insertion_point(field_add:google.protobuf.FileOptions.uninterpreted_option)
16688   return _add;
16689 }
16690 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& FileOptions::uninterpreted_option() const
16691     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16692   // @@protoc_insertion_point(field_list:google.protobuf.FileOptions.uninterpreted_option)
16693   return _internal_uninterpreted_option();
16694 }
16695 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
16696 FileOptions::_internal_uninterpreted_option() const {
16697   ::google::protobuf::internal::TSanRead(&_impl_);
16698   return _impl_.uninterpreted_option_;
16699 }
16700 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
16701 FileOptions::_internal_mutable_uninterpreted_option() {
16702   ::google::protobuf::internal::TSanRead(&_impl_);
16703   return &_impl_.uninterpreted_option_;
16704 }
16705 
16706 // -------------------------------------------------------------------
16707 
16708 // MessageOptions
16709 
16710 // optional bool message_set_wire_format = 1 [default = false];
16711 inline bool MessageOptions::has_message_set_wire_format() const {
16712   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
16713   return value;
16714 }
16715 inline void MessageOptions::clear_message_set_wire_format() {
16716   ::google::protobuf::internal::TSanWrite(&_impl_);
16717   _impl_.message_set_wire_format_ = false;
16718   _impl_._has_bits_[0] &= ~0x00000002u;
16719 }
16720 inline bool MessageOptions::message_set_wire_format() const {
16721   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.message_set_wire_format)
16722   return _internal_message_set_wire_format();
16723 }
16724 inline void MessageOptions::set_message_set_wire_format(bool value) {
16725   _internal_set_message_set_wire_format(value);
16726   _impl_._has_bits_[0] |= 0x00000002u;
16727   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.message_set_wire_format)
16728 }
16729 inline bool MessageOptions::_internal_message_set_wire_format() const {
16730   ::google::protobuf::internal::TSanRead(&_impl_);
16731   return _impl_.message_set_wire_format_;
16732 }
16733 inline void MessageOptions::_internal_set_message_set_wire_format(bool value) {
16734   ::google::protobuf::internal::TSanWrite(&_impl_);
16735   _impl_.message_set_wire_format_ = value;
16736 }
16737 
16738 // optional bool no_standard_descriptor_accessor = 2 [default = false];
16739 inline bool MessageOptions::has_no_standard_descriptor_accessor() const {
16740   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
16741   return value;
16742 }
16743 inline void MessageOptions::clear_no_standard_descriptor_accessor() {
16744   ::google::protobuf::internal::TSanWrite(&_impl_);
16745   _impl_.no_standard_descriptor_accessor_ = false;
16746   _impl_._has_bits_[0] &= ~0x00000004u;
16747 }
16748 inline bool MessageOptions::no_standard_descriptor_accessor() const {
16749   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
16750   return _internal_no_standard_descriptor_accessor();
16751 }
16752 inline void MessageOptions::set_no_standard_descriptor_accessor(bool value) {
16753   _internal_set_no_standard_descriptor_accessor(value);
16754   _impl_._has_bits_[0] |= 0x00000004u;
16755   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.no_standard_descriptor_accessor)
16756 }
16757 inline bool MessageOptions::_internal_no_standard_descriptor_accessor() const {
16758   ::google::protobuf::internal::TSanRead(&_impl_);
16759   return _impl_.no_standard_descriptor_accessor_;
16760 }
16761 inline void MessageOptions::_internal_set_no_standard_descriptor_accessor(bool value) {
16762   ::google::protobuf::internal::TSanWrite(&_impl_);
16763   _impl_.no_standard_descriptor_accessor_ = value;
16764 }
16765 
16766 // optional bool deprecated = 3 [default = false];
16767 inline bool MessageOptions::has_deprecated() const {
16768   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
16769   return value;
16770 }
16771 inline void MessageOptions::clear_deprecated() {
16772   ::google::protobuf::internal::TSanWrite(&_impl_);
16773   _impl_.deprecated_ = false;
16774   _impl_._has_bits_[0] &= ~0x00000008u;
16775 }
16776 inline bool MessageOptions::deprecated() const {
16777   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.deprecated)
16778   return _internal_deprecated();
16779 }
16780 inline void MessageOptions::set_deprecated(bool value) {
16781   _internal_set_deprecated(value);
16782   _impl_._has_bits_[0] |= 0x00000008u;
16783   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated)
16784 }
16785 inline bool MessageOptions::_internal_deprecated() const {
16786   ::google::protobuf::internal::TSanRead(&_impl_);
16787   return _impl_.deprecated_;
16788 }
16789 inline void MessageOptions::_internal_set_deprecated(bool value) {
16790   ::google::protobuf::internal::TSanWrite(&_impl_);
16791   _impl_.deprecated_ = value;
16792 }
16793 
16794 // optional bool map_entry = 7;
16795 inline bool MessageOptions::has_map_entry() const {
16796   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
16797   return value;
16798 }
16799 inline void MessageOptions::clear_map_entry() {
16800   ::google::protobuf::internal::TSanWrite(&_impl_);
16801   _impl_.map_entry_ = false;
16802   _impl_._has_bits_[0] &= ~0x00000010u;
16803 }
16804 inline bool MessageOptions::map_entry() const {
16805   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.map_entry)
16806   return _internal_map_entry();
16807 }
16808 inline void MessageOptions::set_map_entry(bool value) {
16809   _internal_set_map_entry(value);
16810   _impl_._has_bits_[0] |= 0x00000010u;
16811   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.map_entry)
16812 }
16813 inline bool MessageOptions::_internal_map_entry() const {
16814   ::google::protobuf::internal::TSanRead(&_impl_);
16815   return _impl_.map_entry_;
16816 }
16817 inline void MessageOptions::_internal_set_map_entry(bool value) {
16818   ::google::protobuf::internal::TSanWrite(&_impl_);
16819   _impl_.map_entry_ = value;
16820 }
16821 
16822 // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
16823 inline bool MessageOptions::has_deprecated_legacy_json_field_conflicts() const {
16824   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
16825   return value;
16826 }
16827 inline void MessageOptions::clear_deprecated_legacy_json_field_conflicts() {
16828   ::google::protobuf::internal::TSanWrite(&_impl_);
16829   _impl_.deprecated_legacy_json_field_conflicts_ = false;
16830   _impl_._has_bits_[0] &= ~0x00000020u;
16831 }
16832 inline bool MessageOptions::deprecated_legacy_json_field_conflicts() const {
16833   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts)
16834   return _internal_deprecated_legacy_json_field_conflicts();
16835 }
16836 inline void MessageOptions::set_deprecated_legacy_json_field_conflicts(bool value) {
16837   _internal_set_deprecated_legacy_json_field_conflicts(value);
16838   _impl_._has_bits_[0] |= 0x00000020u;
16839   // @@protoc_insertion_point(field_set:google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts)
16840 }
16841 inline bool MessageOptions::_internal_deprecated_legacy_json_field_conflicts() const {
16842   ::google::protobuf::internal::TSanRead(&_impl_);
16843   return _impl_.deprecated_legacy_json_field_conflicts_;
16844 }
16845 inline void MessageOptions::_internal_set_deprecated_legacy_json_field_conflicts(bool value) {
16846   ::google::protobuf::internal::TSanWrite(&_impl_);
16847   _impl_.deprecated_legacy_json_field_conflicts_ = value;
16848 }
16849 
16850 // optional .google.protobuf.FeatureSet features = 12;
16851 inline bool MessageOptions::has_features() const {
16852   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
16853   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
16854   return value;
16855 }
16856 inline void MessageOptions::clear_features() {
16857   ::google::protobuf::internal::TSanWrite(&_impl_);
16858   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
16859   _impl_._has_bits_[0] &= ~0x00000001u;
16860 }
16861 inline const ::google::protobuf::FeatureSet& MessageOptions::_internal_features() const {
16862   ::google::protobuf::internal::TSanRead(&_impl_);
16863   const ::google::protobuf::FeatureSet* p = _impl_.features_;
16864   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
16865 }
16866 inline const ::google::protobuf::FeatureSet& MessageOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
16867   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.features)
16868   return _internal_features();
16869 }
16870 inline void MessageOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
16871   ::google::protobuf::internal::TSanWrite(&_impl_);
16872   if (GetArena() == nullptr) {
16873     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
16874   }
16875   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
16876   if (value != nullptr) {
16877     _impl_._has_bits_[0] |= 0x00000001u;
16878   } else {
16879     _impl_._has_bits_[0] &= ~0x00000001u;
16880   }
16881   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.MessageOptions.features)
16882 }
16883 inline ::google::protobuf::FeatureSet* MessageOptions::release_features() {
16884   ::google::protobuf::internal::TSanWrite(&_impl_);
16885 
16886   _impl_._has_bits_[0] &= ~0x00000001u;
16887   ::google::protobuf::FeatureSet* released = _impl_.features_;
16888   _impl_.features_ = nullptr;
16889 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
16890   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
16891   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16892   if (GetArena() == nullptr) {
16893     delete old;
16894   }
16895 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
16896   if (GetArena() != nullptr) {
16897     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
16898   }
16899 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
16900   return released;
16901 }
16902 inline ::google::protobuf::FeatureSet* MessageOptions::unsafe_arena_release_features() {
16903   ::google::protobuf::internal::TSanWrite(&_impl_);
16904   // @@protoc_insertion_point(field_release:google.protobuf.MessageOptions.features)
16905 
16906   _impl_._has_bits_[0] &= ~0x00000001u;
16907   ::google::protobuf::FeatureSet* temp = _impl_.features_;
16908   _impl_.features_ = nullptr;
16909   return temp;
16910 }
16911 inline ::google::protobuf::FeatureSet* MessageOptions::_internal_mutable_features() {
16912   ::google::protobuf::internal::TSanWrite(&_impl_);
16913   if (_impl_.features_ == nullptr) {
16914     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
16915     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
16916   }
16917   return _impl_.features_;
16918 }
16919 inline ::google::protobuf::FeatureSet* MessageOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16920   _impl_._has_bits_[0] |= 0x00000001u;
16921   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
16922   // @@protoc_insertion_point(field_mutable:google.protobuf.MessageOptions.features)
16923   return _msg;
16924 }
16925 inline void MessageOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
16926   ::google::protobuf::Arena* message_arena = GetArena();
16927   ::google::protobuf::internal::TSanWrite(&_impl_);
16928   if (message_arena == nullptr) {
16929     delete (_impl_.features_);
16930   }
16931 
16932   if (value != nullptr) {
16933     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
16934     if (message_arena != submessage_arena) {
16935       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
16936     }
16937     _impl_._has_bits_[0] |= 0x00000001u;
16938   } else {
16939     _impl_._has_bits_[0] &= ~0x00000001u;
16940   }
16941 
16942   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
16943   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MessageOptions.features)
16944 }
16945 
16946 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
16947 inline int MessageOptions::_internal_uninterpreted_option_size() const {
16948   return _internal_uninterpreted_option().size();
16949 }
16950 inline int MessageOptions::uninterpreted_option_size() const {
16951   return _internal_uninterpreted_option_size();
16952 }
16953 inline void MessageOptions::clear_uninterpreted_option() {
16954   ::google::protobuf::internal::TSanWrite(&_impl_);
16955   _impl_.uninterpreted_option_.Clear();
16956 }
16957 inline ::google::protobuf::UninterpretedOption* MessageOptions::mutable_uninterpreted_option(int index)
16958     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16959   // @@protoc_insertion_point(field_mutable:google.protobuf.MessageOptions.uninterpreted_option)
16960   return _internal_mutable_uninterpreted_option()->Mutable(index);
16961 }
16962 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* MessageOptions::mutable_uninterpreted_option()
16963     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16964   // @@protoc_insertion_point(field_mutable_list:google.protobuf.MessageOptions.uninterpreted_option)
16965   ::google::protobuf::internal::TSanWrite(&_impl_);
16966   return _internal_mutable_uninterpreted_option();
16967 }
16968 inline const ::google::protobuf::UninterpretedOption& MessageOptions::uninterpreted_option(int index) const
16969     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16970   // @@protoc_insertion_point(field_get:google.protobuf.MessageOptions.uninterpreted_option)
16971   return _internal_uninterpreted_option().Get(index);
16972 }
16973 inline ::google::protobuf::UninterpretedOption* MessageOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
16974   ::google::protobuf::internal::TSanWrite(&_impl_);
16975   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
16976   // @@protoc_insertion_point(field_add:google.protobuf.MessageOptions.uninterpreted_option)
16977   return _add;
16978 }
16979 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& MessageOptions::uninterpreted_option() const
16980     ABSL_ATTRIBUTE_LIFETIME_BOUND {
16981   // @@protoc_insertion_point(field_list:google.protobuf.MessageOptions.uninterpreted_option)
16982   return _internal_uninterpreted_option();
16983 }
16984 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
16985 MessageOptions::_internal_uninterpreted_option() const {
16986   ::google::protobuf::internal::TSanRead(&_impl_);
16987   return _impl_.uninterpreted_option_;
16988 }
16989 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
16990 MessageOptions::_internal_mutable_uninterpreted_option() {
16991   ::google::protobuf::internal::TSanRead(&_impl_);
16992   return &_impl_.uninterpreted_option_;
16993 }
16994 
16995 // -------------------------------------------------------------------
16996 
16997 // FieldOptions_EditionDefault
16998 
16999 // optional .google.protobuf.Edition edition = 3;
17000 inline bool FieldOptions_EditionDefault::has_edition() const {
17001   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
17002   return value;
17003 }
17004 inline void FieldOptions_EditionDefault::clear_edition() {
17005   ::google::protobuf::internal::TSanWrite(&_impl_);
17006   _impl_.edition_ = 0;
17007   _impl_._has_bits_[0] &= ~0x00000002u;
17008 }
17009 inline ::google::protobuf::Edition FieldOptions_EditionDefault::edition() const {
17010   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.EditionDefault.edition)
17011   return _internal_edition();
17012 }
17013 inline void FieldOptions_EditionDefault::set_edition(::google::protobuf::Edition value) {
17014   _internal_set_edition(value);
17015   _impl_._has_bits_[0] |= 0x00000002u;
17016   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.EditionDefault.edition)
17017 }
17018 inline ::google::protobuf::Edition FieldOptions_EditionDefault::_internal_edition() const {
17019   ::google::protobuf::internal::TSanRead(&_impl_);
17020   return static_cast<::google::protobuf::Edition>(_impl_.edition_);
17021 }
17022 inline void FieldOptions_EditionDefault::_internal_set_edition(::google::protobuf::Edition value) {
17023   ::google::protobuf::internal::TSanWrite(&_impl_);
17024   assert(::google::protobuf::Edition_IsValid(value));
17025   _impl_.edition_ = value;
17026 }
17027 
17028 // optional string value = 2;
17029 inline bool FieldOptions_EditionDefault::has_value() const {
17030   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
17031   return value;
17032 }
17033 inline void FieldOptions_EditionDefault::clear_value() {
17034   ::google::protobuf::internal::TSanWrite(&_impl_);
17035   _impl_.value_.ClearToEmpty();
17036   _impl_._has_bits_[0] &= ~0x00000001u;
17037 }
17038 inline const std::string& FieldOptions_EditionDefault::value() const
17039     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17040   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.EditionDefault.value)
17041   return _internal_value();
17042 }
17043 template <typename Arg_, typename... Args_>
17044 inline PROTOBUF_ALWAYS_INLINE void FieldOptions_EditionDefault::set_value(Arg_&& arg,
17045                                                      Args_... args) {
17046   ::google::protobuf::internal::TSanWrite(&_impl_);
17047   _impl_._has_bits_[0] |= 0x00000001u;
17048   _impl_.value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17049   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.EditionDefault.value)
17050 }
17051 inline std::string* FieldOptions_EditionDefault::mutable_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
17052   std::string* _s = _internal_mutable_value();
17053   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.EditionDefault.value)
17054   return _s;
17055 }
17056 inline const std::string& FieldOptions_EditionDefault::_internal_value() const {
17057   ::google::protobuf::internal::TSanRead(&_impl_);
17058   return _impl_.value_.Get();
17059 }
17060 inline void FieldOptions_EditionDefault::_internal_set_value(const std::string& value) {
17061   ::google::protobuf::internal::TSanWrite(&_impl_);
17062   _impl_._has_bits_[0] |= 0x00000001u;
17063   _impl_.value_.Set(value, GetArena());
17064 }
17065 inline std::string* FieldOptions_EditionDefault::_internal_mutable_value() {
17066   ::google::protobuf::internal::TSanWrite(&_impl_);
17067   _impl_._has_bits_[0] |= 0x00000001u;
17068   return _impl_.value_.Mutable( GetArena());
17069 }
17070 inline std::string* FieldOptions_EditionDefault::release_value() {
17071   ::google::protobuf::internal::TSanWrite(&_impl_);
17072   // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.EditionDefault.value)
17073   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
17074     return nullptr;
17075   }
17076   _impl_._has_bits_[0] &= ~0x00000001u;
17077   auto* released = _impl_.value_.Release();
17078   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
17079   _impl_.value_.Set("", GetArena());
17080   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
17081   return released;
17082 }
17083 inline void FieldOptions_EditionDefault::set_allocated_value(std::string* value) {
17084   ::google::protobuf::internal::TSanWrite(&_impl_);
17085   if (value != nullptr) {
17086     _impl_._has_bits_[0] |= 0x00000001u;
17087   } else {
17088     _impl_._has_bits_[0] &= ~0x00000001u;
17089   }
17090   _impl_.value_.SetAllocated(value, GetArena());
17091   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
17092         if (_impl_.value_.IsDefault()) {
17093           _impl_.value_.Set("", GetArena());
17094         }
17095   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
17096   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.EditionDefault.value)
17097 }
17098 
17099 // -------------------------------------------------------------------
17100 
17101 // FieldOptions_FeatureSupport
17102 
17103 // optional .google.protobuf.Edition edition_introduced = 1;
17104 inline bool FieldOptions_FeatureSupport::has_edition_introduced() const {
17105   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
17106   return value;
17107 }
17108 inline void FieldOptions_FeatureSupport::clear_edition_introduced() {
17109   ::google::protobuf::internal::TSanWrite(&_impl_);
17110   _impl_.edition_introduced_ = 0;
17111   _impl_._has_bits_[0] &= ~0x00000002u;
17112 }
17113 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_introduced() const {
17114   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_introduced)
17115   return _internal_edition_introduced();
17116 }
17117 inline void FieldOptions_FeatureSupport::set_edition_introduced(::google::protobuf::Edition value) {
17118   _internal_set_edition_introduced(value);
17119   _impl_._has_bits_[0] |= 0x00000002u;
17120   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_introduced)
17121 }
17122 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_introduced() const {
17123   ::google::protobuf::internal::TSanRead(&_impl_);
17124   return static_cast<::google::protobuf::Edition>(_impl_.edition_introduced_);
17125 }
17126 inline void FieldOptions_FeatureSupport::_internal_set_edition_introduced(::google::protobuf::Edition value) {
17127   ::google::protobuf::internal::TSanWrite(&_impl_);
17128   assert(::google::protobuf::Edition_IsValid(value));
17129   _impl_.edition_introduced_ = value;
17130 }
17131 
17132 // optional .google.protobuf.Edition edition_deprecated = 2;
17133 inline bool FieldOptions_FeatureSupport::has_edition_deprecated() const {
17134   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
17135   return value;
17136 }
17137 inline void FieldOptions_FeatureSupport::clear_edition_deprecated() {
17138   ::google::protobuf::internal::TSanWrite(&_impl_);
17139   _impl_.edition_deprecated_ = 0;
17140   _impl_._has_bits_[0] &= ~0x00000004u;
17141 }
17142 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_deprecated() const {
17143   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_deprecated)
17144   return _internal_edition_deprecated();
17145 }
17146 inline void FieldOptions_FeatureSupport::set_edition_deprecated(::google::protobuf::Edition value) {
17147   _internal_set_edition_deprecated(value);
17148   _impl_._has_bits_[0] |= 0x00000004u;
17149   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_deprecated)
17150 }
17151 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_deprecated() const {
17152   ::google::protobuf::internal::TSanRead(&_impl_);
17153   return static_cast<::google::protobuf::Edition>(_impl_.edition_deprecated_);
17154 }
17155 inline void FieldOptions_FeatureSupport::_internal_set_edition_deprecated(::google::protobuf::Edition value) {
17156   ::google::protobuf::internal::TSanWrite(&_impl_);
17157   assert(::google::protobuf::Edition_IsValid(value));
17158   _impl_.edition_deprecated_ = value;
17159 }
17160 
17161 // optional string deprecation_warning = 3;
17162 inline bool FieldOptions_FeatureSupport::has_deprecation_warning() const {
17163   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
17164   return value;
17165 }
17166 inline void FieldOptions_FeatureSupport::clear_deprecation_warning() {
17167   ::google::protobuf::internal::TSanWrite(&_impl_);
17168   _impl_.deprecation_warning_.ClearToEmpty();
17169   _impl_._has_bits_[0] &= ~0x00000001u;
17170 }
17171 inline const std::string& FieldOptions_FeatureSupport::deprecation_warning() const
17172     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17173   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
17174   return _internal_deprecation_warning();
17175 }
17176 template <typename Arg_, typename... Args_>
17177 inline PROTOBUF_ALWAYS_INLINE void FieldOptions_FeatureSupport::set_deprecation_warning(Arg_&& arg,
17178                                                      Args_... args) {
17179   ::google::protobuf::internal::TSanWrite(&_impl_);
17180   _impl_._has_bits_[0] |= 0x00000001u;
17181   _impl_.deprecation_warning_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
17182   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
17183 }
17184 inline std::string* FieldOptions_FeatureSupport::mutable_deprecation_warning() ABSL_ATTRIBUTE_LIFETIME_BOUND {
17185   std::string* _s = _internal_mutable_deprecation_warning();
17186   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
17187   return _s;
17188 }
17189 inline const std::string& FieldOptions_FeatureSupport::_internal_deprecation_warning() const {
17190   ::google::protobuf::internal::TSanRead(&_impl_);
17191   return _impl_.deprecation_warning_.Get();
17192 }
17193 inline void FieldOptions_FeatureSupport::_internal_set_deprecation_warning(const std::string& value) {
17194   ::google::protobuf::internal::TSanWrite(&_impl_);
17195   _impl_._has_bits_[0] |= 0x00000001u;
17196   _impl_.deprecation_warning_.Set(value, GetArena());
17197 }
17198 inline std::string* FieldOptions_FeatureSupport::_internal_mutable_deprecation_warning() {
17199   ::google::protobuf::internal::TSanWrite(&_impl_);
17200   _impl_._has_bits_[0] |= 0x00000001u;
17201   return _impl_.deprecation_warning_.Mutable( GetArena());
17202 }
17203 inline std::string* FieldOptions_FeatureSupport::release_deprecation_warning() {
17204   ::google::protobuf::internal::TSanWrite(&_impl_);
17205   // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
17206   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
17207     return nullptr;
17208   }
17209   _impl_._has_bits_[0] &= ~0x00000001u;
17210   auto* released = _impl_.deprecation_warning_.Release();
17211   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
17212   _impl_.deprecation_warning_.Set("", GetArena());
17213   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
17214   return released;
17215 }
17216 inline void FieldOptions_FeatureSupport::set_allocated_deprecation_warning(std::string* value) {
17217   ::google::protobuf::internal::TSanWrite(&_impl_);
17218   if (value != nullptr) {
17219     _impl_._has_bits_[0] |= 0x00000001u;
17220   } else {
17221     _impl_._has_bits_[0] &= ~0x00000001u;
17222   }
17223   _impl_.deprecation_warning_.SetAllocated(value, GetArena());
17224   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
17225         if (_impl_.deprecation_warning_.IsDefault()) {
17226           _impl_.deprecation_warning_.Set("", GetArena());
17227         }
17228   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
17229   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.FeatureSupport.deprecation_warning)
17230 }
17231 
17232 // optional .google.protobuf.Edition edition_removed = 4;
17233 inline bool FieldOptions_FeatureSupport::has_edition_removed() const {
17234   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
17235   return value;
17236 }
17237 inline void FieldOptions_FeatureSupport::clear_edition_removed() {
17238   ::google::protobuf::internal::TSanWrite(&_impl_);
17239   _impl_.edition_removed_ = 0;
17240   _impl_._has_bits_[0] &= ~0x00000008u;
17241 }
17242 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::edition_removed() const {
17243   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.FeatureSupport.edition_removed)
17244   return _internal_edition_removed();
17245 }
17246 inline void FieldOptions_FeatureSupport::set_edition_removed(::google::protobuf::Edition value) {
17247   _internal_set_edition_removed(value);
17248   _impl_._has_bits_[0] |= 0x00000008u;
17249   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.FeatureSupport.edition_removed)
17250 }
17251 inline ::google::protobuf::Edition FieldOptions_FeatureSupport::_internal_edition_removed() const {
17252   ::google::protobuf::internal::TSanRead(&_impl_);
17253   return static_cast<::google::protobuf::Edition>(_impl_.edition_removed_);
17254 }
17255 inline void FieldOptions_FeatureSupport::_internal_set_edition_removed(::google::protobuf::Edition value) {
17256   ::google::protobuf::internal::TSanWrite(&_impl_);
17257   assert(::google::protobuf::Edition_IsValid(value));
17258   _impl_.edition_removed_ = value;
17259 }
17260 
17261 // -------------------------------------------------------------------
17262 
17263 // FieldOptions
17264 
17265 // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
17266 inline bool FieldOptions::has_ctype() const {
17267   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
17268   return value;
17269 }
17270 inline void FieldOptions::clear_ctype() {
17271   ::google::protobuf::internal::TSanWrite(&_impl_);
17272   _impl_.ctype_ = 0;
17273   _impl_._has_bits_[0] &= ~0x00000004u;
17274 }
17275 inline ::google::protobuf::FieldOptions_CType FieldOptions::ctype() const {
17276   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.ctype)
17277   return _internal_ctype();
17278 }
17279 inline void FieldOptions::set_ctype(::google::protobuf::FieldOptions_CType value) {
17280   _internal_set_ctype(value);
17281   _impl_._has_bits_[0] |= 0x00000004u;
17282   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.ctype)
17283 }
17284 inline ::google::protobuf::FieldOptions_CType FieldOptions::_internal_ctype() const {
17285   ::google::protobuf::internal::TSanRead(&_impl_);
17286   return static_cast<::google::protobuf::FieldOptions_CType>(_impl_.ctype_);
17287 }
17288 inline void FieldOptions::_internal_set_ctype(::google::protobuf::FieldOptions_CType value) {
17289   ::google::protobuf::internal::TSanWrite(&_impl_);
17290   assert(::google::protobuf::FieldOptions_CType_IsValid(value));
17291   _impl_.ctype_ = value;
17292 }
17293 
17294 // optional bool packed = 2;
17295 inline bool FieldOptions::has_packed() const {
17296   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
17297   return value;
17298 }
17299 inline void FieldOptions::clear_packed() {
17300   ::google::protobuf::internal::TSanWrite(&_impl_);
17301   _impl_.packed_ = false;
17302   _impl_._has_bits_[0] &= ~0x00000010u;
17303 }
17304 inline bool FieldOptions::packed() const {
17305   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.packed)
17306   return _internal_packed();
17307 }
17308 inline void FieldOptions::set_packed(bool value) {
17309   _internal_set_packed(value);
17310   _impl_._has_bits_[0] |= 0x00000010u;
17311   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.packed)
17312 }
17313 inline bool FieldOptions::_internal_packed() const {
17314   ::google::protobuf::internal::TSanRead(&_impl_);
17315   return _impl_.packed_;
17316 }
17317 inline void FieldOptions::_internal_set_packed(bool value) {
17318   ::google::protobuf::internal::TSanWrite(&_impl_);
17319   _impl_.packed_ = value;
17320 }
17321 
17322 // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
17323 inline bool FieldOptions::has_jstype() const {
17324   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
17325   return value;
17326 }
17327 inline void FieldOptions::clear_jstype() {
17328   ::google::protobuf::internal::TSanWrite(&_impl_);
17329   _impl_.jstype_ = 0;
17330   _impl_._has_bits_[0] &= ~0x00000008u;
17331 }
17332 inline ::google::protobuf::FieldOptions_JSType FieldOptions::jstype() const {
17333   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.jstype)
17334   return _internal_jstype();
17335 }
17336 inline void FieldOptions::set_jstype(::google::protobuf::FieldOptions_JSType value) {
17337   _internal_set_jstype(value);
17338   _impl_._has_bits_[0] |= 0x00000008u;
17339   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.jstype)
17340 }
17341 inline ::google::protobuf::FieldOptions_JSType FieldOptions::_internal_jstype() const {
17342   ::google::protobuf::internal::TSanRead(&_impl_);
17343   return static_cast<::google::protobuf::FieldOptions_JSType>(_impl_.jstype_);
17344 }
17345 inline void FieldOptions::_internal_set_jstype(::google::protobuf::FieldOptions_JSType value) {
17346   ::google::protobuf::internal::TSanWrite(&_impl_);
17347   assert(::google::protobuf::FieldOptions_JSType_IsValid(value));
17348   _impl_.jstype_ = value;
17349 }
17350 
17351 // optional bool lazy = 5 [default = false];
17352 inline bool FieldOptions::has_lazy() const {
17353   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
17354   return value;
17355 }
17356 inline void FieldOptions::clear_lazy() {
17357   ::google::protobuf::internal::TSanWrite(&_impl_);
17358   _impl_.lazy_ = false;
17359   _impl_._has_bits_[0] &= ~0x00000020u;
17360 }
17361 inline bool FieldOptions::lazy() const {
17362   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.lazy)
17363   return _internal_lazy();
17364 }
17365 inline void FieldOptions::set_lazy(bool value) {
17366   _internal_set_lazy(value);
17367   _impl_._has_bits_[0] |= 0x00000020u;
17368   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.lazy)
17369 }
17370 inline bool FieldOptions::_internal_lazy() const {
17371   ::google::protobuf::internal::TSanRead(&_impl_);
17372   return _impl_.lazy_;
17373 }
17374 inline void FieldOptions::_internal_set_lazy(bool value) {
17375   ::google::protobuf::internal::TSanWrite(&_impl_);
17376   _impl_.lazy_ = value;
17377 }
17378 
17379 // optional bool unverified_lazy = 15 [default = false];
17380 inline bool FieldOptions::has_unverified_lazy() const {
17381   bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
17382   return value;
17383 }
17384 inline void FieldOptions::clear_unverified_lazy() {
17385   ::google::protobuf::internal::TSanWrite(&_impl_);
17386   _impl_.unverified_lazy_ = false;
17387   _impl_._has_bits_[0] &= ~0x00000040u;
17388 }
17389 inline bool FieldOptions::unverified_lazy() const {
17390   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.unverified_lazy)
17391   return _internal_unverified_lazy();
17392 }
17393 inline void FieldOptions::set_unverified_lazy(bool value) {
17394   _internal_set_unverified_lazy(value);
17395   _impl_._has_bits_[0] |= 0x00000040u;
17396   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.unverified_lazy)
17397 }
17398 inline bool FieldOptions::_internal_unverified_lazy() const {
17399   ::google::protobuf::internal::TSanRead(&_impl_);
17400   return _impl_.unverified_lazy_;
17401 }
17402 inline void FieldOptions::_internal_set_unverified_lazy(bool value) {
17403   ::google::protobuf::internal::TSanWrite(&_impl_);
17404   _impl_.unverified_lazy_ = value;
17405 }
17406 
17407 // optional bool deprecated = 3 [default = false];
17408 inline bool FieldOptions::has_deprecated() const {
17409   bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
17410   return value;
17411 }
17412 inline void FieldOptions::clear_deprecated() {
17413   ::google::protobuf::internal::TSanWrite(&_impl_);
17414   _impl_.deprecated_ = false;
17415   _impl_._has_bits_[0] &= ~0x00000080u;
17416 }
17417 inline bool FieldOptions::deprecated() const {
17418   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.deprecated)
17419   return _internal_deprecated();
17420 }
17421 inline void FieldOptions::set_deprecated(bool value) {
17422   _internal_set_deprecated(value);
17423   _impl_._has_bits_[0] |= 0x00000080u;
17424   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.deprecated)
17425 }
17426 inline bool FieldOptions::_internal_deprecated() const {
17427   ::google::protobuf::internal::TSanRead(&_impl_);
17428   return _impl_.deprecated_;
17429 }
17430 inline void FieldOptions::_internal_set_deprecated(bool value) {
17431   ::google::protobuf::internal::TSanWrite(&_impl_);
17432   _impl_.deprecated_ = value;
17433 }
17434 
17435 // optional bool weak = 10 [default = false];
17436 inline bool FieldOptions::has_weak() const {
17437   bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
17438   return value;
17439 }
17440 inline void FieldOptions::clear_weak() {
17441   ::google::protobuf::internal::TSanWrite(&_impl_);
17442   _impl_.weak_ = false;
17443   _impl_._has_bits_[0] &= ~0x00000100u;
17444 }
17445 inline bool FieldOptions::weak() const {
17446   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.weak)
17447   return _internal_weak();
17448 }
17449 inline void FieldOptions::set_weak(bool value) {
17450   _internal_set_weak(value);
17451   _impl_._has_bits_[0] |= 0x00000100u;
17452   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.weak)
17453 }
17454 inline bool FieldOptions::_internal_weak() const {
17455   ::google::protobuf::internal::TSanRead(&_impl_);
17456   return _impl_.weak_;
17457 }
17458 inline void FieldOptions::_internal_set_weak(bool value) {
17459   ::google::protobuf::internal::TSanWrite(&_impl_);
17460   _impl_.weak_ = value;
17461 }
17462 
17463 // optional bool debug_redact = 16 [default = false];
17464 inline bool FieldOptions::has_debug_redact() const {
17465   bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
17466   return value;
17467 }
17468 inline void FieldOptions::clear_debug_redact() {
17469   ::google::protobuf::internal::TSanWrite(&_impl_);
17470   _impl_.debug_redact_ = false;
17471   _impl_._has_bits_[0] &= ~0x00000200u;
17472 }
17473 inline bool FieldOptions::debug_redact() const {
17474   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.debug_redact)
17475   return _internal_debug_redact();
17476 }
17477 inline void FieldOptions::set_debug_redact(bool value) {
17478   _internal_set_debug_redact(value);
17479   _impl_._has_bits_[0] |= 0x00000200u;
17480   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.debug_redact)
17481 }
17482 inline bool FieldOptions::_internal_debug_redact() const {
17483   ::google::protobuf::internal::TSanRead(&_impl_);
17484   return _impl_.debug_redact_;
17485 }
17486 inline void FieldOptions::_internal_set_debug_redact(bool value) {
17487   ::google::protobuf::internal::TSanWrite(&_impl_);
17488   _impl_.debug_redact_ = value;
17489 }
17490 
17491 // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
17492 inline bool FieldOptions::has_retention() const {
17493   bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
17494   return value;
17495 }
17496 inline void FieldOptions::clear_retention() {
17497   ::google::protobuf::internal::TSanWrite(&_impl_);
17498   _impl_.retention_ = 0;
17499   _impl_._has_bits_[0] &= ~0x00000400u;
17500 }
17501 inline ::google::protobuf::FieldOptions_OptionRetention FieldOptions::retention() const {
17502   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.retention)
17503   return _internal_retention();
17504 }
17505 inline void FieldOptions::set_retention(::google::protobuf::FieldOptions_OptionRetention value) {
17506   _internal_set_retention(value);
17507   _impl_._has_bits_[0] |= 0x00000400u;
17508   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.retention)
17509 }
17510 inline ::google::protobuf::FieldOptions_OptionRetention FieldOptions::_internal_retention() const {
17511   ::google::protobuf::internal::TSanRead(&_impl_);
17512   return static_cast<::google::protobuf::FieldOptions_OptionRetention>(_impl_.retention_);
17513 }
17514 inline void FieldOptions::_internal_set_retention(::google::protobuf::FieldOptions_OptionRetention value) {
17515   ::google::protobuf::internal::TSanWrite(&_impl_);
17516   assert(::google::protobuf::FieldOptions_OptionRetention_IsValid(value));
17517   _impl_.retention_ = value;
17518 }
17519 
17520 // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
17521 inline int FieldOptions::_internal_targets_size() const {
17522   return _internal_targets().size();
17523 }
17524 inline int FieldOptions::targets_size() const {
17525   return _internal_targets_size();
17526 }
17527 inline void FieldOptions::clear_targets() {
17528   ::google::protobuf::internal::TSanWrite(&_impl_);
17529   _impl_.targets_.Clear();
17530 }
17531 inline ::google::protobuf::FieldOptions_OptionTargetType FieldOptions::targets(int index) const {
17532   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.targets)
17533   return static_cast<::google::protobuf::FieldOptions_OptionTargetType>(_internal_targets().Get(index));
17534 }
17535 inline void FieldOptions::set_targets(int index, ::google::protobuf::FieldOptions_OptionTargetType value) {
17536   assert(::google::protobuf::FieldOptions_OptionTargetType_IsValid(value));
17537   _internal_mutable_targets()->Set(index, value);
17538   // @@protoc_insertion_point(field_set:google.protobuf.FieldOptions.targets)
17539 }
17540 inline void FieldOptions::add_targets(::google::protobuf::FieldOptions_OptionTargetType value) {
17541   assert(::google::protobuf::FieldOptions_OptionTargetType_IsValid(value));
17542   ::google::protobuf::internal::TSanWrite(&_impl_);
17543   _internal_mutable_targets()->Add(value);
17544   // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.targets)
17545 }
17546 inline const ::google::protobuf::RepeatedField<int>& FieldOptions::targets() const
17547     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17548   // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.targets)
17549   return _internal_targets();
17550 }
17551 inline ::google::protobuf::RepeatedField<int>* FieldOptions::mutable_targets()
17552     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17553   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.targets)
17554   ::google::protobuf::internal::TSanWrite(&_impl_);
17555   return _internal_mutable_targets();
17556 }
17557 inline const ::google::protobuf::RepeatedField<int>& FieldOptions::_internal_targets()
17558     const {
17559   ::google::protobuf::internal::TSanRead(&_impl_);
17560   return _impl_.targets_;
17561 }
17562 inline ::google::protobuf::RepeatedField<int>* FieldOptions::_internal_mutable_targets() {
17563   ::google::protobuf::internal::TSanRead(&_impl_);
17564   return &_impl_.targets_;
17565 }
17566 
17567 // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
17568 inline int FieldOptions::_internal_edition_defaults_size() const {
17569   return _internal_edition_defaults().size();
17570 }
17571 inline int FieldOptions::edition_defaults_size() const {
17572   return _internal_edition_defaults_size();
17573 }
17574 inline void FieldOptions::clear_edition_defaults() {
17575   ::google::protobuf::internal::TSanWrite(&_impl_);
17576   _impl_.edition_defaults_.Clear();
17577 }
17578 inline ::google::protobuf::FieldOptions_EditionDefault* FieldOptions::mutable_edition_defaults(int index)
17579     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17580   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.edition_defaults)
17581   return _internal_mutable_edition_defaults()->Mutable(index);
17582 }
17583 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>* FieldOptions::mutable_edition_defaults()
17584     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17585   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.edition_defaults)
17586   ::google::protobuf::internal::TSanWrite(&_impl_);
17587   return _internal_mutable_edition_defaults();
17588 }
17589 inline const ::google::protobuf::FieldOptions_EditionDefault& FieldOptions::edition_defaults(int index) const
17590     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17591   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.edition_defaults)
17592   return _internal_edition_defaults().Get(index);
17593 }
17594 inline ::google::protobuf::FieldOptions_EditionDefault* FieldOptions::add_edition_defaults() ABSL_ATTRIBUTE_LIFETIME_BOUND {
17595   ::google::protobuf::internal::TSanWrite(&_impl_);
17596   ::google::protobuf::FieldOptions_EditionDefault* _add = _internal_mutable_edition_defaults()->Add();
17597   // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.edition_defaults)
17598   return _add;
17599 }
17600 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>& FieldOptions::edition_defaults() const
17601     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17602   // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.edition_defaults)
17603   return _internal_edition_defaults();
17604 }
17605 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>&
17606 FieldOptions::_internal_edition_defaults() const {
17607   ::google::protobuf::internal::TSanRead(&_impl_);
17608   return _impl_.edition_defaults_;
17609 }
17610 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FieldOptions_EditionDefault>*
17611 FieldOptions::_internal_mutable_edition_defaults() {
17612   ::google::protobuf::internal::TSanRead(&_impl_);
17613   return &_impl_.edition_defaults_;
17614 }
17615 
17616 // optional .google.protobuf.FeatureSet features = 21;
17617 inline bool FieldOptions::has_features() const {
17618   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
17619   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
17620   return value;
17621 }
17622 inline void FieldOptions::clear_features() {
17623   ::google::protobuf::internal::TSanWrite(&_impl_);
17624   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
17625   _impl_._has_bits_[0] &= ~0x00000001u;
17626 }
17627 inline const ::google::protobuf::FeatureSet& FieldOptions::_internal_features() const {
17628   ::google::protobuf::internal::TSanRead(&_impl_);
17629   const ::google::protobuf::FeatureSet* p = _impl_.features_;
17630   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
17631 }
17632 inline const ::google::protobuf::FeatureSet& FieldOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
17633   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.features)
17634   return _internal_features();
17635 }
17636 inline void FieldOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
17637   ::google::protobuf::internal::TSanWrite(&_impl_);
17638   if (GetArena() == nullptr) {
17639     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
17640   }
17641   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
17642   if (value != nullptr) {
17643     _impl_._has_bits_[0] |= 0x00000001u;
17644   } else {
17645     _impl_._has_bits_[0] &= ~0x00000001u;
17646   }
17647   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FieldOptions.features)
17648 }
17649 inline ::google::protobuf::FeatureSet* FieldOptions::release_features() {
17650   ::google::protobuf::internal::TSanWrite(&_impl_);
17651 
17652   _impl_._has_bits_[0] &= ~0x00000001u;
17653   ::google::protobuf::FeatureSet* released = _impl_.features_;
17654   _impl_.features_ = nullptr;
17655 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
17656   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
17657   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
17658   if (GetArena() == nullptr) {
17659     delete old;
17660   }
17661 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
17662   if (GetArena() != nullptr) {
17663     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
17664   }
17665 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
17666   return released;
17667 }
17668 inline ::google::protobuf::FeatureSet* FieldOptions::unsafe_arena_release_features() {
17669   ::google::protobuf::internal::TSanWrite(&_impl_);
17670   // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.features)
17671 
17672   _impl_._has_bits_[0] &= ~0x00000001u;
17673   ::google::protobuf::FeatureSet* temp = _impl_.features_;
17674   _impl_.features_ = nullptr;
17675   return temp;
17676 }
17677 inline ::google::protobuf::FeatureSet* FieldOptions::_internal_mutable_features() {
17678   ::google::protobuf::internal::TSanWrite(&_impl_);
17679   if (_impl_.features_ == nullptr) {
17680     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
17681     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
17682   }
17683   return _impl_.features_;
17684 }
17685 inline ::google::protobuf::FeatureSet* FieldOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
17686   _impl_._has_bits_[0] |= 0x00000001u;
17687   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
17688   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.features)
17689   return _msg;
17690 }
17691 inline void FieldOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
17692   ::google::protobuf::Arena* message_arena = GetArena();
17693   ::google::protobuf::internal::TSanWrite(&_impl_);
17694   if (message_arena == nullptr) {
17695     delete (_impl_.features_);
17696   }
17697 
17698   if (value != nullptr) {
17699     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
17700     if (message_arena != submessage_arena) {
17701       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
17702     }
17703     _impl_._has_bits_[0] |= 0x00000001u;
17704   } else {
17705     _impl_._has_bits_[0] &= ~0x00000001u;
17706   }
17707 
17708   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
17709   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.features)
17710 }
17711 
17712 // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
17713 inline bool FieldOptions::has_feature_support() const {
17714   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
17715   PROTOBUF_ASSUME(!value || _impl_.feature_support_ != nullptr);
17716   return value;
17717 }
17718 inline void FieldOptions::clear_feature_support() {
17719   ::google::protobuf::internal::TSanWrite(&_impl_);
17720   if (_impl_.feature_support_ != nullptr) _impl_.feature_support_->Clear();
17721   _impl_._has_bits_[0] &= ~0x00000002u;
17722 }
17723 inline const ::google::protobuf::FieldOptions_FeatureSupport& FieldOptions::_internal_feature_support() const {
17724   ::google::protobuf::internal::TSanRead(&_impl_);
17725   const ::google::protobuf::FieldOptions_FeatureSupport* p = _impl_.feature_support_;
17726   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FieldOptions_FeatureSupport&>(::google::protobuf::_FieldOptions_FeatureSupport_default_instance_);
17727 }
17728 inline const ::google::protobuf::FieldOptions_FeatureSupport& FieldOptions::feature_support() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
17729   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.feature_support)
17730   return _internal_feature_support();
17731 }
17732 inline void FieldOptions::unsafe_arena_set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value) {
17733   ::google::protobuf::internal::TSanWrite(&_impl_);
17734   if (GetArena() == nullptr) {
17735     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.feature_support_);
17736   }
17737   _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value);
17738   if (value != nullptr) {
17739     _impl_._has_bits_[0] |= 0x00000002u;
17740   } else {
17741     _impl_._has_bits_[0] &= ~0x00000002u;
17742   }
17743   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FieldOptions.feature_support)
17744 }
17745 inline ::google::protobuf::FieldOptions_FeatureSupport* FieldOptions::release_feature_support() {
17746   ::google::protobuf::internal::TSanWrite(&_impl_);
17747 
17748   _impl_._has_bits_[0] &= ~0x00000002u;
17749   ::google::protobuf::FieldOptions_FeatureSupport* released = _impl_.feature_support_;
17750   _impl_.feature_support_ = nullptr;
17751 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
17752   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
17753   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
17754   if (GetArena() == nullptr) {
17755     delete old;
17756   }
17757 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
17758   if (GetArena() != nullptr) {
17759     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
17760   }
17761 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
17762   return released;
17763 }
17764 inline ::google::protobuf::FieldOptions_FeatureSupport* FieldOptions::unsafe_arena_release_feature_support() {
17765   ::google::protobuf::internal::TSanWrite(&_impl_);
17766   // @@protoc_insertion_point(field_release:google.protobuf.FieldOptions.feature_support)
17767 
17768   _impl_._has_bits_[0] &= ~0x00000002u;
17769   ::google::protobuf::FieldOptions_FeatureSupport* temp = _impl_.feature_support_;
17770   _impl_.feature_support_ = nullptr;
17771   return temp;
17772 }
17773 inline ::google::protobuf::FieldOptions_FeatureSupport* FieldOptions::_internal_mutable_feature_support() {
17774   ::google::protobuf::internal::TSanWrite(&_impl_);
17775   if (_impl_.feature_support_ == nullptr) {
17776     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldOptions_FeatureSupport>(GetArena());
17777     _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(p);
17778   }
17779   return _impl_.feature_support_;
17780 }
17781 inline ::google::protobuf::FieldOptions_FeatureSupport* FieldOptions::mutable_feature_support() ABSL_ATTRIBUTE_LIFETIME_BOUND {
17782   _impl_._has_bits_[0] |= 0x00000002u;
17783   ::google::protobuf::FieldOptions_FeatureSupport* _msg = _internal_mutable_feature_support();
17784   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.feature_support)
17785   return _msg;
17786 }
17787 inline void FieldOptions::set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value) {
17788   ::google::protobuf::Arena* message_arena = GetArena();
17789   ::google::protobuf::internal::TSanWrite(&_impl_);
17790   if (message_arena == nullptr) {
17791     delete (_impl_.feature_support_);
17792   }
17793 
17794   if (value != nullptr) {
17795     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
17796     if (message_arena != submessage_arena) {
17797       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
17798     }
17799     _impl_._has_bits_[0] |= 0x00000002u;
17800   } else {
17801     _impl_._has_bits_[0] &= ~0x00000002u;
17802   }
17803 
17804   _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value);
17805   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FieldOptions.feature_support)
17806 }
17807 
17808 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
17809 inline int FieldOptions::_internal_uninterpreted_option_size() const {
17810   return _internal_uninterpreted_option().size();
17811 }
17812 inline int FieldOptions::uninterpreted_option_size() const {
17813   return _internal_uninterpreted_option_size();
17814 }
17815 inline void FieldOptions::clear_uninterpreted_option() {
17816   ::google::protobuf::internal::TSanWrite(&_impl_);
17817   _impl_.uninterpreted_option_.Clear();
17818 }
17819 inline ::google::protobuf::UninterpretedOption* FieldOptions::mutable_uninterpreted_option(int index)
17820     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17821   // @@protoc_insertion_point(field_mutable:google.protobuf.FieldOptions.uninterpreted_option)
17822   return _internal_mutable_uninterpreted_option()->Mutable(index);
17823 }
17824 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* FieldOptions::mutable_uninterpreted_option()
17825     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17826   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FieldOptions.uninterpreted_option)
17827   ::google::protobuf::internal::TSanWrite(&_impl_);
17828   return _internal_mutable_uninterpreted_option();
17829 }
17830 inline const ::google::protobuf::UninterpretedOption& FieldOptions::uninterpreted_option(int index) const
17831     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17832   // @@protoc_insertion_point(field_get:google.protobuf.FieldOptions.uninterpreted_option)
17833   return _internal_uninterpreted_option().Get(index);
17834 }
17835 inline ::google::protobuf::UninterpretedOption* FieldOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
17836   ::google::protobuf::internal::TSanWrite(&_impl_);
17837   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
17838   // @@protoc_insertion_point(field_add:google.protobuf.FieldOptions.uninterpreted_option)
17839   return _add;
17840 }
17841 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& FieldOptions::uninterpreted_option() const
17842     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17843   // @@protoc_insertion_point(field_list:google.protobuf.FieldOptions.uninterpreted_option)
17844   return _internal_uninterpreted_option();
17845 }
17846 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
17847 FieldOptions::_internal_uninterpreted_option() const {
17848   ::google::protobuf::internal::TSanRead(&_impl_);
17849   return _impl_.uninterpreted_option_;
17850 }
17851 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
17852 FieldOptions::_internal_mutable_uninterpreted_option() {
17853   ::google::protobuf::internal::TSanRead(&_impl_);
17854   return &_impl_.uninterpreted_option_;
17855 }
17856 
17857 // -------------------------------------------------------------------
17858 
17859 // OneofOptions
17860 
17861 // optional .google.protobuf.FeatureSet features = 1;
17862 inline bool OneofOptions::has_features() const {
17863   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
17864   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
17865   return value;
17866 }
17867 inline void OneofOptions::clear_features() {
17868   ::google::protobuf::internal::TSanWrite(&_impl_);
17869   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
17870   _impl_._has_bits_[0] &= ~0x00000001u;
17871 }
17872 inline const ::google::protobuf::FeatureSet& OneofOptions::_internal_features() const {
17873   ::google::protobuf::internal::TSanRead(&_impl_);
17874   const ::google::protobuf::FeatureSet* p = _impl_.features_;
17875   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
17876 }
17877 inline const ::google::protobuf::FeatureSet& OneofOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
17878   // @@protoc_insertion_point(field_get:google.protobuf.OneofOptions.features)
17879   return _internal_features();
17880 }
17881 inline void OneofOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
17882   ::google::protobuf::internal::TSanWrite(&_impl_);
17883   if (GetArena() == nullptr) {
17884     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
17885   }
17886   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
17887   if (value != nullptr) {
17888     _impl_._has_bits_[0] |= 0x00000001u;
17889   } else {
17890     _impl_._has_bits_[0] &= ~0x00000001u;
17891   }
17892   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.OneofOptions.features)
17893 }
17894 inline ::google::protobuf::FeatureSet* OneofOptions::release_features() {
17895   ::google::protobuf::internal::TSanWrite(&_impl_);
17896 
17897   _impl_._has_bits_[0] &= ~0x00000001u;
17898   ::google::protobuf::FeatureSet* released = _impl_.features_;
17899   _impl_.features_ = nullptr;
17900 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
17901   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
17902   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
17903   if (GetArena() == nullptr) {
17904     delete old;
17905   }
17906 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
17907   if (GetArena() != nullptr) {
17908     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
17909   }
17910 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
17911   return released;
17912 }
17913 inline ::google::protobuf::FeatureSet* OneofOptions::unsafe_arena_release_features() {
17914   ::google::protobuf::internal::TSanWrite(&_impl_);
17915   // @@protoc_insertion_point(field_release:google.protobuf.OneofOptions.features)
17916 
17917   _impl_._has_bits_[0] &= ~0x00000001u;
17918   ::google::protobuf::FeatureSet* temp = _impl_.features_;
17919   _impl_.features_ = nullptr;
17920   return temp;
17921 }
17922 inline ::google::protobuf::FeatureSet* OneofOptions::_internal_mutable_features() {
17923   ::google::protobuf::internal::TSanWrite(&_impl_);
17924   if (_impl_.features_ == nullptr) {
17925     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
17926     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
17927   }
17928   return _impl_.features_;
17929 }
17930 inline ::google::protobuf::FeatureSet* OneofOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
17931   _impl_._has_bits_[0] |= 0x00000001u;
17932   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
17933   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofOptions.features)
17934   return _msg;
17935 }
17936 inline void OneofOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
17937   ::google::protobuf::Arena* message_arena = GetArena();
17938   ::google::protobuf::internal::TSanWrite(&_impl_);
17939   if (message_arena == nullptr) {
17940     delete (_impl_.features_);
17941   }
17942 
17943   if (value != nullptr) {
17944     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
17945     if (message_arena != submessage_arena) {
17946       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
17947     }
17948     _impl_._has_bits_[0] |= 0x00000001u;
17949   } else {
17950     _impl_._has_bits_[0] &= ~0x00000001u;
17951   }
17952 
17953   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
17954   // @@protoc_insertion_point(field_set_allocated:google.protobuf.OneofOptions.features)
17955 }
17956 
17957 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
17958 inline int OneofOptions::_internal_uninterpreted_option_size() const {
17959   return _internal_uninterpreted_option().size();
17960 }
17961 inline int OneofOptions::uninterpreted_option_size() const {
17962   return _internal_uninterpreted_option_size();
17963 }
17964 inline void OneofOptions::clear_uninterpreted_option() {
17965   ::google::protobuf::internal::TSanWrite(&_impl_);
17966   _impl_.uninterpreted_option_.Clear();
17967 }
17968 inline ::google::protobuf::UninterpretedOption* OneofOptions::mutable_uninterpreted_option(int index)
17969     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17970   // @@protoc_insertion_point(field_mutable:google.protobuf.OneofOptions.uninterpreted_option)
17971   return _internal_mutable_uninterpreted_option()->Mutable(index);
17972 }
17973 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* OneofOptions::mutable_uninterpreted_option()
17974     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17975   // @@protoc_insertion_point(field_mutable_list:google.protobuf.OneofOptions.uninterpreted_option)
17976   ::google::protobuf::internal::TSanWrite(&_impl_);
17977   return _internal_mutable_uninterpreted_option();
17978 }
17979 inline const ::google::protobuf::UninterpretedOption& OneofOptions::uninterpreted_option(int index) const
17980     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17981   // @@protoc_insertion_point(field_get:google.protobuf.OneofOptions.uninterpreted_option)
17982   return _internal_uninterpreted_option().Get(index);
17983 }
17984 inline ::google::protobuf::UninterpretedOption* OneofOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
17985   ::google::protobuf::internal::TSanWrite(&_impl_);
17986   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
17987   // @@protoc_insertion_point(field_add:google.protobuf.OneofOptions.uninterpreted_option)
17988   return _add;
17989 }
17990 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& OneofOptions::uninterpreted_option() const
17991     ABSL_ATTRIBUTE_LIFETIME_BOUND {
17992   // @@protoc_insertion_point(field_list:google.protobuf.OneofOptions.uninterpreted_option)
17993   return _internal_uninterpreted_option();
17994 }
17995 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
17996 OneofOptions::_internal_uninterpreted_option() const {
17997   ::google::protobuf::internal::TSanRead(&_impl_);
17998   return _impl_.uninterpreted_option_;
17999 }
18000 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
18001 OneofOptions::_internal_mutable_uninterpreted_option() {
18002   ::google::protobuf::internal::TSanRead(&_impl_);
18003   return &_impl_.uninterpreted_option_;
18004 }
18005 
18006 // -------------------------------------------------------------------
18007 
18008 // EnumOptions
18009 
18010 // optional bool allow_alias = 2;
18011 inline bool EnumOptions::has_allow_alias() const {
18012   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
18013   return value;
18014 }
18015 inline void EnumOptions::clear_allow_alias() {
18016   ::google::protobuf::internal::TSanWrite(&_impl_);
18017   _impl_.allow_alias_ = false;
18018   _impl_._has_bits_[0] &= ~0x00000002u;
18019 }
18020 inline bool EnumOptions::allow_alias() const {
18021   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.allow_alias)
18022   return _internal_allow_alias();
18023 }
18024 inline void EnumOptions::set_allow_alias(bool value) {
18025   _internal_set_allow_alias(value);
18026   _impl_._has_bits_[0] |= 0x00000002u;
18027   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.allow_alias)
18028 }
18029 inline bool EnumOptions::_internal_allow_alias() const {
18030   ::google::protobuf::internal::TSanRead(&_impl_);
18031   return _impl_.allow_alias_;
18032 }
18033 inline void EnumOptions::_internal_set_allow_alias(bool value) {
18034   ::google::protobuf::internal::TSanWrite(&_impl_);
18035   _impl_.allow_alias_ = value;
18036 }
18037 
18038 // optional bool deprecated = 3 [default = false];
18039 inline bool EnumOptions::has_deprecated() const {
18040   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
18041   return value;
18042 }
18043 inline void EnumOptions::clear_deprecated() {
18044   ::google::protobuf::internal::TSanWrite(&_impl_);
18045   _impl_.deprecated_ = false;
18046   _impl_._has_bits_[0] &= ~0x00000004u;
18047 }
18048 inline bool EnumOptions::deprecated() const {
18049   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.deprecated)
18050   return _internal_deprecated();
18051 }
18052 inline void EnumOptions::set_deprecated(bool value) {
18053   _internal_set_deprecated(value);
18054   _impl_._has_bits_[0] |= 0x00000004u;
18055   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated)
18056 }
18057 inline bool EnumOptions::_internal_deprecated() const {
18058   ::google::protobuf::internal::TSanRead(&_impl_);
18059   return _impl_.deprecated_;
18060 }
18061 inline void EnumOptions::_internal_set_deprecated(bool value) {
18062   ::google::protobuf::internal::TSanWrite(&_impl_);
18063   _impl_.deprecated_ = value;
18064 }
18065 
18066 // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
18067 inline bool EnumOptions::has_deprecated_legacy_json_field_conflicts() const {
18068   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
18069   return value;
18070 }
18071 inline void EnumOptions::clear_deprecated_legacy_json_field_conflicts() {
18072   ::google::protobuf::internal::TSanWrite(&_impl_);
18073   _impl_.deprecated_legacy_json_field_conflicts_ = false;
18074   _impl_._has_bits_[0] &= ~0x00000008u;
18075 }
18076 inline bool EnumOptions::deprecated_legacy_json_field_conflicts() const {
18077   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts)
18078   return _internal_deprecated_legacy_json_field_conflicts();
18079 }
18080 inline void EnumOptions::set_deprecated_legacy_json_field_conflicts(bool value) {
18081   _internal_set_deprecated_legacy_json_field_conflicts(value);
18082   _impl_._has_bits_[0] |= 0x00000008u;
18083   // @@protoc_insertion_point(field_set:google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts)
18084 }
18085 inline bool EnumOptions::_internal_deprecated_legacy_json_field_conflicts() const {
18086   ::google::protobuf::internal::TSanRead(&_impl_);
18087   return _impl_.deprecated_legacy_json_field_conflicts_;
18088 }
18089 inline void EnumOptions::_internal_set_deprecated_legacy_json_field_conflicts(bool value) {
18090   ::google::protobuf::internal::TSanWrite(&_impl_);
18091   _impl_.deprecated_legacy_json_field_conflicts_ = value;
18092 }
18093 
18094 // optional .google.protobuf.FeatureSet features = 7;
18095 inline bool EnumOptions::has_features() const {
18096   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
18097   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
18098   return value;
18099 }
18100 inline void EnumOptions::clear_features() {
18101   ::google::protobuf::internal::TSanWrite(&_impl_);
18102   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
18103   _impl_._has_bits_[0] &= ~0x00000001u;
18104 }
18105 inline const ::google::protobuf::FeatureSet& EnumOptions::_internal_features() const {
18106   ::google::protobuf::internal::TSanRead(&_impl_);
18107   const ::google::protobuf::FeatureSet* p = _impl_.features_;
18108   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
18109 }
18110 inline const ::google::protobuf::FeatureSet& EnumOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
18111   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.features)
18112   return _internal_features();
18113 }
18114 inline void EnumOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
18115   ::google::protobuf::internal::TSanWrite(&_impl_);
18116   if (GetArena() == nullptr) {
18117     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
18118   }
18119   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18120   if (value != nullptr) {
18121     _impl_._has_bits_[0] |= 0x00000001u;
18122   } else {
18123     _impl_._has_bits_[0] &= ~0x00000001u;
18124   }
18125   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumOptions.features)
18126 }
18127 inline ::google::protobuf::FeatureSet* EnumOptions::release_features() {
18128   ::google::protobuf::internal::TSanWrite(&_impl_);
18129 
18130   _impl_._has_bits_[0] &= ~0x00000001u;
18131   ::google::protobuf::FeatureSet* released = _impl_.features_;
18132   _impl_.features_ = nullptr;
18133 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
18134   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
18135   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18136   if (GetArena() == nullptr) {
18137     delete old;
18138   }
18139 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
18140   if (GetArena() != nullptr) {
18141     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18142   }
18143 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
18144   return released;
18145 }
18146 inline ::google::protobuf::FeatureSet* EnumOptions::unsafe_arena_release_features() {
18147   ::google::protobuf::internal::TSanWrite(&_impl_);
18148   // @@protoc_insertion_point(field_release:google.protobuf.EnumOptions.features)
18149 
18150   _impl_._has_bits_[0] &= ~0x00000001u;
18151   ::google::protobuf::FeatureSet* temp = _impl_.features_;
18152   _impl_.features_ = nullptr;
18153   return temp;
18154 }
18155 inline ::google::protobuf::FeatureSet* EnumOptions::_internal_mutable_features() {
18156   ::google::protobuf::internal::TSanWrite(&_impl_);
18157   if (_impl_.features_ == nullptr) {
18158     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
18159     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
18160   }
18161   return _impl_.features_;
18162 }
18163 inline ::google::protobuf::FeatureSet* EnumOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18164   _impl_._has_bits_[0] |= 0x00000001u;
18165   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
18166   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumOptions.features)
18167   return _msg;
18168 }
18169 inline void EnumOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
18170   ::google::protobuf::Arena* message_arena = GetArena();
18171   ::google::protobuf::internal::TSanWrite(&_impl_);
18172   if (message_arena == nullptr) {
18173     delete (_impl_.features_);
18174   }
18175 
18176   if (value != nullptr) {
18177     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
18178     if (message_arena != submessage_arena) {
18179       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
18180     }
18181     _impl_._has_bits_[0] |= 0x00000001u;
18182   } else {
18183     _impl_._has_bits_[0] &= ~0x00000001u;
18184   }
18185 
18186   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18187   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumOptions.features)
18188 }
18189 
18190 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
18191 inline int EnumOptions::_internal_uninterpreted_option_size() const {
18192   return _internal_uninterpreted_option().size();
18193 }
18194 inline int EnumOptions::uninterpreted_option_size() const {
18195   return _internal_uninterpreted_option_size();
18196 }
18197 inline void EnumOptions::clear_uninterpreted_option() {
18198   ::google::protobuf::internal::TSanWrite(&_impl_);
18199   _impl_.uninterpreted_option_.Clear();
18200 }
18201 inline ::google::protobuf::UninterpretedOption* EnumOptions::mutable_uninterpreted_option(int index)
18202     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18203   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumOptions.uninterpreted_option)
18204   return _internal_mutable_uninterpreted_option()->Mutable(index);
18205 }
18206 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* EnumOptions::mutable_uninterpreted_option()
18207     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18208   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumOptions.uninterpreted_option)
18209   ::google::protobuf::internal::TSanWrite(&_impl_);
18210   return _internal_mutable_uninterpreted_option();
18211 }
18212 inline const ::google::protobuf::UninterpretedOption& EnumOptions::uninterpreted_option(int index) const
18213     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18214   // @@protoc_insertion_point(field_get:google.protobuf.EnumOptions.uninterpreted_option)
18215   return _internal_uninterpreted_option().Get(index);
18216 }
18217 inline ::google::protobuf::UninterpretedOption* EnumOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18218   ::google::protobuf::internal::TSanWrite(&_impl_);
18219   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
18220   // @@protoc_insertion_point(field_add:google.protobuf.EnumOptions.uninterpreted_option)
18221   return _add;
18222 }
18223 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& EnumOptions::uninterpreted_option() const
18224     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18225   // @@protoc_insertion_point(field_list:google.protobuf.EnumOptions.uninterpreted_option)
18226   return _internal_uninterpreted_option();
18227 }
18228 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
18229 EnumOptions::_internal_uninterpreted_option() const {
18230   ::google::protobuf::internal::TSanRead(&_impl_);
18231   return _impl_.uninterpreted_option_;
18232 }
18233 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
18234 EnumOptions::_internal_mutable_uninterpreted_option() {
18235   ::google::protobuf::internal::TSanRead(&_impl_);
18236   return &_impl_.uninterpreted_option_;
18237 }
18238 
18239 // -------------------------------------------------------------------
18240 
18241 // EnumValueOptions
18242 
18243 // optional bool deprecated = 1 [default = false];
18244 inline bool EnumValueOptions::has_deprecated() const {
18245   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
18246   return value;
18247 }
18248 inline void EnumValueOptions::clear_deprecated() {
18249   ::google::protobuf::internal::TSanWrite(&_impl_);
18250   _impl_.deprecated_ = false;
18251   _impl_._has_bits_[0] &= ~0x00000004u;
18252 }
18253 inline bool EnumValueOptions::deprecated() const {
18254   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.deprecated)
18255   return _internal_deprecated();
18256 }
18257 inline void EnumValueOptions::set_deprecated(bool value) {
18258   _internal_set_deprecated(value);
18259   _impl_._has_bits_[0] |= 0x00000004u;
18260   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.deprecated)
18261 }
18262 inline bool EnumValueOptions::_internal_deprecated() const {
18263   ::google::protobuf::internal::TSanRead(&_impl_);
18264   return _impl_.deprecated_;
18265 }
18266 inline void EnumValueOptions::_internal_set_deprecated(bool value) {
18267   ::google::protobuf::internal::TSanWrite(&_impl_);
18268   _impl_.deprecated_ = value;
18269 }
18270 
18271 // optional .google.protobuf.FeatureSet features = 2;
18272 inline bool EnumValueOptions::has_features() const {
18273   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
18274   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
18275   return value;
18276 }
18277 inline void EnumValueOptions::clear_features() {
18278   ::google::protobuf::internal::TSanWrite(&_impl_);
18279   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
18280   _impl_._has_bits_[0] &= ~0x00000001u;
18281 }
18282 inline const ::google::protobuf::FeatureSet& EnumValueOptions::_internal_features() const {
18283   ::google::protobuf::internal::TSanRead(&_impl_);
18284   const ::google::protobuf::FeatureSet* p = _impl_.features_;
18285   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
18286 }
18287 inline const ::google::protobuf::FeatureSet& EnumValueOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
18288   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.features)
18289   return _internal_features();
18290 }
18291 inline void EnumValueOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
18292   ::google::protobuf::internal::TSanWrite(&_impl_);
18293   if (GetArena() == nullptr) {
18294     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
18295   }
18296   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18297   if (value != nullptr) {
18298     _impl_._has_bits_[0] |= 0x00000001u;
18299   } else {
18300     _impl_._has_bits_[0] &= ~0x00000001u;
18301   }
18302   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumValueOptions.features)
18303 }
18304 inline ::google::protobuf::FeatureSet* EnumValueOptions::release_features() {
18305   ::google::protobuf::internal::TSanWrite(&_impl_);
18306 
18307   _impl_._has_bits_[0] &= ~0x00000001u;
18308   ::google::protobuf::FeatureSet* released = _impl_.features_;
18309   _impl_.features_ = nullptr;
18310 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
18311   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
18312   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18313   if (GetArena() == nullptr) {
18314     delete old;
18315   }
18316 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
18317   if (GetArena() != nullptr) {
18318     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18319   }
18320 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
18321   return released;
18322 }
18323 inline ::google::protobuf::FeatureSet* EnumValueOptions::unsafe_arena_release_features() {
18324   ::google::protobuf::internal::TSanWrite(&_impl_);
18325   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueOptions.features)
18326 
18327   _impl_._has_bits_[0] &= ~0x00000001u;
18328   ::google::protobuf::FeatureSet* temp = _impl_.features_;
18329   _impl_.features_ = nullptr;
18330   return temp;
18331 }
18332 inline ::google::protobuf::FeatureSet* EnumValueOptions::_internal_mutable_features() {
18333   ::google::protobuf::internal::TSanWrite(&_impl_);
18334   if (_impl_.features_ == nullptr) {
18335     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
18336     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
18337   }
18338   return _impl_.features_;
18339 }
18340 inline ::google::protobuf::FeatureSet* EnumValueOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18341   _impl_._has_bits_[0] |= 0x00000001u;
18342   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
18343   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.features)
18344   return _msg;
18345 }
18346 inline void EnumValueOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
18347   ::google::protobuf::Arena* message_arena = GetArena();
18348   ::google::protobuf::internal::TSanWrite(&_impl_);
18349   if (message_arena == nullptr) {
18350     delete (_impl_.features_);
18351   }
18352 
18353   if (value != nullptr) {
18354     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
18355     if (message_arena != submessage_arena) {
18356       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
18357     }
18358     _impl_._has_bits_[0] |= 0x00000001u;
18359   } else {
18360     _impl_._has_bits_[0] &= ~0x00000001u;
18361   }
18362 
18363   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18364   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueOptions.features)
18365 }
18366 
18367 // optional bool debug_redact = 3 [default = false];
18368 inline bool EnumValueOptions::has_debug_redact() const {
18369   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
18370   return value;
18371 }
18372 inline void EnumValueOptions::clear_debug_redact() {
18373   ::google::protobuf::internal::TSanWrite(&_impl_);
18374   _impl_.debug_redact_ = false;
18375   _impl_._has_bits_[0] &= ~0x00000008u;
18376 }
18377 inline bool EnumValueOptions::debug_redact() const {
18378   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.debug_redact)
18379   return _internal_debug_redact();
18380 }
18381 inline void EnumValueOptions::set_debug_redact(bool value) {
18382   _internal_set_debug_redact(value);
18383   _impl_._has_bits_[0] |= 0x00000008u;
18384   // @@protoc_insertion_point(field_set:google.protobuf.EnumValueOptions.debug_redact)
18385 }
18386 inline bool EnumValueOptions::_internal_debug_redact() const {
18387   ::google::protobuf::internal::TSanRead(&_impl_);
18388   return _impl_.debug_redact_;
18389 }
18390 inline void EnumValueOptions::_internal_set_debug_redact(bool value) {
18391   ::google::protobuf::internal::TSanWrite(&_impl_);
18392   _impl_.debug_redact_ = value;
18393 }
18394 
18395 // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
18396 inline bool EnumValueOptions::has_feature_support() const {
18397   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
18398   PROTOBUF_ASSUME(!value || _impl_.feature_support_ != nullptr);
18399   return value;
18400 }
18401 inline void EnumValueOptions::clear_feature_support() {
18402   ::google::protobuf::internal::TSanWrite(&_impl_);
18403   if (_impl_.feature_support_ != nullptr) _impl_.feature_support_->Clear();
18404   _impl_._has_bits_[0] &= ~0x00000002u;
18405 }
18406 inline const ::google::protobuf::FieldOptions_FeatureSupport& EnumValueOptions::_internal_feature_support() const {
18407   ::google::protobuf::internal::TSanRead(&_impl_);
18408   const ::google::protobuf::FieldOptions_FeatureSupport* p = _impl_.feature_support_;
18409   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FieldOptions_FeatureSupport&>(::google::protobuf::_FieldOptions_FeatureSupport_default_instance_);
18410 }
18411 inline const ::google::protobuf::FieldOptions_FeatureSupport& EnumValueOptions::feature_support() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
18412   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.feature_support)
18413   return _internal_feature_support();
18414 }
18415 inline void EnumValueOptions::unsafe_arena_set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value) {
18416   ::google::protobuf::internal::TSanWrite(&_impl_);
18417   if (GetArena() == nullptr) {
18418     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.feature_support_);
18419   }
18420   _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value);
18421   if (value != nullptr) {
18422     _impl_._has_bits_[0] |= 0x00000002u;
18423   } else {
18424     _impl_._has_bits_[0] &= ~0x00000002u;
18425   }
18426   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.EnumValueOptions.feature_support)
18427 }
18428 inline ::google::protobuf::FieldOptions_FeatureSupport* EnumValueOptions::release_feature_support() {
18429   ::google::protobuf::internal::TSanWrite(&_impl_);
18430 
18431   _impl_._has_bits_[0] &= ~0x00000002u;
18432   ::google::protobuf::FieldOptions_FeatureSupport* released = _impl_.feature_support_;
18433   _impl_.feature_support_ = nullptr;
18434 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
18435   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
18436   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18437   if (GetArena() == nullptr) {
18438     delete old;
18439   }
18440 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
18441   if (GetArena() != nullptr) {
18442     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18443   }
18444 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
18445   return released;
18446 }
18447 inline ::google::protobuf::FieldOptions_FeatureSupport* EnumValueOptions::unsafe_arena_release_feature_support() {
18448   ::google::protobuf::internal::TSanWrite(&_impl_);
18449   // @@protoc_insertion_point(field_release:google.protobuf.EnumValueOptions.feature_support)
18450 
18451   _impl_._has_bits_[0] &= ~0x00000002u;
18452   ::google::protobuf::FieldOptions_FeatureSupport* temp = _impl_.feature_support_;
18453   _impl_.feature_support_ = nullptr;
18454   return temp;
18455 }
18456 inline ::google::protobuf::FieldOptions_FeatureSupport* EnumValueOptions::_internal_mutable_feature_support() {
18457   ::google::protobuf::internal::TSanWrite(&_impl_);
18458   if (_impl_.feature_support_ == nullptr) {
18459     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FieldOptions_FeatureSupport>(GetArena());
18460     _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(p);
18461   }
18462   return _impl_.feature_support_;
18463 }
18464 inline ::google::protobuf::FieldOptions_FeatureSupport* EnumValueOptions::mutable_feature_support() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18465   _impl_._has_bits_[0] |= 0x00000002u;
18466   ::google::protobuf::FieldOptions_FeatureSupport* _msg = _internal_mutable_feature_support();
18467   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.feature_support)
18468   return _msg;
18469 }
18470 inline void EnumValueOptions::set_allocated_feature_support(::google::protobuf::FieldOptions_FeatureSupport* value) {
18471   ::google::protobuf::Arena* message_arena = GetArena();
18472   ::google::protobuf::internal::TSanWrite(&_impl_);
18473   if (message_arena == nullptr) {
18474     delete (_impl_.feature_support_);
18475   }
18476 
18477   if (value != nullptr) {
18478     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
18479     if (message_arena != submessage_arena) {
18480       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
18481     }
18482     _impl_._has_bits_[0] |= 0x00000002u;
18483   } else {
18484     _impl_._has_bits_[0] &= ~0x00000002u;
18485   }
18486 
18487   _impl_.feature_support_ = reinterpret_cast<::google::protobuf::FieldOptions_FeatureSupport*>(value);
18488   // @@protoc_insertion_point(field_set_allocated:google.protobuf.EnumValueOptions.feature_support)
18489 }
18490 
18491 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
18492 inline int EnumValueOptions::_internal_uninterpreted_option_size() const {
18493   return _internal_uninterpreted_option().size();
18494 }
18495 inline int EnumValueOptions::uninterpreted_option_size() const {
18496   return _internal_uninterpreted_option_size();
18497 }
18498 inline void EnumValueOptions::clear_uninterpreted_option() {
18499   ::google::protobuf::internal::TSanWrite(&_impl_);
18500   _impl_.uninterpreted_option_.Clear();
18501 }
18502 inline ::google::protobuf::UninterpretedOption* EnumValueOptions::mutable_uninterpreted_option(int index)
18503     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18504   // @@protoc_insertion_point(field_mutable:google.protobuf.EnumValueOptions.uninterpreted_option)
18505   return _internal_mutable_uninterpreted_option()->Mutable(index);
18506 }
18507 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* EnumValueOptions::mutable_uninterpreted_option()
18508     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18509   // @@protoc_insertion_point(field_mutable_list:google.protobuf.EnumValueOptions.uninterpreted_option)
18510   ::google::protobuf::internal::TSanWrite(&_impl_);
18511   return _internal_mutable_uninterpreted_option();
18512 }
18513 inline const ::google::protobuf::UninterpretedOption& EnumValueOptions::uninterpreted_option(int index) const
18514     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18515   // @@protoc_insertion_point(field_get:google.protobuf.EnumValueOptions.uninterpreted_option)
18516   return _internal_uninterpreted_option().Get(index);
18517 }
18518 inline ::google::protobuf::UninterpretedOption* EnumValueOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18519   ::google::protobuf::internal::TSanWrite(&_impl_);
18520   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
18521   // @@protoc_insertion_point(field_add:google.protobuf.EnumValueOptions.uninterpreted_option)
18522   return _add;
18523 }
18524 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& EnumValueOptions::uninterpreted_option() const
18525     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18526   // @@protoc_insertion_point(field_list:google.protobuf.EnumValueOptions.uninterpreted_option)
18527   return _internal_uninterpreted_option();
18528 }
18529 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
18530 EnumValueOptions::_internal_uninterpreted_option() const {
18531   ::google::protobuf::internal::TSanRead(&_impl_);
18532   return _impl_.uninterpreted_option_;
18533 }
18534 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
18535 EnumValueOptions::_internal_mutable_uninterpreted_option() {
18536   ::google::protobuf::internal::TSanRead(&_impl_);
18537   return &_impl_.uninterpreted_option_;
18538 }
18539 
18540 // -------------------------------------------------------------------
18541 
18542 // ServiceOptions
18543 
18544 // optional .google.protobuf.FeatureSet features = 34;
18545 inline bool ServiceOptions::has_features() const {
18546   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
18547   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
18548   return value;
18549 }
18550 inline void ServiceOptions::clear_features() {
18551   ::google::protobuf::internal::TSanWrite(&_impl_);
18552   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
18553   _impl_._has_bits_[0] &= ~0x00000001u;
18554 }
18555 inline const ::google::protobuf::FeatureSet& ServiceOptions::_internal_features() const {
18556   ::google::protobuf::internal::TSanRead(&_impl_);
18557   const ::google::protobuf::FeatureSet* p = _impl_.features_;
18558   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
18559 }
18560 inline const ::google::protobuf::FeatureSet& ServiceOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
18561   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.features)
18562   return _internal_features();
18563 }
18564 inline void ServiceOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
18565   ::google::protobuf::internal::TSanWrite(&_impl_);
18566   if (GetArena() == nullptr) {
18567     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
18568   }
18569   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18570   if (value != nullptr) {
18571     _impl_._has_bits_[0] |= 0x00000001u;
18572   } else {
18573     _impl_._has_bits_[0] &= ~0x00000001u;
18574   }
18575   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.ServiceOptions.features)
18576 }
18577 inline ::google::protobuf::FeatureSet* ServiceOptions::release_features() {
18578   ::google::protobuf::internal::TSanWrite(&_impl_);
18579 
18580   _impl_._has_bits_[0] &= ~0x00000001u;
18581   ::google::protobuf::FeatureSet* released = _impl_.features_;
18582   _impl_.features_ = nullptr;
18583 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
18584   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
18585   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18586   if (GetArena() == nullptr) {
18587     delete old;
18588   }
18589 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
18590   if (GetArena() != nullptr) {
18591     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18592   }
18593 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
18594   return released;
18595 }
18596 inline ::google::protobuf::FeatureSet* ServiceOptions::unsafe_arena_release_features() {
18597   ::google::protobuf::internal::TSanWrite(&_impl_);
18598   // @@protoc_insertion_point(field_release:google.protobuf.ServiceOptions.features)
18599 
18600   _impl_._has_bits_[0] &= ~0x00000001u;
18601   ::google::protobuf::FeatureSet* temp = _impl_.features_;
18602   _impl_.features_ = nullptr;
18603   return temp;
18604 }
18605 inline ::google::protobuf::FeatureSet* ServiceOptions::_internal_mutable_features() {
18606   ::google::protobuf::internal::TSanWrite(&_impl_);
18607   if (_impl_.features_ == nullptr) {
18608     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
18609     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
18610   }
18611   return _impl_.features_;
18612 }
18613 inline ::google::protobuf::FeatureSet* ServiceOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18614   _impl_._has_bits_[0] |= 0x00000001u;
18615   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
18616   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceOptions.features)
18617   return _msg;
18618 }
18619 inline void ServiceOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
18620   ::google::protobuf::Arena* message_arena = GetArena();
18621   ::google::protobuf::internal::TSanWrite(&_impl_);
18622   if (message_arena == nullptr) {
18623     delete (_impl_.features_);
18624   }
18625 
18626   if (value != nullptr) {
18627     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
18628     if (message_arena != submessage_arena) {
18629       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
18630     }
18631     _impl_._has_bits_[0] |= 0x00000001u;
18632   } else {
18633     _impl_._has_bits_[0] &= ~0x00000001u;
18634   }
18635 
18636   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18637   // @@protoc_insertion_point(field_set_allocated:google.protobuf.ServiceOptions.features)
18638 }
18639 
18640 // optional bool deprecated = 33 [default = false];
18641 inline bool ServiceOptions::has_deprecated() const {
18642   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
18643   return value;
18644 }
18645 inline void ServiceOptions::clear_deprecated() {
18646   ::google::protobuf::internal::TSanWrite(&_impl_);
18647   _impl_.deprecated_ = false;
18648   _impl_._has_bits_[0] &= ~0x00000002u;
18649 }
18650 inline bool ServiceOptions::deprecated() const {
18651   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.deprecated)
18652   return _internal_deprecated();
18653 }
18654 inline void ServiceOptions::set_deprecated(bool value) {
18655   _internal_set_deprecated(value);
18656   _impl_._has_bits_[0] |= 0x00000002u;
18657   // @@protoc_insertion_point(field_set:google.protobuf.ServiceOptions.deprecated)
18658 }
18659 inline bool ServiceOptions::_internal_deprecated() const {
18660   ::google::protobuf::internal::TSanRead(&_impl_);
18661   return _impl_.deprecated_;
18662 }
18663 inline void ServiceOptions::_internal_set_deprecated(bool value) {
18664   ::google::protobuf::internal::TSanWrite(&_impl_);
18665   _impl_.deprecated_ = value;
18666 }
18667 
18668 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
18669 inline int ServiceOptions::_internal_uninterpreted_option_size() const {
18670   return _internal_uninterpreted_option().size();
18671 }
18672 inline int ServiceOptions::uninterpreted_option_size() const {
18673   return _internal_uninterpreted_option_size();
18674 }
18675 inline void ServiceOptions::clear_uninterpreted_option() {
18676   ::google::protobuf::internal::TSanWrite(&_impl_);
18677   _impl_.uninterpreted_option_.Clear();
18678 }
18679 inline ::google::protobuf::UninterpretedOption* ServiceOptions::mutable_uninterpreted_option(int index)
18680     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18681   // @@protoc_insertion_point(field_mutable:google.protobuf.ServiceOptions.uninterpreted_option)
18682   return _internal_mutable_uninterpreted_option()->Mutable(index);
18683 }
18684 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* ServiceOptions::mutable_uninterpreted_option()
18685     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18686   // @@protoc_insertion_point(field_mutable_list:google.protobuf.ServiceOptions.uninterpreted_option)
18687   ::google::protobuf::internal::TSanWrite(&_impl_);
18688   return _internal_mutable_uninterpreted_option();
18689 }
18690 inline const ::google::protobuf::UninterpretedOption& ServiceOptions::uninterpreted_option(int index) const
18691     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18692   // @@protoc_insertion_point(field_get:google.protobuf.ServiceOptions.uninterpreted_option)
18693   return _internal_uninterpreted_option().Get(index);
18694 }
18695 inline ::google::protobuf::UninterpretedOption* ServiceOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18696   ::google::protobuf::internal::TSanWrite(&_impl_);
18697   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
18698   // @@protoc_insertion_point(field_add:google.protobuf.ServiceOptions.uninterpreted_option)
18699   return _add;
18700 }
18701 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& ServiceOptions::uninterpreted_option() const
18702     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18703   // @@protoc_insertion_point(field_list:google.protobuf.ServiceOptions.uninterpreted_option)
18704   return _internal_uninterpreted_option();
18705 }
18706 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
18707 ServiceOptions::_internal_uninterpreted_option() const {
18708   ::google::protobuf::internal::TSanRead(&_impl_);
18709   return _impl_.uninterpreted_option_;
18710 }
18711 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
18712 ServiceOptions::_internal_mutable_uninterpreted_option() {
18713   ::google::protobuf::internal::TSanRead(&_impl_);
18714   return &_impl_.uninterpreted_option_;
18715 }
18716 
18717 // -------------------------------------------------------------------
18718 
18719 // MethodOptions
18720 
18721 // optional bool deprecated = 33 [default = false];
18722 inline bool MethodOptions::has_deprecated() const {
18723   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
18724   return value;
18725 }
18726 inline void MethodOptions::clear_deprecated() {
18727   ::google::protobuf::internal::TSanWrite(&_impl_);
18728   _impl_.deprecated_ = false;
18729   _impl_._has_bits_[0] &= ~0x00000002u;
18730 }
18731 inline bool MethodOptions::deprecated() const {
18732   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.deprecated)
18733   return _internal_deprecated();
18734 }
18735 inline void MethodOptions::set_deprecated(bool value) {
18736   _internal_set_deprecated(value);
18737   _impl_._has_bits_[0] |= 0x00000002u;
18738   // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.deprecated)
18739 }
18740 inline bool MethodOptions::_internal_deprecated() const {
18741   ::google::protobuf::internal::TSanRead(&_impl_);
18742   return _impl_.deprecated_;
18743 }
18744 inline void MethodOptions::_internal_set_deprecated(bool value) {
18745   ::google::protobuf::internal::TSanWrite(&_impl_);
18746   _impl_.deprecated_ = value;
18747 }
18748 
18749 // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
18750 inline bool MethodOptions::has_idempotency_level() const {
18751   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
18752   return value;
18753 }
18754 inline void MethodOptions::clear_idempotency_level() {
18755   ::google::protobuf::internal::TSanWrite(&_impl_);
18756   _impl_.idempotency_level_ = 0;
18757   _impl_._has_bits_[0] &= ~0x00000004u;
18758 }
18759 inline ::google::protobuf::MethodOptions_IdempotencyLevel MethodOptions::idempotency_level() const {
18760   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.idempotency_level)
18761   return _internal_idempotency_level();
18762 }
18763 inline void MethodOptions::set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value) {
18764   _internal_set_idempotency_level(value);
18765   _impl_._has_bits_[0] |= 0x00000004u;
18766   // @@protoc_insertion_point(field_set:google.protobuf.MethodOptions.idempotency_level)
18767 }
18768 inline ::google::protobuf::MethodOptions_IdempotencyLevel MethodOptions::_internal_idempotency_level() const {
18769   ::google::protobuf::internal::TSanRead(&_impl_);
18770   return static_cast<::google::protobuf::MethodOptions_IdempotencyLevel>(_impl_.idempotency_level_);
18771 }
18772 inline void MethodOptions::_internal_set_idempotency_level(::google::protobuf::MethodOptions_IdempotencyLevel value) {
18773   ::google::protobuf::internal::TSanWrite(&_impl_);
18774   assert(::google::protobuf::MethodOptions_IdempotencyLevel_IsValid(value));
18775   _impl_.idempotency_level_ = value;
18776 }
18777 
18778 // optional .google.protobuf.FeatureSet features = 35;
18779 inline bool MethodOptions::has_features() const {
18780   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
18781   PROTOBUF_ASSUME(!value || _impl_.features_ != nullptr);
18782   return value;
18783 }
18784 inline void MethodOptions::clear_features() {
18785   ::google::protobuf::internal::TSanWrite(&_impl_);
18786   if (_impl_.features_ != nullptr) _impl_.features_->Clear();
18787   _impl_._has_bits_[0] &= ~0x00000001u;
18788 }
18789 inline const ::google::protobuf::FeatureSet& MethodOptions::_internal_features() const {
18790   ::google::protobuf::internal::TSanRead(&_impl_);
18791   const ::google::protobuf::FeatureSet* p = _impl_.features_;
18792   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
18793 }
18794 inline const ::google::protobuf::FeatureSet& MethodOptions::features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
18795   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.features)
18796   return _internal_features();
18797 }
18798 inline void MethodOptions::unsafe_arena_set_allocated_features(::google::protobuf::FeatureSet* value) {
18799   ::google::protobuf::internal::TSanWrite(&_impl_);
18800   if (GetArena() == nullptr) {
18801     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.features_);
18802   }
18803   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18804   if (value != nullptr) {
18805     _impl_._has_bits_[0] |= 0x00000001u;
18806   } else {
18807     _impl_._has_bits_[0] &= ~0x00000001u;
18808   }
18809   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.MethodOptions.features)
18810 }
18811 inline ::google::protobuf::FeatureSet* MethodOptions::release_features() {
18812   ::google::protobuf::internal::TSanWrite(&_impl_);
18813 
18814   _impl_._has_bits_[0] &= ~0x00000001u;
18815   ::google::protobuf::FeatureSet* released = _impl_.features_;
18816   _impl_.features_ = nullptr;
18817 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
18818   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
18819   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18820   if (GetArena() == nullptr) {
18821     delete old;
18822   }
18823 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
18824   if (GetArena() != nullptr) {
18825     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
18826   }
18827 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
18828   return released;
18829 }
18830 inline ::google::protobuf::FeatureSet* MethodOptions::unsafe_arena_release_features() {
18831   ::google::protobuf::internal::TSanWrite(&_impl_);
18832   // @@protoc_insertion_point(field_release:google.protobuf.MethodOptions.features)
18833 
18834   _impl_._has_bits_[0] &= ~0x00000001u;
18835   ::google::protobuf::FeatureSet* temp = _impl_.features_;
18836   _impl_.features_ = nullptr;
18837   return temp;
18838 }
18839 inline ::google::protobuf::FeatureSet* MethodOptions::_internal_mutable_features() {
18840   ::google::protobuf::internal::TSanWrite(&_impl_);
18841   if (_impl_.features_ == nullptr) {
18842     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
18843     _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
18844   }
18845   return _impl_.features_;
18846 }
18847 inline ::google::protobuf::FeatureSet* MethodOptions::mutable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18848   _impl_._has_bits_[0] |= 0x00000001u;
18849   ::google::protobuf::FeatureSet* _msg = _internal_mutable_features();
18850   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodOptions.features)
18851   return _msg;
18852 }
18853 inline void MethodOptions::set_allocated_features(::google::protobuf::FeatureSet* value) {
18854   ::google::protobuf::Arena* message_arena = GetArena();
18855   ::google::protobuf::internal::TSanWrite(&_impl_);
18856   if (message_arena == nullptr) {
18857     delete (_impl_.features_);
18858   }
18859 
18860   if (value != nullptr) {
18861     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
18862     if (message_arena != submessage_arena) {
18863       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
18864     }
18865     _impl_._has_bits_[0] |= 0x00000001u;
18866   } else {
18867     _impl_._has_bits_[0] &= ~0x00000001u;
18868   }
18869 
18870   _impl_.features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
18871   // @@protoc_insertion_point(field_set_allocated:google.protobuf.MethodOptions.features)
18872 }
18873 
18874 // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
18875 inline int MethodOptions::_internal_uninterpreted_option_size() const {
18876   return _internal_uninterpreted_option().size();
18877 }
18878 inline int MethodOptions::uninterpreted_option_size() const {
18879   return _internal_uninterpreted_option_size();
18880 }
18881 inline void MethodOptions::clear_uninterpreted_option() {
18882   ::google::protobuf::internal::TSanWrite(&_impl_);
18883   _impl_.uninterpreted_option_.Clear();
18884 }
18885 inline ::google::protobuf::UninterpretedOption* MethodOptions::mutable_uninterpreted_option(int index)
18886     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18887   // @@protoc_insertion_point(field_mutable:google.protobuf.MethodOptions.uninterpreted_option)
18888   return _internal_mutable_uninterpreted_option()->Mutable(index);
18889 }
18890 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>* MethodOptions::mutable_uninterpreted_option()
18891     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18892   // @@protoc_insertion_point(field_mutable_list:google.protobuf.MethodOptions.uninterpreted_option)
18893   ::google::protobuf::internal::TSanWrite(&_impl_);
18894   return _internal_mutable_uninterpreted_option();
18895 }
18896 inline const ::google::protobuf::UninterpretedOption& MethodOptions::uninterpreted_option(int index) const
18897     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18898   // @@protoc_insertion_point(field_get:google.protobuf.MethodOptions.uninterpreted_option)
18899   return _internal_uninterpreted_option().Get(index);
18900 }
18901 inline ::google::protobuf::UninterpretedOption* MethodOptions::add_uninterpreted_option() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18902   ::google::protobuf::internal::TSanWrite(&_impl_);
18903   ::google::protobuf::UninterpretedOption* _add = _internal_mutable_uninterpreted_option()->Add();
18904   // @@protoc_insertion_point(field_add:google.protobuf.MethodOptions.uninterpreted_option)
18905   return _add;
18906 }
18907 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>& MethodOptions::uninterpreted_option() const
18908     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18909   // @@protoc_insertion_point(field_list:google.protobuf.MethodOptions.uninterpreted_option)
18910   return _internal_uninterpreted_option();
18911 }
18912 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>&
18913 MethodOptions::_internal_uninterpreted_option() const {
18914   ::google::protobuf::internal::TSanRead(&_impl_);
18915   return _impl_.uninterpreted_option_;
18916 }
18917 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption>*
18918 MethodOptions::_internal_mutable_uninterpreted_option() {
18919   ::google::protobuf::internal::TSanRead(&_impl_);
18920   return &_impl_.uninterpreted_option_;
18921 }
18922 
18923 // -------------------------------------------------------------------
18924 
18925 // UninterpretedOption_NamePart
18926 
18927 // required string name_part = 1;
18928 inline bool UninterpretedOption_NamePart::has_name_part() const {
18929   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
18930   return value;
18931 }
18932 inline void UninterpretedOption_NamePart::clear_name_part() {
18933   ::google::protobuf::internal::TSanWrite(&_impl_);
18934   _impl_.name_part_.ClearToEmpty();
18935   _impl_._has_bits_[0] &= ~0x00000001u;
18936 }
18937 inline const std::string& UninterpretedOption_NamePart::name_part() const
18938     ABSL_ATTRIBUTE_LIFETIME_BOUND {
18939   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.name_part)
18940   return _internal_name_part();
18941 }
18942 template <typename Arg_, typename... Args_>
18943 inline PROTOBUF_ALWAYS_INLINE void UninterpretedOption_NamePart::set_name_part(Arg_&& arg,
18944                                                      Args_... args) {
18945   ::google::protobuf::internal::TSanWrite(&_impl_);
18946   _impl_._has_bits_[0] |= 0x00000001u;
18947   _impl_.name_part_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
18948   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.name_part)
18949 }
18950 inline std::string* UninterpretedOption_NamePart::mutable_name_part() ABSL_ATTRIBUTE_LIFETIME_BOUND {
18951   std::string* _s = _internal_mutable_name_part();
18952   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.NamePart.name_part)
18953   return _s;
18954 }
18955 inline const std::string& UninterpretedOption_NamePart::_internal_name_part() const {
18956   ::google::protobuf::internal::TSanRead(&_impl_);
18957   return _impl_.name_part_.Get();
18958 }
18959 inline void UninterpretedOption_NamePart::_internal_set_name_part(const std::string& value) {
18960   ::google::protobuf::internal::TSanWrite(&_impl_);
18961   _impl_._has_bits_[0] |= 0x00000001u;
18962   _impl_.name_part_.Set(value, GetArena());
18963 }
18964 inline std::string* UninterpretedOption_NamePart::_internal_mutable_name_part() {
18965   ::google::protobuf::internal::TSanWrite(&_impl_);
18966   _impl_._has_bits_[0] |= 0x00000001u;
18967   return _impl_.name_part_.Mutable( GetArena());
18968 }
18969 inline std::string* UninterpretedOption_NamePart::release_name_part() {
18970   ::google::protobuf::internal::TSanWrite(&_impl_);
18971   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.NamePart.name_part)
18972   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
18973     return nullptr;
18974   }
18975   _impl_._has_bits_[0] &= ~0x00000001u;
18976   auto* released = _impl_.name_part_.Release();
18977   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
18978   _impl_.name_part_.Set("", GetArena());
18979   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
18980   return released;
18981 }
18982 inline void UninterpretedOption_NamePart::set_allocated_name_part(std::string* value) {
18983   ::google::protobuf::internal::TSanWrite(&_impl_);
18984   if (value != nullptr) {
18985     _impl_._has_bits_[0] |= 0x00000001u;
18986   } else {
18987     _impl_._has_bits_[0] &= ~0x00000001u;
18988   }
18989   _impl_.name_part_.SetAllocated(value, GetArena());
18990   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
18991         if (_impl_.name_part_.IsDefault()) {
18992           _impl_.name_part_.Set("", GetArena());
18993         }
18994   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
18995   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.NamePart.name_part)
18996 }
18997 
18998 // required bool is_extension = 2;
18999 inline bool UninterpretedOption_NamePart::has_is_extension() const {
19000   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
19001   return value;
19002 }
19003 inline void UninterpretedOption_NamePart::clear_is_extension() {
19004   ::google::protobuf::internal::TSanWrite(&_impl_);
19005   _impl_.is_extension_ = false;
19006   _impl_._has_bits_[0] &= ~0x00000002u;
19007 }
19008 inline bool UninterpretedOption_NamePart::is_extension() const {
19009   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.NamePart.is_extension)
19010   return _internal_is_extension();
19011 }
19012 inline void UninterpretedOption_NamePart::set_is_extension(bool value) {
19013   _internal_set_is_extension(value);
19014   _impl_._has_bits_[0] |= 0x00000002u;
19015   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.NamePart.is_extension)
19016 }
19017 inline bool UninterpretedOption_NamePart::_internal_is_extension() const {
19018   ::google::protobuf::internal::TSanRead(&_impl_);
19019   return _impl_.is_extension_;
19020 }
19021 inline void UninterpretedOption_NamePart::_internal_set_is_extension(bool value) {
19022   ::google::protobuf::internal::TSanWrite(&_impl_);
19023   _impl_.is_extension_ = value;
19024 }
19025 
19026 // -------------------------------------------------------------------
19027 
19028 // UninterpretedOption
19029 
19030 // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
19031 inline int UninterpretedOption::_internal_name_size() const {
19032   return _internal_name().size();
19033 }
19034 inline int UninterpretedOption::name_size() const {
19035   return _internal_name_size();
19036 }
19037 inline void UninterpretedOption::clear_name() {
19038   ::google::protobuf::internal::TSanWrite(&_impl_);
19039   _impl_.name_.Clear();
19040 }
19041 inline ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::mutable_name(int index)
19042     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19043   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.name)
19044   return _internal_mutable_name()->Mutable(index);
19045 }
19046 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>* UninterpretedOption::mutable_name()
19047     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19048   // @@protoc_insertion_point(field_mutable_list:google.protobuf.UninterpretedOption.name)
19049   ::google::protobuf::internal::TSanWrite(&_impl_);
19050   return _internal_mutable_name();
19051 }
19052 inline const ::google::protobuf::UninterpretedOption_NamePart& UninterpretedOption::name(int index) const
19053     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19054   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.name)
19055   return _internal_name().Get(index);
19056 }
19057 inline ::google::protobuf::UninterpretedOption_NamePart* UninterpretedOption::add_name() ABSL_ATTRIBUTE_LIFETIME_BOUND {
19058   ::google::protobuf::internal::TSanWrite(&_impl_);
19059   ::google::protobuf::UninterpretedOption_NamePart* _add = _internal_mutable_name()->Add();
19060   // @@protoc_insertion_point(field_add:google.protobuf.UninterpretedOption.name)
19061   return _add;
19062 }
19063 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>& UninterpretedOption::name() const
19064     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19065   // @@protoc_insertion_point(field_list:google.protobuf.UninterpretedOption.name)
19066   return _internal_name();
19067 }
19068 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>&
19069 UninterpretedOption::_internal_name() const {
19070   ::google::protobuf::internal::TSanRead(&_impl_);
19071   return _impl_.name_;
19072 }
19073 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::UninterpretedOption_NamePart>*
19074 UninterpretedOption::_internal_mutable_name() {
19075   ::google::protobuf::internal::TSanRead(&_impl_);
19076   return &_impl_.name_;
19077 }
19078 
19079 // optional string identifier_value = 3;
19080 inline bool UninterpretedOption::has_identifier_value() const {
19081   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
19082   return value;
19083 }
19084 inline void UninterpretedOption::clear_identifier_value() {
19085   ::google::protobuf::internal::TSanWrite(&_impl_);
19086   _impl_.identifier_value_.ClearToEmpty();
19087   _impl_._has_bits_[0] &= ~0x00000001u;
19088 }
19089 inline const std::string& UninterpretedOption::identifier_value() const
19090     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19091   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.identifier_value)
19092   return _internal_identifier_value();
19093 }
19094 template <typename Arg_, typename... Args_>
19095 inline PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_identifier_value(Arg_&& arg,
19096                                                      Args_... args) {
19097   ::google::protobuf::internal::TSanWrite(&_impl_);
19098   _impl_._has_bits_[0] |= 0x00000001u;
19099   _impl_.identifier_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
19100   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.identifier_value)
19101 }
19102 inline std::string* UninterpretedOption::mutable_identifier_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
19103   std::string* _s = _internal_mutable_identifier_value();
19104   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.identifier_value)
19105   return _s;
19106 }
19107 inline const std::string& UninterpretedOption::_internal_identifier_value() const {
19108   ::google::protobuf::internal::TSanRead(&_impl_);
19109   return _impl_.identifier_value_.Get();
19110 }
19111 inline void UninterpretedOption::_internal_set_identifier_value(const std::string& value) {
19112   ::google::protobuf::internal::TSanWrite(&_impl_);
19113   _impl_._has_bits_[0] |= 0x00000001u;
19114   _impl_.identifier_value_.Set(value, GetArena());
19115 }
19116 inline std::string* UninterpretedOption::_internal_mutable_identifier_value() {
19117   ::google::protobuf::internal::TSanWrite(&_impl_);
19118   _impl_._has_bits_[0] |= 0x00000001u;
19119   return _impl_.identifier_value_.Mutable( GetArena());
19120 }
19121 inline std::string* UninterpretedOption::release_identifier_value() {
19122   ::google::protobuf::internal::TSanWrite(&_impl_);
19123   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.identifier_value)
19124   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
19125     return nullptr;
19126   }
19127   _impl_._has_bits_[0] &= ~0x00000001u;
19128   auto* released = _impl_.identifier_value_.Release();
19129   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
19130   _impl_.identifier_value_.Set("", GetArena());
19131   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
19132   return released;
19133 }
19134 inline void UninterpretedOption::set_allocated_identifier_value(std::string* value) {
19135   ::google::protobuf::internal::TSanWrite(&_impl_);
19136   if (value != nullptr) {
19137     _impl_._has_bits_[0] |= 0x00000001u;
19138   } else {
19139     _impl_._has_bits_[0] &= ~0x00000001u;
19140   }
19141   _impl_.identifier_value_.SetAllocated(value, GetArena());
19142   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
19143         if (_impl_.identifier_value_.IsDefault()) {
19144           _impl_.identifier_value_.Set("", GetArena());
19145         }
19146   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
19147   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.identifier_value)
19148 }
19149 
19150 // optional uint64 positive_int_value = 4;
19151 inline bool UninterpretedOption::has_positive_int_value() const {
19152   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
19153   return value;
19154 }
19155 inline void UninterpretedOption::clear_positive_int_value() {
19156   ::google::protobuf::internal::TSanWrite(&_impl_);
19157   _impl_.positive_int_value_ = ::uint64_t{0u};
19158   _impl_._has_bits_[0] &= ~0x00000008u;
19159 }
19160 inline ::uint64_t UninterpretedOption::positive_int_value() const {
19161   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.positive_int_value)
19162   return _internal_positive_int_value();
19163 }
19164 inline void UninterpretedOption::set_positive_int_value(::uint64_t value) {
19165   _internal_set_positive_int_value(value);
19166   _impl_._has_bits_[0] |= 0x00000008u;
19167   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.positive_int_value)
19168 }
19169 inline ::uint64_t UninterpretedOption::_internal_positive_int_value() const {
19170   ::google::protobuf::internal::TSanRead(&_impl_);
19171   return _impl_.positive_int_value_;
19172 }
19173 inline void UninterpretedOption::_internal_set_positive_int_value(::uint64_t value) {
19174   ::google::protobuf::internal::TSanWrite(&_impl_);
19175   _impl_.positive_int_value_ = value;
19176 }
19177 
19178 // optional int64 negative_int_value = 5;
19179 inline bool UninterpretedOption::has_negative_int_value() const {
19180   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
19181   return value;
19182 }
19183 inline void UninterpretedOption::clear_negative_int_value() {
19184   ::google::protobuf::internal::TSanWrite(&_impl_);
19185   _impl_.negative_int_value_ = ::int64_t{0};
19186   _impl_._has_bits_[0] &= ~0x00000010u;
19187 }
19188 inline ::int64_t UninterpretedOption::negative_int_value() const {
19189   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.negative_int_value)
19190   return _internal_negative_int_value();
19191 }
19192 inline void UninterpretedOption::set_negative_int_value(::int64_t value) {
19193   _internal_set_negative_int_value(value);
19194   _impl_._has_bits_[0] |= 0x00000010u;
19195   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.negative_int_value)
19196 }
19197 inline ::int64_t UninterpretedOption::_internal_negative_int_value() const {
19198   ::google::protobuf::internal::TSanRead(&_impl_);
19199   return _impl_.negative_int_value_;
19200 }
19201 inline void UninterpretedOption::_internal_set_negative_int_value(::int64_t value) {
19202   ::google::protobuf::internal::TSanWrite(&_impl_);
19203   _impl_.negative_int_value_ = value;
19204 }
19205 
19206 // optional double double_value = 6;
19207 inline bool UninterpretedOption::has_double_value() const {
19208   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
19209   return value;
19210 }
19211 inline void UninterpretedOption::clear_double_value() {
19212   ::google::protobuf::internal::TSanWrite(&_impl_);
19213   _impl_.double_value_ = 0;
19214   _impl_._has_bits_[0] &= ~0x00000020u;
19215 }
19216 inline double UninterpretedOption::double_value() const {
19217   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.double_value)
19218   return _internal_double_value();
19219 }
19220 inline void UninterpretedOption::set_double_value(double value) {
19221   _internal_set_double_value(value);
19222   _impl_._has_bits_[0] |= 0x00000020u;
19223   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.double_value)
19224 }
19225 inline double UninterpretedOption::_internal_double_value() const {
19226   ::google::protobuf::internal::TSanRead(&_impl_);
19227   return _impl_.double_value_;
19228 }
19229 inline void UninterpretedOption::_internal_set_double_value(double value) {
19230   ::google::protobuf::internal::TSanWrite(&_impl_);
19231   _impl_.double_value_ = value;
19232 }
19233 
19234 // optional bytes string_value = 7;
19235 inline bool UninterpretedOption::has_string_value() const {
19236   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
19237   return value;
19238 }
19239 inline void UninterpretedOption::clear_string_value() {
19240   ::google::protobuf::internal::TSanWrite(&_impl_);
19241   _impl_.string_value_.ClearToEmpty();
19242   _impl_._has_bits_[0] &= ~0x00000002u;
19243 }
19244 inline const std::string& UninterpretedOption::string_value() const
19245     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19246   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.string_value)
19247   return _internal_string_value();
19248 }
19249 template <typename Arg_, typename... Args_>
19250 inline PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_string_value(Arg_&& arg,
19251                                                      Args_... args) {
19252   ::google::protobuf::internal::TSanWrite(&_impl_);
19253   _impl_._has_bits_[0] |= 0x00000002u;
19254   _impl_.string_value_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
19255   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.string_value)
19256 }
19257 inline std::string* UninterpretedOption::mutable_string_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
19258   std::string* _s = _internal_mutable_string_value();
19259   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.string_value)
19260   return _s;
19261 }
19262 inline const std::string& UninterpretedOption::_internal_string_value() const {
19263   ::google::protobuf::internal::TSanRead(&_impl_);
19264   return _impl_.string_value_.Get();
19265 }
19266 inline void UninterpretedOption::_internal_set_string_value(const std::string& value) {
19267   ::google::protobuf::internal::TSanWrite(&_impl_);
19268   _impl_._has_bits_[0] |= 0x00000002u;
19269   _impl_.string_value_.Set(value, GetArena());
19270 }
19271 inline std::string* UninterpretedOption::_internal_mutable_string_value() {
19272   ::google::protobuf::internal::TSanWrite(&_impl_);
19273   _impl_._has_bits_[0] |= 0x00000002u;
19274   return _impl_.string_value_.Mutable( GetArena());
19275 }
19276 inline std::string* UninterpretedOption::release_string_value() {
19277   ::google::protobuf::internal::TSanWrite(&_impl_);
19278   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.string_value)
19279   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
19280     return nullptr;
19281   }
19282   _impl_._has_bits_[0] &= ~0x00000002u;
19283   auto* released = _impl_.string_value_.Release();
19284   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
19285   _impl_.string_value_.Set("", GetArena());
19286   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
19287   return released;
19288 }
19289 inline void UninterpretedOption::set_allocated_string_value(std::string* value) {
19290   ::google::protobuf::internal::TSanWrite(&_impl_);
19291   if (value != nullptr) {
19292     _impl_._has_bits_[0] |= 0x00000002u;
19293   } else {
19294     _impl_._has_bits_[0] &= ~0x00000002u;
19295   }
19296   _impl_.string_value_.SetAllocated(value, GetArena());
19297   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
19298         if (_impl_.string_value_.IsDefault()) {
19299           _impl_.string_value_.Set("", GetArena());
19300         }
19301   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
19302   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.string_value)
19303 }
19304 
19305 // optional string aggregate_value = 8;
19306 inline bool UninterpretedOption::has_aggregate_value() const {
19307   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
19308   return value;
19309 }
19310 inline void UninterpretedOption::clear_aggregate_value() {
19311   ::google::protobuf::internal::TSanWrite(&_impl_);
19312   _impl_.aggregate_value_.ClearToEmpty();
19313   _impl_._has_bits_[0] &= ~0x00000004u;
19314 }
19315 inline const std::string& UninterpretedOption::aggregate_value() const
19316     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19317   // @@protoc_insertion_point(field_get:google.protobuf.UninterpretedOption.aggregate_value)
19318   return _internal_aggregate_value();
19319 }
19320 template <typename Arg_, typename... Args_>
19321 inline PROTOBUF_ALWAYS_INLINE void UninterpretedOption::set_aggregate_value(Arg_&& arg,
19322                                                      Args_... args) {
19323   ::google::protobuf::internal::TSanWrite(&_impl_);
19324   _impl_._has_bits_[0] |= 0x00000004u;
19325   _impl_.aggregate_value_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
19326   // @@protoc_insertion_point(field_set:google.protobuf.UninterpretedOption.aggregate_value)
19327 }
19328 inline std::string* UninterpretedOption::mutable_aggregate_value() ABSL_ATTRIBUTE_LIFETIME_BOUND {
19329   std::string* _s = _internal_mutable_aggregate_value();
19330   // @@protoc_insertion_point(field_mutable:google.protobuf.UninterpretedOption.aggregate_value)
19331   return _s;
19332 }
19333 inline const std::string& UninterpretedOption::_internal_aggregate_value() const {
19334   ::google::protobuf::internal::TSanRead(&_impl_);
19335   return _impl_.aggregate_value_.Get();
19336 }
19337 inline void UninterpretedOption::_internal_set_aggregate_value(const std::string& value) {
19338   ::google::protobuf::internal::TSanWrite(&_impl_);
19339   _impl_._has_bits_[0] |= 0x00000004u;
19340   _impl_.aggregate_value_.Set(value, GetArena());
19341 }
19342 inline std::string* UninterpretedOption::_internal_mutable_aggregate_value() {
19343   ::google::protobuf::internal::TSanWrite(&_impl_);
19344   _impl_._has_bits_[0] |= 0x00000004u;
19345   return _impl_.aggregate_value_.Mutable( GetArena());
19346 }
19347 inline std::string* UninterpretedOption::release_aggregate_value() {
19348   ::google::protobuf::internal::TSanWrite(&_impl_);
19349   // @@protoc_insertion_point(field_release:google.protobuf.UninterpretedOption.aggregate_value)
19350   if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
19351     return nullptr;
19352   }
19353   _impl_._has_bits_[0] &= ~0x00000004u;
19354   auto* released = _impl_.aggregate_value_.Release();
19355   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
19356   _impl_.aggregate_value_.Set("", GetArena());
19357   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
19358   return released;
19359 }
19360 inline void UninterpretedOption::set_allocated_aggregate_value(std::string* value) {
19361   ::google::protobuf::internal::TSanWrite(&_impl_);
19362   if (value != nullptr) {
19363     _impl_._has_bits_[0] |= 0x00000004u;
19364   } else {
19365     _impl_._has_bits_[0] &= ~0x00000004u;
19366   }
19367   _impl_.aggregate_value_.SetAllocated(value, GetArena());
19368   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
19369         if (_impl_.aggregate_value_.IsDefault()) {
19370           _impl_.aggregate_value_.Set("", GetArena());
19371         }
19372   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
19373   // @@protoc_insertion_point(field_set_allocated:google.protobuf.UninterpretedOption.aggregate_value)
19374 }
19375 
19376 // -------------------------------------------------------------------
19377 
19378 // FeatureSet
19379 
19380 // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
19381 inline bool FeatureSet::has_field_presence() const {
19382   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
19383   return value;
19384 }
19385 inline void FeatureSet::clear_field_presence() {
19386   ::google::protobuf::internal::TSanWrite(&_impl_);
19387   _impl_.field_presence_ = 0;
19388   _impl_._has_bits_[0] &= ~0x00000001u;
19389 }
19390 inline ::google::protobuf::FeatureSet_FieldPresence FeatureSet::field_presence() const {
19391   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.field_presence)
19392   return _internal_field_presence();
19393 }
19394 inline void FeatureSet::set_field_presence(::google::protobuf::FeatureSet_FieldPresence value) {
19395   _internal_set_field_presence(value);
19396   _impl_._has_bits_[0] |= 0x00000001u;
19397   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.field_presence)
19398 }
19399 inline ::google::protobuf::FeatureSet_FieldPresence FeatureSet::_internal_field_presence() const {
19400   ::google::protobuf::internal::TSanRead(&_impl_);
19401   return static_cast<::google::protobuf::FeatureSet_FieldPresence>(_impl_.field_presence_);
19402 }
19403 inline void FeatureSet::_internal_set_field_presence(::google::protobuf::FeatureSet_FieldPresence value) {
19404   ::google::protobuf::internal::TSanWrite(&_impl_);
19405   assert(::google::protobuf::FeatureSet_FieldPresence_IsValid(value));
19406   _impl_.field_presence_ = value;
19407 }
19408 
19409 // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
19410 inline bool FeatureSet::has_enum_type() const {
19411   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
19412   return value;
19413 }
19414 inline void FeatureSet::clear_enum_type() {
19415   ::google::protobuf::internal::TSanWrite(&_impl_);
19416   _impl_.enum_type_ = 0;
19417   _impl_._has_bits_[0] &= ~0x00000002u;
19418 }
19419 inline ::google::protobuf::FeatureSet_EnumType FeatureSet::enum_type() const {
19420   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.enum_type)
19421   return _internal_enum_type();
19422 }
19423 inline void FeatureSet::set_enum_type(::google::protobuf::FeatureSet_EnumType value) {
19424   _internal_set_enum_type(value);
19425   _impl_._has_bits_[0] |= 0x00000002u;
19426   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.enum_type)
19427 }
19428 inline ::google::protobuf::FeatureSet_EnumType FeatureSet::_internal_enum_type() const {
19429   ::google::protobuf::internal::TSanRead(&_impl_);
19430   return static_cast<::google::protobuf::FeatureSet_EnumType>(_impl_.enum_type_);
19431 }
19432 inline void FeatureSet::_internal_set_enum_type(::google::protobuf::FeatureSet_EnumType value) {
19433   ::google::protobuf::internal::TSanWrite(&_impl_);
19434   assert(::google::protobuf::FeatureSet_EnumType_IsValid(value));
19435   _impl_.enum_type_ = value;
19436 }
19437 
19438 // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
19439 inline bool FeatureSet::has_repeated_field_encoding() const {
19440   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
19441   return value;
19442 }
19443 inline void FeatureSet::clear_repeated_field_encoding() {
19444   ::google::protobuf::internal::TSanWrite(&_impl_);
19445   _impl_.repeated_field_encoding_ = 0;
19446   _impl_._has_bits_[0] &= ~0x00000004u;
19447 }
19448 inline ::google::protobuf::FeatureSet_RepeatedFieldEncoding FeatureSet::repeated_field_encoding() const {
19449   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.repeated_field_encoding)
19450   return _internal_repeated_field_encoding();
19451 }
19452 inline void FeatureSet::set_repeated_field_encoding(::google::protobuf::FeatureSet_RepeatedFieldEncoding value) {
19453   _internal_set_repeated_field_encoding(value);
19454   _impl_._has_bits_[0] |= 0x00000004u;
19455   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.repeated_field_encoding)
19456 }
19457 inline ::google::protobuf::FeatureSet_RepeatedFieldEncoding FeatureSet::_internal_repeated_field_encoding() const {
19458   ::google::protobuf::internal::TSanRead(&_impl_);
19459   return static_cast<::google::protobuf::FeatureSet_RepeatedFieldEncoding>(_impl_.repeated_field_encoding_);
19460 }
19461 inline void FeatureSet::_internal_set_repeated_field_encoding(::google::protobuf::FeatureSet_RepeatedFieldEncoding value) {
19462   ::google::protobuf::internal::TSanWrite(&_impl_);
19463   assert(::google::protobuf::FeatureSet_RepeatedFieldEncoding_IsValid(value));
19464   _impl_.repeated_field_encoding_ = value;
19465 }
19466 
19467 // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
19468 inline bool FeatureSet::has_utf8_validation() const {
19469   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
19470   return value;
19471 }
19472 inline void FeatureSet::clear_utf8_validation() {
19473   ::google::protobuf::internal::TSanWrite(&_impl_);
19474   _impl_.utf8_validation_ = 0;
19475   _impl_._has_bits_[0] &= ~0x00000008u;
19476 }
19477 inline ::google::protobuf::FeatureSet_Utf8Validation FeatureSet::utf8_validation() const {
19478   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.utf8_validation)
19479   return _internal_utf8_validation();
19480 }
19481 inline void FeatureSet::set_utf8_validation(::google::protobuf::FeatureSet_Utf8Validation value) {
19482   _internal_set_utf8_validation(value);
19483   _impl_._has_bits_[0] |= 0x00000008u;
19484   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.utf8_validation)
19485 }
19486 inline ::google::protobuf::FeatureSet_Utf8Validation FeatureSet::_internal_utf8_validation() const {
19487   ::google::protobuf::internal::TSanRead(&_impl_);
19488   return static_cast<::google::protobuf::FeatureSet_Utf8Validation>(_impl_.utf8_validation_);
19489 }
19490 inline void FeatureSet::_internal_set_utf8_validation(::google::protobuf::FeatureSet_Utf8Validation value) {
19491   ::google::protobuf::internal::TSanWrite(&_impl_);
19492   assert(::google::protobuf::FeatureSet_Utf8Validation_IsValid(value));
19493   _impl_.utf8_validation_ = value;
19494 }
19495 
19496 // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
19497 inline bool FeatureSet::has_message_encoding() const {
19498   bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
19499   return value;
19500 }
19501 inline void FeatureSet::clear_message_encoding() {
19502   ::google::protobuf::internal::TSanWrite(&_impl_);
19503   _impl_.message_encoding_ = 0;
19504   _impl_._has_bits_[0] &= ~0x00000010u;
19505 }
19506 inline ::google::protobuf::FeatureSet_MessageEncoding FeatureSet::message_encoding() const {
19507   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.message_encoding)
19508   return _internal_message_encoding();
19509 }
19510 inline void FeatureSet::set_message_encoding(::google::protobuf::FeatureSet_MessageEncoding value) {
19511   _internal_set_message_encoding(value);
19512   _impl_._has_bits_[0] |= 0x00000010u;
19513   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.message_encoding)
19514 }
19515 inline ::google::protobuf::FeatureSet_MessageEncoding FeatureSet::_internal_message_encoding() const {
19516   ::google::protobuf::internal::TSanRead(&_impl_);
19517   return static_cast<::google::protobuf::FeatureSet_MessageEncoding>(_impl_.message_encoding_);
19518 }
19519 inline void FeatureSet::_internal_set_message_encoding(::google::protobuf::FeatureSet_MessageEncoding value) {
19520   ::google::protobuf::internal::TSanWrite(&_impl_);
19521   assert(::google::protobuf::FeatureSet_MessageEncoding_IsValid(value));
19522   _impl_.message_encoding_ = value;
19523 }
19524 
19525 // optional .google.protobuf.FeatureSet.JsonFormat json_format = 6 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
19526 inline bool FeatureSet::has_json_format() const {
19527   bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
19528   return value;
19529 }
19530 inline void FeatureSet::clear_json_format() {
19531   ::google::protobuf::internal::TSanWrite(&_impl_);
19532   _impl_.json_format_ = 0;
19533   _impl_._has_bits_[0] &= ~0x00000020u;
19534 }
19535 inline ::google::protobuf::FeatureSet_JsonFormat FeatureSet::json_format() const {
19536   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSet.json_format)
19537   return _internal_json_format();
19538 }
19539 inline void FeatureSet::set_json_format(::google::protobuf::FeatureSet_JsonFormat value) {
19540   _internal_set_json_format(value);
19541   _impl_._has_bits_[0] |= 0x00000020u;
19542   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSet.json_format)
19543 }
19544 inline ::google::protobuf::FeatureSet_JsonFormat FeatureSet::_internal_json_format() const {
19545   ::google::protobuf::internal::TSanRead(&_impl_);
19546   return static_cast<::google::protobuf::FeatureSet_JsonFormat>(_impl_.json_format_);
19547 }
19548 inline void FeatureSet::_internal_set_json_format(::google::protobuf::FeatureSet_JsonFormat value) {
19549   ::google::protobuf::internal::TSanWrite(&_impl_);
19550   assert(::google::protobuf::FeatureSet_JsonFormat_IsValid(value));
19551   _impl_.json_format_ = value;
19552 }
19553 
19554 // -------------------------------------------------------------------
19555 
19556 // FeatureSetDefaults_FeatureSetEditionDefault
19557 
19558 // optional .google.protobuf.Edition edition = 3;
19559 inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_edition() const {
19560   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
19561   return value;
19562 }
19563 inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_edition() {
19564   ::google::protobuf::internal::TSanWrite(&_impl_);
19565   _impl_.edition_ = 0;
19566   _impl_._has_bits_[0] &= ~0x00000004u;
19567 }
19568 inline ::google::protobuf::Edition FeatureSetDefaults_FeatureSetEditionDefault::edition() const {
19569   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition)
19570   return _internal_edition();
19571 }
19572 inline void FeatureSetDefaults_FeatureSetEditionDefault::set_edition(::google::protobuf::Edition value) {
19573   _internal_set_edition(value);
19574   _impl_._has_bits_[0] |= 0x00000004u;
19575   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition)
19576 }
19577 inline ::google::protobuf::Edition FeatureSetDefaults_FeatureSetEditionDefault::_internal_edition() const {
19578   ::google::protobuf::internal::TSanRead(&_impl_);
19579   return static_cast<::google::protobuf::Edition>(_impl_.edition_);
19580 }
19581 inline void FeatureSetDefaults_FeatureSetEditionDefault::_internal_set_edition(::google::protobuf::Edition value) {
19582   ::google::protobuf::internal::TSanWrite(&_impl_);
19583   assert(::google::protobuf::Edition_IsValid(value));
19584   _impl_.edition_ = value;
19585 }
19586 
19587 // optional .google.protobuf.FeatureSet overridable_features = 4;
19588 inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_overridable_features() const {
19589   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
19590   PROTOBUF_ASSUME(!value || _impl_.overridable_features_ != nullptr);
19591   return value;
19592 }
19593 inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_overridable_features() {
19594   ::google::protobuf::internal::TSanWrite(&_impl_);
19595   if (_impl_.overridable_features_ != nullptr) _impl_.overridable_features_->Clear();
19596   _impl_._has_bits_[0] &= ~0x00000001u;
19597 }
19598 inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::_internal_overridable_features() const {
19599   ::google::protobuf::internal::TSanRead(&_impl_);
19600   const ::google::protobuf::FeatureSet* p = _impl_.overridable_features_;
19601   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
19602 }
19603 inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::overridable_features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
19604   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
19605   return _internal_overridable_features();
19606 }
19607 inline void FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_set_allocated_overridable_features(::google::protobuf::FeatureSet* value) {
19608   ::google::protobuf::internal::TSanWrite(&_impl_);
19609   if (GetArena() == nullptr) {
19610     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.overridable_features_);
19611   }
19612   _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19613   if (value != nullptr) {
19614     _impl_._has_bits_[0] |= 0x00000001u;
19615   } else {
19616     _impl_._has_bits_[0] &= ~0x00000001u;
19617   }
19618   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
19619 }
19620 inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::release_overridable_features() {
19621   ::google::protobuf::internal::TSanWrite(&_impl_);
19622 
19623   _impl_._has_bits_[0] &= ~0x00000001u;
19624   ::google::protobuf::FeatureSet* released = _impl_.overridable_features_;
19625   _impl_.overridable_features_ = nullptr;
19626 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
19627   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
19628   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19629   if (GetArena() == nullptr) {
19630     delete old;
19631   }
19632 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
19633   if (GetArena() != nullptr) {
19634     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19635   }
19636 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
19637   return released;
19638 }
19639 inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_release_overridable_features() {
19640   ::google::protobuf::internal::TSanWrite(&_impl_);
19641   // @@protoc_insertion_point(field_release:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
19642 
19643   _impl_._has_bits_[0] &= ~0x00000001u;
19644   ::google::protobuf::FeatureSet* temp = _impl_.overridable_features_;
19645   _impl_.overridable_features_ = nullptr;
19646   return temp;
19647 }
19648 inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::_internal_mutable_overridable_features() {
19649   ::google::protobuf::internal::TSanWrite(&_impl_);
19650   if (_impl_.overridable_features_ == nullptr) {
19651     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
19652     _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
19653   }
19654   return _impl_.overridable_features_;
19655 }
19656 inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::mutable_overridable_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
19657   _impl_._has_bits_[0] |= 0x00000001u;
19658   ::google::protobuf::FeatureSet* _msg = _internal_mutable_overridable_features();
19659   // @@protoc_insertion_point(field_mutable:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
19660   return _msg;
19661 }
19662 inline void FeatureSetDefaults_FeatureSetEditionDefault::set_allocated_overridable_features(::google::protobuf::FeatureSet* value) {
19663   ::google::protobuf::Arena* message_arena = GetArena();
19664   ::google::protobuf::internal::TSanWrite(&_impl_);
19665   if (message_arena == nullptr) {
19666     delete (_impl_.overridable_features_);
19667   }
19668 
19669   if (value != nullptr) {
19670     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
19671     if (message_arena != submessage_arena) {
19672       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
19673     }
19674     _impl_._has_bits_[0] |= 0x00000001u;
19675   } else {
19676     _impl_._has_bits_[0] &= ~0x00000001u;
19677   }
19678 
19679   _impl_.overridable_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19680   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridable_features)
19681 }
19682 
19683 // optional .google.protobuf.FeatureSet fixed_features = 5;
19684 inline bool FeatureSetDefaults_FeatureSetEditionDefault::has_fixed_features() const {
19685   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
19686   PROTOBUF_ASSUME(!value || _impl_.fixed_features_ != nullptr);
19687   return value;
19688 }
19689 inline void FeatureSetDefaults_FeatureSetEditionDefault::clear_fixed_features() {
19690   ::google::protobuf::internal::TSanWrite(&_impl_);
19691   if (_impl_.fixed_features_ != nullptr) _impl_.fixed_features_->Clear();
19692   _impl_._has_bits_[0] &= ~0x00000002u;
19693 }
19694 inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::_internal_fixed_features() const {
19695   ::google::protobuf::internal::TSanRead(&_impl_);
19696   const ::google::protobuf::FeatureSet* p = _impl_.fixed_features_;
19697   return p != nullptr ? *p : reinterpret_cast<const ::google::protobuf::FeatureSet&>(::google::protobuf::_FeatureSet_default_instance_);
19698 }
19699 inline const ::google::protobuf::FeatureSet& FeatureSetDefaults_FeatureSetEditionDefault::fixed_features() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
19700   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
19701   return _internal_fixed_features();
19702 }
19703 inline void FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_set_allocated_fixed_features(::google::protobuf::FeatureSet* value) {
19704   ::google::protobuf::internal::TSanWrite(&_impl_);
19705   if (GetArena() == nullptr) {
19706     delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.fixed_features_);
19707   }
19708   _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19709   if (value != nullptr) {
19710     _impl_._has_bits_[0] |= 0x00000002u;
19711   } else {
19712     _impl_._has_bits_[0] &= ~0x00000002u;
19713   }
19714   // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
19715 }
19716 inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::release_fixed_features() {
19717   ::google::protobuf::internal::TSanWrite(&_impl_);
19718 
19719   _impl_._has_bits_[0] &= ~0x00000002u;
19720   ::google::protobuf::FeatureSet* released = _impl_.fixed_features_;
19721   _impl_.fixed_features_ = nullptr;
19722 #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
19723   auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
19724   released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19725   if (GetArena() == nullptr) {
19726     delete old;
19727   }
19728 #else   // PROTOBUF_FORCE_COPY_IN_RELEASE
19729   if (GetArena() != nullptr) {
19730     released = ::google::protobuf::internal::DuplicateIfNonNull(released);
19731   }
19732 #endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
19733   return released;
19734 }
19735 inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::unsafe_arena_release_fixed_features() {
19736   ::google::protobuf::internal::TSanWrite(&_impl_);
19737   // @@protoc_insertion_point(field_release:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
19738 
19739   _impl_._has_bits_[0] &= ~0x00000002u;
19740   ::google::protobuf::FeatureSet* temp = _impl_.fixed_features_;
19741   _impl_.fixed_features_ = nullptr;
19742   return temp;
19743 }
19744 inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::_internal_mutable_fixed_features() {
19745   ::google::protobuf::internal::TSanWrite(&_impl_);
19746   if (_impl_.fixed_features_ == nullptr) {
19747     auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::FeatureSet>(GetArena());
19748     _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(p);
19749   }
19750   return _impl_.fixed_features_;
19751 }
19752 inline ::google::protobuf::FeatureSet* FeatureSetDefaults_FeatureSetEditionDefault::mutable_fixed_features() ABSL_ATTRIBUTE_LIFETIME_BOUND {
19753   _impl_._has_bits_[0] |= 0x00000002u;
19754   ::google::protobuf::FeatureSet* _msg = _internal_mutable_fixed_features();
19755   // @@protoc_insertion_point(field_mutable:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
19756   return _msg;
19757 }
19758 inline void FeatureSetDefaults_FeatureSetEditionDefault::set_allocated_fixed_features(::google::protobuf::FeatureSet* value) {
19759   ::google::protobuf::Arena* message_arena = GetArena();
19760   ::google::protobuf::internal::TSanWrite(&_impl_);
19761   if (message_arena == nullptr) {
19762     delete (_impl_.fixed_features_);
19763   }
19764 
19765   if (value != nullptr) {
19766     ::google::protobuf::Arena* submessage_arena = (value)->GetArena();
19767     if (message_arena != submessage_arena) {
19768       value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
19769     }
19770     _impl_._has_bits_[0] |= 0x00000002u;
19771   } else {
19772     _impl_._has_bits_[0] &= ~0x00000002u;
19773   }
19774 
19775   _impl_.fixed_features_ = reinterpret_cast<::google::protobuf::FeatureSet*>(value);
19776   // @@protoc_insertion_point(field_set_allocated:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixed_features)
19777 }
19778 
19779 // -------------------------------------------------------------------
19780 
19781 // FeatureSetDefaults
19782 
19783 // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
19784 inline int FeatureSetDefaults::_internal_defaults_size() const {
19785   return _internal_defaults().size();
19786 }
19787 inline int FeatureSetDefaults::defaults_size() const {
19788   return _internal_defaults_size();
19789 }
19790 inline void FeatureSetDefaults::clear_defaults() {
19791   ::google::protobuf::internal::TSanWrite(&_impl_);
19792   _impl_.defaults_.Clear();
19793 }
19794 inline ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* FeatureSetDefaults::mutable_defaults(int index)
19795     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19796   // @@protoc_insertion_point(field_mutable:google.protobuf.FeatureSetDefaults.defaults)
19797   return _internal_mutable_defaults()->Mutable(index);
19798 }
19799 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>* FeatureSetDefaults::mutable_defaults()
19800     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19801   // @@protoc_insertion_point(field_mutable_list:google.protobuf.FeatureSetDefaults.defaults)
19802   ::google::protobuf::internal::TSanWrite(&_impl_);
19803   return _internal_mutable_defaults();
19804 }
19805 inline const ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault& FeatureSetDefaults::defaults(int index) const
19806     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19807   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.defaults)
19808   return _internal_defaults().Get(index);
19809 }
19810 inline ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* FeatureSetDefaults::add_defaults() ABSL_ATTRIBUTE_LIFETIME_BOUND {
19811   ::google::protobuf::internal::TSanWrite(&_impl_);
19812   ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault* _add = _internal_mutable_defaults()->Add();
19813   // @@protoc_insertion_point(field_add:google.protobuf.FeatureSetDefaults.defaults)
19814   return _add;
19815 }
19816 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>& FeatureSetDefaults::defaults() const
19817     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19818   // @@protoc_insertion_point(field_list:google.protobuf.FeatureSetDefaults.defaults)
19819   return _internal_defaults();
19820 }
19821 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>&
19822 FeatureSetDefaults::_internal_defaults() const {
19823   ::google::protobuf::internal::TSanRead(&_impl_);
19824   return _impl_.defaults_;
19825 }
19826 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault>*
19827 FeatureSetDefaults::_internal_mutable_defaults() {
19828   ::google::protobuf::internal::TSanRead(&_impl_);
19829   return &_impl_.defaults_;
19830 }
19831 
19832 // optional .google.protobuf.Edition minimum_edition = 4;
19833 inline bool FeatureSetDefaults::has_minimum_edition() const {
19834   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
19835   return value;
19836 }
19837 inline void FeatureSetDefaults::clear_minimum_edition() {
19838   ::google::protobuf::internal::TSanWrite(&_impl_);
19839   _impl_.minimum_edition_ = 0;
19840   _impl_._has_bits_[0] &= ~0x00000001u;
19841 }
19842 inline ::google::protobuf::Edition FeatureSetDefaults::minimum_edition() const {
19843   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.minimum_edition)
19844   return _internal_minimum_edition();
19845 }
19846 inline void FeatureSetDefaults::set_minimum_edition(::google::protobuf::Edition value) {
19847   _internal_set_minimum_edition(value);
19848   _impl_._has_bits_[0] |= 0x00000001u;
19849   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSetDefaults.minimum_edition)
19850 }
19851 inline ::google::protobuf::Edition FeatureSetDefaults::_internal_minimum_edition() const {
19852   ::google::protobuf::internal::TSanRead(&_impl_);
19853   return static_cast<::google::protobuf::Edition>(_impl_.minimum_edition_);
19854 }
19855 inline void FeatureSetDefaults::_internal_set_minimum_edition(::google::protobuf::Edition value) {
19856   ::google::protobuf::internal::TSanWrite(&_impl_);
19857   assert(::google::protobuf::Edition_IsValid(value));
19858   _impl_.minimum_edition_ = value;
19859 }
19860 
19861 // optional .google.protobuf.Edition maximum_edition = 5;
19862 inline bool FeatureSetDefaults::has_maximum_edition() const {
19863   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
19864   return value;
19865 }
19866 inline void FeatureSetDefaults::clear_maximum_edition() {
19867   ::google::protobuf::internal::TSanWrite(&_impl_);
19868   _impl_.maximum_edition_ = 0;
19869   _impl_._has_bits_[0] &= ~0x00000002u;
19870 }
19871 inline ::google::protobuf::Edition FeatureSetDefaults::maximum_edition() const {
19872   // @@protoc_insertion_point(field_get:google.protobuf.FeatureSetDefaults.maximum_edition)
19873   return _internal_maximum_edition();
19874 }
19875 inline void FeatureSetDefaults::set_maximum_edition(::google::protobuf::Edition value) {
19876   _internal_set_maximum_edition(value);
19877   _impl_._has_bits_[0] |= 0x00000002u;
19878   // @@protoc_insertion_point(field_set:google.protobuf.FeatureSetDefaults.maximum_edition)
19879 }
19880 inline ::google::protobuf::Edition FeatureSetDefaults::_internal_maximum_edition() const {
19881   ::google::protobuf::internal::TSanRead(&_impl_);
19882   return static_cast<::google::protobuf::Edition>(_impl_.maximum_edition_);
19883 }
19884 inline void FeatureSetDefaults::_internal_set_maximum_edition(::google::protobuf::Edition value) {
19885   ::google::protobuf::internal::TSanWrite(&_impl_);
19886   assert(::google::protobuf::Edition_IsValid(value));
19887   _impl_.maximum_edition_ = value;
19888 }
19889 
19890 // -------------------------------------------------------------------
19891 
19892 // SourceCodeInfo_Location
19893 
19894 // repeated int32 path = 1 [packed = true];
19895 inline int SourceCodeInfo_Location::_internal_path_size() const {
19896   return _internal_path().size();
19897 }
19898 inline int SourceCodeInfo_Location::path_size() const {
19899   return _internal_path_size();
19900 }
19901 inline void SourceCodeInfo_Location::clear_path() {
19902   ::google::protobuf::internal::TSanWrite(&_impl_);
19903   _impl_.path_.Clear();
19904 }
19905 inline ::int32_t SourceCodeInfo_Location::path(int index) const {
19906   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.path)
19907   return _internal_path().Get(index);
19908 }
19909 inline void SourceCodeInfo_Location::set_path(int index, ::int32_t value) {
19910   _internal_mutable_path()->Set(index, value);
19911   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.path)
19912 }
19913 inline void SourceCodeInfo_Location::add_path(::int32_t value) {
19914   ::google::protobuf::internal::TSanWrite(&_impl_);
19915   _internal_mutable_path()->Add(value);
19916   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.path)
19917 }
19918 inline const ::google::protobuf::RepeatedField<::int32_t>& SourceCodeInfo_Location::path() const
19919     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19920   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.path)
19921   return _internal_path();
19922 }
19923 inline ::google::protobuf::RepeatedField<::int32_t>* SourceCodeInfo_Location::mutable_path()
19924     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19925   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.path)
19926   ::google::protobuf::internal::TSanWrite(&_impl_);
19927   return _internal_mutable_path();
19928 }
19929 inline const ::google::protobuf::RepeatedField<::int32_t>&
19930 SourceCodeInfo_Location::_internal_path() const {
19931   ::google::protobuf::internal::TSanRead(&_impl_);
19932   return _impl_.path_;
19933 }
19934 inline ::google::protobuf::RepeatedField<::int32_t>* SourceCodeInfo_Location::_internal_mutable_path() {
19935   ::google::protobuf::internal::TSanRead(&_impl_);
19936   return &_impl_.path_;
19937 }
19938 
19939 // repeated int32 span = 2 [packed = true];
19940 inline int SourceCodeInfo_Location::_internal_span_size() const {
19941   return _internal_span().size();
19942 }
19943 inline int SourceCodeInfo_Location::span_size() const {
19944   return _internal_span_size();
19945 }
19946 inline void SourceCodeInfo_Location::clear_span() {
19947   ::google::protobuf::internal::TSanWrite(&_impl_);
19948   _impl_.span_.Clear();
19949 }
19950 inline ::int32_t SourceCodeInfo_Location::span(int index) const {
19951   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.span)
19952   return _internal_span().Get(index);
19953 }
19954 inline void SourceCodeInfo_Location::set_span(int index, ::int32_t value) {
19955   _internal_mutable_span()->Set(index, value);
19956   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.span)
19957 }
19958 inline void SourceCodeInfo_Location::add_span(::int32_t value) {
19959   ::google::protobuf::internal::TSanWrite(&_impl_);
19960   _internal_mutable_span()->Add(value);
19961   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.span)
19962 }
19963 inline const ::google::protobuf::RepeatedField<::int32_t>& SourceCodeInfo_Location::span() const
19964     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19965   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.span)
19966   return _internal_span();
19967 }
19968 inline ::google::protobuf::RepeatedField<::int32_t>* SourceCodeInfo_Location::mutable_span()
19969     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19970   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.span)
19971   ::google::protobuf::internal::TSanWrite(&_impl_);
19972   return _internal_mutable_span();
19973 }
19974 inline const ::google::protobuf::RepeatedField<::int32_t>&
19975 SourceCodeInfo_Location::_internal_span() const {
19976   ::google::protobuf::internal::TSanRead(&_impl_);
19977   return _impl_.span_;
19978 }
19979 inline ::google::protobuf::RepeatedField<::int32_t>* SourceCodeInfo_Location::_internal_mutable_span() {
19980   ::google::protobuf::internal::TSanRead(&_impl_);
19981   return &_impl_.span_;
19982 }
19983 
19984 // optional string leading_comments = 3;
19985 inline bool SourceCodeInfo_Location::has_leading_comments() const {
19986   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
19987   return value;
19988 }
19989 inline void SourceCodeInfo_Location::clear_leading_comments() {
19990   ::google::protobuf::internal::TSanWrite(&_impl_);
19991   _impl_.leading_comments_.ClearToEmpty();
19992   _impl_._has_bits_[0] &= ~0x00000001u;
19993 }
19994 inline const std::string& SourceCodeInfo_Location::leading_comments() const
19995     ABSL_ATTRIBUTE_LIFETIME_BOUND {
19996   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_comments)
19997   return _internal_leading_comments();
19998 }
19999 template <typename Arg_, typename... Args_>
20000 inline PROTOBUF_ALWAYS_INLINE void SourceCodeInfo_Location::set_leading_comments(Arg_&& arg,
20001                                                      Args_... args) {
20002   ::google::protobuf::internal::TSanWrite(&_impl_);
20003   _impl_._has_bits_[0] |= 0x00000001u;
20004   _impl_.leading_comments_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
20005   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_comments)
20006 }
20007 inline std::string* SourceCodeInfo_Location::mutable_leading_comments() ABSL_ATTRIBUTE_LIFETIME_BOUND {
20008   std::string* _s = _internal_mutable_leading_comments();
20009   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_comments)
20010   return _s;
20011 }
20012 inline const std::string& SourceCodeInfo_Location::_internal_leading_comments() const {
20013   ::google::protobuf::internal::TSanRead(&_impl_);
20014   return _impl_.leading_comments_.Get();
20015 }
20016 inline void SourceCodeInfo_Location::_internal_set_leading_comments(const std::string& value) {
20017   ::google::protobuf::internal::TSanWrite(&_impl_);
20018   _impl_._has_bits_[0] |= 0x00000001u;
20019   _impl_.leading_comments_.Set(value, GetArena());
20020 }
20021 inline std::string* SourceCodeInfo_Location::_internal_mutable_leading_comments() {
20022   ::google::protobuf::internal::TSanWrite(&_impl_);
20023   _impl_._has_bits_[0] |= 0x00000001u;
20024   return _impl_.leading_comments_.Mutable( GetArena());
20025 }
20026 inline std::string* SourceCodeInfo_Location::release_leading_comments() {
20027   ::google::protobuf::internal::TSanWrite(&_impl_);
20028   // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.leading_comments)
20029   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
20030     return nullptr;
20031   }
20032   _impl_._has_bits_[0] &= ~0x00000001u;
20033   auto* released = _impl_.leading_comments_.Release();
20034   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
20035   _impl_.leading_comments_.Set("", GetArena());
20036   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
20037   return released;
20038 }
20039 inline void SourceCodeInfo_Location::set_allocated_leading_comments(std::string* value) {
20040   ::google::protobuf::internal::TSanWrite(&_impl_);
20041   if (value != nullptr) {
20042     _impl_._has_bits_[0] |= 0x00000001u;
20043   } else {
20044     _impl_._has_bits_[0] &= ~0x00000001u;
20045   }
20046   _impl_.leading_comments_.SetAllocated(value, GetArena());
20047   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
20048         if (_impl_.leading_comments_.IsDefault()) {
20049           _impl_.leading_comments_.Set("", GetArena());
20050         }
20051   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
20052   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.leading_comments)
20053 }
20054 
20055 // optional string trailing_comments = 4;
20056 inline bool SourceCodeInfo_Location::has_trailing_comments() const {
20057   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
20058   return value;
20059 }
20060 inline void SourceCodeInfo_Location::clear_trailing_comments() {
20061   ::google::protobuf::internal::TSanWrite(&_impl_);
20062   _impl_.trailing_comments_.ClearToEmpty();
20063   _impl_._has_bits_[0] &= ~0x00000002u;
20064 }
20065 inline const std::string& SourceCodeInfo_Location::trailing_comments() const
20066     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20067   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.trailing_comments)
20068   return _internal_trailing_comments();
20069 }
20070 template <typename Arg_, typename... Args_>
20071 inline PROTOBUF_ALWAYS_INLINE void SourceCodeInfo_Location::set_trailing_comments(Arg_&& arg,
20072                                                      Args_... args) {
20073   ::google::protobuf::internal::TSanWrite(&_impl_);
20074   _impl_._has_bits_[0] |= 0x00000002u;
20075   _impl_.trailing_comments_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
20076   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.trailing_comments)
20077 }
20078 inline std::string* SourceCodeInfo_Location::mutable_trailing_comments() ABSL_ATTRIBUTE_LIFETIME_BOUND {
20079   std::string* _s = _internal_mutable_trailing_comments();
20080   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.trailing_comments)
20081   return _s;
20082 }
20083 inline const std::string& SourceCodeInfo_Location::_internal_trailing_comments() const {
20084   ::google::protobuf::internal::TSanRead(&_impl_);
20085   return _impl_.trailing_comments_.Get();
20086 }
20087 inline void SourceCodeInfo_Location::_internal_set_trailing_comments(const std::string& value) {
20088   ::google::protobuf::internal::TSanWrite(&_impl_);
20089   _impl_._has_bits_[0] |= 0x00000002u;
20090   _impl_.trailing_comments_.Set(value, GetArena());
20091 }
20092 inline std::string* SourceCodeInfo_Location::_internal_mutable_trailing_comments() {
20093   ::google::protobuf::internal::TSanWrite(&_impl_);
20094   _impl_._has_bits_[0] |= 0x00000002u;
20095   return _impl_.trailing_comments_.Mutable( GetArena());
20096 }
20097 inline std::string* SourceCodeInfo_Location::release_trailing_comments() {
20098   ::google::protobuf::internal::TSanWrite(&_impl_);
20099   // @@protoc_insertion_point(field_release:google.protobuf.SourceCodeInfo.Location.trailing_comments)
20100   if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
20101     return nullptr;
20102   }
20103   _impl_._has_bits_[0] &= ~0x00000002u;
20104   auto* released = _impl_.trailing_comments_.Release();
20105   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
20106   _impl_.trailing_comments_.Set("", GetArena());
20107   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
20108   return released;
20109 }
20110 inline void SourceCodeInfo_Location::set_allocated_trailing_comments(std::string* value) {
20111   ::google::protobuf::internal::TSanWrite(&_impl_);
20112   if (value != nullptr) {
20113     _impl_._has_bits_[0] |= 0x00000002u;
20114   } else {
20115     _impl_._has_bits_[0] &= ~0x00000002u;
20116   }
20117   _impl_.trailing_comments_.SetAllocated(value, GetArena());
20118   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
20119         if (_impl_.trailing_comments_.IsDefault()) {
20120           _impl_.trailing_comments_.Set("", GetArena());
20121         }
20122   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
20123   // @@protoc_insertion_point(field_set_allocated:google.protobuf.SourceCodeInfo.Location.trailing_comments)
20124 }
20125 
20126 // repeated string leading_detached_comments = 6;
20127 inline int SourceCodeInfo_Location::_internal_leading_detached_comments_size() const {
20128   return _internal_leading_detached_comments().size();
20129 }
20130 inline int SourceCodeInfo_Location::leading_detached_comments_size() const {
20131   return _internal_leading_detached_comments_size();
20132 }
20133 inline void SourceCodeInfo_Location::clear_leading_detached_comments() {
20134   ::google::protobuf::internal::TSanWrite(&_impl_);
20135   _impl_.leading_detached_comments_.Clear();
20136 }
20137 inline std::string* SourceCodeInfo_Location::add_leading_detached_comments() ABSL_ATTRIBUTE_LIFETIME_BOUND {
20138   ::google::protobuf::internal::TSanWrite(&_impl_);
20139   std::string* _s = _internal_mutable_leading_detached_comments()->Add();
20140   // @@protoc_insertion_point(field_add_mutable:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
20141   return _s;
20142 }
20143 inline const std::string& SourceCodeInfo_Location::leading_detached_comments(int index) const
20144     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20145   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
20146   return _internal_leading_detached_comments().Get(index);
20147 }
20148 inline std::string* SourceCodeInfo_Location::mutable_leading_detached_comments(int index)
20149     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20150   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
20151   return _internal_mutable_leading_detached_comments()->Mutable(index);
20152 }
20153 template <typename Arg_, typename... Args_>
20154 inline void SourceCodeInfo_Location::set_leading_detached_comments(int index, Arg_&& value, Args_... args) {
20155   ::google::protobuf::internal::AssignToString(
20156       *_internal_mutable_leading_detached_comments()->Mutable(index),
20157       std::forward<Arg_>(value), args... );
20158   // @@protoc_insertion_point(field_set:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
20159 }
20160 template <typename Arg_, typename... Args_>
20161 inline void SourceCodeInfo_Location::add_leading_detached_comments(Arg_&& value, Args_... args) {
20162   ::google::protobuf::internal::TSanWrite(&_impl_);
20163   ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_leading_detached_comments(),
20164                                std::forward<Arg_>(value),
20165                                args... );
20166   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
20167 }
20168 inline const ::google::protobuf::RepeatedPtrField<std::string>&
20169 SourceCodeInfo_Location::leading_detached_comments() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
20170   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
20171   return _internal_leading_detached_comments();
20172 }
20173 inline ::google::protobuf::RepeatedPtrField<std::string>*
20174 SourceCodeInfo_Location::mutable_leading_detached_comments() ABSL_ATTRIBUTE_LIFETIME_BOUND {
20175   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.Location.leading_detached_comments)
20176   ::google::protobuf::internal::TSanWrite(&_impl_);
20177   return _internal_mutable_leading_detached_comments();
20178 }
20179 inline const ::google::protobuf::RepeatedPtrField<std::string>&
20180 SourceCodeInfo_Location::_internal_leading_detached_comments() const {
20181   ::google::protobuf::internal::TSanRead(&_impl_);
20182   return _impl_.leading_detached_comments_;
20183 }
20184 inline ::google::protobuf::RepeatedPtrField<std::string>*
20185 SourceCodeInfo_Location::_internal_mutable_leading_detached_comments() {
20186   ::google::protobuf::internal::TSanRead(&_impl_);
20187   return &_impl_.leading_detached_comments_;
20188 }
20189 
20190 // -------------------------------------------------------------------
20191 
20192 // SourceCodeInfo
20193 
20194 // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
20195 inline int SourceCodeInfo::_internal_location_size() const {
20196   return _internal_location().size();
20197 }
20198 inline int SourceCodeInfo::location_size() const {
20199   return _internal_location_size();
20200 }
20201 inline void SourceCodeInfo::clear_location() {
20202   ::google::protobuf::internal::TSanWrite(&_impl_);
20203   _impl_.location_.Clear();
20204 }
20205 inline ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::mutable_location(int index)
20206     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20207   // @@protoc_insertion_point(field_mutable:google.protobuf.SourceCodeInfo.location)
20208   return _internal_mutable_location()->Mutable(index);
20209 }
20210 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>* SourceCodeInfo::mutable_location()
20211     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20212   // @@protoc_insertion_point(field_mutable_list:google.protobuf.SourceCodeInfo.location)
20213   ::google::protobuf::internal::TSanWrite(&_impl_);
20214   return _internal_mutable_location();
20215 }
20216 inline const ::google::protobuf::SourceCodeInfo_Location& SourceCodeInfo::location(int index) const
20217     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20218   // @@protoc_insertion_point(field_get:google.protobuf.SourceCodeInfo.location)
20219   return _internal_location().Get(index);
20220 }
20221 inline ::google::protobuf::SourceCodeInfo_Location* SourceCodeInfo::add_location() ABSL_ATTRIBUTE_LIFETIME_BOUND {
20222   ::google::protobuf::internal::TSanWrite(&_impl_);
20223   ::google::protobuf::SourceCodeInfo_Location* _add = _internal_mutable_location()->Add();
20224   // @@protoc_insertion_point(field_add:google.protobuf.SourceCodeInfo.location)
20225   return _add;
20226 }
20227 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>& SourceCodeInfo::location() const
20228     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20229   // @@protoc_insertion_point(field_list:google.protobuf.SourceCodeInfo.location)
20230   return _internal_location();
20231 }
20232 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>&
20233 SourceCodeInfo::_internal_location() const {
20234   ::google::protobuf::internal::TSanRead(&_impl_);
20235   return _impl_.location_;
20236 }
20237 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::SourceCodeInfo_Location>*
20238 SourceCodeInfo::_internal_mutable_location() {
20239   ::google::protobuf::internal::TSanRead(&_impl_);
20240   return &_impl_.location_;
20241 }
20242 
20243 // -------------------------------------------------------------------
20244 
20245 // GeneratedCodeInfo_Annotation
20246 
20247 // repeated int32 path = 1 [packed = true];
20248 inline int GeneratedCodeInfo_Annotation::_internal_path_size() const {
20249   return _internal_path().size();
20250 }
20251 inline int GeneratedCodeInfo_Annotation::path_size() const {
20252   return _internal_path_size();
20253 }
20254 inline void GeneratedCodeInfo_Annotation::clear_path() {
20255   ::google::protobuf::internal::TSanWrite(&_impl_);
20256   _impl_.path_.Clear();
20257 }
20258 inline ::int32_t GeneratedCodeInfo_Annotation::path(int index) const {
20259   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.path)
20260   return _internal_path().Get(index);
20261 }
20262 inline void GeneratedCodeInfo_Annotation::set_path(int index, ::int32_t value) {
20263   _internal_mutable_path()->Set(index, value);
20264   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.path)
20265 }
20266 inline void GeneratedCodeInfo_Annotation::add_path(::int32_t value) {
20267   ::google::protobuf::internal::TSanWrite(&_impl_);
20268   _internal_mutable_path()->Add(value);
20269   // @@protoc_insertion_point(field_add:google.protobuf.GeneratedCodeInfo.Annotation.path)
20270 }
20271 inline const ::google::protobuf::RepeatedField<::int32_t>& GeneratedCodeInfo_Annotation::path() const
20272     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20273   // @@protoc_insertion_point(field_list:google.protobuf.GeneratedCodeInfo.Annotation.path)
20274   return _internal_path();
20275 }
20276 inline ::google::protobuf::RepeatedField<::int32_t>* GeneratedCodeInfo_Annotation::mutable_path()
20277     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20278   // @@protoc_insertion_point(field_mutable_list:google.protobuf.GeneratedCodeInfo.Annotation.path)
20279   ::google::protobuf::internal::TSanWrite(&_impl_);
20280   return _internal_mutable_path();
20281 }
20282 inline const ::google::protobuf::RepeatedField<::int32_t>&
20283 GeneratedCodeInfo_Annotation::_internal_path() const {
20284   ::google::protobuf::internal::TSanRead(&_impl_);
20285   return _impl_.path_;
20286 }
20287 inline ::google::protobuf::RepeatedField<::int32_t>* GeneratedCodeInfo_Annotation::_internal_mutable_path() {
20288   ::google::protobuf::internal::TSanRead(&_impl_);
20289   return &_impl_.path_;
20290 }
20291 
20292 // optional string source_file = 2;
20293 inline bool GeneratedCodeInfo_Annotation::has_source_file() const {
20294   bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
20295   return value;
20296 }
20297 inline void GeneratedCodeInfo_Annotation::clear_source_file() {
20298   ::google::protobuf::internal::TSanWrite(&_impl_);
20299   _impl_.source_file_.ClearToEmpty();
20300   _impl_._has_bits_[0] &= ~0x00000001u;
20301 }
20302 inline const std::string& GeneratedCodeInfo_Annotation::source_file() const
20303     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20304   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
20305   return _internal_source_file();
20306 }
20307 template <typename Arg_, typename... Args_>
20308 inline PROTOBUF_ALWAYS_INLINE void GeneratedCodeInfo_Annotation::set_source_file(Arg_&& arg,
20309                                                      Args_... args) {
20310   ::google::protobuf::internal::TSanWrite(&_impl_);
20311   _impl_._has_bits_[0] |= 0x00000001u;
20312   _impl_.source_file_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
20313   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
20314 }
20315 inline std::string* GeneratedCodeInfo_Annotation::mutable_source_file() ABSL_ATTRIBUTE_LIFETIME_BOUND {
20316   std::string* _s = _internal_mutable_source_file();
20317   // @@protoc_insertion_point(field_mutable:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
20318   return _s;
20319 }
20320 inline const std::string& GeneratedCodeInfo_Annotation::_internal_source_file() const {
20321   ::google::protobuf::internal::TSanRead(&_impl_);
20322   return _impl_.source_file_.Get();
20323 }
20324 inline void GeneratedCodeInfo_Annotation::_internal_set_source_file(const std::string& value) {
20325   ::google::protobuf::internal::TSanWrite(&_impl_);
20326   _impl_._has_bits_[0] |= 0x00000001u;
20327   _impl_.source_file_.Set(value, GetArena());
20328 }
20329 inline std::string* GeneratedCodeInfo_Annotation::_internal_mutable_source_file() {
20330   ::google::protobuf::internal::TSanWrite(&_impl_);
20331   _impl_._has_bits_[0] |= 0x00000001u;
20332   return _impl_.source_file_.Mutable( GetArena());
20333 }
20334 inline std::string* GeneratedCodeInfo_Annotation::release_source_file() {
20335   ::google::protobuf::internal::TSanWrite(&_impl_);
20336   // @@protoc_insertion_point(field_release:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
20337   if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
20338     return nullptr;
20339   }
20340   _impl_._has_bits_[0] &= ~0x00000001u;
20341   auto* released = _impl_.source_file_.Release();
20342   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
20343   _impl_.source_file_.Set("", GetArena());
20344   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
20345   return released;
20346 }
20347 inline void GeneratedCodeInfo_Annotation::set_allocated_source_file(std::string* value) {
20348   ::google::protobuf::internal::TSanWrite(&_impl_);
20349   if (value != nullptr) {
20350     _impl_._has_bits_[0] |= 0x00000001u;
20351   } else {
20352     _impl_._has_bits_[0] &= ~0x00000001u;
20353   }
20354   _impl_.source_file_.SetAllocated(value, GetArena());
20355   #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
20356         if (_impl_.source_file_.IsDefault()) {
20357           _impl_.source_file_.Set("", GetArena());
20358         }
20359   #endif  // PROTOBUF_FORCE_COPY_DEFAULT_STRING
20360   // @@protoc_insertion_point(field_set_allocated:google.protobuf.GeneratedCodeInfo.Annotation.source_file)
20361 }
20362 
20363 // optional int32 begin = 3;
20364 inline bool GeneratedCodeInfo_Annotation::has_begin() const {
20365   bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
20366   return value;
20367 }
20368 inline void GeneratedCodeInfo_Annotation::clear_begin() {
20369   ::google::protobuf::internal::TSanWrite(&_impl_);
20370   _impl_.begin_ = 0;
20371   _impl_._has_bits_[0] &= ~0x00000002u;
20372 }
20373 inline ::int32_t GeneratedCodeInfo_Annotation::begin() const {
20374   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.begin)
20375   return _internal_begin();
20376 }
20377 inline void GeneratedCodeInfo_Annotation::set_begin(::int32_t value) {
20378   _internal_set_begin(value);
20379   _impl_._has_bits_[0] |= 0x00000002u;
20380   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.begin)
20381 }
20382 inline ::int32_t GeneratedCodeInfo_Annotation::_internal_begin() const {
20383   ::google::protobuf::internal::TSanRead(&_impl_);
20384   return _impl_.begin_;
20385 }
20386 inline void GeneratedCodeInfo_Annotation::_internal_set_begin(::int32_t value) {
20387   ::google::protobuf::internal::TSanWrite(&_impl_);
20388   _impl_.begin_ = value;
20389 }
20390 
20391 // optional int32 end = 4;
20392 inline bool GeneratedCodeInfo_Annotation::has_end() const {
20393   bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
20394   return value;
20395 }
20396 inline void GeneratedCodeInfo_Annotation::clear_end() {
20397   ::google::protobuf::internal::TSanWrite(&_impl_);
20398   _impl_.end_ = 0;
20399   _impl_._has_bits_[0] &= ~0x00000004u;
20400 }
20401 inline ::int32_t GeneratedCodeInfo_Annotation::end() const {
20402   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.end)
20403   return _internal_end();
20404 }
20405 inline void GeneratedCodeInfo_Annotation::set_end(::int32_t value) {
20406   _internal_set_end(value);
20407   _impl_._has_bits_[0] |= 0x00000004u;
20408   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.end)
20409 }
20410 inline ::int32_t GeneratedCodeInfo_Annotation::_internal_end() const {
20411   ::google::protobuf::internal::TSanRead(&_impl_);
20412   return _impl_.end_;
20413 }
20414 inline void GeneratedCodeInfo_Annotation::_internal_set_end(::int32_t value) {
20415   ::google::protobuf::internal::TSanWrite(&_impl_);
20416   _impl_.end_ = value;
20417 }
20418 
20419 // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
20420 inline bool GeneratedCodeInfo_Annotation::has_semantic() const {
20421   bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
20422   return value;
20423 }
20424 inline void GeneratedCodeInfo_Annotation::clear_semantic() {
20425   ::google::protobuf::internal::TSanWrite(&_impl_);
20426   _impl_.semantic_ = 0;
20427   _impl_._has_bits_[0] &= ~0x00000008u;
20428 }
20429 inline ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::semantic() const {
20430   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.Annotation.semantic)
20431   return _internal_semantic();
20432 }
20433 inline void GeneratedCodeInfo_Annotation::set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value) {
20434   _internal_set_semantic(value);
20435   _impl_._has_bits_[0] |= 0x00000008u;
20436   // @@protoc_insertion_point(field_set:google.protobuf.GeneratedCodeInfo.Annotation.semantic)
20437 }
20438 inline ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic GeneratedCodeInfo_Annotation::_internal_semantic() const {
20439   ::google::protobuf::internal::TSanRead(&_impl_);
20440   return static_cast<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic>(_impl_.semantic_);
20441 }
20442 inline void GeneratedCodeInfo_Annotation::_internal_set_semantic(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic value) {
20443   ::google::protobuf::internal::TSanWrite(&_impl_);
20444   assert(::google::protobuf::GeneratedCodeInfo_Annotation_Semantic_IsValid(value));
20445   _impl_.semantic_ = value;
20446 }
20447 
20448 // -------------------------------------------------------------------
20449 
20450 // GeneratedCodeInfo
20451 
20452 // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
20453 inline int GeneratedCodeInfo::_internal_annotation_size() const {
20454   return _internal_annotation().size();
20455 }
20456 inline int GeneratedCodeInfo::annotation_size() const {
20457   return _internal_annotation_size();
20458 }
20459 inline void GeneratedCodeInfo::clear_annotation() {
20460   ::google::protobuf::internal::TSanWrite(&_impl_);
20461   _impl_.annotation_.Clear();
20462 }
20463 inline ::google::protobuf::GeneratedCodeInfo_Annotation* GeneratedCodeInfo::mutable_annotation(int index)
20464     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20465   // @@protoc_insertion_point(field_mutable:google.protobuf.GeneratedCodeInfo.annotation)
20466   return _internal_mutable_annotation()->Mutable(index);
20467 }
20468 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>* GeneratedCodeInfo::mutable_annotation()
20469     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20470   // @@protoc_insertion_point(field_mutable_list:google.protobuf.GeneratedCodeInfo.annotation)
20471   ::google::protobuf::internal::TSanWrite(&_impl_);
20472   return _internal_mutable_annotation();
20473 }
20474 inline const ::google::protobuf::GeneratedCodeInfo_Annotation& GeneratedCodeInfo::annotation(int index) const
20475     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20476   // @@protoc_insertion_point(field_get:google.protobuf.GeneratedCodeInfo.annotation)
20477   return _internal_annotation().Get(index);
20478 }
20479 inline ::google::protobuf::GeneratedCodeInfo_Annotation* GeneratedCodeInfo::add_annotation() ABSL_ATTRIBUTE_LIFETIME_BOUND {
20480   ::google::protobuf::internal::TSanWrite(&_impl_);
20481   ::google::protobuf::GeneratedCodeInfo_Annotation* _add = _internal_mutable_annotation()->Add();
20482   // @@protoc_insertion_point(field_add:google.protobuf.GeneratedCodeInfo.annotation)
20483   return _add;
20484 }
20485 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>& GeneratedCodeInfo::annotation() const
20486     ABSL_ATTRIBUTE_LIFETIME_BOUND {
20487   // @@protoc_insertion_point(field_list:google.protobuf.GeneratedCodeInfo.annotation)
20488   return _internal_annotation();
20489 }
20490 inline const ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>&
20491 GeneratedCodeInfo::_internal_annotation() const {
20492   ::google::protobuf::internal::TSanRead(&_impl_);
20493   return _impl_.annotation_;
20494 }
20495 inline ::google::protobuf::RepeatedPtrField<::google::protobuf::GeneratedCodeInfo_Annotation>*
20496 GeneratedCodeInfo::_internal_mutable_annotation() {
20497   ::google::protobuf::internal::TSanRead(&_impl_);
20498   return &_impl_.annotation_;
20499 }
20500 
20501 #ifdef __GNUC__
20502 #pragma GCC diagnostic pop
20503 #endif  // __GNUC__
20504 
20505 // @@protoc_insertion_point(namespace_scope)
20506 }  // namespace protobuf
20507 }  // namespace google
20508 
20509 
20510 namespace google {
20511 namespace protobuf {
20512 
20513 template <>
20514 struct is_proto_enum<::google::protobuf::ExtensionRangeOptions_VerificationState> : std::true_type {};
20515 template <>
20516 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::ExtensionRangeOptions_VerificationState>() {
20517   return ::google::protobuf::ExtensionRangeOptions_VerificationState_descriptor();
20518 }
20519 template <>
20520 struct is_proto_enum<::google::protobuf::FieldDescriptorProto_Type> : std::true_type {};
20521 template <>
20522 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FieldDescriptorProto_Type>() {
20523   return ::google::protobuf::FieldDescriptorProto_Type_descriptor();
20524 }
20525 template <>
20526 struct is_proto_enum<::google::protobuf::FieldDescriptorProto_Label> : std::true_type {};
20527 template <>
20528 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FieldDescriptorProto_Label>() {
20529   return ::google::protobuf::FieldDescriptorProto_Label_descriptor();
20530 }
20531 template <>
20532 struct is_proto_enum<::google::protobuf::FileOptions_OptimizeMode> : std::true_type {};
20533 template <>
20534 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FileOptions_OptimizeMode>() {
20535   return ::google::protobuf::FileOptions_OptimizeMode_descriptor();
20536 }
20537 template <>
20538 struct is_proto_enum<::google::protobuf::FieldOptions_CType> : std::true_type {};
20539 template <>
20540 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FieldOptions_CType>() {
20541   return ::google::protobuf::FieldOptions_CType_descriptor();
20542 }
20543 template <>
20544 struct is_proto_enum<::google::protobuf::FieldOptions_JSType> : std::true_type {};
20545 template <>
20546 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FieldOptions_JSType>() {
20547   return ::google::protobuf::FieldOptions_JSType_descriptor();
20548 }
20549 template <>
20550 struct is_proto_enum<::google::protobuf::FieldOptions_OptionRetention> : std::true_type {};
20551 template <>
20552 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FieldOptions_OptionRetention>() {
20553   return ::google::protobuf::FieldOptions_OptionRetention_descriptor();
20554 }
20555 template <>
20556 struct is_proto_enum<::google::protobuf::FieldOptions_OptionTargetType> : std::true_type {};
20557 template <>
20558 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FieldOptions_OptionTargetType>() {
20559   return ::google::protobuf::FieldOptions_OptionTargetType_descriptor();
20560 }
20561 template <>
20562 struct is_proto_enum<::google::protobuf::MethodOptions_IdempotencyLevel> : std::true_type {};
20563 template <>
20564 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::MethodOptions_IdempotencyLevel>() {
20565   return ::google::protobuf::MethodOptions_IdempotencyLevel_descriptor();
20566 }
20567 template <>
20568 struct is_proto_enum<::google::protobuf::FeatureSet_FieldPresence> : std::true_type {};
20569 template <>
20570 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FeatureSet_FieldPresence>() {
20571   return ::google::protobuf::FeatureSet_FieldPresence_descriptor();
20572 }
20573 template <>
20574 struct is_proto_enum<::google::protobuf::FeatureSet_EnumType> : std::true_type {};
20575 template <>
20576 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FeatureSet_EnumType>() {
20577   return ::google::protobuf::FeatureSet_EnumType_descriptor();
20578 }
20579 template <>
20580 struct is_proto_enum<::google::protobuf::FeatureSet_RepeatedFieldEncoding> : std::true_type {};
20581 template <>
20582 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FeatureSet_RepeatedFieldEncoding>() {
20583   return ::google::protobuf::FeatureSet_RepeatedFieldEncoding_descriptor();
20584 }
20585 template <>
20586 struct is_proto_enum<::google::protobuf::FeatureSet_Utf8Validation> : std::true_type {};
20587 template <>
20588 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FeatureSet_Utf8Validation>() {
20589   return ::google::protobuf::FeatureSet_Utf8Validation_descriptor();
20590 }
20591 template <>
20592 struct is_proto_enum<::google::protobuf::FeatureSet_MessageEncoding> : std::true_type {};
20593 template <>
20594 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FeatureSet_MessageEncoding>() {
20595   return ::google::protobuf::FeatureSet_MessageEncoding_descriptor();
20596 }
20597 template <>
20598 struct is_proto_enum<::google::protobuf::FeatureSet_JsonFormat> : std::true_type {};
20599 template <>
20600 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::FeatureSet_JsonFormat>() {
20601   return ::google::protobuf::FeatureSet_JsonFormat_descriptor();
20602 }
20603 template <>
20604 struct is_proto_enum<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic> : std::true_type {};
20605 template <>
20606 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::GeneratedCodeInfo_Annotation_Semantic>() {
20607   return ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic_descriptor();
20608 }
20609 template <>
20610 struct is_proto_enum<::google::protobuf::Edition> : std::true_type {};
20611 template <>
20612 inline const EnumDescriptor* GetEnumDescriptor<::google::protobuf::Edition>() {
20613   return ::google::protobuf::Edition_descriptor();
20614 }
20615 
20616 }  // namespace protobuf
20617 }  // namespace google
20618 
20619 // @@protoc_insertion_point(global_scope)
20620 
20621 #include "google/protobuf/port_undef.inc"
20622 
20623 #endif  // GOOGLE_PROTOBUF_INCLUDED_google_2fprotobuf_2fdescriptor_2eproto_2epb_2eh