// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: google/protobuf/descriptor.proto
// Protobuf C++ Version: 7.37.0-dev

#include "google/protobuf/descriptor.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/internal_visibility.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/descriptor.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/reflection_ops.h"
#include "google/protobuf/wire_format.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace {
PROTOBUF_CONSTINIT ::google::protobuf::internal::ReflectionData
    file_reflection_data[] = {
        // ::google::protobuf::FileDescriptorSet
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FileDescriptorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::DescriptorProto_ExtensionRange
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::DescriptorProto_ReservedRange
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::DescriptorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::ExtensionRangeOptions_Declaration
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::ExtensionRangeOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FieldDescriptorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::OneofDescriptorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::EnumDescriptorProto_EnumReservedRange
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::EnumDescriptorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::EnumValueDescriptorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::ServiceDescriptorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::MethodDescriptorProto
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FileOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::MessageOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FieldOptions_EditionDefault
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FieldOptions_FeatureSupport
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FieldOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::OneofOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::EnumOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::EnumValueOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::ServiceOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::MethodOptions
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::UninterpretedOption_NamePart
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::UninterpretedOption
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FeatureSet_VisibilityFeature
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FeatureSet_ProtoLimitsFeature
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FeatureSet
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::FeatureSetDefaults
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::SourceCodeInfo_Location
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::SourceCodeInfo
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::GeneratedCodeInfo_Annotation
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
        // ::google::protobuf::GeneratedCodeInfo
        {&::_pbi::kDescriptorMethods, &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, /* tracker*/ nullptr,},
};
}  // namespace
namespace google {
namespace protobuf {
class UninterpretedOption_NamePart::_Internal {
 public:
  using HasBits = decltype(::std::declval<UninterpretedOption_NamePart>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_._has_bits_);
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x00000003) ^ 0x00000003) != 0;
  }

  static constexpr UninterpretedOption_NamePart::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr UninterpretedOption_NamePart::ParseTableT_ UninterpretedOption_NamePart::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // required bool is_extension = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(UninterpretedOption_NamePart, _impl_.is_extension_), 1>(),
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_.is_extension_)}},
      // required string name_part = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_.name_part_)}},
    }}, {{
      65535, 65535
    }}, {{
      // required string name_part = 1;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_.name_part_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // required bool is_extension = 2;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_.is_extension_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr UninterpretedOption_NamePart::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : name_part_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        is_extension_{false} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr UninterpretedOption_NamePart::UninterpretedOption_NamePart(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL UninterpretedOption_NamePart::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) UninterpretedOption_NamePart(arena);
}
constexpr auto UninterpretedOption_NamePart::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(UninterpretedOption_NamePart), alignof(UninterpretedOption_NamePart));
}
constexpr auto UninterpretedOption_NamePart::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      UninterpretedOption_NamePart::IsInitializedImpl,
      &UninterpretedOption_NamePart::MergeImpl,
      Super_::GetNewImpl<UninterpretedOption_NamePart>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &UninterpretedOption_NamePart::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePart, _impl_._cached_size_),
      &file_reflection_data[24],
  };
}
struct UninterpretedOption_NamePartGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   UninterpretedOption_NamePartGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<UninterpretedOption_NamePart>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<UninterpretedOption_NamePart>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) UninterpretedOption_NamePartGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~UninterpretedOption_NamePartGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) UninterpretedOption_NamePart _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<UninterpretedOption_NamePart>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(UninterpretedOption_NamePartGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UninterpretedOption_NamePartGlobalsTypeInternal UninterpretedOption_NamePart_globals_
        ;
class SourceCodeInfo_Location::_Internal {
 public:
  using HasBits = decltype(::std::declval<SourceCodeInfo_Location>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_._has_bits_);

  static constexpr SourceCodeInfo_Location::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr SourceCodeInfo_Location::ParseTableT_ SourceCodeInfo_Location::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967248,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated int32 path = 1 [packed = true];
      {::_pbi::TcParser::FastV32P1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.path_)}},
      // repeated int32 span = 2 [packed = true];
      {::_pbi::TcParser::FastV32P1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.span_)}},
      // optional string leading_comments = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 3, 0,
        PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_comments_)}},
      // optional string trailing_comments = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 4, 0,
        PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.trailing_comments_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated string leading_detached_comments = 6;
      {::_pbi::TcParser::FastBR1,
       {50, 2, 0,
        PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_detached_comments_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated int32 path = 1 [packed = true];
      {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.path_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
      // repeated int32 span = 2 [packed = true];
      {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.span_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
      // optional string leading_comments = 3;
      {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_comments_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string trailing_comments = 4;
      {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.trailing_comments_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string leading_detached_comments = 6;
      {PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_.leading_detached_comments_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr SourceCodeInfo_Location::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : path_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::SourceCodeInfo_Location,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.path_)>()
         }
        ,
        span_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::SourceCodeInfo_Location,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.span_)>()
         }
        ,
        leading_detached_comments_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::SourceCodeInfo_Location,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.leading_detached_comments_)>()
         }
        ,
        leading_comments_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        trailing_comments_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr SourceCodeInfo_Location::SourceCodeInfo_Location(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SourceCodeInfo_Location::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SourceCodeInfo_Location(arena);
}
constexpr auto SourceCodeInfo_Location::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SourceCodeInfo_Location), alignof(SourceCodeInfo_Location));
}
constexpr auto SourceCodeInfo_Location::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &SourceCodeInfo_Location::MergeImpl,
      Super_::GetNewImpl<SourceCodeInfo_Location>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &SourceCodeInfo_Location::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo_Location, _impl_._cached_size_),
      &file_reflection_data[31],
  };
}
struct SourceCodeInfo_LocationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   SourceCodeInfo_LocationGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<SourceCodeInfo_Location>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SourceCodeInfo_Location>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) SourceCodeInfo_LocationGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~SourceCodeInfo_LocationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SourceCodeInfo_Location _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SourceCodeInfo_Location>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(SourceCodeInfo_LocationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceCodeInfo_LocationGlobalsTypeInternal SourceCodeInfo_Location_globals_
        ;
class GeneratedCodeInfo_Annotation::_Internal {
 public:
  using HasBits = decltype(::std::declval<GeneratedCodeInfo_Annotation>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_._has_bits_);

  static constexpr GeneratedCodeInfo_Annotation::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr GeneratedCodeInfo_Annotation::ParseTableT_ GeneratedCodeInfo_Annotation::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated int32 path = 1 [packed = true];
      {::_pbi::TcParser::FastV32P1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.path_)}},
      // optional string source_file = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.source_file_)}},
      // optional int32 begin = 3;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GeneratedCodeInfo_Annotation, _impl_.begin_), 2>(),
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.begin_)}},
      // optional int32 end = 4;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GeneratedCodeInfo_Annotation, _impl_.end_), 3>(),
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.end_)}},
      // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
      {::_pbi::TcParser::FastEr0S1,
       {40, 4, 2,
        PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.semantic_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated int32 path = 1 [packed = true];
      {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.path_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
      // optional string source_file = 2;
      {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.source_file_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 begin = 3;
      {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.begin_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 end = 4;
      {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.end_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
      {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.semantic_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr GeneratedCodeInfo_Annotation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : path_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::GeneratedCodeInfo_Annotation,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.path_)>()
         }
        ,
        source_file_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        begin_{0},
        end_{0},
        semantic_{static_cast< ::google::protobuf::GeneratedCodeInfo_Annotation_Semantic >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL GeneratedCodeInfo_Annotation::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GeneratedCodeInfo_Annotation(arena);
}
constexpr auto GeneratedCodeInfo_Annotation::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GeneratedCodeInfo_Annotation), alignof(GeneratedCodeInfo_Annotation));
}
constexpr auto GeneratedCodeInfo_Annotation::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &GeneratedCodeInfo_Annotation::MergeImpl,
      Super_::GetNewImpl<GeneratedCodeInfo_Annotation>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &GeneratedCodeInfo_Annotation::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_._cached_size_),
      &file_reflection_data[33],
  };
}
struct GeneratedCodeInfo_AnnotationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   GeneratedCodeInfo_AnnotationGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<GeneratedCodeInfo_Annotation>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GeneratedCodeInfo_Annotation>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) GeneratedCodeInfo_AnnotationGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~GeneratedCodeInfo_AnnotationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GeneratedCodeInfo_Annotation _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GeneratedCodeInfo_Annotation>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_AnnotationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GeneratedCodeInfo_AnnotationGlobalsTypeInternal GeneratedCodeInfo_Annotation_globals_
        ;
class FieldOptions_FeatureSupport::_Internal {
 public:
  using HasBits = decltype(::std::declval<FieldOptions_FeatureSupport>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._has_bits_);

  static constexpr FieldOptions_FeatureSupport::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FieldOptions_FeatureSupport::ParseTableT_ FieldOptions_FeatureSupport::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .google.protobuf.Edition edition_introduced = 1;
      {::_pbi::TcParser::FastEvS1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_)}},
      // optional .google.protobuf.Edition edition_deprecated = 2;
      {::_pbi::TcParser::FastEvS1,
       {16, 3, 1,
        PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_deprecated_)}},
      // optional string deprecation_warning = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.deprecation_warning_)}},
      // optional .google.protobuf.Edition edition_removed = 4;
      {::_pbi::TcParser::FastEvS1,
       {32, 4, 2,
        PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_)}},
      // optional string removal_error = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 1, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.removal_error_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .google.protobuf.Edition edition_introduced = 1;
      {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // optional .google.protobuf.Edition edition_deprecated = 2;
      {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_deprecated_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // optional string deprecation_warning = 3;
      {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.deprecation_warning_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .google.protobuf.Edition edition_removed = 4;
      {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_), _Internal::kHasBitsOffset + 4, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // optional string removal_error = 5;
      {PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.removal_error_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr FieldOptions_FeatureSupport::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : deprecation_warning_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        removal_error_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        edition_introduced_{static_cast< ::google::protobuf::Edition >(0)},
        edition_deprecated_{static_cast< ::google::protobuf::Edition >(0)},
        edition_removed_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FieldOptions_FeatureSupport::FieldOptions_FeatureSupport(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FieldOptions_FeatureSupport::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FieldOptions_FeatureSupport(arena);
}
constexpr auto FieldOptions_FeatureSupport::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FieldOptions_FeatureSupport), alignof(FieldOptions_FeatureSupport));
}
constexpr auto FieldOptions_FeatureSupport::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &FieldOptions_FeatureSupport::MergeImpl,
      Super_::GetNewImpl<FieldOptions_FeatureSupport>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FieldOptions_FeatureSupport::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_._cached_size_),
      &file_reflection_data[17],
  };
}
struct FieldOptions_FeatureSupportGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FieldOptions_FeatureSupportGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FieldOptions_FeatureSupport>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FieldOptions_FeatureSupport>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FieldOptions_FeatureSupportGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FieldOptions_FeatureSupportGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FieldOptions_FeatureSupport _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FieldOptions_FeatureSupport>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupportGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptions_FeatureSupportGlobalsTypeInternal FieldOptions_FeatureSupport_globals_
        ;
class FieldOptions_EditionDefault::_Internal {
 public:
  using HasBits = decltype(::std::declval<FieldOptions_EditionDefault>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_._has_bits_);

  static constexpr FieldOptions_EditionDefault::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FieldOptions_EditionDefault::ParseTableT_ FieldOptions_EditionDefault::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_._has_bits_),
      0, // no _extensions_
      3, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967289,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // optional string value = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_.value_)}},
      // optional .google.protobuf.Edition edition = 3;
      {::_pbi::TcParser::FastEvS1,
       {24, 1, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_.edition_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string value = 2;
      {PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .google.protobuf.Edition edition = 3;
      {PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_.edition_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    }},
    {{
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr FieldOptions_EditionDefault::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        edition_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FieldOptions_EditionDefault::FieldOptions_EditionDefault(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FieldOptions_EditionDefault::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FieldOptions_EditionDefault(arena);
}
constexpr auto FieldOptions_EditionDefault::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FieldOptions_EditionDefault), alignof(FieldOptions_EditionDefault));
}
constexpr auto FieldOptions_EditionDefault::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &FieldOptions_EditionDefault::MergeImpl,
      Super_::GetNewImpl<FieldOptions_EditionDefault>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FieldOptions_EditionDefault::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefault, _impl_._cached_size_),
      &file_reflection_data[16],
  };
}
struct FieldOptions_EditionDefaultGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FieldOptions_EditionDefaultGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FieldOptions_EditionDefault>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FieldOptions_EditionDefault>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FieldOptions_EditionDefaultGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FieldOptions_EditionDefaultGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FieldOptions_EditionDefault _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FieldOptions_EditionDefault>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FieldOptions_EditionDefaultGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptions_EditionDefaultGlobalsTypeInternal FieldOptions_EditionDefault_globals_
        ;
class FeatureSet_VisibilityFeature::_Internal {
 public:

  static constexpr FeatureSet_VisibilityFeature::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FeatureSet_VisibilityFeature::ParseTableT_ FeatureSet_VisibilityFeature::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FeatureSet_VisibilityFeature,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FeatureSet_VisibilityFeature::FeatureSet_VisibilityFeature(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
      ) {
}
inline void* PROTOBUF_NONNULL FeatureSet_VisibilityFeature::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FeatureSet_VisibilityFeature(arena);
}
constexpr auto FeatureSet_VisibilityFeature::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(FeatureSet_VisibilityFeature), alignof(FeatureSet_VisibilityFeature));
}
constexpr auto FeatureSet_VisibilityFeature::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &FeatureSet_VisibilityFeature::MergeImpl,
      Super_::GetNewImpl<FeatureSet_VisibilityFeature>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FeatureSet_VisibilityFeature::Helpers_::SharedDtor,
      &FeatureSet_VisibilityFeature::Clear, &FeatureSet_VisibilityFeature::ByteSizeLong, &FeatureSet_VisibilityFeature::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FeatureSet_VisibilityFeature, _impl_._cached_size_),
      &file_reflection_data[26],
  };
}
struct FeatureSet_VisibilityFeatureGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FeatureSet_VisibilityFeatureGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FeatureSet_VisibilityFeature>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FeatureSet_VisibilityFeature>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FeatureSet_VisibilityFeatureGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FeatureSet_VisibilityFeatureGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FeatureSet_VisibilityFeature _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FeatureSet_VisibilityFeature>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FeatureSet_VisibilityFeatureGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeatureSet_VisibilityFeatureGlobalsTypeInternal FeatureSet_VisibilityFeature_globals_
        ;
class FeatureSet_ProtoLimitsFeature::_Internal {
 public:

  static constexpr FeatureSet_ProtoLimitsFeature::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FeatureSet_ProtoLimitsFeature::ParseTableT_ FeatureSet_ProtoLimitsFeature::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FeatureSet_ProtoLimitsFeature,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      0, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_names),  // no field_entries
      0,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FeatureSet_ProtoLimitsFeature::FeatureSet_ProtoLimitsFeature(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
      ) {
}
inline void* PROTOBUF_NONNULL FeatureSet_ProtoLimitsFeature::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FeatureSet_ProtoLimitsFeature(arena);
}
constexpr auto FeatureSet_ProtoLimitsFeature::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(FeatureSet_ProtoLimitsFeature), alignof(FeatureSet_ProtoLimitsFeature));
}
constexpr auto FeatureSet_ProtoLimitsFeature::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &FeatureSet_ProtoLimitsFeature::MergeImpl,
      Super_::GetNewImpl<FeatureSet_ProtoLimitsFeature>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FeatureSet_ProtoLimitsFeature::Helpers_::SharedDtor,
      &FeatureSet_ProtoLimitsFeature::Clear, &FeatureSet_ProtoLimitsFeature::ByteSizeLong, &FeatureSet_ProtoLimitsFeature::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FeatureSet_ProtoLimitsFeature, _impl_._cached_size_),
      &file_reflection_data[27],
  };
}
struct FeatureSet_ProtoLimitsFeatureGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FeatureSet_ProtoLimitsFeatureGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FeatureSet_ProtoLimitsFeature>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FeatureSet_ProtoLimitsFeature>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FeatureSet_ProtoLimitsFeatureGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FeatureSet_ProtoLimitsFeatureGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FeatureSet_ProtoLimitsFeature _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FeatureSet_ProtoLimitsFeature>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FeatureSet_ProtoLimitsFeatureGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeatureSet_ProtoLimitsFeatureGlobalsTypeInternal FeatureSet_ProtoLimitsFeature_globals_
        ;
class FeatureSet::_Internal {
 public:
  using HasBits = decltype(::std::declval<FeatureSet>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._has_bits_);

  static constexpr FeatureSet::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FeatureSet::ParseTableT_ FeatureSet::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._extensions_),
      9, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966784,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // num_field_entries
      9,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
      {::_pbi::TcParser::FastEr0S1,
       {8, 0, 3,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.field_presence_)}},
      // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 2,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enum_type_)}},
      // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
      {::_pbi::TcParser::FastEr0S1,
       {24, 2, 2,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.repeated_field_encoding_)}},
      // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
      {::_pbi::TcParser::FastEvS1,
       {32, 3, 3,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.utf8_validation_)}},
      // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
      {::_pbi::TcParser::FastEr0S1,
       {40, 4, 2,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.message_encoding_)}},
      // 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 = {
      {::_pbi::TcParser::FastEr0S1,
       {48, 5, 2,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.json_format_)}},
      // optional .google.protobuf.FeatureSet.EnforceNamingStyle enforce_naming_style = 7 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, targets = TARGET_TYPE_EXTENSION_RANGE, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_ENUM_ENTRY, targets = TARGET_TYPE_SERVICE, targets = TARGET_TYPE_METHOD, edition_defaults = {
      {::_pbi::TcParser::FastEr0S1,
       {56, 6, 3,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enforce_naming_style_)}},
      // optional .google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility = 8 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, edition_defaults = {
      {::_pbi::TcParser::FastEr0S1,
       {64, 7, 4,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.default_symbol_visibility_)}},
      // optional .google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits enforce_proto_limits = 9 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, edition_defaults = {
      {::_pbi::TcParser::FastEr0S1,
       {72, 8, 2,
        PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enforce_proto_limits_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.field_presence_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enum_type_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.repeated_field_encoding_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.utf8_validation_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.message_encoding_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // 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 = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.json_format_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FeatureSet.EnforceNamingStyle enforce_naming_style = 7 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, targets = TARGET_TYPE_EXTENSION_RANGE, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_ENUM_ENTRY, targets = TARGET_TYPE_SERVICE, targets = TARGET_TYPE_METHOD, edition_defaults = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enforce_naming_style_), _Internal::kHasBitsOffset + 6, 6, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility = 8 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, edition_defaults = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.default_symbol_visibility_), _Internal::kHasBitsOffset + 7, 7, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits enforce_proto_limits = 9 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, edition_defaults = {
      {PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enforce_proto_limits_), _Internal::kHasBitsOffset + 8, 8, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {0, 3},
        {0, 2},
        {0, 2},
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::FeatureSet_Utf8Validation_internal_data_},
        {0, 2},
        {0, 2},
        {0, 3},
        {0, 4},
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr FeatureSet::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : field_presence_{static_cast< ::google::protobuf::FeatureSet_FieldPresence >(0)},
        enum_type_{static_cast< ::google::protobuf::FeatureSet_EnumType >(0)},
        repeated_field_encoding_{static_cast< ::google::protobuf::FeatureSet_RepeatedFieldEncoding >(0)},
        utf8_validation_{static_cast< ::google::protobuf::FeatureSet_Utf8Validation >(0)},
        message_encoding_{static_cast< ::google::protobuf::FeatureSet_MessageEncoding >(0)},
        json_format_{static_cast< ::google::protobuf::FeatureSet_JsonFormat >(0)},
        enforce_naming_style_{static_cast< ::google::protobuf::FeatureSet_EnforceNamingStyle >(0)},
        default_symbol_visibility_{static_cast< ::google::protobuf::FeatureSet_VisibilityFeature_DefaultSymbolVisibility >(0)},
        enforce_proto_limits_{static_cast< ::google::protobuf::FeatureSet_ProtoLimitsFeature_EnforceProtoLimits >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FeatureSet::FeatureSet(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FeatureSet::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FeatureSet(arena);
}
constexpr auto FeatureSet::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FeatureSet), alignof(FeatureSet));
}
constexpr auto FeatureSet::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      FeatureSet::IsInitializedImpl,
      &FeatureSet::MergeImpl,
      Super_::GetNewImpl<FeatureSet>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FeatureSet::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_._cached_size_),
      &file_reflection_data[28],
  };
}
struct FeatureSetGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FeatureSetGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FeatureSet>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FeatureSet>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FeatureSetGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FeatureSetGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FeatureSet _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FeatureSet>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FeatureSetGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeatureSetGlobalsTypeInternal FeatureSet_globals_
        ;
class ExtensionRangeOptions_Declaration::_Internal {
 public:
  using HasBits = decltype(::std::declval<ExtensionRangeOptions_Declaration>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_._has_bits_);

  static constexpr ExtensionRangeOptions_Declaration::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr ExtensionRangeOptions_Declaration::ParseTableT_ ExtensionRangeOptions_Declaration::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967240,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int32 number = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ExtensionRangeOptions_Declaration, _impl_.number_), 2>(),
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.number_)}},
      // optional string full_name = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.full_name_)}},
      // optional string type = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.type_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool reserved = 5;
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ExtensionRangeOptions_Declaration, _impl_.reserved_), 3>(),
       {40, 3, 0,
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.reserved_)}},
      // optional bool repeated = 6;
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ExtensionRangeOptions_Declaration, _impl_.repeated_), 4>(),
       {48, 4, 0,
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.repeated_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 number = 1;
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.number_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string full_name = 2;
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.full_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string type = 3;
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bool reserved = 5;
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.reserved_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool repeated = 6;
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.repeated_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr ExtensionRangeOptions_Declaration::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : full_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        number_{0},
        reserved_{false},
        repeated_{false} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ExtensionRangeOptions_Declaration::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ExtensionRangeOptions_Declaration(arena);
}
constexpr auto ExtensionRangeOptions_Declaration::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ExtensionRangeOptions_Declaration), alignof(ExtensionRangeOptions_Declaration));
}
constexpr auto ExtensionRangeOptions_Declaration::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &ExtensionRangeOptions_Declaration::MergeImpl,
      Super_::GetNewImpl<ExtensionRangeOptions_Declaration>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &ExtensionRangeOptions_Declaration::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_._cached_size_),
      &file_reflection_data[5],
  };
}
struct ExtensionRangeOptions_DeclarationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   ExtensionRangeOptions_DeclarationGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<ExtensionRangeOptions_Declaration>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ExtensionRangeOptions_Declaration>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) ExtensionRangeOptions_DeclarationGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~ExtensionRangeOptions_DeclarationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ExtensionRangeOptions_Declaration _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ExtensionRangeOptions_Declaration>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_DeclarationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExtensionRangeOptions_DeclarationGlobalsTypeInternal ExtensionRangeOptions_Declaration_globals_
        ;
class EnumDescriptorProto_EnumReservedRange::_Internal {
 public:
  using HasBits = decltype(::std::declval<EnumDescriptorProto_EnumReservedRange>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_._has_bits_);

  static constexpr EnumDescriptorProto_EnumReservedRange::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr EnumDescriptorProto_EnumReservedRange::ParseTableT_ EnumDescriptorProto_EnumReservedRange::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // optional int32 end = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumDescriptorProto_EnumReservedRange, _impl_.end_), 1>(),
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.end_)}},
      // optional int32 start = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumDescriptorProto_EnumReservedRange, _impl_.start_), 0>(),
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.start_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 start = 1;
      {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.start_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 end = 2;
      {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.end_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr EnumDescriptorProto_EnumReservedRange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : start_{0},
        end_{0} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr EnumDescriptorProto_EnumReservedRange::EnumDescriptorProto_EnumReservedRange(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL EnumDescriptorProto_EnumReservedRange::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EnumDescriptorProto_EnumReservedRange(arena);
}
constexpr auto EnumDescriptorProto_EnumReservedRange::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(EnumDescriptorProto_EnumReservedRange), alignof(EnumDescriptorProto_EnumReservedRange));
}
constexpr auto EnumDescriptorProto_EnumReservedRange::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &EnumDescriptorProto_EnumReservedRange::MergeImpl,
      Super_::GetNewImpl<EnumDescriptorProto_EnumReservedRange>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &EnumDescriptorProto_EnumReservedRange::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_._cached_size_),
      &file_reflection_data[9],
  };
}
struct EnumDescriptorProto_EnumReservedRangeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   EnumDescriptorProto_EnumReservedRangeGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<EnumDescriptorProto_EnumReservedRange>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EnumDescriptorProto_EnumReservedRange>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) EnumDescriptorProto_EnumReservedRangeGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~EnumDescriptorProto_EnumReservedRangeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EnumDescriptorProto_EnumReservedRange _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EnumDescriptorProto_EnumReservedRange>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRangeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumDescriptorProto_EnumReservedRangeGlobalsTypeInternal EnumDescriptorProto_EnumReservedRange_globals_
        ;
class DescriptorProto_ReservedRange::_Internal {
 public:
  using HasBits = decltype(::std::declval<DescriptorProto_ReservedRange>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_._has_bits_);

  static constexpr DescriptorProto_ReservedRange::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr DescriptorProto_ReservedRange::ParseTableT_ DescriptorProto_ReservedRange::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // optional int32 end = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DescriptorProto_ReservedRange, _impl_.end_), 1>(),
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.end_)}},
      // optional int32 start = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DescriptorProto_ReservedRange, _impl_.start_), 0>(),
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.start_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 start = 1;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.start_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 end = 2;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.end_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr DescriptorProto_ReservedRange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : start_{0},
        end_{0} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL DescriptorProto_ReservedRange::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DescriptorProto_ReservedRange(arena);
}
constexpr auto DescriptorProto_ReservedRange::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DescriptorProto_ReservedRange), alignof(DescriptorProto_ReservedRange));
}
constexpr auto DescriptorProto_ReservedRange::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &DescriptorProto_ReservedRange::MergeImpl,
      Super_::GetNewImpl<DescriptorProto_ReservedRange>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &DescriptorProto_ReservedRange::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_._cached_size_),
      &file_reflection_data[3],
  };
}
struct DescriptorProto_ReservedRangeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   DescriptorProto_ReservedRangeGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<DescriptorProto_ReservedRange>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DescriptorProto_ReservedRange>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) DescriptorProto_ReservedRangeGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~DescriptorProto_ReservedRangeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DescriptorProto_ReservedRange _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DescriptorProto_ReservedRange>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRangeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProto_ReservedRangeGlobalsTypeInternal DescriptorProto_ReservedRange_globals_
        ;
class UninterpretedOption::_Internal {
 public:
  using HasBits = decltype(::std::declval<UninterpretedOption>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_._has_bits_);

  static constexpr UninterpretedOption::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr UninterpretedOption::ParseTableT_ UninterpretedOption::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967041,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // optional string aggregate_value = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 3, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.aggregate_value_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
      {::_pbi::TcParser::FastMcR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.name_)}},
      // optional string identifier_value = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.identifier_value_)}},
      // optional uint64 positive_int_value = 4;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(UninterpretedOption, _impl_.positive_int_value_), 4>(),
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.positive_int_value_)}},
      // optional int64 negative_int_value = 5;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(UninterpretedOption, _impl_.negative_int_value_), 5>(),
       {40, 5, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.negative_int_value_)}},
      // optional double double_value = 6;
      {::_pbi::TcParser::FastF64S1,
       {49, 6, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.double_value_)}},
      // optional bytes string_value = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 2, 0,
        PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.string_value_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional string identifier_value = 3;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.identifier_value_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional uint64 positive_int_value = 4;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.positive_int_value_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // optional int64 negative_int_value = 5;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.negative_int_value_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional double double_value = 6;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.double_value_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
      // optional bytes string_value = 7;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.string_value_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string aggregate_value = 8;
      {PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.aggregate_value_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_NamePart_globals_},
    }},
    {{
    }},
  };
}


inline constexpr UninterpretedOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : name_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::UninterpretedOption,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.name_)>()
         }
        ,
        identifier_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        string_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        aggregate_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        positive_int_value_{::uint64_t{0u}},
        negative_int_value_{::int64_t{0}},
        double_value_{0} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr UninterpretedOption::UninterpretedOption(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL UninterpretedOption::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) UninterpretedOption(arena);
}
constexpr auto UninterpretedOption::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(UninterpretedOption), alignof(UninterpretedOption));
}
constexpr auto UninterpretedOption::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      UninterpretedOption::IsInitializedImpl,
      &UninterpretedOption::MergeImpl,
      Super_::GetNewImpl<UninterpretedOption>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &UninterpretedOption::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_._cached_size_),
      &file_reflection_data[25],
  };
}
struct UninterpretedOptionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   UninterpretedOptionGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<UninterpretedOption>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<UninterpretedOption>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) UninterpretedOptionGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~UninterpretedOptionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) UninterpretedOption _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<UninterpretedOption>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(UninterpretedOptionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UninterpretedOptionGlobalsTypeInternal UninterpretedOption_globals_
        ;
class SourceCodeInfo::_Internal {
 public:
  using HasBits = decltype(::std::declval<SourceCodeInfo>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._has_bits_);

  static constexpr SourceCodeInfo::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr SourceCodeInfo::ParseTableT_ SourceCodeInfo::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._extensions_),
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
      {::_pbi::TcParser::FastMcR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_.location_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
      {PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_.location_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::SourceCodeInfo_Location_globals_},
    }},
    {{
    }},
  };
}


inline constexpr SourceCodeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : location_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::SourceCodeInfo,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _impl_.location_)>()
         }
     {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr SourceCodeInfo::SourceCodeInfo(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SourceCodeInfo::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SourceCodeInfo(arena);
}
constexpr auto SourceCodeInfo::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SourceCodeInfo), alignof(SourceCodeInfo));
}
constexpr auto SourceCodeInfo::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      SourceCodeInfo::IsInitializedImpl,
      &SourceCodeInfo::MergeImpl,
      Super_::GetNewImpl<SourceCodeInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &SourceCodeInfo::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(SourceCodeInfo, _impl_._cached_size_),
      &file_reflection_data[32],
  };
}
struct SourceCodeInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   SourceCodeInfoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<SourceCodeInfo>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SourceCodeInfo>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) SourceCodeInfoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~SourceCodeInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SourceCodeInfo _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SourceCodeInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(SourceCodeInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SourceCodeInfoGlobalsTypeInternal SourceCodeInfo_globals_
        ;
class GeneratedCodeInfo::_Internal {
 public:
  using HasBits = decltype(::std::declval<GeneratedCodeInfo>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_._has_bits_);

  static constexpr GeneratedCodeInfo::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr GeneratedCodeInfo::ParseTableT_ GeneratedCodeInfo::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_._has_bits_),
      0, // no _extensions_
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
      {::_pbi::TcParser::FastMcR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_.annotation_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
      {PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_.annotation_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::GeneratedCodeInfo_Annotation_globals_},
    }},
    {{
    }},
  };
}


inline constexpr GeneratedCodeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : annotation_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::GeneratedCodeInfo,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo, _impl_.annotation_)>()
         }
     {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr GeneratedCodeInfo::GeneratedCodeInfo(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL GeneratedCodeInfo::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GeneratedCodeInfo(arena);
}
constexpr auto GeneratedCodeInfo::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GeneratedCodeInfo), alignof(GeneratedCodeInfo));
}
constexpr auto GeneratedCodeInfo::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      nullptr,  // IsInitialized
      &GeneratedCodeInfo::MergeImpl,
      Super_::GetNewImpl<GeneratedCodeInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &GeneratedCodeInfo::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo, _impl_._cached_size_),
      &file_reflection_data[34],
  };
}
struct GeneratedCodeInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   GeneratedCodeInfoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<GeneratedCodeInfo>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GeneratedCodeInfo>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) GeneratedCodeInfoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~GeneratedCodeInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GeneratedCodeInfo _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GeneratedCodeInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(GeneratedCodeInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GeneratedCodeInfoGlobalsTypeInternal GeneratedCodeInfo_globals_
        ;
class FeatureSetDefaults_FeatureSetEditionDefault::_Internal {
 public:
  using HasBits = decltype(::std::declval<FeatureSetDefaults_FeatureSetEditionDefault>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._has_bits_);

  static constexpr FeatureSetDefaults_FeatureSetEditionDefault::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FeatureSetDefaults_FeatureSetEditionDefault::ParseTableT_ FeatureSetDefaults_FeatureSetEditionDefault::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._has_bits_),
      0, // no _extensions_
      5, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967267,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // optional .google.protobuf.FeatureSet overridable_features = 4;
      {::_pbi::TcParser::FastMcS1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_)}},
      // optional .google.protobuf.FeatureSet fixed_features = 5;
      {::_pbi::TcParser::FastMcS1,
       {42, 1, 1,
        PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional .google.protobuf.Edition edition = 3;
      {::_pbi::TcParser::FastEvS1,
       {24, 2, 2,
        PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .google.protobuf.Edition edition = 3;
      {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // optional .google.protobuf.FeatureSet overridable_features = 4;
      {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.FeatureSet fixed_features = 5;
      {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr FeatureSetDefaults_FeatureSetEditionDefault::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : overridable_features_{nullptr},
        fixed_features_{nullptr},
        edition_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditionDefault(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FeatureSetDefaults_FeatureSetEditionDefault::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FeatureSetDefaults_FeatureSetEditionDefault(arena);
}
constexpr auto FeatureSetDefaults_FeatureSetEditionDefault::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(FeatureSetDefaults_FeatureSetEditionDefault), alignof(FeatureSetDefaults_FeatureSetEditionDefault));
}
constexpr auto FeatureSetDefaults_FeatureSetEditionDefault::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      FeatureSetDefaults_FeatureSetEditionDefault::IsInitializedImpl,
      &FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl,
      Super_::GetNewImpl<FeatureSetDefaults_FeatureSetEditionDefault>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FeatureSetDefaults_FeatureSetEditionDefault::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_._cached_size_),
      &file_reflection_data[29],
  };
}
struct FeatureSetDefaults_FeatureSetEditionDefaultGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FeatureSetDefaults_FeatureSetEditionDefaultGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FeatureSetDefaults_FeatureSetEditionDefault>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FeatureSetDefaults_FeatureSetEditionDefault>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FeatureSetDefaults_FeatureSetEditionDefaultGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FeatureSetDefaults_FeatureSetEditionDefaultGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FeatureSetDefaults_FeatureSetEditionDefault _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FeatureSetDefaults_FeatureSetEditionDefault>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefaultGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeatureSetDefaults_FeatureSetEditionDefaultGlobalsTypeInternal FeatureSetDefaults_FeatureSetEditionDefault_globals_
        ;
class ServiceOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<ServiceOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._has_bits_);

  static constexpr ServiceOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr ServiceOptions::ParseTableT_ ServiceOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._extensions_),
      999, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool deprecated = 33 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {648, 2, 0,
        PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.deprecated_)}},
      // optional .google.protobuf.FeatureSet features = 34;
      {::_pbi::TcParser::FastMcS2,
       {658, 1, 0,
        PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.features_)}},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {::_pbi::TcParser::FastMcR2,
       {16058, 0, 1,
        PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.uninterpreted_option_)}},
    }}, {{
      33, 0, 1,
      65532, 0,
      999, 0, 1,
      65534, 2,
      65535, 65535
    }}, {{
      // optional bool deprecated = 33 [default = false];
      {PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .google.protobuf.FeatureSet features = 34;
      {PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.features_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
    }},
    {{
    }},
  };
}


inline constexpr ServiceOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::ServiceOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.uninterpreted_option_)>()
         }
        ,
        features_{nullptr},
        deprecated_{false} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr ServiceOptions::ServiceOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ServiceOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ServiceOptions(arena);
}
constexpr auto ServiceOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ServiceOptions), alignof(ServiceOptions));
}
constexpr auto ServiceOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      ServiceOptions::IsInitializedImpl,
      &ServiceOptions::MergeImpl,
      Super_::GetNewImpl<ServiceOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &ServiceOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_._cached_size_),
      &file_reflection_data[22],
  };
}
struct ServiceOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   ServiceOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<ServiceOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ServiceOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) ServiceOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~ServiceOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ServiceOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ServiceOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(ServiceOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ServiceOptionsGlobalsTypeInternal ServiceOptions_globals_
        ;
class OneofOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<OneofOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._has_bits_);

  static constexpr OneofOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr OneofOptions::ParseTableT_ OneofOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._extensions_),
      999, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .google.protobuf.FeatureSet features = 1;
      {::_pbi::TcParser::FastMcS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.features_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {::_pbi::TcParser::FastMcR2,
       {16058, 0, 1,
        PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.uninterpreted_option_)}},
    }}, {{
      999, 0, 1,
      65534, 1,
      65535, 65535
    }}, {{
      // optional .google.protobuf.FeatureSet features = 1;
      {PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.features_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
    }},
    {{
    }},
  };
}


inline constexpr OneofOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::OneofOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_.uninterpreted_option_)>()
         }
        ,
        features_{nullptr} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr OneofOptions::OneofOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL OneofOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) OneofOptions(arena);
}
constexpr auto OneofOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(OneofOptions), alignof(OneofOptions));
}
constexpr auto OneofOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      OneofOptions::IsInitializedImpl,
      &OneofOptions::MergeImpl,
      Super_::GetNewImpl<OneofOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &OneofOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(OneofOptions, _impl_._cached_size_),
      &file_reflection_data[19],
  };
}
struct OneofOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   OneofOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<OneofOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<OneofOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) OneofOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~OneofOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) OneofOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<OneofOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(OneofOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofOptionsGlobalsTypeInternal OneofOptions_globals_
        ;
class MethodOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<MethodOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._has_bits_);

  static constexpr MethodOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr MethodOptions::ParseTableT_ MethodOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._extensions_),
      999, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967295,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool deprecated = 33 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {648, 2, 0,
        PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.deprecated_)}},
      // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
      {::_pbi::TcParser::FastEr0S2,
       {656, 3, 2,
        PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.idempotency_level_)}},
      // optional .google.protobuf.FeatureSet features = 35;
      {::_pbi::TcParser::FastMcS2,
       {666, 1, 0,
        PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.features_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {::_pbi::TcParser::FastMcR2,
       {16058, 0, 1,
        PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.uninterpreted_option_)}},
    }}, {{
      33, 0, 1,
      65528, 0,
      999, 0, 1,
      65534, 3,
      65535, 65535
    }}, {{
      // optional bool deprecated = 33 [default = false];
      {PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
      {PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.idempotency_level_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FeatureSet features = 35;
      {PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.features_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr MethodOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::MethodOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.uninterpreted_option_)>()
         }
        ,
        features_{nullptr},
        deprecated_{false},
        idempotency_level_{static_cast< ::google::protobuf::MethodOptions_IdempotencyLevel >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr MethodOptions::MethodOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL MethodOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MethodOptions(arena);
}
constexpr auto MethodOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MethodOptions), alignof(MethodOptions));
}
constexpr auto MethodOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      MethodOptions::IsInitializedImpl,
      &MethodOptions::MergeImpl,
      Super_::GetNewImpl<MethodOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &MethodOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_._cached_size_),
      &file_reflection_data[23],
  };
}
struct MethodOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   MethodOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<MethodOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MethodOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) MethodOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~MethodOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MethodOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MethodOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(MethodOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MethodOptionsGlobalsTypeInternal MethodOptions_globals_
        ;
class MessageOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<MessageOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._has_bits_);

  static constexpr MessageOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr MessageOptions::ParseTableT_ MessageOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._extensions_),
      999, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294964152,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool message_set_wire_format = 1 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MessageOptions, _impl_.message_set_wire_format_), 1>(),
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.message_set_wire_format_)}},
      // optional bool no_standard_descriptor_accessor = 2 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MessageOptions, _impl_.no_standard_descriptor_accessor_), 2>(),
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.no_standard_descriptor_accessor_)}},
      // optional bool deprecated = 3 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MessageOptions, _impl_.deprecated_), 3>(),
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.deprecated_)}},
      // optional .google.protobuf.FeatureSet features = 12;
      {::_pbi::TcParser::FastMcS1,
       {98, 0, 0,
        PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.features_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool map_entry = 7;
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MessageOptions, _impl_.map_entry_), 4>(),
       {56, 4, 0,
        PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.map_entry_)}},
    }}, {{
      999, 0, 1,
      65534, 6,
      65535, 65535
    }}, {{
      // optional bool message_set_wire_format = 1 [default = false];
      {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.message_set_wire_format_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool no_standard_descriptor_accessor = 2 [default = false];
      {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.no_standard_descriptor_accessor_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool deprecated = 3 [default = false];
      {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool map_entry = 7;
      {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.map_entry_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.deprecated_legacy_json_field_conflicts_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .google.protobuf.FeatureSet features = 12;
      {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 6, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
    }},
    {{
    }},
  };
}


inline constexpr MessageOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : features_{nullptr},
        message_set_wire_format_{false},
        no_standard_descriptor_accessor_{false},
        deprecated_{false},
        map_entry_{false},
        deprecated_legacy_json_field_conflicts_{false},
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::MessageOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.uninterpreted_option_)>()
         }
     {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr MessageOptions::MessageOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL MessageOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MessageOptions(arena);
}
constexpr auto MessageOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MessageOptions), alignof(MessageOptions));
}
constexpr auto MessageOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      MessageOptions::IsInitializedImpl,
      &MessageOptions::MergeImpl,
      Super_::GetNewImpl<MessageOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &MessageOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_._cached_size_),
      &file_reflection_data[15],
  };
}
struct MessageOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   MessageOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<MessageOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MessageOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) MessageOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~MessageOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MessageOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MessageOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(MessageOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MessageOptionsGlobalsTypeInternal MessageOptions_globals_
        ;
class FileOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<FileOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._has_bits_);

  static constexpr FileOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FileOptions::ParseTableT_ FileOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._extensions_),
      999, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      3149166718,  // skipmap
      offsetof(ParseTableT_, field_entries),
      21,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string java_package = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_package_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional string java_outer_classname = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 1, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_outer_classname_)}},
      // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
      {::_pbi::TcParser::FastEr1S1,
       {72, 18, 3,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.optimize_for_)}},
      // optional bool java_multiple_files = 10 [default = false, feature_support = {
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FileOptions, _impl_.java_multiple_files_), 11>(),
       {80, 11, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_multiple_files_)}},
      // optional string go_package = 11;
      {::_pbi::TcParser::FastBS1,
       {90, 2, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.go_package_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool cc_generic_services = 16 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {384, 12, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_generic_services_)}},
      // optional bool java_generic_services = 17 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {392, 13, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_generic_services_)}},
      // optional bool py_generic_services = 18 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {400, 14, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.py_generic_services_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
      {::_pbi::TcParser::FastV8S2,
       {416, 15, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_generate_equals_and_hash_)}},
      // optional string csharp_namespace = 37;
      {::_pbi::TcParser::FastBS2,
       {682, 4, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.csharp_namespace_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool deprecated = 23 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {440, 16, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.deprecated_)}},
      // optional string php_class_prefix = 40;
      {::_pbi::TcParser::FastBS2,
       {706, 6, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_class_prefix_)}},
      // optional string php_namespace = 41;
      {::_pbi::TcParser::FastBS2,
       {714, 7, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_namespace_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool java_string_check_utf8 = 27 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {472, 17, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_string_check_utf8_)}},
      // optional string php_metadata_namespace = 44;
      {::_pbi::TcParser::FastBS2,
       {738, 8, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_metadata_namespace_)}},
      // optional string ruby_package = 45;
      {::_pbi::TcParser::FastBS2,
       {746, 9, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.ruby_package_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool cc_enable_arenas = 31 [default = true, feature_support = {
      {::_pbi::TcParser::FastV8S2,
       {504, 19, 0,
        PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_enable_arenas_)}},
    }}, {{
      36, 0, 1,
      48324, 12,
      999, 0, 1,
      65534, 20,
      65535, 65535
    }}, {{
      // optional string java_package = 1;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_package_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string java_outer_classname = 8;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_outer_classname_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.optimize_for_), _Internal::kHasBitsOffset + 18, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional bool java_multiple_files = 10 [default = false, feature_support = {
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_multiple_files_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional string go_package = 11;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.go_package_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bool cc_generic_services = 16 [default = false];
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_generic_services_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool java_generic_services = 17 [default = false];
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_generic_services_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool py_generic_services = 18 [default = false];
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.py_generic_services_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_generate_equals_and_hash_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool deprecated = 23 [default = false];
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool java_string_check_utf8 = 27 [default = false];
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.java_string_check_utf8_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool cc_enable_arenas = 31 [default = true, feature_support = {
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_enable_arenas_), _Internal::kHasBitsOffset + 19, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional string objc_class_prefix = 36;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.objc_class_prefix_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string csharp_namespace = 37;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.csharp_namespace_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string swift_prefix = 39;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.swift_prefix_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string php_class_prefix = 40;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_class_prefix_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string php_namespace = 41;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_namespace_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string php_metadata_namespace = 44;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.php_metadata_namespace_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string ruby_package = 45;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.ruby_package_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .google.protobuf.FeatureSet features = 50;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.features_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 20, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
        {1, 3},
    }},
    {{
    }},
  };
}


inline constexpr FileOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : java_package_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        java_outer_classname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        go_package_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        objc_class_prefix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        csharp_namespace_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        swift_prefix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        php_class_prefix_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        php_namespace_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        php_metadata_namespace_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ruby_package_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        features_{nullptr},
        java_multiple_files_{false},
        cc_generic_services_{false},
        java_generic_services_{false},
        py_generic_services_{false},
        java_generate_equals_and_hash_{false},
        deprecated_{false},
        java_string_check_utf8_{false},
        optimize_for_{static_cast< ::google::protobuf::FileOptions_OptimizeMode >(1)},
        cc_enable_arenas_{true},
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.uninterpreted_option_)>()
         }
     {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FileOptions::FileOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FileOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FileOptions(arena);
}
constexpr auto FileOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FileOptions), alignof(FileOptions));
}
constexpr auto FileOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      FileOptions::IsInitializedImpl,
      &FileOptions::MergeImpl,
      Super_::GetNewImpl<FileOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FileOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FileOptions, _impl_._cached_size_),
      &file_reflection_data[14],
  };
}
struct FileOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FileOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FileOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FileOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FileOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FileOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FileOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FileOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FileOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileOptionsGlobalsTypeInternal FileOptions_globals_
        ;
class FieldOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<FieldOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._has_bits_);

  static constexpr FieldOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FieldOptions::ParseTableT_ FieldOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._extensions_),
      999, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4290919880,  // skipmap
      offsetof(ParseTableT_, field_entries),
      14,  // num_field_entries
      8,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      // optional bool debug_redact = 16 [default = false];
      {::_pbi::TcParser::FastV8S2,
       {384, 11, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.debug_redact_)}},
      // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
      {::_pbi::TcParser::FastEr0S1,
       {8, 4, 2,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.ctype_)}},
      // optional bool packed = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.packed_), 5>(),
       {16, 5, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.packed_)}},
      // optional bool deprecated = 3 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.deprecated_), 6>(),
       {24, 6, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.deprecated_)}},
      // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
      {::_pbi::TcParser::FastMcR2,
       {418, 0, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.edition_defaults_)}},
      // optional bool lazy = 5 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.lazy_), 7>(),
       {40, 7, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.lazy_)}},
      // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
      {::_pbi::TcParser::FastEr0S1,
       {48, 9, 2,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.jstype_)}},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {::_pbi::TcParser::FastMcR2,
       {16058, 1, 3,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool weak = 10 [default = false, deprecated = true];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.weak_), 8>(),
       {80, 8, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.weak_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool unverified_lazy = 15 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FieldOptions, _impl_.unverified_lazy_), 10>(),
       {120, 10, 0,
        PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.unverified_lazy_)}},
    }}, {{
      999, 0, 1,
      65534, 13,
      65535, 65535
    }}, {{
      // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.ctype_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional bool packed = 2;
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.packed_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool deprecated = 3 [default = false];
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool lazy = 5 [default = false];
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.lazy_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.jstype_), _Internal::kHasBitsOffset + 9, 5, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional bool weak = 10 [default = false, deprecated = true];
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.weak_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool unverified_lazy = 15 [default = false];
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.unverified_lazy_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool debug_redact = 16 [default = false];
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.debug_redact_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.retention_), _Internal::kHasBitsOffset + 12, 6, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.targets_), _Internal::kHasBitsOffset + 13, 7, (0 | ::_fl::kFcRepeated | ::_fl::kEnumRange)},
      // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.edition_defaults_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.FeatureSet features = 21;
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.features_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.feature_support_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 1, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FieldOptions_EditionDefault_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FieldOptions_FeatureSupport_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
        {0, 2},
        {0, 2},
        {0, 2},
        {0, 9},
    }},
    {{
    }},
  };
}


inline constexpr FieldOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : edition_defaults_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FieldOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.edition_defaults_)>()
         }
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FieldOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.uninterpreted_option_)>()
         }
        ,
        features_{nullptr},
        feature_support_{nullptr},
        ctype_{static_cast< ::google::protobuf::FieldOptions_CType >(0)},
        packed_{false},
        deprecated_{false},
        lazy_{false},
        weak_{false},
        jstype_{static_cast< ::google::protobuf::FieldOptions_JSType >(0)},
        unverified_lazy_{false},
        debug_redact_{false},
        retention_{static_cast< ::google::protobuf::FieldOptions_OptionRetention >(0)},
        targets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FieldOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.targets_)>()
         }
     {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FieldOptions::FieldOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FieldOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FieldOptions(arena);
}
constexpr auto FieldOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FieldOptions), alignof(FieldOptions));
}
constexpr auto FieldOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      FieldOptions::IsInitializedImpl,
      &FieldOptions::MergeImpl,
      Super_::GetNewImpl<FieldOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FieldOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_._cached_size_),
      &file_reflection_data[18],
  };
}
struct FieldOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FieldOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FieldOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FieldOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FieldOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FieldOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FieldOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FieldOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FieldOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldOptionsGlobalsTypeInternal FieldOptions_globals_
        ;
class FeatureSetDefaults::_Internal {
 public:
  using HasBits = decltype(::std::declval<FeatureSetDefaults>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_._has_bits_);

  static constexpr FeatureSetDefaults::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FeatureSetDefaults::ParseTableT_ FeatureSetDefaults::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_._has_bits_),
      0, // no _extensions_
      5, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967270,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // optional .google.protobuf.Edition minimum_edition = 4;
      {::_pbi::TcParser::FastEvS1,
       {32, 1, 1,
        PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.minimum_edition_)}},
      // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
      {::_pbi::TcParser::FastMcR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.defaults_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
      {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.defaults_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.Edition minimum_edition = 4;
      {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.minimum_edition_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // optional .google.protobuf.Edition maximum_edition = 5;
      {PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.maximum_edition_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault_globals_},
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr FeatureSetDefaults::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : defaults_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FeatureSetDefaults,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.defaults_)>()
         }
        ,
        minimum_edition_{static_cast< ::google::protobuf::Edition >(0)},
        maximum_edition_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FeatureSetDefaults::FeatureSetDefaults(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FeatureSetDefaults::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FeatureSetDefaults(arena);
}
constexpr auto FeatureSetDefaults::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FeatureSetDefaults), alignof(FeatureSetDefaults));
}
constexpr auto FeatureSetDefaults::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      FeatureSetDefaults::IsInitializedImpl,
      &FeatureSetDefaults::MergeImpl,
      Super_::GetNewImpl<FeatureSetDefaults>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FeatureSetDefaults::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_._cached_size_),
      &file_reflection_data[30],
  };
}
struct FeatureSetDefaultsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FeatureSetDefaultsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FeatureSetDefaults>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FeatureSetDefaults>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FeatureSetDefaultsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FeatureSetDefaultsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FeatureSetDefaults _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FeatureSetDefaults>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FeatureSetDefaultsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FeatureSetDefaultsGlobalsTypeInternal FeatureSetDefaults_globals_
        ;
class ExtensionRangeOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<ExtensionRangeOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._has_bits_);

  static constexpr ExtensionRangeOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr ExtensionRangeOptions::ParseTableT_ ExtensionRangeOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._extensions_),
      999, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967289,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
      {::_pbi::TcParser::FastMcR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.declaration_)}},
      // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
      {::_pbi::TcParser::FastEr0S1,
       {24, 3, 1,
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.verification_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {::_pbi::TcParser::FastMcR2,
       {16058, 1, 2,
        PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.uninterpreted_option_)}},
    }}, {{
      50, 0, 1,
      65534, 2,
      999, 0, 1,
      65534, 3,
      65535, 65535
    }}, {{
      // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.declaration_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.verification_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FeatureSet features = 50;
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.features_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 1, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::ExtensionRangeOptions_Declaration_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
        {0, 1},
    }},
    {{
    }},
  };
}


inline constexpr ExtensionRangeOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : declaration_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::ExtensionRangeOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.declaration_)>()
         }
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::ExtensionRangeOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.uninterpreted_option_)>()
         }
        ,
        features_{nullptr},
        verification_{static_cast< ::google::protobuf::ExtensionRangeOptions_VerificationState >(1)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr ExtensionRangeOptions::ExtensionRangeOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ExtensionRangeOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ExtensionRangeOptions(arena);
}
constexpr auto ExtensionRangeOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ExtensionRangeOptions), alignof(ExtensionRangeOptions));
}
constexpr auto ExtensionRangeOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      ExtensionRangeOptions::IsInitializedImpl,
      &ExtensionRangeOptions::MergeImpl,
      Super_::GetNewImpl<ExtensionRangeOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &ExtensionRangeOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_._cached_size_),
      &file_reflection_data[6],
  };
}
struct ExtensionRangeOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   ExtensionRangeOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<ExtensionRangeOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ExtensionRangeOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) ExtensionRangeOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~ExtensionRangeOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ExtensionRangeOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ExtensionRangeOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(ExtensionRangeOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExtensionRangeOptionsGlobalsTypeInternal ExtensionRangeOptions_globals_
        ;
class EnumValueOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<EnumValueOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._has_bits_);

  static constexpr EnumValueOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr EnumValueOptions::ParseTableT_ EnumValueOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._extensions_),
      999, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool deprecated = 1 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumValueOptions, _impl_.deprecated_), 3>(),
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.deprecated_)}},
      // optional .google.protobuf.FeatureSet features = 2;
      {::_pbi::TcParser::FastMcS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.features_)}},
      // optional bool debug_redact = 3 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumValueOptions, _impl_.debug_redact_), 4>(),
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.debug_redact_)}},
      // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
      {::_pbi::TcParser::FastMcS1,
       {34, 2, 1,
        PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.feature_support_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {::_pbi::TcParser::FastMcR2,
       {16058, 0, 2,
        PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.uninterpreted_option_)}},
    }}, {{
      999, 0, 1,
      65534, 4,
      65535, 65535
    }}, {{
      // optional bool deprecated = 1 [default = false];
      {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .google.protobuf.FeatureSet features = 2;
      {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.features_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional bool debug_redact = 3 [default = false];
      {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.debug_redact_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
      {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.feature_support_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 0, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FieldOptions_FeatureSupport_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
    }},
    {{
    }},
  };
}


inline constexpr EnumValueOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumValueOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.uninterpreted_option_)>()
         }
        ,
        features_{nullptr},
        feature_support_{nullptr},
        deprecated_{false},
        debug_redact_{false} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr EnumValueOptions::EnumValueOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL EnumValueOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EnumValueOptions(arena);
}
constexpr auto EnumValueOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EnumValueOptions), alignof(EnumValueOptions));
}
constexpr auto EnumValueOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      EnumValueOptions::IsInitializedImpl,
      &EnumValueOptions::MergeImpl,
      Super_::GetNewImpl<EnumValueOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &EnumValueOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_._cached_size_),
      &file_reflection_data[21],
  };
}
struct EnumValueOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   EnumValueOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<EnumValueOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EnumValueOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) EnumValueOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~EnumValueOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EnumValueOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EnumValueOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(EnumValueOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueOptionsGlobalsTypeInternal EnumValueOptions_globals_
        ;
class EnumOptions::_Internal {
 public:
  using HasBits = decltype(::std::declval<EnumOptions>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._has_bits_);

  static constexpr EnumOptions::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr EnumOptions::ParseTableT_ EnumOptions::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._extensions_),
      999, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967193,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool allow_alias = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumOptions, _impl_.allow_alias_), 1>(),
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.allow_alias_)}},
      // optional bool deprecated = 3 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumOptions, _impl_.deprecated_), 2>(),
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_), 3>(),
       {48, 3, 0,
        PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_)}},
      // optional .google.protobuf.FeatureSet features = 7;
      {::_pbi::TcParser::FastMcS1,
       {58, 0, 0,
        PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.features_)}},
    }}, {{
      999, 0, 1,
      65534, 4,
      65535, 65535
    }}, {{
      // optional bool allow_alias = 2;
      {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.allow_alias_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool deprecated = 3 [default = false];
      {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional .google.protobuf.FeatureSet features = 7;
      {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.features_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
      {PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.uninterpreted_option_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FeatureSet_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::UninterpretedOption_globals_},
    }},
    {{
    }},
  };
}


inline constexpr EnumOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : features_{nullptr},
        allow_alias_{false},
        deprecated_{false},
        deprecated_legacy_json_field_conflicts_{false},
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.uninterpreted_option_)>()
         }
     {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr EnumOptions::EnumOptions(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL EnumOptions::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EnumOptions(arena);
}
constexpr auto EnumOptions::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EnumOptions), alignof(EnumOptions));
}
constexpr auto EnumOptions::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      EnumOptions::IsInitializedImpl,
      &EnumOptions::MergeImpl,
      Super_::GetNewImpl<EnumOptions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &EnumOptions::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_._cached_size_),
      &file_reflection_data[20],
  };
}
struct EnumOptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   EnumOptionsGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<EnumOptions>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EnumOptions>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) EnumOptionsGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~EnumOptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EnumOptions _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EnumOptions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(EnumOptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumOptionsGlobalsTypeInternal EnumOptions_globals_
        ;
class OneofDescriptorProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<OneofDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_._has_bits_);

  static constexpr OneofDescriptorProto::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr OneofDescriptorProto::ParseTableT_ OneofDescriptorProto::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      // optional .google.protobuf.OneofOptions options = 2;
      {::_pbi::TcParser::FastMcS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_.options_)}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_.name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .google.protobuf.OneofOptions options = 2;
      {PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::OneofOptions_globals_},
    }},
    {{
    }},
  };
}


inline constexpr OneofDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr OneofDescriptorProto::OneofDescriptorProto(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL OneofDescriptorProto::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) OneofDescriptorProto(arena);
}
constexpr auto OneofDescriptorProto::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(OneofDescriptorProto), alignof(OneofDescriptorProto));
}
constexpr auto OneofDescriptorProto::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      OneofDescriptorProto::IsInitializedImpl,
      &OneofDescriptorProto::MergeImpl,
      Super_::GetNewImpl<OneofDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &OneofDescriptorProto::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(OneofDescriptorProto, _impl_._cached_size_),
      &file_reflection_data[8],
  };
}
struct OneofDescriptorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   OneofDescriptorProtoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<OneofDescriptorProto>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<OneofDescriptorProto>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) OneofDescriptorProtoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~OneofDescriptorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) OneofDescriptorProto _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<OneofDescriptorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(OneofDescriptorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OneofDescriptorProtoGlobalsTypeInternal OneofDescriptorProto_globals_
        ;
class MethodDescriptorProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<MethodDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_._has_bits_);

  static constexpr MethodDescriptorProto::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr MethodDescriptorProto::ParseTableT_ MethodDescriptorProto::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.name_)}},
      // optional string input_type = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.input_type_)}},
      // optional string output_type = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.output_type_)}},
      // optional .google.protobuf.MethodOptions options = 4;
      {::_pbi::TcParser::FastMcS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.options_)}},
      // optional bool client_streaming = 5 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MethodDescriptorProto, _impl_.client_streaming_), 4>(),
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.client_streaming_)}},
      // optional bool server_streaming = 6 [default = false];
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(MethodDescriptorProto, _impl_.server_streaming_), 5>(),
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.server_streaming_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string input_type = 2;
      {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.input_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string output_type = 3;
      {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.output_type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .google.protobuf.MethodOptions options = 4;
      {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional bool client_streaming = 5 [default = false];
      {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.client_streaming_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional bool server_streaming = 6 [default = false];
      {PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.server_streaming_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::MethodOptions_globals_},
    }},
    {{
    }},
  };
}


inline constexpr MethodDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        input_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        output_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        client_streaming_{false},
        server_streaming_{false} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr MethodDescriptorProto::MethodDescriptorProto(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL MethodDescriptorProto::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MethodDescriptorProto(arena);
}
constexpr auto MethodDescriptorProto::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MethodDescriptorProto), alignof(MethodDescriptorProto));
}
constexpr auto MethodDescriptorProto::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      MethodDescriptorProto::IsInitializedImpl,
      &MethodDescriptorProto::MergeImpl,
      Super_::GetNewImpl<MethodDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &MethodDescriptorProto::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_._cached_size_),
      &file_reflection_data[13],
  };
}
struct MethodDescriptorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   MethodDescriptorProtoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<MethodDescriptorProto>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MethodDescriptorProto>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) MethodDescriptorProtoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~MethodDescriptorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MethodDescriptorProto _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MethodDescriptorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(MethodDescriptorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MethodDescriptorProtoGlobalsTypeInternal MethodDescriptorProto_globals_
        ;
class FieldDescriptorProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<FieldDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_._has_bits_);

  static constexpr FieldDescriptorProto::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FieldDescriptorProto::ParseTableT_ FieldDescriptorProto::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_._has_bits_),
      0, // no _extensions_
      17, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294900736,  // skipmap
      offsetof(ParseTableT_, field_entries),
      11,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.name_)}},
      // optional string extendee = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.extendee_)}},
      // optional int32 number = 3;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldDescriptorProto, _impl_.number_), 6>(),
       {24, 6, 0,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.number_)}},
      // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
      {::_pbi::TcParser::FastEr1S1,
       {32, 9, 3,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.label_)}},
      // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
      {::_pbi::TcParser::FastEr1S1,
       {40, 10, 18,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_)}},
      // optional string type_name = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 2, 0,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_name_)}},
      // optional string default_value = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 3, 0,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.default_value_)}},
      // optional .google.protobuf.FieldOptions options = 8;
      {::_pbi::TcParser::FastMcS1,
       {66, 5, 0,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.options_)}},
      // optional int32 oneof_index = 9;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldDescriptorProto, _impl_.oneof_index_), 7>(),
       {72, 7, 0,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.oneof_index_)}},
      // optional string json_name = 10;
      {::_pbi::TcParser::FastBS1,
       {82, 4, 0,
        PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.json_name_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string extendee = 2;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.extendee_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 number = 3;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.number_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.label_), _Internal::kHasBitsOffset + 9, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_), _Internal::kHasBitsOffset + 10, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional string type_name = 6;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string default_value = 7;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.default_value_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .google.protobuf.FieldOptions options = 8;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional int32 oneof_index = 9;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.oneof_index_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional string json_name = 10;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.json_name_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bool proto3_optional = 17;
      {PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.proto3_optional_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FieldOptions_globals_},
        {1, 3},
        {1, 18},
    }},
    {{
    }},
  };
}


inline constexpr FieldDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        extendee_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        default_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        json_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        number_{0},
        oneof_index_{0},
        proto3_optional_{false},
        label_{static_cast< ::google::protobuf::FieldDescriptorProto_Label >(1)},
        type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FieldDescriptorProto::FieldDescriptorProto(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FieldDescriptorProto::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FieldDescriptorProto(arena);
}
constexpr auto FieldDescriptorProto::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FieldDescriptorProto), alignof(FieldDescriptorProto));
}
constexpr auto FieldDescriptorProto::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      FieldDescriptorProto::IsInitializedImpl,
      &FieldDescriptorProto::MergeImpl,
      Super_::GetNewImpl<FieldDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FieldDescriptorProto::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_._cached_size_),
      &file_reflection_data[7],
  };
}
struct FieldDescriptorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FieldDescriptorProtoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FieldDescriptorProto>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FieldDescriptorProto>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FieldDescriptorProtoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FieldDescriptorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FieldDescriptorProto _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FieldDescriptorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FieldDescriptorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldDescriptorProtoGlobalsTypeInternal FieldDescriptorProto_globals_
        ;
class EnumValueDescriptorProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<EnumValueDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_._has_bits_);

  static constexpr EnumValueDescriptorProto::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr EnumValueDescriptorProto::ParseTableT_ EnumValueDescriptorProto::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.name_)}},
      // optional int32 number = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(EnumValueDescriptorProto, _impl_.number_), 2>(),
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.number_)}},
      // optional .google.protobuf.EnumValueOptions options = 3;
      {::_pbi::TcParser::FastMcS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.options_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 number = 2;
      {PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.number_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .google.protobuf.EnumValueOptions options = 3;
      {PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::EnumValueOptions_globals_},
    }},
    {{
    }},
  };
}


inline constexpr EnumValueDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        number_{0} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr EnumValueDescriptorProto::EnumValueDescriptorProto(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL EnumValueDescriptorProto::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EnumValueDescriptorProto(arena);
}
constexpr auto EnumValueDescriptorProto::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EnumValueDescriptorProto), alignof(EnumValueDescriptorProto));
}
constexpr auto EnumValueDescriptorProto::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      EnumValueDescriptorProto::IsInitializedImpl,
      &EnumValueDescriptorProto::MergeImpl,
      Super_::GetNewImpl<EnumValueDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &EnumValueDescriptorProto::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_._cached_size_),
      &file_reflection_data[11],
  };
}
struct EnumValueDescriptorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   EnumValueDescriptorProtoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<EnumValueDescriptorProto>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EnumValueDescriptorProto>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) EnumValueDescriptorProtoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~EnumValueDescriptorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EnumValueDescriptorProto _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EnumValueDescriptorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumValueDescriptorProtoGlobalsTypeInternal EnumValueDescriptorProto_globals_
        ;
class DescriptorProto_ExtensionRange::_Internal {
 public:
  using HasBits = decltype(::std::declval<DescriptorProto_ExtensionRange>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_._has_bits_);

  static constexpr DescriptorProto_ExtensionRange::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr DescriptorProto_ExtensionRange::ParseTableT_ DescriptorProto_ExtensionRange::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int32 start = 1;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DescriptorProto_ExtensionRange, _impl_.start_), 1>(),
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.start_)}},
      // optional int32 end = 2;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DescriptorProto_ExtensionRange, _impl_.end_), 2>(),
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.end_)}},
      // optional .google.protobuf.ExtensionRangeOptions options = 3;
      {::_pbi::TcParser::FastMcS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.options_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 start = 1;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.start_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 end = 2;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.end_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .google.protobuf.ExtensionRangeOptions options = 3;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.options_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::ExtensionRangeOptions_globals_},
    }},
    {{
    }},
  };
}


inline constexpr DescriptorProto_ExtensionRange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : options_{nullptr},
        start_{0},
        end_{0} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL DescriptorProto_ExtensionRange::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DescriptorProto_ExtensionRange(arena);
}
constexpr auto DescriptorProto_ExtensionRange::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DescriptorProto_ExtensionRange), alignof(DescriptorProto_ExtensionRange));
}
constexpr auto DescriptorProto_ExtensionRange::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      DescriptorProto_ExtensionRange::IsInitializedImpl,
      &DescriptorProto_ExtensionRange::MergeImpl,
      Super_::GetNewImpl<DescriptorProto_ExtensionRange>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &DescriptorProto_ExtensionRange::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_._cached_size_),
      &file_reflection_data[2],
  };
}
struct DescriptorProto_ExtensionRangeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   DescriptorProto_ExtensionRangeGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<DescriptorProto_ExtensionRange>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DescriptorProto_ExtensionRange>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) DescriptorProto_ExtensionRangeGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~DescriptorProto_ExtensionRangeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DescriptorProto_ExtensionRange _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DescriptorProto_ExtensionRange>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRangeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProto_ExtensionRangeGlobalsTypeInternal DescriptorProto_ExtensionRange_globals_
        ;
class ServiceDescriptorProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<ServiceDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_._has_bits_);

  static constexpr ServiceDescriptorProto::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr ServiceDescriptorProto::ParseTableT_ ServiceDescriptorProto::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.name_)}},
      // repeated .google.protobuf.MethodDescriptorProto method = 2;
      {::_pbi::TcParser::FastMcR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.method_)}},
      // optional .google.protobuf.ServiceOptions options = 3;
      {::_pbi::TcParser::FastMcS1,
       {26, 2, 1,
        PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.options_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .google.protobuf.MethodDescriptorProto method = 2;
      {PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.method_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.ServiceOptions options = 3;
      {PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::MethodDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::ServiceOptions_globals_},
    }},
    {{
    }},
  };
}


inline constexpr ServiceDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : method_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::ServiceDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.method_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr ServiceDescriptorProto::ServiceDescriptorProto(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ServiceDescriptorProto::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ServiceDescriptorProto(arena);
}
constexpr auto ServiceDescriptorProto::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ServiceDescriptorProto), alignof(ServiceDescriptorProto));
}
constexpr auto ServiceDescriptorProto::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      ServiceDescriptorProto::IsInitializedImpl,
      &ServiceDescriptorProto::MergeImpl,
      Super_::GetNewImpl<ServiceDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &ServiceDescriptorProto::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(ServiceDescriptorProto, _impl_._cached_size_),
      &file_reflection_data[12],
  };
}
struct ServiceDescriptorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   ServiceDescriptorProtoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<ServiceDescriptorProto>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ServiceDescriptorProto>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) ServiceDescriptorProtoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~ServiceDescriptorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ServiceDescriptorProto _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ServiceDescriptorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(ServiceDescriptorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ServiceDescriptorProtoGlobalsTypeInternal ServiceDescriptorProto_globals_
        ;
class EnumDescriptorProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<EnumDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_._has_bits_);

  static constexpr EnumDescriptorProto::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr EnumDescriptorProto::ParseTableT_ EnumDescriptorProto::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 3, 0,
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.name_)}},
      // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
      {::_pbi::TcParser::FastMcR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.value_)}},
      // optional .google.protobuf.EnumOptions options = 3;
      {::_pbi::TcParser::FastMcS1,
       {26, 4, 1,
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.options_)}},
      // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
      {::_pbi::TcParser::FastMcR1,
       {34, 1, 2,
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_range_)}},
      // repeated string reserved_name = 5;
      {::_pbi::TcParser::FastBR1,
       {42, 2, 0,
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_name_)}},
      // optional .google.protobuf.SymbolVisibility visibility = 6;
      {::_pbi::TcParser::FastEr0S1,
       {48, 5, 2,
        PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.visibility_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
      {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.EnumOptions options = 3;
      {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 4, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
      {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_range_), _Internal::kHasBitsOffset + 1, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated string reserved_name = 5;
      {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.reserved_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional .google.protobuf.SymbolVisibility visibility = 6;
      {PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.visibility_), _Internal::kHasBitsOffset + 5, 3, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::EnumValueDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::EnumOptions_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::EnumDescriptorProto_EnumReservedRange_globals_},
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr EnumDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : value_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.value_)>()
         }
        ,
        reserved_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_range_)>()
         }
        ,
        reserved_name_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_name_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        visibility_{static_cast< ::google::protobuf::SymbolVisibility >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr EnumDescriptorProto::EnumDescriptorProto(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL EnumDescriptorProto::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) EnumDescriptorProto(arena);
}
constexpr auto EnumDescriptorProto::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(EnumDescriptorProto), alignof(EnumDescriptorProto));
}
constexpr auto EnumDescriptorProto::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      EnumDescriptorProto::IsInitializedImpl,
      &EnumDescriptorProto::MergeImpl,
      Super_::GetNewImpl<EnumDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &EnumDescriptorProto::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_._cached_size_),
      &file_reflection_data[10],
  };
}
struct EnumDescriptorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   EnumDescriptorProtoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<EnumDescriptorProto>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<EnumDescriptorProto>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) EnumDescriptorProtoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~EnumDescriptorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) EnumDescriptorProto _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<EnumDescriptorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(EnumDescriptorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EnumDescriptorProtoGlobalsTypeInternal EnumDescriptorProto_globals_
        ;
class DescriptorProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<DescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_._has_bits_);

  static constexpr DescriptorProto::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr DescriptorProto::ParseTableT_ DescriptorProto::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_._has_bits_),
      0, // no _extensions_
      11, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294965248,  // skipmap
      offsetof(ParseTableT_, field_entries),
      11,  // num_field_entries
      9,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 8, 0,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.name_)}},
      // repeated .google.protobuf.FieldDescriptorProto field = 2;
      {::_pbi::TcParser::FastMcR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.field_)}},
      // repeated .google.protobuf.DescriptorProto nested_type = 3;
      {::_pbi::TcParser::FastMcR1,
       {26, 1, 1,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.nested_type_)}},
      // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
      {::_pbi::TcParser::FastMcR1,
       {34, 2, 2,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.enum_type_)}},
      // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
      {::_pbi::TcParser::FastMcR1,
       {42, 3, 3,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_range_)}},
      // repeated .google.protobuf.FieldDescriptorProto extension = 6;
      {::_pbi::TcParser::FastMcR1,
       {50, 4, 4,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_)}},
      // optional .google.protobuf.MessageOptions options = 7;
      {::_pbi::TcParser::FastMcS1,
       {58, 9, 5,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.options_)}},
      // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
      {::_pbi::TcParser::FastMcR1,
       {66, 5, 6,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.oneof_decl_)}},
      // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
      {::_pbi::TcParser::FastMcR1,
       {74, 6, 7,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_range_)}},
      // repeated string reserved_name = 10;
      {::_pbi::TcParser::FastBR1,
       {82, 7, 0,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_name_)}},
      // optional .google.protobuf.SymbolVisibility visibility = 11;
      {::_pbi::TcParser::FastEr0S1,
       {88, 10, 2,
        PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.visibility_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .google.protobuf.FieldDescriptorProto field = 2;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.field_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.DescriptorProto nested_type = 3;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.nested_type_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.enum_type_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_range_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.FieldDescriptorProto extension = 6;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.extension_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.MessageOptions options = 7;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 9, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.oneof_decl_), _Internal::kHasBitsOffset + 5, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_range_), _Internal::kHasBitsOffset + 6, 7, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated string reserved_name = 10;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.reserved_name_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional .google.protobuf.SymbolVisibility visibility = 11;
      {PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.visibility_), _Internal::kHasBitsOffset + 10, 8, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FieldDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::DescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::EnumDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::DescriptorProto_ExtensionRange_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FieldDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::MessageOptions_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::OneofDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::DescriptorProto_ReservedRange_globals_},
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr DescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : field_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.field_)>()
         }
        ,
        nested_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.nested_type_)>()
         }
        ,
        enum_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.enum_type_)>()
         }
        ,
        extension_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_range_)>()
         }
        ,
        extension_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_)>()
         }
        ,
        oneof_decl_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.oneof_decl_)>()
         }
        ,
        reserved_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_range_)>()
         }
        ,
        reserved_name_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_name_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        visibility_{static_cast< ::google::protobuf::SymbolVisibility >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr DescriptorProto::DescriptorProto(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL DescriptorProto::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DescriptorProto(arena);
}
constexpr auto DescriptorProto::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(DescriptorProto), alignof(DescriptorProto));
}
constexpr auto DescriptorProto::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      DescriptorProto::IsInitializedImpl,
      &DescriptorProto::MergeImpl,
      Super_::GetNewImpl<DescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &DescriptorProto::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_._cached_size_),
      &file_reflection_data[4],
  };
}
struct DescriptorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   DescriptorProtoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<DescriptorProto>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DescriptorProto>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) DescriptorProtoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~DescriptorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DescriptorProto _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DescriptorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(DescriptorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DescriptorProtoGlobalsTypeInternal DescriptorProto_globals_
        ;
class FileDescriptorProto::_Internal {
 public:
  using HasBits = decltype(::std::declval<FileDescriptorProto>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_._has_bits_);

  static constexpr FileDescriptorProto::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FileDescriptorProto::ParseTableT_ FileDescriptorProto::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_._has_bits_),
      0, // no _extensions_
      15, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294938624,  // skipmap
      offsetof(ParseTableT_, field_entries),
      14,  // num_field_entries
      7,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::MpUnknownFields,  // fallback
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 8, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.name_)}},
      // optional string package = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 9, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.package_)}},
      // repeated string dependency = 3;
      {::_pbi::TcParser::FastBR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.dependency_)}},
      // repeated .google.protobuf.DescriptorProto message_type = 4;
      {::_pbi::TcParser::FastMcR1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.message_type_)}},
      // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
      {::_pbi::TcParser::FastMcR1,
       {42, 2, 1,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.enum_type_)}},
      // repeated .google.protobuf.ServiceDescriptorProto service = 6;
      {::_pbi::TcParser::FastMcR1,
       {50, 3, 2,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.service_)}},
      // repeated .google.protobuf.FieldDescriptorProto extension = 7;
      {::_pbi::TcParser::FastMcR1,
       {58, 4, 3,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.extension_)}},
      // optional .google.protobuf.FileOptions options = 8;
      {::_pbi::TcParser::FastMcS1,
       {66, 11, 4,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.options_)}},
      // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
      {::_pbi::TcParser::FastMcS1,
       {74, 12, 5,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.source_code_info_)}},
      // repeated int32 public_dependency = 10;
      {::_pbi::TcParser::FastV32R1,
       {80, 5, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.public_dependency_)}},
      // repeated int32 weak_dependency = 11;
      {::_pbi::TcParser::FastV32R1,
       {88, 6, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.weak_dependency_)}},
      // optional string syntax = 12;
      {::_pbi::TcParser::FastBS1,
       {98, 10, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.syntax_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // optional .google.protobuf.Edition edition = 14;
      {::_pbi::TcParser::FastEvS1,
       {112, 13, 6,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.edition_)}},
      // repeated string option_dependency = 15;
      {::_pbi::TcParser::FastBR1,
       {122, 7, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.option_dependency_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.name_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string package = 2;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.package_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string dependency = 3;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.dependency_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated .google.protobuf.DescriptorProto message_type = 4;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.message_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.enum_type_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.ServiceDescriptorProto service = 6;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.service_), _Internal::kHasBitsOffset + 3, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated .google.protobuf.FieldDescriptorProto extension = 7;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.extension_), _Internal::kHasBitsOffset + 4, 3, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.FileOptions options = 8;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.options_), _Internal::kHasBitsOffset + 11, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.source_code_info_), _Internal::kHasBitsOffset + 12, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvClassData)},
      // repeated int32 public_dependency = 10;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.public_dependency_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
      // repeated int32 weak_dependency = 11;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.weak_dependency_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
      // optional string syntax = 12;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.syntax_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .google.protobuf.Edition edition = 14;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.edition_), _Internal::kHasBitsOffset + 13, 6, (0 | ::_fl::kFcOptional | ::_fl::kEnum)},
      // repeated string option_dependency = 15;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.option_dependency_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::DescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::EnumDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::ServiceDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FieldDescriptorProto_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FileOptions_globals_},
        {::_pbi::FieldAuxClassData(), &::google::protobuf::SourceCodeInfo_globals_},
        {::_pbi::FieldAuxEnumData{}, ::google::protobuf::Edition_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr FileDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : dependency_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.dependency_)>()
         }
        ,
        message_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.message_type_)>()
         }
        ,
        enum_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.enum_type_)>()
         }
        ,
        service_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.service_)>()
         }
        ,
        extension_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.extension_)>()
         }
        ,
        public_dependency_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.public_dependency_)>()
         }
        ,
        weak_dependency_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.weak_dependency_)>()
         }
        ,
        option_dependency_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.option_dependency_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        package_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        syntax_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        options_{nullptr},
        source_code_info_{nullptr},
        edition_{static_cast< ::google::protobuf::Edition >(0)} {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FileDescriptorProto::FileDescriptorProto(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FileDescriptorProto::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FileDescriptorProto(arena);
}
constexpr auto FileDescriptorProto::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FileDescriptorProto), alignof(FileDescriptorProto));
}
constexpr auto FileDescriptorProto::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      FileDescriptorProto::IsInitializedImpl,
      &FileDescriptorProto::MergeImpl,
      Super_::GetNewImpl<FileDescriptorProto>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FileDescriptorProto::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_._cached_size_),
      &file_reflection_data[1],
  };
}
struct FileDescriptorProtoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FileDescriptorProtoGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FileDescriptorProto>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FileDescriptorProto>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FileDescriptorProtoGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FileDescriptorProtoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FileDescriptorProto _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FileDescriptorProto>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FileDescriptorProtoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileDescriptorProtoGlobalsTypeInternal FileDescriptorProto_globals_
        ;
class FileDescriptorSet::_Internal {
 public:
  using HasBits = decltype(::std::declval<FileDescriptorSet>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._has_bits_);

  static constexpr FileDescriptorSet::ParseTableT_ GenerateParseTable(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  static constexpr auto GenerateClassData();

  static void* PROTOBUF_NONNULL PlacementNew(const void* PROTOBUF_NONNULL,
                                      void* PROTOBUF_NONNULL mem,
                                      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto NewImpl();
};

constexpr FileDescriptorSet::ParseTableT_ FileDescriptorSet::_Internal::GenerateParseTable(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._has_bits_),
      PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._extensions_),
      1, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967294,  // skipmap
      offsetof(ParseTableT_, field_entries),
      1,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
    }, {{
      // repeated .google.protobuf.FileDescriptorProto file = 1;
      {::_pbi::TcParser::FastMcR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_.file_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .google.protobuf.FileDescriptorProto file = 1;
      {PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_.file_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvClassData)},
    }},
    {{
        {::_pbi::FieldAuxClassData(), &::google::protobuf::FileDescriptorProto_globals_},
    }},
    {{
    }},
  };
}


inline constexpr FileDescriptorSet::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : file_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorSet,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _impl_.file_)>()
         }
     {}

template <typename>
PROTOBUF_ALWAYS_INLINE_NODEBUG constexpr FileDescriptorSet::FileDescriptorSet(
    ::_pbi::ConstantInitialized,
    const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : Super_(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FileDescriptorSet::_Internal::PlacementNew(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FileDescriptorSet(arena);
}
constexpr auto FileDescriptorSet::_Internal::NewImpl() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FileDescriptorSet), alignof(FileDescriptorSet));
}
constexpr auto FileDescriptorSet::_Internal::GenerateClassData() {
  return ::google::protobuf::internal::ClassData{
      FileDescriptorSet::IsInitializedImpl,
      &FileDescriptorSet::MergeImpl,
      Super_::GetNewImpl<FileDescriptorSet>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
      &FileDescriptorSet::Helpers_::SharedDtor,
      &Helpers_::Clear, &Helpers_::ByteSizeLong,
          &Helpers_::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
      PROTOBUF_FIELD_OFFSET(FileDescriptorSet, _impl_._cached_size_),
      &file_reflection_data[0],
  };
}
struct FileDescriptorSetGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  #if defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  constexpr
  #endif  // PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
   FileDescriptorSetGlobalsTypeInternal()
      : MessageGlobalsBase(
            ::_pbi::PrivateAccess::GenerateClassData<FileDescriptorSet>()),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FileDescriptorSet>(
            GetClassData())) {}
  #if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
  void Init() { ::new (this) FileDescriptorSetGlobalsTypeInternal(); }
  #endif  // !PROTOBUF_CONSTINIT_DEFAULT_INSTANCES
  ~FileDescriptorSetGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FileDescriptorSet _default;
  };
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FileDescriptorSet>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
};
static_assert(PROTOBUF_FIELD_OFFSET(FileDescriptorSetGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_EXPORT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FileDescriptorSetGlobalsTypeInternal FileDescriptorSet_globals_
        ;
}  // namespace protobuf
}  // namespace google
static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
    file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[21];
static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
    file_level_service_descriptors_google_2fprotobuf_2fdescriptor_2eproto = nullptr;
const ::uint32_t
    TableStruct_google_2fprotobuf_2fdescriptor_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _impl_._extensions_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _impl_.file_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_._has_bits_),
        17, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.package_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.dependency_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.public_dependency_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.weak_dependency_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.option_dependency_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.message_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.enum_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.service_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.extension_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.source_code_info_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.syntax_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.edition_),
        8,
        9,
        0,
        5,
        6,
        7,
        1,
        2,
        3,
        4,
        11,
        12,
        10,
        13,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _impl_.start_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _impl_.end_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ExtensionRange, _impl_.options_),
        1,
        2,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ReservedRange, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ReservedRange, _impl_.start_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto_ReservedRange, _impl_.end_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_._has_bits_),
        14, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.field_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.nested_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.enum_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_range_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.oneof_decl_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_range_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.visibility_),
        8,
        0,
        4,
        1,
        2,
        3,
        5,
        9,
        6,
        7,
        10,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_._has_bits_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.number_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.full_name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.reserved_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions_Declaration, _impl_.repeated_),
        2,
        0,
        1,
        3,
        4,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_._extensions_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.uninterpreted_option_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.declaration_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.verification_),
        1,
        0,
        2,
        3,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_._has_bits_),
        14, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.number_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.label_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.type_name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.extendee_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.default_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.oneof_index_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.json_name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldDescriptorProto, _impl_.proto3_optional_),
        0,
        6,
        9,
        10,
        2,
        1,
        3,
        7,
        4,
        5,
        8,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofDescriptorProto, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofDescriptorProto, _impl_.options_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto_EnumReservedRange, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto_EnumReservedRange, _impl_.start_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto_EnumReservedRange, _impl_.end_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_._has_bits_),
        9, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_range_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.visibility_),
        3,
        0,
        4,
        1,
        2,
        5,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _impl_.number_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueDescriptorProto, _impl_.options_),
        0,
        2,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.method_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.options_),
        1,
        0,
        2,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_._has_bits_),
        9, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.input_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.output_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.options_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.client_streaming_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodDescriptorProto, _impl_.server_streaming_),
        0,
        1,
        2,
        3,
        4,
        5,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_._extensions_),
        25, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_package_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_outer_classname_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_multiple_files_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_generate_equals_and_hash_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_string_check_utf8_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.optimize_for_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.go_package_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.cc_generic_services_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.java_generic_services_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.py_generic_services_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.cc_enable_arenas_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.objc_class_prefix_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.csharp_namespace_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.swift_prefix_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.php_class_prefix_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.php_namespace_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.php_metadata_namespace_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.ruby_package_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.uninterpreted_option_),
        0,
        1,
        11,
        15,
        17,
        18,
        2,
        12,
        13,
        14,
        16,
        19,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        20,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_._extensions_),
        11, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.message_set_wire_format_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.no_standard_descriptor_accessor_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.map_entry_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.deprecated_legacy_json_field_conflicts_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.uninterpreted_option_),
        1,
        2,
        3,
        4,
        5,
        0,
        6,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_EditionDefault, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_EditionDefault, _impl_.edition_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_EditionDefault, _impl_.value_),
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_._has_bits_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_introduced_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.deprecation_warning_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.edition_removed_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions_FeatureSupport, _impl_.removal_error_),
        2,
        3,
        0,
        4,
        1,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_._extensions_),
        18, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.ctype_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.packed_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.jstype_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.lazy_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.unverified_lazy_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.weak_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.debug_redact_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.retention_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.targets_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.edition_defaults_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.feature_support_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.uninterpreted_option_),
        4,
        5,
        9,
        7,
        10,
        6,
        8,
        11,
        12,
        13,
        0,
        2,
        3,
        1,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_._extensions_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_.uninterpreted_option_),
        1,
        0,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_._extensions_),
        9, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.allow_alias_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.uninterpreted_option_),
        1,
        2,
        3,
        0,
        4,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_._extensions_),
        9, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.debug_redact_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.feature_support_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.uninterpreted_option_),
        3,
        1,
        4,
        2,
        0,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_._extensions_),
        7, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.uninterpreted_option_),
        1,
        2,
        0,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_._extensions_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.deprecated_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.idempotency_level_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.uninterpreted_option_),
        2,
        3,
        1,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption_NamePart, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption_NamePart, _impl_.name_part_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption_NamePart, _impl_.is_extension_),
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_._has_bits_),
        10, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.identifier_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.positive_int_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.negative_int_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.double_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.string_value_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.aggregate_value_),
        0,
        1,
        4,
        5,
        6,
        2,
        3,
        0x000, // bitmap
        0x000, // bitmap
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_._extensions_),
        13, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.field_presence_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.enum_type_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.repeated_field_encoding_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.utf8_validation_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.message_encoding_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.json_format_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.enforce_naming_style_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.default_symbol_visibility_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSet, _impl_.enforce_proto_limits_),
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault, _impl_.fixed_features_),
        2,
        0,
        1,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.defaults_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.minimum_edition_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.maximum_edition_),
        0,
        1,
        2,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_._has_bits_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.path_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.span_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.leading_comments_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.trailing_comments_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.leading_detached_comments_),
        0,
        1,
        3,
        4,
        2,
        0x083, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _impl_._has_bits_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _impl_._extensions_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _impl_.location_),
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_._has_bits_),
        8, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.path_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.source_file_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.begin_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.end_),
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.semantic_),
        0,
        1,
        2,
        3,
        4,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo, _impl_._has_bits_),
        4, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo, _impl_.annotation_),
        0,
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, sizeof(::google::protobuf::FileDescriptorSet)},
        {6, sizeof(::google::protobuf::FileDescriptorProto)},
        {37, sizeof(::google::protobuf::DescriptorProto_ExtensionRange)},
        {46, sizeof(::google::protobuf::DescriptorProto_ReservedRange)},
        {53, sizeof(::google::protobuf::DescriptorProto)},
        {78, sizeof(::google::protobuf::ExtensionRangeOptions_Declaration)},
        {91, sizeof(::google::protobuf::ExtensionRangeOptions)},
        {103, sizeof(::google::protobuf::FieldDescriptorProto)},
        {128, sizeof(::google::protobuf::OneofDescriptorProto)},
        {135, sizeof(::google::protobuf::EnumDescriptorProto_EnumReservedRange)},
        {142, sizeof(::google::protobuf::EnumDescriptorProto)},
        {157, sizeof(::google::protobuf::EnumValueDescriptorProto)},
        {166, sizeof(::google::protobuf::ServiceDescriptorProto)},
        {175, sizeof(::google::protobuf::MethodDescriptorProto)},
        {190, sizeof(::google::protobuf::FileOptions)},
        {236, sizeof(::google::protobuf::MessageOptions)},
        {254, sizeof(::google::protobuf::FieldOptions_EditionDefault)},
        {261, sizeof(::google::protobuf::FieldOptions_FeatureSupport)},
        {274, sizeof(::google::protobuf::FieldOptions)},
        {306, sizeof(::google::protobuf::OneofOptions)},
        {314, sizeof(::google::protobuf::EnumOptions)},
        {328, sizeof(::google::protobuf::EnumValueOptions)},
        {342, sizeof(::google::protobuf::ServiceOptions)},
        {352, sizeof(::google::protobuf::MethodOptions)},
        {364, sizeof(::google::protobuf::UninterpretedOption_NamePart)},
        {371, sizeof(::google::protobuf::UninterpretedOption)},
        {388, sizeof(::google::protobuf::FeatureSet_VisibilityFeature)},
        {389, sizeof(::google::protobuf::FeatureSet_ProtoLimitsFeature)},
        {390, sizeof(::google::protobuf::FeatureSet)},
        {412, sizeof(::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault)},
        {421, sizeof(::google::protobuf::FeatureSetDefaults)},
        {430, sizeof(::google::protobuf::SourceCodeInfo_Location)},
        {443, sizeof(::google::protobuf::SourceCodeInfo)},
        {449, sizeof(::google::protobuf::GeneratedCodeInfo_Annotation)},
        {462, sizeof(::google::protobuf::GeneratedCodeInfo)},
};
static const ::_pbi::MessageGlobalsBase* PROTOBUF_NONNULL const
    file_message_globals[] = {
        &::google::protobuf::FileDescriptorSet_globals_,
        &::google::protobuf::FileDescriptorProto_globals_,
        &::google::protobuf::DescriptorProto_ExtensionRange_globals_,
        &::google::protobuf::DescriptorProto_ReservedRange_globals_,
        &::google::protobuf::DescriptorProto_globals_,
        &::google::protobuf::ExtensionRangeOptions_Declaration_globals_,
        &::google::protobuf::ExtensionRangeOptions_globals_,
        &::google::protobuf::FieldDescriptorProto_globals_,
        &::google::protobuf::OneofDescriptorProto_globals_,
        &::google::protobuf::EnumDescriptorProto_EnumReservedRange_globals_,
        &::google::protobuf::EnumDescriptorProto_globals_,
        &::google::protobuf::EnumValueDescriptorProto_globals_,
        &::google::protobuf::ServiceDescriptorProto_globals_,
        &::google::protobuf::MethodDescriptorProto_globals_,
        &::google::protobuf::FileOptions_globals_,
        &::google::protobuf::MessageOptions_globals_,
        &::google::protobuf::FieldOptions_EditionDefault_globals_,
        &::google::protobuf::FieldOptions_FeatureSupport_globals_,
        &::google::protobuf::FieldOptions_globals_,
        &::google::protobuf::OneofOptions_globals_,
        &::google::protobuf::EnumOptions_globals_,
        &::google::protobuf::EnumValueOptions_globals_,
        &::google::protobuf::ServiceOptions_globals_,
        &::google::protobuf::MethodOptions_globals_,
        &::google::protobuf::UninterpretedOption_NamePart_globals_,
        &::google::protobuf::UninterpretedOption_globals_,
        &::google::protobuf::FeatureSet_VisibilityFeature_globals_,
        &::google::protobuf::FeatureSet_ProtoLimitsFeature_globals_,
        &::google::protobuf::FeatureSet_globals_,
        &::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault_globals_,
        &::google::protobuf::FeatureSetDefaults_globals_,
        &::google::protobuf::SourceCodeInfo_Location_globals_,
        &::google::protobuf::SourceCodeInfo_globals_,
        &::google::protobuf::GeneratedCodeInfo_Annotation_globals_,
        &::google::protobuf::GeneratedCodeInfo_globals_,
};
const char descriptor_table_protodef_google_2fprotobuf_2fdescriptor_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n google/protobuf/descriptor.proto\022\017goog"
    "le.protobuf\"U\n\021FileDescriptorSet\0222\n\004file"
    "\030\001 \003(\0132$.google.protobuf.FileDescriptorP"
    "roto*\014\010\200\354\312\377\001\020\201\354\312\377\001\"\241\004\n\023FileDescriptorPro"
    "to\022\014\n\004name\030\001 \001(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndep"
    "endency\030\003 \003(\t\022\031\n\021public_dependency\030\n \003(\005"
    "\022\027\n\017weak_dependency\030\013 \003(\005\022\031\n\021option_depe"
    "ndency\030\017 \003(\t\0226\n\014message_type\030\004 \003(\0132 .goo"
    "gle.protobuf.DescriptorProto\0227\n\tenum_typ"
    "e\030\005 \003(\0132$.google.protobuf.EnumDescriptor"
    "Proto\0228\n\007service\030\006 \003(\0132\'.google.protobuf"
    ".ServiceDescriptorProto\0228\n\textension\030\007 \003"
    "(\0132%.google.protobuf.FieldDescriptorProt"
    "o\022-\n\007options\030\010 \001(\0132\034.google.protobuf.Fil"
    "eOptions\0229\n\020source_code_info\030\t \001(\0132\037.goo"
    "gle.protobuf.SourceCodeInfo\022\016\n\006syntax\030\014 "
    "\001(\t\022)\n\007edition\030\016 \001(\0162\030.google.protobuf.E"
    "dition\"\340\005\n\017DescriptorProto\022\014\n\004name\030\001 \001(\t"
    "\0224\n\005field\030\002 \003(\0132%.google.protobuf.FieldD"
    "escriptorProto\0228\n\textension\030\006 \003(\0132%.goog"
    "le.protobuf.FieldDescriptorProto\0225\n\013nest"
    "ed_type\030\003 \003(\0132 .google.protobuf.Descript"
    "orProto\0227\n\tenum_type\030\004 \003(\0132$.google.prot"
    "obuf.EnumDescriptorProto\022H\n\017extension_ra"
    "nge\030\005 \003(\0132/.google.protobuf.DescriptorPr"
    "oto.ExtensionRange\0229\n\noneof_decl\030\010 \003(\0132%"
    ".google.protobuf.OneofDescriptorProto\0220\n"
    "\007options\030\007 \001(\0132\037.google.protobuf.Message"
    "Options\022F\n\016reserved_range\030\t \003(\0132..google"
    ".protobuf.DescriptorProto.ReservedRange\022"
    "\025\n\rreserved_name\030\n \003(\t\0225\n\nvisibility\030\013 \001"
    "(\0162!.google.protobuf.SymbolVisibility\032e\n"
    "\016ExtensionRange\022\r\n\005start\030\001 \001(\005\022\013\n\003end\030\002 "
    "\001(\005\0227\n\007options\030\003 \001(\0132&.google.protobuf.E"
    "xtensionRangeOptions\032+\n\rReservedRange\022\r\n"
    "\005start\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"\355\003\n\025ExtensionR"
    "angeOptions\022C\n\024uninterpreted_option\030\347\007 \003"
    "(\0132$.google.protobuf.UninterpretedOption"
    "\022L\n\013declaration\030\002 \003(\01322.google.protobuf."
    "ExtensionRangeOptions.DeclarationB\003\210\001\002\022-"
    "\n\010features\0302 \001(\0132\033.google.protobuf.Featu"
    "reSet\022_\n\014verification\030\003 \001(\01628.google.pro"
    "tobuf.ExtensionRangeOptions.Verification"
    "State:\nUNVERIFIEDB\003\210\001\002\032h\n\013Declaration\022\016\n"
    "\006number\030\001 \001(\005\022\021\n\tfull_name\030\002 \001(\t\022\014\n\004type"
    "\030\003 \001(\t\022\020\n\010reserved\030\005 \001(\010\022\020\n\010repeated\030\006 \001"
    "(\010J\004\010\004\020\005\"4\n\021VerificationState\022\017\n\013DECLARA"
    "TION\020\000\022\016\n\nUNVERIFIED\020\001*\006\010\336\007\020\347\007*\t\010\350\007\020\200\200\200\200"
    "\002\"\325\005\n\024FieldDescriptorProto\022\014\n\004name\030\001 \001(\t"
    "\022\016\n\006number\030\003 \001(\005\022:\n\005label\030\004 \001(\0162+.google"
    ".protobuf.FieldDescriptorProto.Label\0228\n\004"
    "type\030\005 \001(\0162*.google.protobuf.FieldDescri"
    "ptorProto.Type\022\021\n\ttype_name\030\006 \001(\t\022\020\n\010ext"
    "endee\030\002 \001(\t\022\025\n\rdefault_value\030\007 \001(\t\022\023\n\013on"
    "eof_index\030\t \001(\005\022\021\n\tjson_name\030\n \001(\t\022.\n\007op"
    "tions\030\010 \001(\0132\035.google.protobuf.FieldOptio"
    "ns\022\027\n\017proto3_optional\030\021 \001(\010\"\266\002\n\004Type\022\017\n\013"
    "TYPE_DOUBLE\020\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE_IN"
    "T64\020\003\022\017\n\013TYPE_UINT64\020\004\022\016\n\nTYPE_INT32\020\005\022\020"
    "\n\014TYPE_FIXED64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n\tTY"
    "PE_BOOL\020\010\022\017\n\013TYPE_STRING\020\t\022\016\n\nTYPE_GROUP"
    "\020\n\022\020\n\014TYPE_MESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022\017\n\013"
    "TYPE_UINT32\020\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_SFI"
    "XED32\020\017\022\021\n\rTYPE_SFIXED64\020\020\022\017\n\013TYPE_SINT3"
    "2\020\021\022\017\n\013TYPE_SINT64\020\022\"C\n\005Label\022\022\n\016LABEL_O"
    "PTIONAL\020\001\022\022\n\016LABEL_REPEATED\020\003\022\022\n\016LABEL_R"
    "EQUIRED\020\002\"T\n\024OneofDescriptorProto\022\014\n\004nam"
    "e\030\001 \001(\t\022.\n\007options\030\002 \001(\0132\035.google.protob"
    "uf.OneofOptions\"\333\002\n\023EnumDescriptorProto\022"
    "\014\n\004name\030\001 \001(\t\0228\n\005value\030\002 \003(\0132).google.pr"
    "otobuf.EnumValueDescriptorProto\022-\n\007optio"
    "ns\030\003 \001(\0132\034.google.protobuf.EnumOptions\022N"
    "\n\016reserved_range\030\004 \003(\01326.google.protobuf"
    ".EnumDescriptorProto.EnumReservedRange\022\025"
    "\n\rreserved_name\030\005 \003(\t\0225\n\nvisibility\030\006 \001("
    "\0162!.google.protobuf.SymbolVisibility\032/\n\021"
    "EnumReservedRange\022\r\n\005start\030\001 \001(\005\022\013\n\003end\030"
    "\002 \001(\005\"l\n\030EnumValueDescriptorProto\022\014\n\004nam"
    "e\030\001 \001(\t\022\016\n\006number\030\002 \001(\005\0222\n\007options\030\003 \001(\013"
    "2!.google.protobuf.EnumValueOptions\"\236\001\n\026"
    "ServiceDescriptorProto\022\014\n\004name\030\001 \001(\t\0226\n\006"
    "method\030\002 \003(\0132&.google.protobuf.MethodDes"
    "criptorProto\0220\n\007options\030\003 \001(\0132\037.google.p"
    "rotobuf.ServiceOptionsJ\004\010\004\020\005R\006stream\"\301\001\n"
    "\025MethodDescriptorProto\022\014\n\004name\030\001 \001(\t\022\022\n\n"
    "input_type\030\002 \001(\t\022\023\n\013output_type\030\003 \001(\t\022/\n"
    "\007options\030\004 \001(\0132\036.google.protobuf.MethodO"
    "ptions\022\037\n\020client_streaming\030\005 \001(\010:\005false\022"
    "\037\n\020server_streaming\030\006 \001(\010:\005false\"\252\t\n\013Fil"
    "eOptions\022\024\n\014java_package\030\001 \001(\t\022\034\n\024java_o"
    "uter_classname\030\010 \001(\t\022\346\001\n\023java_multiple_f"
    "iles\030\n \001(\010:\005falseB\301\001\262\001\275\001\010\346\007 \351\007*\264\001This be"
    "havior is enabled by default in editions"
    " 2024 and above. To disable it, you can "
    "set `features.(pb.java).nest_in_file_cla"
    "ss = YES` on individual messages, enums,"
    " or services.\022)\n\035java_generate_equals_an"
    "d_hash\030\024 \001(\010B\002\030\001\022%\n\026java_string_check_ut"
    "f8\030\033 \001(\010:\005false\022F\n\014optimize_for\030\t \001(\0162)."
    "google.protobuf.FileOptions.OptimizeMode"
    ":\005SPEED\022\022\n\ngo_package\030\013 \001(\t\022\"\n\023cc_generi"
    "c_services\030\020 \001(\010:\005false\022$\n\025java_generic_"
    "services\030\021 \001(\010:\005false\022\"\n\023py_generic_serv"
    "ices\030\022 \001(\010:\005false\022\031\n\ndeprecated\030\027 \001(\010:\005f"
    "alse\022\257\001\n\020cc_enable_arenas\030\037 \001(\010:\004trueB\216\001"
    "\262\001\212\001 \352\007*\204\001cc_enable_arenas is enabled by"
    " default in every edition and overrides "
    "are ignored.This option is removed in ed"
    "itions 2026 and above.\022\031\n\021objc_class_pre"
    "fix\030$ \001(\t\022\030\n\020csharp_namespace\030% \001(\t\022\024\n\014s"
    "wift_prefix\030\' \001(\t\022\030\n\020php_class_prefix\030( "
    "\001(\t\022\025\n\rphp_namespace\030) \001(\t\022\036\n\026php_metada"
    "ta_namespace\030, \001(\t\022\024\n\014ruby_package\030- \001(\t"
    "\022-\n\010features\0302 \001(\0132\033.google.protobuf.Fea"
    "tureSet\022C\n\024uninterpreted_option\030\347\007 \003(\0132$"
    ".google.protobuf.UninterpretedOption\":\n\014"
    "OptimizeMode\022\t\n\005SPEED\020\001\022\r\n\tCODE_SIZE\020\002\022\020"
    "\n\014LITE_RUNTIME\020\003*\006\010\336\007\020\347\007*\t\010\350\007\020\200\200\200\200\002J\004\010*\020"
    "+J\004\010&\020\'R\024php_generic_services\"\357\002\n\016Messag"
    "eOptions\022&\n\027message_set_wire_format\030\001 \001("
    "\010:\005false\022.\n\037no_standard_descriptor_acces"
    "sor\030\002 \001(\010:\005false\022\031\n\ndeprecated\030\003 \001(\010:\005fa"
    "lse\022\021\n\tmap_entry\030\007 \001(\010\0222\n&deprecated_leg"
    "acy_json_field_conflicts\030\013 \001(\010B\002\030\001\022-\n\010fe"
    "atures\030\014 \001(\0132\033.google.protobuf.FeatureSe"
    "t\022C\n\024uninterpreted_option\030\347\007 \003(\0132$.googl"
    "e.protobuf.UninterpretedOption*\006\010\336\007\020\347\007*\t"
    "\010\350\007\020\200\200\200\200\002J\004\010\004\020\005J\004\010\005\020\006J\004\010\006\020\007J\004\010\010\020\tJ\004\010\t\020\n\""
    "\306\013\n\014FieldOptions\022:\n\005ctype\030\001 \001(\0162#.google"
    ".protobuf.FieldOptions.CType:\006STRING\022\016\n\006"
    "packed\030\002 \001(\010\022\?\n\006jstype\030\006 \001(\0162$.google.pr"
    "otobuf.FieldOptions.JSType:\tJS_NORMAL\022\023\n"
    "\004lazy\030\005 \001(\010:\005false\022\036\n\017unverified_lazy\030\017 "
    "\001(\010:\005false\022\031\n\ndeprecated\030\003 \001(\010:\005false\022\027\n"
    "\004weak\030\n \001(\010:\005falseB\002\030\001\022\033\n\014debug_redact\030\020"
    " \001(\010:\005false\022@\n\tretention\030\021 \001(\0162-.google."
    "protobuf.FieldOptions.OptionRetention\022\?\n"
    "\007targets\030\023 \003(\0162..google.protobuf.FieldOp"
    "tions.OptionTargetType\022F\n\020edition_defaul"
    "ts\030\024 \003(\0132,.google.protobuf.FieldOptions."
    "EditionDefault\022-\n\010features\030\025 \001(\0132\033.googl"
    "e.protobuf.FeatureSet\022E\n\017feature_support"
    "\030\026 \001(\0132,.google.protobuf.FieldOptions.Fe"
    "atureSupport\022C\n\024uninterpreted_option\030\347\007 "
    "\003(\0132$.google.protobuf.UninterpretedOptio"
    "n\032J\n\016EditionDefault\022)\n\007edition\030\003 \001(\0162\030.g"
    "oogle.protobuf.Edition\022\r\n\005value\030\002 \001(\t\032\343\001"
    "\n\016FeatureSupport\0224\n\022edition_introduced\030\001"
    " \001(\0162\030.google.protobuf.Edition\0224\n\022editio"
    "n_deprecated\030\002 \001(\0162\030.google.protobuf.Edi"
    "tion\022\033\n\023deprecation_warning\030\003 \001(\t\0221\n\017edi"
    "tion_removed\030\004 \001(\0162\030.google.protobuf.Edi"
    "tion\022\025\n\rremoval_error\030\005 \001(\t\"/\n\005CType\022\n\n\006"
    "STRING\020\000\022\010\n\004CORD\020\001\022\020\n\014STRING_PIECE\020\002\"5\n\006"
    "JSType\022\r\n\tJS_NORMAL\020\000\022\r\n\tJS_STRING\020\001\022\r\n\t"
    "JS_NUMBER\020\002\"U\n\017OptionRetention\022\025\n\021RETENT"
    "ION_UNKNOWN\020\000\022\025\n\021RETENTION_RUNTIME\020\001\022\024\n\020"
    "RETENTION_SOURCE\020\002\"\214\002\n\020OptionTargetType\022"
    "\027\n\023TARGET_TYPE_UNKNOWN\020\000\022\024\n\020TARGET_TYPE_"
    "FILE\020\001\022\037\n\033TARGET_TYPE_EXTENSION_RANGE\020\002\022"
    "\027\n\023TARGET_TYPE_MESSAGE\020\003\022\025\n\021TARGET_TYPE_"
    "FIELD\020\004\022\025\n\021TARGET_TYPE_ONEOF\020\005\022\024\n\020TARGET"
    "_TYPE_ENUM\020\006\022\032\n\026TARGET_TYPE_ENUM_ENTRY\020\007"
    "\022\027\n\023TARGET_TYPE_SERVICE\020\010\022\026\n\022TARGET_TYPE"
    "_METHOD\020\t*\006\010\336\007\020\347\007*\t\010\350\007\020\200\200\200\200\002J\004\010\004\020\005J\004\010\022\020\023"
    "\"\225\001\n\014OneofOptions\022-\n\010features\030\001 \001(\0132\033.go"
    "ogle.protobuf.FeatureSet\022C\n\024uninterprete"
    "d_option\030\347\007 \003(\0132$.google.protobuf.Uninte"
    "rpretedOption*\006\010\336\007\020\347\007*\t\010\350\007\020\200\200\200\200\002\"\376\001\n\013Enu"
    "mOptions\022\023\n\013allow_alias\030\002 \001(\010\022\031\n\ndepreca"
    "ted\030\003 \001(\010:\005false\0222\n&deprecated_legacy_js"
    "on_field_conflicts\030\006 \001(\010B\002\030\001\022-\n\010features"
    "\030\007 \001(\0132\033.google.protobuf.FeatureSet\022C\n\024u"
    "ninterpreted_option\030\347\007 \003(\0132$.google.prot"
    "obuf.UninterpretedOption*\006\010\336\007\020\347\007*\t\010\350\007\020\200\200"
    "\200\200\002J\004\010\005\020\006\"\230\002\n\020EnumValueOptions\022\031\n\ndeprec"
    "ated\030\001 \001(\010:\005false\022-\n\010features\030\002 \001(\0132\033.go"
    "ogle.protobuf.FeatureSet\022\033\n\014debug_redact"
    "\030\003 \001(\010:\005false\022E\n\017feature_support\030\004 \001(\0132,"
    ".google.protobuf.FieldOptions.FeatureSup"
    "port\022C\n\024uninterpreted_option\030\347\007 \003(\0132$.go"
    "ogle.protobuf.UninterpretedOption*\006\010\336\007\020\347"
    "\007*\t\010\350\007\020\200\200\200\200\002\"\262\001\n\016ServiceOptions\022-\n\010featu"
    "res\030\" \001(\0132\033.google.protobuf.FeatureSet\022\031"
    "\n\ndeprecated\030! \001(\010:\005false\022C\n\024uninterpret"
    "ed_option\030\347\007 \003(\0132$.google.protobuf.Unint"
    "erpretedOption*\006\010\336\007\020\347\007*\t\010\350\007\020\200\200\200\200\002\"\344\002\n\rMe"
    "thodOptions\022\031\n\ndeprecated\030! \001(\010:\005false\022_"
    "\n\021idempotency_level\030\" \001(\0162/.google.proto"
    "buf.MethodOptions.IdempotencyLevel:\023IDEM"
    "POTENCY_UNKNOWN\022-\n\010features\030# \001(\0132\033.goog"
    "le.protobuf.FeatureSet\022C\n\024uninterpreted_"
    "option\030\347\007 \003(\0132$.google.protobuf.Uninterp"
    "retedOption\"P\n\020IdempotencyLevel\022\027\n\023IDEMP"
    "OTENCY_UNKNOWN\020\000\022\023\n\017NO_SIDE_EFFECTS\020\001\022\016\n"
    "\nIDEMPOTENT\020\002*\006\010\336\007\020\347\007*\t\010\350\007\020\200\200\200\200\002\"\236\002\n\023Uni"
    "nterpretedOption\022;\n\004name\030\002 \003(\0132-.google."
    "protobuf.UninterpretedOption.NamePart\022\030\n"
    "\020identifier_value\030\003 \001(\t\022\032\n\022positive_int_"
    "value\030\004 \001(\004\022\032\n\022negative_int_value\030\005 \001(\003\022"
    "\024\n\014double_value\030\006 \001(\001\022\024\n\014string_value\030\007 "
    "\001(\014\022\027\n\017aggregate_value\030\010 \001(\t\0323\n\010NamePart"
    "\022\021\n\tname_part\030\001 \002(\t\022\024\n\014is_extension\030\002 \002("
    "\010\"\336\020\n\nFeatureSet\022\202\001\n\016field_presence\030\001 \001("
    "\0162).google.protobuf.FeatureSet.FieldPres"
    "enceB\?\210\001\001\230\001\004\230\001\001\242\001\r\022\010EXPLICIT\030\204\007\242\001\r\022\010IMPL"
    "ICIT\030\347\007\242\001\r\022\010EXPLICIT\030\350\007\262\001\003\010\350\007\022b\n\tenum_ty"
    "pe\030\002 \001(\0162$.google.protobuf.FeatureSet.En"
    "umTypeB)\210\001\001\230\001\006\230\001\001\242\001\013\022\006CLOSED\030\204\007\242\001\t\022\004OPEN"
    "\030\347\007\262\001\003\010\350\007\022\201\001\n\027repeated_field_encoding\030\003 "
    "\001(\01621.google.protobuf.FeatureSet.Repeate"
    "dFieldEncodingB-\210\001\001\230\001\004\230\001\001\242\001\r\022\010EXPANDED\030\204"
    "\007\242\001\013\022\006PACKED\030\347\007\262\001\003\010\350\007\022n\n\017utf8_validation"
    "\030\004 \001(\0162*.google.protobuf.FeatureSet.Utf8"
    "ValidationB)\210\001\001\230\001\004\230\001\001\242\001\t\022\004NONE\030\204\007\242\001\013\022\006VE"
    "RIFY\030\347\007\262\001\003\010\350\007\022m\n\020message_encoding\030\005 \001(\0162"
    "+.google.protobuf.FeatureSet.MessageEnco"
    "dingB&\210\001\001\230\001\004\230\001\001\242\001\024\022\017LENGTH_PREFIXED\030\204\007\262\001"
    "\003\010\350\007\022v\n\013json_format\030\006 \001(\0162&.google.proto"
    "buf.FeatureSet.JsonFormatB9\210\001\001\230\001\003\230\001\006\230\001\001\242"
    "\001\027\022\022LEGACY_BEST_EFFORT\030\204\007\242\001\n\022\005ALLOW\030\347\007\262\001"
    "\003\010\350\007\022\250\001\n\024enforce_naming_style\030\007 \001(\0162..go"
    "ogle.protobuf.FeatureSet.EnforceNamingSt"
    "yleBZ\210\001\002\230\001\001\230\001\002\230\001\003\230\001\004\230\001\005\230\001\006\230\001\007\230\001\010\230\001\t\242\001\021\022\014"
    "STYLE_LEGACY\030\204\007\242\001\016\022\tSTYLE2024\030\351\007\242\001\016\022\tSTY"
    "LE2026\030\352\007\262\001\003\010\351\007\022\256\001\n\031default_symbol_visib"
    "ility\030\010 \001(\0162E.google.protobuf.FeatureSet"
    ".VisibilityFeature.DefaultSymbolVisibili"
    "tyBD\210\001\002\230\001\001\242\001\017\022\nEXPORT_ALL\030\204\007\242\001\025\022\020EXPORT_"
    "TOP_LEVEL\030\351\007\242\001\013\022\006STRICT\030\352\007\262\001\003\010\351\007\022\257\001\n\024enf"
    "orce_proto_limits\030\t \001(\0162A.google.protobu"
    "f.FeatureSet.ProtoLimitsFeature.EnforceP"
    "rotoLimitsBN\210\001\002\230\001\006\230\001\003\230\001\004\230\001\005\242\001\036\022\031LEGACY_N"
    "O_EXPLICIT_LIMITS\030\204\007\242\001\025\022\020PROTO_LIMITS202"
    "6\030\352\007\262\001\003\010\352\007\032\241\001\n\021VisibilityFeature\"\201\001\n\027Def"
    "aultSymbolVisibility\022%\n!DEFAULT_SYMBOL_V"
    "ISIBILITY_UNKNOWN\020\000\022\016\n\nEXPORT_ALL\020\001\022\024\n\020E"
    "XPORT_TOP_LEVEL\020\002\022\r\n\tLOCAL_ALL\020\003\022\n\n\006STRI"
    "CT\020\004J\010\010\001\020\200\200\200\200\002\032y\n\022ProtoLimitsFeature\"c\n\022"
    "EnforceProtoLimits\022\030\n\024PROTO_LIMITS_UNKNO"
    "WN\020\000\022\035\n\031LEGACY_NO_EXPLICIT_LIMITS\020\001\022\024\n\020P"
    "ROTO_LIMITS2026\020\002\"\\\n\rFieldPresence\022\032\n\026FI"
    "ELD_PRESENCE_UNKNOWN\020\000\022\014\n\010EXPLICIT\020\001\022\014\n\010"
    "IMPLICIT\020\002\022\023\n\017LEGACY_REQUIRED\020\003\"7\n\010EnumT"
    "ype\022\025\n\021ENUM_TYPE_UNKNOWN\020\000\022\010\n\004OPEN\020\001\022\n\n\006"
    "CLOSED\020\002\"V\n\025RepeatedFieldEncoding\022#\n\037REP"
    "EATED_FIELD_ENCODING_UNKNOWN\020\000\022\n\n\006PACKED"
    "\020\001\022\014\n\010EXPANDED\020\002\"I\n\016Utf8Validation\022\033\n\027UT"
    "F8_VALIDATION_UNKNOWN\020\000\022\n\n\006VERIFY\020\002\022\010\n\004N"
    "ONE\020\003\"\004\010\001\020\001\"S\n\017MessageEncoding\022\034\n\030MESSAG"
    "E_ENCODING_UNKNOWN\020\000\022\023\n\017LENGTH_PREFIXED\020"
    "\001\022\r\n\tDELIMITED\020\002\"H\n\nJsonFormat\022\027\n\023JSON_F"
    "ORMAT_UNKNOWN\020\000\022\t\n\005ALLOW\020\001\022\026\n\022LEGACY_BES"
    "T_EFFORT\020\002\"f\n\022EnforceNamingStyle\022 \n\034ENFO"
    "RCE_NAMING_STYLE_UNKNOWN\020\000\022\r\n\tSTYLE2024\020"
    "\001\022\020\n\014STYLE_LEGACY\020\002\022\r\n\tSTYLE2026\020\003*\006\010\350\007\020"
    "\213N*\006\010\213N\020\220N*\006\010\220N\020\221NJ\006\010\347\007\020\350\007\"\230\003\n\022FeatureSe"
    "tDefaults\022N\n\010defaults\030\001 \003(\0132<.google.pro"
    "tobuf.FeatureSetDefaults.FeatureSetEditi"
    "onDefault\0221\n\017minimum_edition\030\004 \001(\0162\030.goo"
    "gle.protobuf.Edition\0221\n\017maximum_edition\030"
    "\005 \001(\0162\030.google.protobuf.Edition\032\313\001\n\030Feat"
    "ureSetEditionDefault\022)\n\007edition\030\003 \001(\0162\030."
    "google.protobuf.Edition\0229\n\024overridable_f"
    "eatures\030\004 \001(\0132\033.google.protobuf.FeatureS"
    "et\0223\n\016fixed_features\030\005 \001(\0132\033.google.prot"
    "obuf.FeatureSetJ\004\010\001\020\002J\004\010\002\020\003R\010features\"\343\001"
    "\n\016SourceCodeInfo\022:\n\010location\030\001 \003(\0132(.goo"
    "gle.protobuf.SourceCodeInfo.Location\032\206\001\n"
    "\010Location\022\020\n\004path\030\001 \003(\005B\002\020\001\022\020\n\004span\030\002 \003("
    "\005B\002\020\001\022\030\n\020leading_comments\030\003 \001(\t\022\031\n\021trail"
    "ing_comments\030\004 \001(\t\022!\n\031leading_detached_c"
    "omments\030\006 \003(\t*\014\010\200\354\312\377\001\020\201\354\312\377\001\"\234\002\n\021Generate"
    "dCodeInfo\022A\n\nannotation\030\001 \003(\0132-.google.p"
    "rotobuf.GeneratedCodeInfo.Annotation\032\303\001\n"
    "\nAnnotation\022\020\n\004path\030\001 \003(\005B\002\020\001\022\023\n\013source_"
    "file\030\002 \001(\t\022\r\n\005begin\030\003 \001(\005\022\013\n\003end\030\004 \001(\005\022H"
    "\n\010semantic\030\005 \001(\01626.google.protobuf.Gener"
    "atedCodeInfo.Annotation.Semantic\"(\n\010Sema"
    "ntic\022\010\n\004NONE\020\000\022\007\n\003SET\020\001\022\t\n\005ALIAS\020\002*\321\002\n\007E"
    "dition\022\023\n\017EDITION_UNKNOWN\020\000\022\023\n\016EDITION_L"
    "EGACY\020\204\007\022\023\n\016EDITION_PROTO2\020\346\007\022\023\n\016EDITION"
    "_PROTO3\020\347\007\022\021\n\014EDITION_2023\020\350\007\022\021\n\014EDITION"
    "_2024\020\351\007\022\021\n\014EDITION_2026\020\352\007\022\025\n\020EDITION_U"
    "NSTABLE\020\217N\022\027\n\023EDITION_1_TEST_ONLY\020\001\022\027\n\023E"
    "DITION_2_TEST_ONLY\020\002\022\035\n\027EDITION_99997_TE"
    "ST_ONLY\020\235\215\006\022\035\n\027EDITION_99998_TEST_ONLY\020\236"
    "\215\006\022\035\n\027EDITION_99999_TEST_ONLY\020\237\215\006\022\023\n\013EDI"
    "TION_MAX\020\377\377\377\377\007*U\n\020SymbolVisibility\022\024\n\020VI"
    "SIBILITY_UNSET\020\000\022\024\n\020VISIBILITY_LOCAL\020\001\022\025"
    "\n\021VISIBILITY_EXPORT\020\002B~\n\023com.google.prot"
    "obufB\020DescriptorProtosH\001Z-google.golang."
    "org/protobuf/types/descriptorpb\370\001\001\242\002\003GPB"
    "\252\002\032Google.Protobuf.Reflection"
};
static ::absl::once_flag descriptor_table_google_2fprotobuf_2fdescriptor_2eproto_once;
PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_google_2fprotobuf_2fdescriptor_2eproto = {
    false,
    false,
    11749,
    descriptor_table_protodef_google_2fprotobuf_2fdescriptor_2eproto,
    "google/protobuf/descriptor.proto",
    &descriptor_table_google_2fprotobuf_2fdescriptor_2eproto_once,
    nullptr,
    0,
    35,
    schemas,
    file_message_globals,
    TableStruct_google_2fprotobuf_2fdescriptor_2eproto::offsets,
    file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto,
    file_level_service_descriptors_google_2fprotobuf_2fdescriptor_2eproto,
};
namespace google {
namespace protobuf {
namespace internal {
#if !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
PROTOBUF_EXPORT void InitializeFileDescriptorDefaultInstancesSlow() {
  FileDescriptorSet_globals_.Init();
FileDescriptorProto_globals_.Init();
DescriptorProto_ExtensionRange_globals_.Init();
DescriptorProto_ReservedRange_globals_.Init();
DescriptorProto_globals_.Init();
ExtensionRangeOptions_Declaration_globals_.Init();
ExtensionRangeOptions_globals_.Init();
FieldDescriptorProto_globals_.Init();
OneofDescriptorProto_globals_.Init();
EnumDescriptorProto_EnumReservedRange_globals_.Init();
EnumDescriptorProto_globals_.Init();
EnumValueDescriptorProto_globals_.Init();
ServiceDescriptorProto_globals_.Init();
MethodDescriptorProto_globals_.Init();
FileOptions_globals_.Init();
MessageOptions_globals_.Init();
FieldOptions_EditionDefault_globals_.Init();
FieldOptions_FeatureSupport_globals_.Init();
FieldOptions_globals_.Init();
OneofOptions_globals_.Init();
EnumOptions_globals_.Init();
EnumValueOptions_globals_.Init();
ServiceOptions_globals_.Init();
MethodOptions_globals_.Init();
UninterpretedOption_NamePart_globals_.Init();
UninterpretedOption_globals_.Init();
FeatureSet_VisibilityFeature_globals_.Init();
FeatureSet_ProtoLimitsFeature_globals_.Init();
FeatureSet_globals_.Init();
FeatureSetDefaults_FeatureSetEditionDefault_globals_.Init();
FeatureSetDefaults_globals_.Init();
SourceCodeInfo_Location_globals_.Init();
SourceCodeInfo_globals_.Init();
GeneratedCodeInfo_Annotation_globals_.Init();
GeneratedCodeInfo_globals_.Init();;
}
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
static ::std::true_type dynamic_init_dummy_google_2fprotobuf_2fdescriptor_2eproto{
    (InitializeFileDescriptorDefaultInstances(), ::std::true_type{})};
#endif  // !defined(PROTOBUF_CONSTINIT_DEFAULT_INSTANCES)
}  // namespace internal
}  // namespace protobuf
}  // namespace google
namespace google {
namespace protobuf {
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
ExtensionRangeOptions_VerificationState_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t ExtensionRangeOptions_VerificationState_internal_data_[] = {
    131072u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FieldDescriptorProto_Type_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t FieldDescriptorProto_Type_internal_data_[] = {
    1179649u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FieldDescriptorProto_Label_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[2];
}
PROTOBUF_CONSTINIT const uint32_t FieldDescriptorProto_Label_internal_data_[] = {
    196609u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FileOptions_OptimizeMode_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[3];
}
PROTOBUF_CONSTINIT const uint32_t FileOptions_OptimizeMode_internal_data_[] = {
    196609u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FieldOptions_CType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[4];
}
PROTOBUF_CONSTINIT const uint32_t FieldOptions_CType_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FieldOptions_JSType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[5];
}
PROTOBUF_CONSTINIT const uint32_t FieldOptions_JSType_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FieldOptions_OptionRetention_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[6];
}
PROTOBUF_CONSTINIT const uint32_t FieldOptions_OptionRetention_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FieldOptions_OptionTargetType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[7];
}
PROTOBUF_CONSTINIT const uint32_t FieldOptions_OptionTargetType_internal_data_[] = {
    655360u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
MethodOptions_IdempotencyLevel_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[8];
}
PROTOBUF_CONSTINIT const uint32_t MethodOptions_IdempotencyLevel_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_VisibilityFeature_DefaultSymbolVisibility_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[9];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_VisibilityFeature_DefaultSymbolVisibility_internal_data_[] = {
    327680u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_ProtoLimitsFeature_EnforceProtoLimits_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[10];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_ProtoLimitsFeature_EnforceProtoLimits_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_FieldPresence_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[11];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_FieldPresence_internal_data_[] = {
    262144u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_EnumType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[12];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_EnumType_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_RepeatedFieldEncoding_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[13];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_RepeatedFieldEncoding_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_Utf8Validation_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[14];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_Utf8Validation_internal_data_[] = {
    65536u, 32u, 6u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_MessageEncoding_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[15];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_MessageEncoding_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_JsonFormat_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[16];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_JsonFormat_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
FeatureSet_EnforceNamingStyle_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[17];
}
PROTOBUF_CONSTINIT const uint32_t FeatureSet_EnforceNamingStyle_internal_data_[] = {
    262144u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
GeneratedCodeInfo_Annotation_Semantic_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[18];
}
PROTOBUF_CONSTINIT const uint32_t GeneratedCodeInfo_Annotation_Semantic_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
Edition_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[19];
}
PROTOBUF_CONSTINIT const uint32_t Edition_internal_data_[] = {
    196608u, 720896u, 99997u, 1000u, 99999u, 998u, 1002u, 99998u, 2147483647u, 900u, 999u, 1001u, 9999u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
SymbolVisibility_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_google_2fprotobuf_2fdescriptor_2eproto);
  return file_level_enum_descriptors_google_2fprotobuf_2fdescriptor_2eproto[20];
}
PROTOBUF_CONSTINIT const uint32_t SymbolVisibility_internal_data_[] = {
    196608u, 0u, };
// ===================================================================

FileDescriptorSet::FileDescriptorSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FileDescriptorSet_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FileDescriptorSet)
}
PROTOBUF_NDEBUG_INLINE FileDescriptorSet::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FileDescriptorSet& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        file_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorSet,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _impl_.file_)>()
          , arena, from.file_
        }
     {}

FileDescriptorSet::FileDescriptorSet(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FileDescriptorSet& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FileDescriptorSet_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FileDescriptorSet* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorSet)
}
PROTOBUF_NDEBUG_INLINE FileDescriptorSet::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        file_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorSet,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorSet, _impl_.file_)>()
         }
     {}

inline void FileDescriptorSet::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FileDescriptorSet& this_ = static_cast<FileDescriptorSet&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
}
FileDescriptorSet::~FileDescriptorSet() {
  // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorSet)
  Helpers_::SharedDtor(*this);
}
inline void FileDescriptorSet::Helpers_::SharedDtor(MessageLite& self) {
  FileDescriptorSet& this_ = static_cast<FileDescriptorSet&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FileDescriptorSet::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FileDescriptorSet_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FileDescriptorSet_globals_));
  return &FileDescriptorSet_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FileDescriptorSet::Helpers_::Clear(MessageLite& base) {
  FileDescriptorSet& this_ = static_cast<FileDescriptorSet&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FileDescriptorSet::Clear() {
  FileDescriptorSet& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FileDescriptorSet)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    this_._impl_.file_.Clear();
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FileDescriptorSet::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FileDescriptorSet& this_ = static_cast<const FileDescriptorSet&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FileDescriptorSet::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FileDescriptorSet& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileDescriptorSet)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .google.protobuf.FileDescriptorProto file = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_file_size());
         i < n; i++) {
      const auto& repfield = this_._internal_file().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // All extensions.
  target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(),
                                                    target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorSet)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FileDescriptorSet::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FileDescriptorSet& this_ = static_cast<const FileDescriptorSet&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FileDescriptorSet::ByteSizeLong() const {
  const FileDescriptorSet& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileDescriptorSet)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .google.protobuf.FileDescriptorProto file = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_file_size();
      for (const auto& msg : this_._internal_file()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FileDescriptorSet::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FileDescriptorSet*>(&to_msg);
  auto& from = static_cast<const FileDescriptorSet&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileDescriptorSet)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_mutable_file()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_file());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FileDescriptorSet::CopyFrom(const FileDescriptorSet& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileDescriptorSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FileDescriptorSet::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FileDescriptorSet&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_file()))
    return false;
  return true;
}

void FileDescriptorSet::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FileDescriptorSet* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FileDescriptorSet& this_ = static_cast<FileDescriptorSet&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.file_.InternalSwap(&other->_impl_.file_);
}

::google::protobuf::Metadata FileDescriptorSet::GetMetadata() const {
  return Super_::GetMetadataImpl(FileDescriptorSet_globals_.class_data);
}
// ===================================================================

FileDescriptorProto::FileDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FileDescriptorProto_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FileDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE FileDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FileDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        dependency_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.dependency_)>()
          , arena, from.dependency_
        }
        ,
        message_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.message_type_)>()
          , arena, from.message_type_
        }
        ,
        enum_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.enum_type_)>()
          , arena, from.enum_type_
        }
        ,
        service_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.service_)>()
          , arena, from.service_
        }
        ,
        extension_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.extension_)>()
          , arena, from.extension_
        }
        ,
        public_dependency_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.public_dependency_)>()
          , arena, from.public_dependency_
        }
        ,
        weak_dependency_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.weak_dependency_)>()
          , arena, from.weak_dependency_
        }
        ,
        option_dependency_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.option_dependency_)>()
          , arena, from.option_dependency_
        }
        ,
        name_(arena, from.name_),
        package_(arena, from.package_),
        syntax_(arena, from.syntax_) {}

FileDescriptorProto::FileDescriptorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FileDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FileDescriptorProto_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FileDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000800U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;
  _impl_.source_code_info_ = (CheckHasBit(cached_has_bits, 0x00001000U))
                 ? Super_::CopyConstruct(arena, *from._impl_.source_code_info_)
                 : nullptr;
  _impl_.edition_ = from._impl_.edition_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE FileDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : dependency_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.dependency_)>()
         }
        ,
        message_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.message_type_)>()
         }
        ,
        enum_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.enum_type_)>()
         }
        ,
        service_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.service_)>()
         }
        ,
        extension_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.extension_)>()
         }
        ,
        public_dependency_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.public_dependency_)>()
         }
        ,
        weak_dependency_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.weak_dependency_)>()
         }
        ,
        option_dependency_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileDescriptorProto, _impl_.option_dependency_)>()
         }
        ,
        name_(arena),
        package_(arena),
        syntax_(arena) {}

inline void FileDescriptorProto::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FileDescriptorProto& this_ = static_cast<FileDescriptorProto&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, edition_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::edition_));
}
FileDescriptorProto::~FileDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorProto)
  Helpers_::SharedDtor(*this);
}
inline void FileDescriptorProto::Helpers_::SharedDtor(MessageLite& self) {
  FileDescriptorProto& this_ = static_cast<FileDescriptorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.package_.Destroy();
  this_._impl_.syntax_.Destroy();
  delete this_._impl_.options_;
  delete this_._impl_.source_code_info_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FileDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FileDescriptorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FileDescriptorProto_globals_));
  return &FileDescriptorProto_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FileDescriptorProto::Helpers_::Clear(MessageLite& base) {
  FileDescriptorProto& this_ = static_cast<FileDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FileDescriptorProto::Clear() {
  FileDescriptorProto& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FileDescriptorProto)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.dependency_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.message_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      this_._impl_.enum_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      this_._impl_.service_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      this_._impl_.extension_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      this_._impl_.public_dependency_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      this_._impl_.weak_dependency_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      this_._impl_.option_dependency_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      this_._impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      this_._impl_.package_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      this_._impl_.syntax_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(this_._impl_.options_ != nullptr);
      this_._impl_.options_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(this_._impl_.source_code_info_ != nullptr);
      this_._impl_.source_code_info_->Clear();
    }
  }
  this_._impl_.edition_ = 0;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FileDescriptorProto::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FileDescriptorProto& this_ = static_cast<const FileDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FileDescriptorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FileDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileDescriptorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string package = 2;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_package();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated string dependency = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_dependency_size(); i < n; ++i) {
      const auto& s = this_._internal_dependency().Get(i);
      target = stream->WriteString(3, s, target);
    }
  }

  // repeated .google.protobuf.DescriptorProto message_type = 4;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_message_type_size());
         i < n; i++) {
      const auto& repfield = this_._internal_message_type().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_enum_type_size());
         i < n; i++) {
      const auto& repfield = this_._internal_enum_type().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated .google.protobuf.ServiceDescriptorProto service = 6;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_service_size());
         i < n; i++) {
      const auto& repfield = this_._internal_service().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated .google.protobuf.FieldDescriptorProto extension = 7;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_extension_size());
         i < n; i++) {
      const auto& repfield = this_._internal_extension().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          7, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // optional .google.protobuf.FileOptions options = 8;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, *this_._impl_.source_code_info_, this_._impl_.source_code_info_->GetCachedSize(), target,
        stream);
  }

  // repeated int32 public_dependency = 10;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (int i = 0, n = this_._internal_public_dependency_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt32ToArray(
          10, this_._internal_public_dependency().Get(i), target);
    }
  }

  // repeated int32 weak_dependency = 11;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    for (int i = 0, n = this_._internal_weak_dependency_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt32ToArray(
          11, this_._internal_weak_dependency().Get(i), target);
    }
  }

  // optional string syntax = 12;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    const ::std::string& _s = this_._internal_syntax();
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  // optional .google.protobuf.Edition edition = 14;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        14, this_._internal_edition(), target);
  }

  // repeated string option_dependency = 15;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    for (int i = 0, n = this_._internal_option_dependency_size(); i < n; ++i) {
      const auto& s = this_._internal_option_dependency().Get(i);
      target = stream->WriteString(15, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FileDescriptorProto::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FileDescriptorProto& this_ = static_cast<const FileDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FileDescriptorProto::ByteSizeLong() const {
  const FileDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileDescriptorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated string dependency = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_dependency().size());
      for (int i = 0, n = this_._internal_dependency().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_dependency().Get(i));
      }
    }
    // repeated .google.protobuf.DescriptorProto message_type = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_message_type_size();
      for (const auto& msg : this_._internal_message_type()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_enum_type_size();
      for (const auto& msg : this_._internal_enum_type()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.ServiceDescriptorProto service = 6;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_service_size();
      for (const auto& msg : this_._internal_service()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.FieldDescriptorProto extension = 7;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_extension_size();
      for (const auto& msg : this_._internal_extension()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated int32 public_dependency = 10;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
          this_._internal_public_dependency());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_public_dependency_size());
      total_size += tag_size + data_size;
    }
    // repeated int32 weak_dependency = 11;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
          this_._internal_weak_dependency());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_weak_dependency_size());
      total_size += tag_size + data_size;
    }
    // repeated string option_dependency = 15;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_option_dependency().size());
      for (int i = 0, n = this_._internal_option_dependency().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_option_dependency().Get(i));
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string package = 2;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_package());
    }
    // optional string syntax = 12;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_syntax());
    }
    // optional .google.protobuf.FileOptions options = 8;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
    // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.source_code_info_);
    }
    // optional .google.protobuf.Edition edition = 14;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_edition());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FileDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FileDescriptorProto*>(&to_msg);
  auto& from = static_cast<const FileDescriptorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_dependency()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_dependency());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_message_type()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_message_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_enum_type()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_enum_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_service()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_service());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_extension()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_extension());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_public_dependency()->MergeFrom(from._internal_public_dependency());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_weak_dependency()->MergeFrom(from._internal_weak_dependency());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_mutable_option_dependency()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_option_dependency());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_package(from._internal_package());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_internal_set_syntax(from._internal_syntax());
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(from._impl_.source_code_info_ != nullptr);
      if (_this->_impl_.source_code_info_ == nullptr) {
        _this->_impl_.source_code_info_ = Super_::CopyConstruct(arena, *from._impl_.source_code_info_);
      } else {
        _this->_impl_.source_code_info_->MergeFrom(*from._impl_.source_code_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.edition_ = from._impl_.edition_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FileDescriptorProto::CopyFrom(const FileDescriptorProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FileDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FileDescriptorProto&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_message_type()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_enum_type()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_service()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_extension()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000800U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00001000U)) {
    if (!this_._impl_.source_code_info_->IsInitialized()) return false;
  }
  return true;
}

void FileDescriptorProto::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FileDescriptorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FileDescriptorProto& this_ = static_cast<FileDescriptorProto&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.dependency_.InternalSwap(&other->_impl_.dependency_);
  this_._impl_.message_type_.InternalSwap(&other->_impl_.message_type_);
  this_._impl_.enum_type_.InternalSwap(&other->_impl_.enum_type_);
  this_._impl_.service_.InternalSwap(&other->_impl_.service_);
  this_._impl_.extension_.InternalSwap(&other->_impl_.extension_);
  this_._impl_.public_dependency_.InternalSwap(&other->_impl_.public_dependency_);
  this_._impl_.weak_dependency_.InternalSwap(&other->_impl_.weak_dependency_);
  this_._impl_.option_dependency_.InternalSwap(&other->_impl_.option_dependency_);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_, &other->_impl_.name_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.package_, &other->_impl_.package_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.syntax_, &other->_impl_.syntax_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.edition_) +
                 sizeof(FileDescriptorProto::_impl_.edition_) -
                 PROTOBUF_FIELD_OFFSET(FileDescriptorProto, _impl_.options_)>(
      reinterpret_cast<char*>(&this_._impl_.options_),
      reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata FileDescriptorProto::GetMetadata() const {
  return Super_::GetMetadataImpl(FileDescriptorProto_globals_.class_data);
}
// ===================================================================

DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &DescriptorProto_ExtensionRange_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.DescriptorProto.ExtensionRange)
}
PROTOBUF_NDEBUG_INLINE DescriptorProto_ExtensionRange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::DescriptorProto_ExtensionRange& from_msg)
      : _has_bits_{from._has_bits_} {}

DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const DescriptorProto_ExtensionRange& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &DescriptorProto_ExtensionRange_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DescriptorProto_ExtensionRange* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, start_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, start_),
           offsetof(Impl_, end_) -
               offsetof(Impl_, start_) +
               sizeof(Impl_::end_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto.ExtensionRange)
}
PROTOBUF_NDEBUG_INLINE DescriptorProto_ExtensionRange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
     {}

inline void DescriptorProto_ExtensionRange::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  DescriptorProto_ExtensionRange& this_ = static_cast<DescriptorProto_ExtensionRange&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, end_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::end_));
}
DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() {
  // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto.ExtensionRange)
  Helpers_::SharedDtor(*this);
}
inline void DescriptorProto_ExtensionRange::Helpers_::SharedDtor(MessageLite& self) {
  DescriptorProto_ExtensionRange& this_ = static_cast<DescriptorProto_ExtensionRange&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DescriptorProto_ExtensionRange::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&DescriptorProto_ExtensionRange_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&DescriptorProto_ExtensionRange_globals_));
  return &DescriptorProto_ExtensionRange_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void DescriptorProto_ExtensionRange::Helpers_::Clear(MessageLite& base) {
  DescriptorProto_ExtensionRange& this_ = static_cast<DescriptorProto_ExtensionRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void DescriptorProto_ExtensionRange::Clear() {
  DescriptorProto_ExtensionRange& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto.ExtensionRange)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(this_._impl_.options_ != nullptr);
    this_._impl_.options_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&this_._impl_.start_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.end_) -
                 reinterpret_cast<char*>(&this_._impl_.start_)) +
                 sizeof(_impl_.end_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL DescriptorProto_ExtensionRange::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const DescriptorProto_ExtensionRange& this_ = static_cast<const DescriptorProto_ExtensionRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL DescriptorProto_ExtensionRange::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const DescriptorProto_ExtensionRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto.ExtensionRange)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int32 start = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_start(), target);
  }

  // optional int32 end = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_end(), target);
  }

  // optional .google.protobuf.ExtensionRangeOptions options = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto.ExtensionRange)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DescriptorProto_ExtensionRange::Helpers_::ByteSizeLong(const MessageLite& base) {
  const DescriptorProto_ExtensionRange& this_ = static_cast<const DescriptorProto_ExtensionRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DescriptorProto_ExtensionRange::ByteSizeLong() const {
  const DescriptorProto_ExtensionRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto.ExtensionRange)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional .google.protobuf.ExtensionRangeOptions options = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
    // optional int32 start = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_start());
    }
    // optional int32 end = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_end());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void DescriptorProto_ExtensionRange::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DescriptorProto_ExtensionRange*>(&to_msg);
  auto& from = static_cast<const DescriptorProto_ExtensionRange&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto.ExtensionRange)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.start_ = from._impl_.start_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.end_ = from._impl_.end_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void DescriptorProto_ExtensionRange::CopyFrom(const DescriptorProto_ExtensionRange& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto.ExtensionRange)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool DescriptorProto_ExtensionRange::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const DescriptorProto_ExtensionRange&>(msg);
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000001U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void DescriptorProto_ExtensionRange::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    DescriptorProto_ExtensionRange* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  DescriptorProto_ExtensionRange& this_ = static_cast<DescriptorProto_ExtensionRange&>(self);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.end_) +
                 sizeof(DescriptorProto_ExtensionRange::_impl_.end_) -
                 PROTOBUF_FIELD_OFFSET(DescriptorProto_ExtensionRange, _impl_.options_)>(
      reinterpret_cast<char*>(&this_._impl_.options_),
      reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata DescriptorProto_ExtensionRange::GetMetadata() const {
  return Super_::GetMetadataImpl(DescriptorProto_ExtensionRange_globals_.class_data);
}
// ===================================================================

DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &DescriptorProto_ReservedRange_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.DescriptorProto.ReservedRange)
}
DescriptorProto_ReservedRange::DescriptorProto_ReservedRange(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DescriptorProto_ReservedRange& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &DescriptorProto_ReservedRange_globals_.class_data),
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE DescriptorProto_ReservedRange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
     {}

inline void DescriptorProto_ReservedRange::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  DescriptorProto_ReservedRange& this_ = static_cast<DescriptorProto_ReservedRange&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, start_),
           0,
           offsetof(Impl_, end_) -
               offsetof(Impl_, start_) +
               sizeof(Impl_::end_));
}
DescriptorProto_ReservedRange::~DescriptorProto_ReservedRange() {
  // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto.ReservedRange)
  Helpers_::SharedDtor(*this);
}
inline void DescriptorProto_ReservedRange::Helpers_::SharedDtor(MessageLite& self) {
  DescriptorProto_ReservedRange& this_ = static_cast<DescriptorProto_ReservedRange&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DescriptorProto_ReservedRange::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&DescriptorProto_ReservedRange_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&DescriptorProto_ReservedRange_globals_));
  return &DescriptorProto_ReservedRange_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void DescriptorProto_ReservedRange::Helpers_::Clear(MessageLite& base) {
  DescriptorProto_ReservedRange& this_ = static_cast<DescriptorProto_ReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void DescriptorProto_ReservedRange::Clear() {
  DescriptorProto_ReservedRange& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto.ReservedRange)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    ::memset(&this_._impl_.start_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.end_) -
                 reinterpret_cast<char*>(&this_._impl_.start_)) +
                 sizeof(_impl_.end_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL DescriptorProto_ReservedRange::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const DescriptorProto_ReservedRange& this_ = static_cast<const DescriptorProto_ReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL DescriptorProto_ReservedRange::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const DescriptorProto_ReservedRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto.ReservedRange)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int32 start = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_start(), target);
  }

  // optional int32 end = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_end(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto.ReservedRange)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DescriptorProto_ReservedRange::Helpers_::ByteSizeLong(const MessageLite& base) {
  const DescriptorProto_ReservedRange& this_ = static_cast<const DescriptorProto_ReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DescriptorProto_ReservedRange::ByteSizeLong() const {
  const DescriptorProto_ReservedRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto.ReservedRange)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional int32 start = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_start());
    }
    // optional int32 end = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_end());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void DescriptorProto_ReservedRange::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DescriptorProto_ReservedRange*>(&to_msg);
  auto& from = static_cast<const DescriptorProto_ReservedRange&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto.ReservedRange)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.start_ = from._impl_.start_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.end_ = from._impl_.end_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void DescriptorProto_ReservedRange::CopyFrom(const DescriptorProto_ReservedRange& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto.ReservedRange)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void DescriptorProto_ReservedRange::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    DescriptorProto_ReservedRange* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  DescriptorProto_ReservedRange& this_ = static_cast<DescriptorProto_ReservedRange&>(self);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.end_) +
                 sizeof(DescriptorProto_ReservedRange::_impl_.end_) -
                 PROTOBUF_FIELD_OFFSET(DescriptorProto_ReservedRange, _impl_.start_)>(
      reinterpret_cast<char*>(&this_._impl_.start_),
      reinterpret_cast<char*>(&other->_impl_.start_));
}

::google::protobuf::Metadata DescriptorProto_ReservedRange::GetMetadata() const {
  return Super_::GetMetadataImpl(DescriptorProto_ReservedRange_globals_.class_data);
}
// ===================================================================

DescriptorProto::DescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &DescriptorProto_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.DescriptorProto)
}
PROTOBUF_NDEBUG_INLINE DescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::DescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        field_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::DescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.field_)>()
          , arena, from.field_
        }
        ,
        nested_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::DescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.nested_type_)>()
          , arena, from.nested_type_
        }
        ,
        enum_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::DescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.enum_type_)>()
          , arena, from.enum_type_
        }
        ,
        extension_range_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::DescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_range_)>()
          , arena, from.extension_range_
        }
        ,
        extension_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::DescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_)>()
          , arena, from.extension_
        }
        ,
        oneof_decl_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::DescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.oneof_decl_)>()
          , arena, from.oneof_decl_
        }
        ,
        reserved_range_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::DescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_range_)>()
          , arena, from.reserved_range_
        }
        ,
        reserved_name_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::DescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_name_)>()
          , arena, from.reserved_name_
        }
        ,
        name_(arena, from.name_) {}

DescriptorProto::DescriptorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const DescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &DescriptorProto_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000200U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;
  _impl_.visibility_ = from._impl_.visibility_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto)
}
PROTOBUF_NDEBUG_INLINE DescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : field_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.field_)>()
         }
        ,
        nested_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.nested_type_)>()
         }
        ,
        enum_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.enum_type_)>()
         }
        ,
        extension_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_range_)>()
         }
        ,
        extension_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.extension_)>()
         }
        ,
        oneof_decl_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.oneof_decl_)>()
         }
        ,
        reserved_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_range_)>()
         }
        ,
        reserved_name_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::DescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::DescriptorProto, _impl_.reserved_name_)>()
         }
        ,
        name_(arena) {}

inline void DescriptorProto::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  DescriptorProto& this_ = static_cast<DescriptorProto&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, visibility_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::visibility_));
}
DescriptorProto::~DescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto)
  Helpers_::SharedDtor(*this);
}
inline void DescriptorProto::Helpers_::SharedDtor(MessageLite& self) {
  DescriptorProto& this_ = static_cast<DescriptorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&DescriptorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&DescriptorProto_globals_));
  return &DescriptorProto_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void DescriptorProto::Helpers_::Clear(MessageLite& base) {
  DescriptorProto& this_ = static_cast<DescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void DescriptorProto::Clear() {
  DescriptorProto& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.DescriptorProto)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.field_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.nested_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      this_._impl_.enum_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      this_._impl_.extension_range_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      this_._impl_.extension_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      this_._impl_.oneof_decl_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      this_._impl_.reserved_range_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      this_._impl_.reserved_name_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      this_._impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(this_._impl_.options_ != nullptr);
      this_._impl_.options_->Clear();
    }
  }
  this_._impl_.visibility_ = 0;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL DescriptorProto::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const DescriptorProto& this_ = static_cast<const DescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL DescriptorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const DescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .google.protobuf.FieldDescriptorProto field = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_field_size());
         i < n; i++) {
      const auto& repfield = this_._internal_field().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated .google.protobuf.DescriptorProto nested_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_nested_type_size());
         i < n; i++) {
      const auto& repfield = this_._internal_nested_type().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_enum_type_size());
         i < n; i++) {
      const auto& repfield = this_._internal_enum_type().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_extension_range_size());
         i < n; i++) {
      const auto& repfield = this_._internal_extension_range().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated .google.protobuf.FieldDescriptorProto extension = 6;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_extension_size());
         i < n; i++) {
      const auto& repfield = this_._internal_extension().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // optional .google.protobuf.MessageOptions options = 7;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_oneof_decl_size());
         i < n; i++) {
      const auto& repfield = this_._internal_oneof_decl().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_reserved_range_size());
         i < n; i++) {
      const auto& repfield = this_._internal_reserved_range().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          9, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated string reserved_name = 10;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    for (int i = 0, n = this_._internal_reserved_name_size(); i < n; ++i) {
      const auto& s = this_._internal_reserved_name().Get(i);
      target = stream->WriteString(10, s, target);
    }
  }

  // optional .google.protobuf.SymbolVisibility visibility = 11;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        11, this_._internal_visibility(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DescriptorProto::Helpers_::ByteSizeLong(const MessageLite& base) {
  const DescriptorProto& this_ = static_cast<const DescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DescriptorProto::ByteSizeLong() const {
  const DescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.DescriptorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .google.protobuf.FieldDescriptorProto field = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_field_size();
      for (const auto& msg : this_._internal_field()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.DescriptorProto nested_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_nested_type_size();
      for (const auto& msg : this_._internal_nested_type()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1UL * this_._internal_enum_type_size();
      for (const auto& msg : this_._internal_enum_type()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_extension_range_size();
      for (const auto& msg : this_._internal_extension_range()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.FieldDescriptorProto extension = 6;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1UL * this_._internal_extension_size();
      for (const auto& msg : this_._internal_extension()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1UL * this_._internal_oneof_decl_size();
      for (const auto& msg : this_._internal_oneof_decl()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1UL * this_._internal_reserved_range_size();
      for (const auto& msg : this_._internal_reserved_range()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated string reserved_name = 10;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_reserved_name().size());
      for (int i = 0, n = this_._internal_reserved_name().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_reserved_name().Get(i));
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional .google.protobuf.MessageOptions options = 7;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
    // optional .google.protobuf.SymbolVisibility visibility = 11;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_visibility());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void DescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DescriptorProto*>(&to_msg);
  auto& from = static_cast<const DescriptorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.DescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_field()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_field());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_nested_type()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_nested_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_enum_type()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_enum_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_extension_range()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_extension_range());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_extension()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_extension());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_mutable_oneof_decl()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_oneof_decl());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_reserved_range()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_reserved_range());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_mutable_reserved_name()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_reserved_name());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.visibility_ = from._impl_.visibility_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void DescriptorProto::CopyFrom(const DescriptorProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.DescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool DescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const DescriptorProto&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_field()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_nested_type()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_enum_type()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_extension_range()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_extension()))
    return false;
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_oneof_decl()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000200U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void DescriptorProto::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    DescriptorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  DescriptorProto& this_ = static_cast<DescriptorProto&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.field_.InternalSwap(&other->_impl_.field_);
  this_._impl_.nested_type_.InternalSwap(&other->_impl_.nested_type_);
  this_._impl_.enum_type_.InternalSwap(&other->_impl_.enum_type_);
  this_._impl_.extension_range_.InternalSwap(&other->_impl_.extension_range_);
  this_._impl_.extension_.InternalSwap(&other->_impl_.extension_);
  this_._impl_.oneof_decl_.InternalSwap(&other->_impl_.oneof_decl_);
  this_._impl_.reserved_range_.InternalSwap(&other->_impl_.reserved_range_);
  this_._impl_.reserved_name_.InternalSwap(&other->_impl_.reserved_name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_, &other->_impl_.name_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.visibility_) +
                 sizeof(DescriptorProto::_impl_.visibility_) -
                 PROTOBUF_FIELD_OFFSET(DescriptorProto, _impl_.options_)>(
      reinterpret_cast<char*>(&this_._impl_.options_),
      reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata DescriptorProto::GetMetadata() const {
  return Super_::GetMetadataImpl(DescriptorProto_globals_.class_data);
}
// ===================================================================

ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &ExtensionRangeOptions_Declaration_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.ExtensionRangeOptions.Declaration)
}
PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions_Declaration::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::ExtensionRangeOptions_Declaration& from_msg)
      : _has_bits_{from._has_bits_},
        full_name_(arena, from.full_name_),
        type_(arena, from.type_) {}

ExtensionRangeOptions_Declaration::ExtensionRangeOptions_Declaration(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ExtensionRangeOptions_Declaration& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &ExtensionRangeOptions_Declaration_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ExtensionRangeOptions_Declaration* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, number_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, number_),
           offsetof(Impl_, repeated_) -
               offsetof(Impl_, number_) +
               sizeof(Impl_::repeated_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.ExtensionRangeOptions.Declaration)
}
PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions_Declaration::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : full_name_(arena),
        type_(arena) {}

inline void ExtensionRangeOptions_Declaration::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  ExtensionRangeOptions_Declaration& this_ = static_cast<ExtensionRangeOptions_Declaration&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, number_),
           0,
           offsetof(Impl_, repeated_) -
               offsetof(Impl_, number_) +
               sizeof(Impl_::repeated_));
}
ExtensionRangeOptions_Declaration::~ExtensionRangeOptions_Declaration() {
  // @@protoc_insertion_point(destructor:google.protobuf.ExtensionRangeOptions.Declaration)
  Helpers_::SharedDtor(*this);
}
inline void ExtensionRangeOptions_Declaration::Helpers_::SharedDtor(MessageLite& self) {
  ExtensionRangeOptions_Declaration& this_ = static_cast<ExtensionRangeOptions_Declaration&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.full_name_.Destroy();
  this_._impl_.type_.Destroy();
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ExtensionRangeOptions_Declaration::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ExtensionRangeOptions_Declaration_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ExtensionRangeOptions_Declaration_globals_));
  return &ExtensionRangeOptions_Declaration_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void ExtensionRangeOptions_Declaration::Helpers_::Clear(MessageLite& base) {
  ExtensionRangeOptions_Declaration& this_ = static_cast<ExtensionRangeOptions_Declaration&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void ExtensionRangeOptions_Declaration::Clear() {
  ExtensionRangeOptions_Declaration& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.ExtensionRangeOptions.Declaration)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.full_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.type_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&this_._impl_.number_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.repeated_) -
                 reinterpret_cast<char*>(&this_._impl_.number_)) +
                 sizeof(_impl_.repeated_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ExtensionRangeOptions_Declaration::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ExtensionRangeOptions_Declaration& this_ = static_cast<const ExtensionRangeOptions_Declaration&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ExtensionRangeOptions_Declaration::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ExtensionRangeOptions_Declaration& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ExtensionRangeOptions.Declaration)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int32 number = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_number(), target);
  }

  // optional string full_name = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_full_name();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional string type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_type();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional bool reserved = 5;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_reserved(), target);
  }

  // optional bool repeated = 6;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_repeated(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ExtensionRangeOptions.Declaration)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ExtensionRangeOptions_Declaration::Helpers_::ByteSizeLong(const MessageLite& base) {
  const ExtensionRangeOptions_Declaration& this_ = static_cast<const ExtensionRangeOptions_Declaration&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ExtensionRangeOptions_Declaration::ByteSizeLong() const {
  const ExtensionRangeOptions_Declaration& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ExtensionRangeOptions.Declaration)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00000018U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional string full_name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_full_name());
    }
    // optional string type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_type());
    }
    // optional int32 number = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_number());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ExtensionRangeOptions_Declaration::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ExtensionRangeOptions_Declaration*>(&to_msg);
  auto& from = static_cast<const ExtensionRangeOptions_Declaration&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ExtensionRangeOptions.Declaration)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_full_name(from._internal_full_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_type(from._internal_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.number_ = from._impl_.number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.reserved_ = from._impl_.reserved_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.repeated_ = from._impl_.repeated_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void ExtensionRangeOptions_Declaration::CopyFrom(const ExtensionRangeOptions_Declaration& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ExtensionRangeOptions.Declaration)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void ExtensionRangeOptions_Declaration::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    ExtensionRangeOptions_Declaration* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  ExtensionRangeOptions_Declaration& this_ = static_cast<ExtensionRangeOptions_Declaration&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.full_name_, &other->_impl_.full_name_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.type_, &other->_impl_.type_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.repeated_) +
                 sizeof(ExtensionRangeOptions_Declaration::_impl_.repeated_) -
                 PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions_Declaration, _impl_.number_)>(
      reinterpret_cast<char*>(&this_._impl_.number_),
      reinterpret_cast<char*>(&other->_impl_.number_));
}

::google::protobuf::Metadata ExtensionRangeOptions_Declaration::GetMetadata() const {
  return Super_::GetMetadataImpl(ExtensionRangeOptions_Declaration_globals_.class_data);
}
// ===================================================================

ExtensionRangeOptions::ExtensionRangeOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &ExtensionRangeOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.ExtensionRangeOptions)
}
PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::ExtensionRangeOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        declaration_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::ExtensionRangeOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.declaration_)>()
          , arena, from.declaration_
        }
        ,
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::ExtensionRangeOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
     {}

ExtensionRangeOptions::ExtensionRangeOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ExtensionRangeOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &ExtensionRangeOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ExtensionRangeOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;
  _impl_.verification_ = from._impl_.verification_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.ExtensionRangeOptions)
}
PROTOBUF_NDEBUG_INLINE ExtensionRangeOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        declaration_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::ExtensionRangeOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.declaration_)>()
         }
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::ExtensionRangeOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::ExtensionRangeOptions, _impl_.uninterpreted_option_)>()
         }
        ,
        verification_{static_cast< ::google::protobuf::ExtensionRangeOptions_VerificationState >(1)} {}

inline void ExtensionRangeOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  ExtensionRangeOptions& this_ = static_cast<ExtensionRangeOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  this_._impl_.features_ = {};
}
ExtensionRangeOptions::~ExtensionRangeOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.ExtensionRangeOptions)
  Helpers_::SharedDtor(*this);
}
inline void ExtensionRangeOptions::Helpers_::SharedDtor(MessageLite& self) {
  ExtensionRangeOptions& this_ = static_cast<ExtensionRangeOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ExtensionRangeOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ExtensionRangeOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ExtensionRangeOptions_globals_));
  return &ExtensionRangeOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void ExtensionRangeOptions::Helpers_::Clear(MessageLite& base) {
  ExtensionRangeOptions& this_ = static_cast<ExtensionRangeOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void ExtensionRangeOptions::Clear() {
  ExtensionRangeOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.ExtensionRangeOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.declaration_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.uninterpreted_option_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(this_._impl_.features_ != nullptr);
      this_._impl_.features_->Clear();
    }
    this_._impl_.verification_ = 1;
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ExtensionRangeOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ExtensionRangeOptions& this_ = static_cast<const ExtensionRangeOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ExtensionRangeOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ExtensionRangeOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ExtensionRangeOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_declaration_size());
         i < n; i++) {
      const auto& repfield = this_._internal_declaration().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_verification(), target);
  }

  // optional .google.protobuf.FeatureSet features = 50;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        50, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ExtensionRangeOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ExtensionRangeOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const ExtensionRangeOptions& this_ = static_cast<const ExtensionRangeOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ExtensionRangeOptions::ByteSizeLong() const {
  const ExtensionRangeOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ExtensionRangeOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // repeated .google.protobuf.ExtensionRangeOptions.Declaration declaration = 2 [retention = RETENTION_SOURCE];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_declaration_size();
      for (const auto& msg : this_._internal_declaration()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .google.protobuf.FeatureSet features = 50;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
    // optional .google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED, retention = RETENTION_SOURCE];
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_verification());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ExtensionRangeOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ExtensionRangeOptions*>(&to_msg);
  auto& from = static_cast<const ExtensionRangeOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ExtensionRangeOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_declaration()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_declaration());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.verification_ = from._impl_.verification_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void ExtensionRangeOptions::CopyFrom(const ExtensionRangeOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ExtensionRangeOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ExtensionRangeOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const ExtensionRangeOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000004U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void ExtensionRangeOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    ExtensionRangeOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  ExtensionRangeOptions& this_ = static_cast<ExtensionRangeOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.declaration_.InternalSwap(&other->_impl_.declaration_);
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.verification_) +
                 sizeof(ExtensionRangeOptions::_impl_.verification_) -
                 PROTOBUF_FIELD_OFFSET(ExtensionRangeOptions, _impl_.features_)>(
      reinterpret_cast<char*>(&this_._impl_.features_),
      reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata ExtensionRangeOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(ExtensionRangeOptions_globals_.class_data);
}
// ===================================================================

FieldDescriptorProto::FieldDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FieldDescriptorProto_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE FieldDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FieldDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        name_(arena, from.name_),
        extendee_(arena, from.extendee_),
        type_name_(arena, from.type_name_),
        default_value_(arena, from.default_value_),
        json_name_(arena, from.json_name_) {}

FieldDescriptorProto::FieldDescriptorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FieldDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FieldDescriptorProto_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FieldDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, number_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, number_),
           offsetof(Impl_, type_) -
               offsetof(Impl_, number_) +
               sizeof(Impl_::type_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE FieldDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : name_(arena),
        extendee_(arena),
        type_name_(arena),
        default_value_(arena),
        json_name_(arena),
        label_{static_cast< ::google::protobuf::FieldDescriptorProto_Label >(1)},
        type_{static_cast< ::google::protobuf::FieldDescriptorProto_Type >(1)} {}

inline void FieldDescriptorProto::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FieldDescriptorProto& this_ = static_cast<FieldDescriptorProto&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, proto3_optional_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::proto3_optional_));
}
FieldDescriptorProto::~FieldDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.FieldDescriptorProto)
  Helpers_::SharedDtor(*this);
}
inline void FieldDescriptorProto::Helpers_::SharedDtor(MessageLite& self) {
  FieldDescriptorProto& this_ = static_cast<FieldDescriptorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.extendee_.Destroy();
  this_._impl_.type_name_.Destroy();
  this_._impl_.default_value_.Destroy();
  this_._impl_.json_name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FieldDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FieldDescriptorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FieldDescriptorProto_globals_));
  return &FieldDescriptorProto_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FieldDescriptorProto::Helpers_::Clear(MessageLite& base) {
  FieldDescriptorProto& this_ = static_cast<FieldDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FieldDescriptorProto::Clear() {
  FieldDescriptorProto& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FieldDescriptorProto)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.extendee_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      this_._impl_.type_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      this_._impl_.default_value_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      this_._impl_.json_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(this_._impl_.options_ != nullptr);
      this_._impl_.options_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000c0U)) {
    ::memset(&this_._impl_.number_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.oneof_index_) -
                 reinterpret_cast<char*>(&this_._impl_.number_)) +
                 sizeof(_impl_.oneof_index_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    this_._impl_.proto3_optional_ = false;
    this_._impl_.label_ = 1;
    this_._impl_.type_ = 1;
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FieldDescriptorProto::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FieldDescriptorProto& this_ = static_cast<const FieldDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FieldDescriptorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FieldDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldDescriptorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string extendee = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_extendee();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional int32 number = 3;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_number(), target);
  }

  // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_label(), target);
  }

  // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_type(), target);
  }

  // optional string type_name = 6;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_type_name();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // optional string default_value = 7;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_default_value();
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // optional .google.protobuf.FieldOptions options = 8;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  // optional int32 oneof_index = 9;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<9>(
            stream, this_._internal_oneof_index(), target);
  }

  // optional string json_name = 10;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_json_name();
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // optional bool proto3_optional = 17;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        17, this_._internal_proto3_optional(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldDescriptorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FieldDescriptorProto::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FieldDescriptorProto& this_ = static_cast<const FieldDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FieldDescriptorProto::ByteSizeLong() const {
  const FieldDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldDescriptorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000100U & cached_has_bits) * 3;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string extendee = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_extendee());
    }
    // optional string type_name = 6;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_type_name());
    }
    // optional string default_value = 7;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_default_value());
    }
    // optional string json_name = 10;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_json_name());
    }
    // optional .google.protobuf.FieldOptions options = 8;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
    // optional int32 number = 3;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_number());
    }
    // optional int32 oneof_index = 9;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_oneof_index());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000600U)) {
    // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_label());
    }
    // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FieldDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FieldDescriptorProto*>(&to_msg);
  auto& from = static_cast<const FieldDescriptorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_extendee(from._internal_extendee());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_type_name(from._internal_type_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_default_value(from._internal_default_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_json_name(from._internal_json_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.number_ = from._impl_.number_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.oneof_index_ = from._impl_.oneof_index_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.proto3_optional_ = from._impl_.proto3_optional_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.label_ = from._impl_.label_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.type_ = from._impl_.type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FieldDescriptorProto::CopyFrom(const FieldDescriptorProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FieldDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FieldDescriptorProto&>(msg);
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000020U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void FieldDescriptorProto::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FieldDescriptorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FieldDescriptorProto& this_ = static_cast<FieldDescriptorProto&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_, &other->_impl_.name_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.extendee_, &other->_impl_.extendee_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.type_name_, &other->_impl_.type_name_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.default_value_, &other->_impl_.default_value_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.json_name_, &other->_impl_.json_name_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.type_) +
                 sizeof(FieldDescriptorProto::_impl_.type_) -
                 PROTOBUF_FIELD_OFFSET(FieldDescriptorProto, _impl_.options_)>(
      reinterpret_cast<char*>(&this_._impl_.options_),
      reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata FieldDescriptorProto::GetMetadata() const {
  return Super_::GetMetadataImpl(FieldDescriptorProto_globals_.class_data);
}
// ===================================================================

OneofDescriptorProto::OneofDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &OneofDescriptorProto_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.OneofDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE OneofDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::OneofDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        name_(arena, from.name_) {}

OneofDescriptorProto::OneofDescriptorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const OneofDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &OneofDescriptorProto_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  OneofDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.OneofDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE OneofDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : name_(arena) {}

inline void OneofDescriptorProto::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  OneofDescriptorProto& this_ = static_cast<OneofDescriptorProto&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  this_._impl_.options_ = {};
}
OneofDescriptorProto::~OneofDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.OneofDescriptorProto)
  Helpers_::SharedDtor(*this);
}
inline void OneofDescriptorProto::Helpers_::SharedDtor(MessageLite& self) {
  OneofDescriptorProto& this_ = static_cast<OneofDescriptorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
OneofDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&OneofDescriptorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&OneofDescriptorProto_globals_));
  return &OneofDescriptorProto_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void OneofDescriptorProto::Helpers_::Clear(MessageLite& base) {
  OneofDescriptorProto& this_ = static_cast<OneofDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void OneofDescriptorProto::Clear() {
  OneofDescriptorProto& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.OneofDescriptorProto)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(this_._impl_.options_ != nullptr);
      this_._impl_.options_->Clear();
    }
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL OneofDescriptorProto::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const OneofDescriptorProto& this_ = static_cast<const OneofDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL OneofDescriptorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const OneofDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.OneofDescriptorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional .google.protobuf.OneofOptions options = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.OneofDescriptorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t OneofDescriptorProto::Helpers_::ByteSizeLong(const MessageLite& base) {
  const OneofDescriptorProto& this_ = static_cast<const OneofDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t OneofDescriptorProto::ByteSizeLong() const {
  const OneofDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.OneofDescriptorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional .google.protobuf.OneofOptions options = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void OneofDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<OneofDescriptorProto*>(&to_msg);
  auto& from = static_cast<const OneofDescriptorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.OneofDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void OneofDescriptorProto::CopyFrom(const OneofDescriptorProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.OneofDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool OneofDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const OneofDescriptorProto&>(msg);
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000002U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void OneofDescriptorProto::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    OneofDescriptorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  OneofDescriptorProto& this_ = static_cast<OneofDescriptorProto&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_, &other->_impl_.name_,
                                       arena);
  swap(this_._impl_.options_, other->_impl_.options_);
}

::google::protobuf::Metadata OneofDescriptorProto::GetMetadata() const {
  return Super_::GetMetadataImpl(OneofDescriptorProto_globals_.class_data);
}
// ===================================================================

EnumDescriptorProto_EnumReservedRange::EnumDescriptorProto_EnumReservedRange(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumDescriptorProto_EnumReservedRange_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumDescriptorProto.EnumReservedRange)
}
EnumDescriptorProto_EnumReservedRange::EnumDescriptorProto_EnumReservedRange(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const EnumDescriptorProto_EnumReservedRange& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumDescriptorProto_EnumReservedRange_globals_.class_data),
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE EnumDescriptorProto_EnumReservedRange::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
     {}

inline void EnumDescriptorProto_EnumReservedRange::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  EnumDescriptorProto_EnumReservedRange& this_ = static_cast<EnumDescriptorProto_EnumReservedRange&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, start_),
           0,
           offsetof(Impl_, end_) -
               offsetof(Impl_, start_) +
               sizeof(Impl_::end_));
}
EnumDescriptorProto_EnumReservedRange::~EnumDescriptorProto_EnumReservedRange() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  Helpers_::SharedDtor(*this);
}
inline void EnumDescriptorProto_EnumReservedRange::Helpers_::SharedDtor(MessageLite& self) {
  EnumDescriptorProto_EnumReservedRange& this_ = static_cast<EnumDescriptorProto_EnumReservedRange&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EnumDescriptorProto_EnumReservedRange::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&EnumDescriptorProto_EnumReservedRange_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&EnumDescriptorProto_EnumReservedRange_globals_));
  return &EnumDescriptorProto_EnumReservedRange_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void EnumDescriptorProto_EnumReservedRange::Helpers_::Clear(MessageLite& base) {
  EnumDescriptorProto_EnumReservedRange& this_ = static_cast<EnumDescriptorProto_EnumReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void EnumDescriptorProto_EnumReservedRange::Clear() {
  EnumDescriptorProto_EnumReservedRange& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    ::memset(&this_._impl_.start_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.end_) -
                 reinterpret_cast<char*>(&this_._impl_.start_)) +
                 sizeof(_impl_.end_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL EnumDescriptorProto_EnumReservedRange::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const EnumDescriptorProto_EnumReservedRange& this_ = static_cast<const EnumDescriptorProto_EnumReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL EnumDescriptorProto_EnumReservedRange::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const EnumDescriptorProto_EnumReservedRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int32 start = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_start(), target);
  }

  // optional int32 end = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_end(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EnumDescriptorProto_EnumReservedRange::Helpers_::ByteSizeLong(const MessageLite& base) {
  const EnumDescriptorProto_EnumReservedRange& this_ = static_cast<const EnumDescriptorProto_EnumReservedRange&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EnumDescriptorProto_EnumReservedRange::ByteSizeLong() const {
  const EnumDescriptorProto_EnumReservedRange& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional int32 start = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_start());
    }
    // optional int32 end = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_end());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void EnumDescriptorProto_EnumReservedRange::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EnumDescriptorProto_EnumReservedRange*>(&to_msg);
  auto& from = static_cast<const EnumDescriptorProto_EnumReservedRange&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.start_ = from._impl_.start_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.end_ = from._impl_.end_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void EnumDescriptorProto_EnumReservedRange::CopyFrom(const EnumDescriptorProto_EnumReservedRange& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumDescriptorProto.EnumReservedRange)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void EnumDescriptorProto_EnumReservedRange::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    EnumDescriptorProto_EnumReservedRange* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  EnumDescriptorProto_EnumReservedRange& this_ = static_cast<EnumDescriptorProto_EnumReservedRange&>(self);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.end_) +
                 sizeof(EnumDescriptorProto_EnumReservedRange::_impl_.end_) -
                 PROTOBUF_FIELD_OFFSET(EnumDescriptorProto_EnumReservedRange, _impl_.start_)>(
      reinterpret_cast<char*>(&this_._impl_.start_),
      reinterpret_cast<char*>(&other->_impl_.start_));
}

::google::protobuf::Metadata EnumDescriptorProto_EnumReservedRange::GetMetadata() const {
  return Super_::GetMetadataImpl(EnumDescriptorProto_EnumReservedRange_globals_.class_data);
}
// ===================================================================

EnumDescriptorProto::EnumDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumDescriptorProto_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE EnumDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::EnumDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        value_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::EnumDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.value_)>()
          , arena, from.value_
        }
        ,
        reserved_range_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::EnumDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_range_)>()
          , arena, from.reserved_range_
        }
        ,
        reserved_name_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::EnumDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_name_)>()
          , arena, from.reserved_name_
        }
        ,
        name_(arena, from.name_) {}

EnumDescriptorProto::EnumDescriptorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const EnumDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumDescriptorProto_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EnumDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;
  _impl_.visibility_ = from._impl_.visibility_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE EnumDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : value_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.value_)>()
         }
        ,
        reserved_range_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_range_)>()
         }
        ,
        reserved_name_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumDescriptorProto, _impl_.reserved_name_)>()
         }
        ,
        name_(arena) {}

inline void EnumDescriptorProto::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  EnumDescriptorProto& this_ = static_cast<EnumDescriptorProto&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, visibility_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::visibility_));
}
EnumDescriptorProto::~EnumDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumDescriptorProto)
  Helpers_::SharedDtor(*this);
}
inline void EnumDescriptorProto::Helpers_::SharedDtor(MessageLite& self) {
  EnumDescriptorProto& this_ = static_cast<EnumDescriptorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EnumDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&EnumDescriptorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&EnumDescriptorProto_globals_));
  return &EnumDescriptorProto_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void EnumDescriptorProto::Helpers_::Clear(MessageLite& base) {
  EnumDescriptorProto& this_ = static_cast<EnumDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void EnumDescriptorProto::Clear() {
  EnumDescriptorProto& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumDescriptorProto)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.value_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.reserved_range_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      this_._impl_.reserved_name_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      this_._impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(this_._impl_.options_ != nullptr);
      this_._impl_.options_->Clear();
    }
  }
  this_._impl_.visibility_ = 0;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL EnumDescriptorProto::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const EnumDescriptorProto& this_ = static_cast<const EnumDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL EnumDescriptorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const EnumDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumDescriptorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_value_size());
         i < n; i++) {
      const auto& repfield = this_._internal_value().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // optional .google.protobuf.EnumOptions options = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_reserved_range_size());
         i < n; i++) {
      const auto& repfield = this_._internal_reserved_range().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // repeated string reserved_name = 5;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (int i = 0, n = this_._internal_reserved_name_size(); i < n; ++i) {
      const auto& s = this_._internal_reserved_name().Get(i);
      target = stream->WriteString(5, s, target);
    }
  }

  // optional .google.protobuf.SymbolVisibility visibility = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_visibility(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumDescriptorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EnumDescriptorProto::Helpers_::ByteSizeLong(const MessageLite& base) {
  const EnumDescriptorProto& this_ = static_cast<const EnumDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EnumDescriptorProto::ByteSizeLong() const {
  const EnumDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumDescriptorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_value_size();
      for (const auto& msg : this_._internal_value()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_reserved_range_size();
      for (const auto& msg : this_._internal_reserved_range()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated string reserved_name = 5;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_reserved_name().size());
      for (int i = 0, n = this_._internal_reserved_name().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_reserved_name().Get(i));
      }
    }
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional .google.protobuf.EnumOptions options = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
    // optional .google.protobuf.SymbolVisibility visibility = 6;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_visibility());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void EnumDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EnumDescriptorProto*>(&to_msg);
  auto& from = static_cast<const EnumDescriptorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_value()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_reserved_range()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_reserved_range());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_reserved_name()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_reserved_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.visibility_ = from._impl_.visibility_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void EnumDescriptorProto::CopyFrom(const EnumDescriptorProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool EnumDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const EnumDescriptorProto&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_value()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000010U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void EnumDescriptorProto::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    EnumDescriptorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  EnumDescriptorProto& this_ = static_cast<EnumDescriptorProto&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.value_.InternalSwap(&other->_impl_.value_);
  this_._impl_.reserved_range_.InternalSwap(&other->_impl_.reserved_range_);
  this_._impl_.reserved_name_.InternalSwap(&other->_impl_.reserved_name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_, &other->_impl_.name_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.visibility_) +
                 sizeof(EnumDescriptorProto::_impl_.visibility_) -
                 PROTOBUF_FIELD_OFFSET(EnumDescriptorProto, _impl_.options_)>(
      reinterpret_cast<char*>(&this_._impl_.options_),
      reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata EnumDescriptorProto::GetMetadata() const {
  return Super_::GetMetadataImpl(EnumDescriptorProto_globals_.class_data);
}
// ===================================================================

EnumValueDescriptorProto::EnumValueDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumValueDescriptorProto_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumValueDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE EnumValueDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::EnumValueDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        name_(arena, from.name_) {}

EnumValueDescriptorProto::EnumValueDescriptorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const EnumValueDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumValueDescriptorProto_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EnumValueDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;
  _impl_.number_ = from._impl_.number_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE EnumValueDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : name_(arena) {}

inline void EnumValueDescriptorProto::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  EnumValueDescriptorProto& this_ = static_cast<EnumValueDescriptorProto&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, number_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::number_));
}
EnumValueDescriptorProto::~EnumValueDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumValueDescriptorProto)
  Helpers_::SharedDtor(*this);
}
inline void EnumValueDescriptorProto::Helpers_::SharedDtor(MessageLite& self) {
  EnumValueDescriptorProto& this_ = static_cast<EnumValueDescriptorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EnumValueDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&EnumValueDescriptorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&EnumValueDescriptorProto_globals_));
  return &EnumValueDescriptorProto_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void EnumValueDescriptorProto::Helpers_::Clear(MessageLite& base) {
  EnumValueDescriptorProto& this_ = static_cast<EnumValueDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void EnumValueDescriptorProto::Clear() {
  EnumValueDescriptorProto& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumValueDescriptorProto)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(this_._impl_.options_ != nullptr);
      this_._impl_.options_->Clear();
    }
  }
  this_._impl_.number_ = 0;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL EnumValueDescriptorProto::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const EnumValueDescriptorProto& this_ = static_cast<const EnumValueDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL EnumValueDescriptorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const EnumValueDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumValueDescriptorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional int32 number = 2;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_number(), target);
  }

  // optional .google.protobuf.EnumValueOptions options = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueDescriptorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EnumValueDescriptorProto::Helpers_::ByteSizeLong(const MessageLite& base) {
  const EnumValueDescriptorProto& this_ = static_cast<const EnumValueDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EnumValueDescriptorProto::ByteSizeLong() const {
  const EnumValueDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumValueDescriptorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional .google.protobuf.EnumValueOptions options = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
    // optional int32 number = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_number());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void EnumValueDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EnumValueDescriptorProto*>(&to_msg);
  auto& from = static_cast<const EnumValueDescriptorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumValueDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.number_ = from._impl_.number_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void EnumValueDescriptorProto::CopyFrom(const EnumValueDescriptorProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumValueDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool EnumValueDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const EnumValueDescriptorProto&>(msg);
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000002U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void EnumValueDescriptorProto::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    EnumValueDescriptorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  EnumValueDescriptorProto& this_ = static_cast<EnumValueDescriptorProto&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_, &other->_impl_.name_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.number_) +
                 sizeof(EnumValueDescriptorProto::_impl_.number_) -
                 PROTOBUF_FIELD_OFFSET(EnumValueDescriptorProto, _impl_.options_)>(
      reinterpret_cast<char*>(&this_._impl_.options_),
      reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata EnumValueDescriptorProto::GetMetadata() const {
  return Super_::GetMetadataImpl(EnumValueDescriptorProto_globals_.class_data);
}
// ===================================================================

ServiceDescriptorProto::ServiceDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &ServiceDescriptorProto_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.ServiceDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE ServiceDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::ServiceDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        method_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::ServiceDescriptorProto,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.method_)>()
          , arena, from.method_
        }
        ,
        name_(arena, from.name_) {}

ServiceDescriptorProto::ServiceDescriptorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ServiceDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &ServiceDescriptorProto_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ServiceDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE ServiceDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : method_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::ServiceDescriptorProto,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceDescriptorProto, _impl_.method_)>()
         }
        ,
        name_(arena) {}

inline void ServiceDescriptorProto::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  ServiceDescriptorProto& this_ = static_cast<ServiceDescriptorProto&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  this_._impl_.options_ = {};
}
ServiceDescriptorProto::~ServiceDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.ServiceDescriptorProto)
  Helpers_::SharedDtor(*this);
}
inline void ServiceDescriptorProto::Helpers_::SharedDtor(MessageLite& self) {
  ServiceDescriptorProto& this_ = static_cast<ServiceDescriptorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ServiceDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ServiceDescriptorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ServiceDescriptorProto_globals_));
  return &ServiceDescriptorProto_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void ServiceDescriptorProto::Helpers_::Clear(MessageLite& base) {
  ServiceDescriptorProto& this_ = static_cast<ServiceDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void ServiceDescriptorProto::Clear() {
  ServiceDescriptorProto& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.ServiceDescriptorProto)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.method_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(this_._impl_.options_ != nullptr);
      this_._impl_.options_->Clear();
    }
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ServiceDescriptorProto::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ServiceDescriptorProto& this_ = static_cast<const ServiceDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ServiceDescriptorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ServiceDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ServiceDescriptorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .google.protobuf.MethodDescriptorProto method = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_method_size());
         i < n; i++) {
      const auto& repfield = this_._internal_method().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // optional .google.protobuf.ServiceOptions options = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceDescriptorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ServiceDescriptorProto::Helpers_::ByteSizeLong(const MessageLite& base) {
  const ServiceDescriptorProto& this_ = static_cast<const ServiceDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ServiceDescriptorProto::ByteSizeLong() const {
  const ServiceDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ServiceDescriptorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated .google.protobuf.MethodDescriptorProto method = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_method_size();
      for (const auto& msg : this_._internal_method()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional .google.protobuf.ServiceOptions options = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ServiceDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ServiceDescriptorProto*>(&to_msg);
  auto& from = static_cast<const ServiceDescriptorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ServiceDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_method()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_method());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void ServiceDescriptorProto::CopyFrom(const ServiceDescriptorProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ServiceDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ServiceDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const ServiceDescriptorProto&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_method()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000004U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void ServiceDescriptorProto::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    ServiceDescriptorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  ServiceDescriptorProto& this_ = static_cast<ServiceDescriptorProto&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.method_.InternalSwap(&other->_impl_.method_);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_, &other->_impl_.name_,
                                       arena);
  swap(this_._impl_.options_, other->_impl_.options_);
}

::google::protobuf::Metadata ServiceDescriptorProto::GetMetadata() const {
  return Super_::GetMetadataImpl(ServiceDescriptorProto_globals_.class_data);
}
// ===================================================================

MethodDescriptorProto::MethodDescriptorProto(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &MethodDescriptorProto_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.MethodDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE MethodDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::MethodDescriptorProto& from_msg)
      : _has_bits_{from._has_bits_},
        name_(arena, from.name_),
        input_type_(arena, from.input_type_),
        output_type_(arena, from.output_type_) {}

MethodDescriptorProto::MethodDescriptorProto(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MethodDescriptorProto& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &MethodDescriptorProto_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MethodDescriptorProto* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.options_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                 ? Super_::CopyConstruct(arena, *from._impl_.options_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, client_streaming_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, client_streaming_),
           offsetof(Impl_, server_streaming_) -
               offsetof(Impl_, client_streaming_) +
               sizeof(Impl_::server_streaming_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodDescriptorProto)
}
PROTOBUF_NDEBUG_INLINE MethodDescriptorProto::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : name_(arena),
        input_type_(arena),
        output_type_(arena) {}

inline void MethodDescriptorProto::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  MethodDescriptorProto& this_ = static_cast<MethodDescriptorProto&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, options_),
           0,
           offsetof(Impl_, server_streaming_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::server_streaming_));
}
MethodDescriptorProto::~MethodDescriptorProto() {
  // @@protoc_insertion_point(destructor:google.protobuf.MethodDescriptorProto)
  Helpers_::SharedDtor(*this);
}
inline void MethodDescriptorProto::Helpers_::SharedDtor(MessageLite& self) {
  MethodDescriptorProto& this_ = static_cast<MethodDescriptorProto&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.input_type_.Destroy();
  this_._impl_.output_type_.Destroy();
  delete this_._impl_.options_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MethodDescriptorProto::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&MethodDescriptorProto_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&MethodDescriptorProto_globals_));
  return &MethodDescriptorProto_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void MethodDescriptorProto::Helpers_::Clear(MessageLite& base) {
  MethodDescriptorProto& this_ = static_cast<MethodDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void MethodDescriptorProto::Clear() {
  MethodDescriptorProto& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.MethodDescriptorProto)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.input_type_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      this_._impl_.output_type_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(this_._impl_.options_ != nullptr);
      this_._impl_.options_->Clear();
    }
  }
  ::memset(&this_._impl_.client_streaming_, 0,
           static_cast<::size_t>(
               reinterpret_cast<char*>(&this_._impl_.server_streaming_) -
               reinterpret_cast<char*>(&this_._impl_.client_streaming_)) +
               sizeof(_impl_.server_streaming_));
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL MethodDescriptorProto::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const MethodDescriptorProto& this_ = static_cast<const MethodDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL MethodDescriptorProto::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const MethodDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MethodDescriptorProto)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string name = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_name();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string input_type = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_input_type();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional string output_type = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_output_type();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional .google.protobuf.MethodOptions options = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.options_, this_._impl_.options_->GetCachedSize(), target,
        stream);
  }

  // optional bool client_streaming = 5 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_client_streaming(), target);
  }

  // optional bool server_streaming = 6 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_server_streaming(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodDescriptorProto)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MethodDescriptorProto::Helpers_::ByteSizeLong(const MessageLite& base) {
  const MethodDescriptorProto& this_ = static_cast<const MethodDescriptorProto&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MethodDescriptorProto::ByteSizeLong() const {
  const MethodDescriptorProto& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MethodDescriptorProto)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00000030U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string input_type = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_input_type());
    }
    // optional string output_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_output_type());
    }
    // optional .google.protobuf.MethodOptions options = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.options_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void MethodDescriptorProto::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MethodDescriptorProto*>(&to_msg);
  auto& from = static_cast<const MethodDescriptorProto&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MethodDescriptorProto)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_input_type(from._internal_input_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_output_type(from._internal_output_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.options_ != nullptr);
      if (_this->_impl_.options_ == nullptr) {
        _this->_impl_.options_ = Super_::CopyConstruct(arena, *from._impl_.options_);
      } else {
        _this->_impl_.options_->MergeFrom(*from._impl_.options_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.client_streaming_ = from._impl_.client_streaming_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.server_streaming_ = from._impl_.server_streaming_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void MethodDescriptorProto::CopyFrom(const MethodDescriptorProto& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MethodDescriptorProto)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MethodDescriptorProto::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const MethodDescriptorProto&>(msg);
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000008U)) {
    if (!this_._impl_.options_->IsInitialized()) return false;
  }
  return true;
}

void MethodDescriptorProto::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    MethodDescriptorProto* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  MethodDescriptorProto& this_ = static_cast<MethodDescriptorProto&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_, &other->_impl_.name_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.input_type_, &other->_impl_.input_type_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.output_type_, &other->_impl_.output_type_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.server_streaming_) +
                 sizeof(MethodDescriptorProto::_impl_.server_streaming_) -
                 PROTOBUF_FIELD_OFFSET(MethodDescriptorProto, _impl_.options_)>(
      reinterpret_cast<char*>(&this_._impl_.options_),
      reinterpret_cast<char*>(&other->_impl_.options_));
}

::google::protobuf::Metadata MethodDescriptorProto::GetMetadata() const {
  return Super_::GetMetadataImpl(MethodDescriptorProto_globals_.class_data);
}
// ===================================================================

FileOptions::FileOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FileOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FileOptions)
}
PROTOBUF_NDEBUG_INLINE FileOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FileOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        java_package_(arena, from.java_package_),
        java_outer_classname_(arena, from.java_outer_classname_),
        go_package_(arena, from.go_package_),
        objc_class_prefix_(arena, from.objc_class_prefix_),
        csharp_namespace_(arena, from.csharp_namespace_),
        swift_prefix_(arena, from.swift_prefix_),
        php_class_prefix_(arena, from.php_class_prefix_),
        php_namespace_(arena, from.php_namespace_),
        php_metadata_namespace_(arena, from.php_metadata_namespace_),
        ruby_package_(arena, from.ruby_package_),
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FileOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
     {}

FileOptions::FileOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FileOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FileOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FileOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000400U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, java_multiple_files_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, java_multiple_files_),
           offsetof(Impl_, cc_enable_arenas_) -
               offsetof(Impl_, java_multiple_files_) +
               sizeof(Impl_::cc_enable_arenas_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FileOptions)
}
PROTOBUF_NDEBUG_INLINE FileOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        java_package_(arena),
        java_outer_classname_(arena),
        go_package_(arena),
        objc_class_prefix_(arena),
        csharp_namespace_(arena),
        swift_prefix_(arena),
        php_class_prefix_(arena),
        php_namespace_(arena),
        php_metadata_namespace_(arena),
        ruby_package_(arena),
        optimize_for_{static_cast< ::google::protobuf::FileOptions_OptimizeMode >(1)},
        cc_enable_arenas_{true},
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FileOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FileOptions, _impl_.uninterpreted_option_)>()
         }
     {}

inline void FileOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FileOptions& this_ = static_cast<FileOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, java_string_check_utf8_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::java_string_check_utf8_));
}
FileOptions::~FileOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.FileOptions)
  Helpers_::SharedDtor(*this);
}
inline void FileOptions::Helpers_::SharedDtor(MessageLite& self) {
  FileOptions& this_ = static_cast<FileOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.java_package_.Destroy();
  this_._impl_.java_outer_classname_.Destroy();
  this_._impl_.go_package_.Destroy();
  this_._impl_.objc_class_prefix_.Destroy();
  this_._impl_.csharp_namespace_.Destroy();
  this_._impl_.swift_prefix_.Destroy();
  this_._impl_.php_class_prefix_.Destroy();
  this_._impl_.php_namespace_.Destroy();
  this_._impl_.php_metadata_namespace_.Destroy();
  this_._impl_.ruby_package_.Destroy();
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FileOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FileOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FileOptions_globals_));
  return &FileOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FileOptions::Helpers_::Clear(MessageLite& base) {
  FileOptions& this_ = static_cast<FileOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FileOptions::Clear() {
  FileOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FileOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.java_package_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.java_outer_classname_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      this_._impl_.go_package_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      this_._impl_.objc_class_prefix_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      this_._impl_.csharp_namespace_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      this_._impl_.swift_prefix_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      this_._impl_.php_class_prefix_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      this_._impl_.php_namespace_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      this_._impl_.php_metadata_namespace_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      this_._impl_.ruby_package_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(this_._impl_.features_ != nullptr);
      this_._impl_.features_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000f800U)) {
    ::memset(&this_._impl_.java_multiple_files_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.java_generate_equals_and_hash_) -
                 reinterpret_cast<char*>(&this_._impl_.java_multiple_files_)) +
                 sizeof(_impl_.java_generate_equals_and_hash_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x001f0000U)) {
    ::memset(&this_._impl_.deprecated_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.java_string_check_utf8_) -
                 reinterpret_cast<char*>(&this_._impl_.deprecated_)) +
                 sizeof(_impl_.java_string_check_utf8_));
    this_._impl_.optimize_for_ = 1;
    this_._impl_.cc_enable_arenas_ = true;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      this_._impl_.uninterpreted_option_.Clear();
    }
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FileOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FileOptions& this_ = static_cast<const FileOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FileOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FileOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string java_package = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_java_package();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string java_outer_classname = 8;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_java_outer_classname();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        9, this_._internal_optimize_for(), target);
  }

  // optional bool java_multiple_files = 10 [default = false, feature_support = {
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this_._internal_java_multiple_files(), target);
  }

  // optional string go_package = 11;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_go_package();
    target = stream->WriteStringMaybeAliased(11, _s, target);
  }

  // optional bool cc_generic_services = 16 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        16, this_._internal_cc_generic_services(), target);
  }

  // optional bool java_generic_services = 17 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        17, this_._internal_java_generic_services(), target);
  }

  // optional bool py_generic_services = 18 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        18, this_._internal_py_generic_services(), target);
  }

  // optional bool java_generate_equals_and_hash = 20 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        20, this_._internal_java_generate_equals_and_hash(), target);
  }

  // optional bool deprecated = 23 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        23, this_._internal_deprecated(), target);
  }

  // optional bool java_string_check_utf8 = 27 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        27, this_._internal_java_string_check_utf8(), target);
  }

  // optional bool cc_enable_arenas = 31 [default = true, feature_support = {
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        31, this_._internal_cc_enable_arenas(), target);
  }

  // optional string objc_class_prefix = 36;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_objc_class_prefix();
    target = stream->WriteStringMaybeAliased(36, _s, target);
  }

  // optional string csharp_namespace = 37;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_csharp_namespace();
    target = stream->WriteStringMaybeAliased(37, _s, target);
  }

  // optional string swift_prefix = 39;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_swift_prefix();
    target = stream->WriteStringMaybeAliased(39, _s, target);
  }

  // optional string php_class_prefix = 40;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_php_class_prefix();
    target = stream->WriteStringMaybeAliased(40, _s, target);
  }

  // optional string php_namespace = 41;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    const ::std::string& _s = this_._internal_php_namespace();
    target = stream->WriteStringMaybeAliased(41, _s, target);
  }

  // optional string php_metadata_namespace = 44;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    const ::std::string& _s = this_._internal_php_metadata_namespace();
    target = stream->WriteStringMaybeAliased(44, _s, target);
  }

  // optional string ruby_package = 45;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    const ::std::string& _s = this_._internal_ruby_package();
    target = stream->WriteStringMaybeAliased(45, _s, target);
  }

  // optional .google.protobuf.FeatureSet features = 50;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        50, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00100000U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FileOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FileOptions& this_ = static_cast<const FileOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FileOptions::ByteSizeLong() const {
  const FileOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FileOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x000bf000U & cached_has_bits) * 3;
  total_size += static_cast<bool>(0x00000800U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional string java_package = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_java_package());
    }
    // optional string java_outer_classname = 8;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_java_outer_classname());
    }
    // optional string go_package = 11;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_go_package());
    }
    // optional string objc_class_prefix = 36;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_objc_class_prefix());
    }
    // optional string csharp_namespace = 37;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_csharp_namespace());
    }
    // optional string swift_prefix = 39;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_swift_prefix());
    }
    // optional string php_class_prefix = 40;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_php_class_prefix());
    }
    // optional string php_namespace = 41;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_php_namespace());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    // optional string php_metadata_namespace = 44;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_php_metadata_namespace());
    }
    // optional string ruby_package = 45;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_ruby_package());
    }
    // optional .google.protobuf.FeatureSet features = 50;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00140000U)) {
    // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_optimize_for());
    }
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FileOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FileOptions*>(&to_msg);
  auto& from = static_cast<const FileOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FileOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_java_package(from._internal_java_package());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_java_outer_classname(from._internal_java_outer_classname());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_go_package(from._internal_go_package());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_objc_class_prefix(from._internal_objc_class_prefix());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_csharp_namespace(from._internal_csharp_namespace());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_swift_prefix(from._internal_swift_prefix());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_php_class_prefix(from._internal_php_class_prefix());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_php_namespace(from._internal_php_namespace());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_php_metadata_namespace(from._internal_php_metadata_namespace());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_internal_set_ruby_package(from._internal_ruby_package());
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.java_multiple_files_ = from._impl_.java_multiple_files_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.cc_generic_services_ = from._impl_.cc_generic_services_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.java_generic_services_ = from._impl_.java_generic_services_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.py_generic_services_ = from._impl_.py_generic_services_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.java_generate_equals_and_hash_ = from._impl_.java_generate_equals_and_hash_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x001f0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.java_string_check_utf8_ = from._impl_.java_string_check_utf8_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.optimize_for_ = from._impl_.optimize_for_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.cc_enable_arenas_ = from._impl_.cc_enable_arenas_;
    }
    if (CheckHasBit(cached_has_bits, 0x00100000U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FileOptions::CopyFrom(const FileOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FileOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FileOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FileOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000400U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  return true;
}

void FileOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FileOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FileOptions& this_ = static_cast<FileOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.java_package_, &other->_impl_.java_package_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.java_outer_classname_, &other->_impl_.java_outer_classname_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.go_package_, &other->_impl_.go_package_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.objc_class_prefix_, &other->_impl_.objc_class_prefix_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.csharp_namespace_, &other->_impl_.csharp_namespace_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.swift_prefix_, &other->_impl_.swift_prefix_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.php_class_prefix_, &other->_impl_.php_class_prefix_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.php_namespace_, &other->_impl_.php_namespace_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.php_metadata_namespace_, &other->_impl_.php_metadata_namespace_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.ruby_package_, &other->_impl_.ruby_package_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.cc_enable_arenas_) +
                 sizeof(FileOptions::_impl_.cc_enable_arenas_) -
                 PROTOBUF_FIELD_OFFSET(FileOptions, _impl_.features_)>(
      reinterpret_cast<char*>(&this_._impl_.features_),
      reinterpret_cast<char*>(&other->_impl_.features_));
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
}

::google::protobuf::Metadata FileOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(FileOptions_globals_.class_data);
}
// ===================================================================

MessageOptions::MessageOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &MessageOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.MessageOptions)
}
PROTOBUF_NDEBUG_INLINE MessageOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::MessageOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::MessageOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
     {}

MessageOptions::MessageOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MessageOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &MessageOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MessageOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, message_set_wire_format_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, message_set_wire_format_),
           offsetof(Impl_, deprecated_legacy_json_field_conflicts_) -
               offsetof(Impl_, message_set_wire_format_) +
               sizeof(Impl_::deprecated_legacy_json_field_conflicts_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.MessageOptions)
}
PROTOBUF_NDEBUG_INLINE MessageOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::MessageOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::MessageOptions, _impl_.uninterpreted_option_)>()
         }
     {}

inline void MessageOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  MessageOptions& this_ = static_cast<MessageOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, deprecated_legacy_json_field_conflicts_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::deprecated_legacy_json_field_conflicts_));
}
MessageOptions::~MessageOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.MessageOptions)
  Helpers_::SharedDtor(*this);
}
inline void MessageOptions::Helpers_::SharedDtor(MessageLite& self) {
  MessageOptions& this_ = static_cast<MessageOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MessageOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&MessageOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&MessageOptions_globals_));
  return &MessageOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void MessageOptions::Helpers_::Clear(MessageLite& base) {
  MessageOptions& this_ = static_cast<MessageOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void MessageOptions::Clear() {
  MessageOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.MessageOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(this_._impl_.features_ != nullptr);
    this_._impl_.features_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000007eU)) {
    ::memset(&this_._impl_.message_set_wire_format_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.deprecated_legacy_json_field_conflicts_) -
                 reinterpret_cast<char*>(&this_._impl_.message_set_wire_format_)) +
                 sizeof(_impl_.deprecated_legacy_json_field_conflicts_));
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      this_._impl_.uninterpreted_option_.Clear();
    }
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL MessageOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const MessageOptions& this_ = static_cast<const MessageOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL MessageOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const MessageOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MessageOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool message_set_wire_format = 1 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_message_set_wire_format(), target);
  }

  // optional bool no_standard_descriptor_accessor = 2 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_no_standard_descriptor_accessor(), target);
  }

  // optional bool deprecated = 3 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_deprecated(), target);
  }

  // optional bool map_entry = 7;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this_._internal_map_entry(), target);
  }

  // optional bool deprecated_legacy_json_field_conflicts = 11 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this_._internal_deprecated_legacy_json_field_conflicts(), target);
  }

  // optional .google.protobuf.FeatureSet features = 12;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        12, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MessageOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MessageOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const MessageOptions& this_ = static_cast<const MessageOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MessageOptions::ByteSizeLong() const {
  const MessageOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MessageOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x0000003eU & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000041U)) {
    // optional .google.protobuf.FeatureSet features = 12;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void MessageOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MessageOptions*>(&to_msg);
  auto& from = static_cast<const MessageOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MessageOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.message_set_wire_format_ = from._impl_.message_set_wire_format_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.no_standard_descriptor_accessor_ = from._impl_.no_standard_descriptor_accessor_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.map_entry_ = from._impl_.map_entry_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.deprecated_legacy_json_field_conflicts_ = from._impl_.deprecated_legacy_json_field_conflicts_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void MessageOptions::CopyFrom(const MessageOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MessageOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MessageOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const MessageOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000001U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  return true;
}

void MessageOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    MessageOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  MessageOptions& this_ = static_cast<MessageOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.deprecated_legacy_json_field_conflicts_) +
                 sizeof(MessageOptions::_impl_.deprecated_legacy_json_field_conflicts_) -
                 PROTOBUF_FIELD_OFFSET(MessageOptions, _impl_.features_)>(
      reinterpret_cast<char*>(&this_._impl_.features_),
      reinterpret_cast<char*>(&other->_impl_.features_));
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
}

::google::protobuf::Metadata MessageOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(MessageOptions_globals_.class_data);
}
// ===================================================================

FieldOptions_EditionDefault::FieldOptions_EditionDefault(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FieldOptions_EditionDefault_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldOptions.EditionDefault)
}
PROTOBUF_NDEBUG_INLINE FieldOptions_EditionDefault::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FieldOptions_EditionDefault& from_msg)
      : _has_bits_{from._has_bits_},
        value_(arena, from.value_) {}

FieldOptions_EditionDefault::FieldOptions_EditionDefault(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FieldOptions_EditionDefault& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FieldOptions_EditionDefault_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FieldOptions_EditionDefault* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.edition_ = from._impl_.edition_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions.EditionDefault)
}
PROTOBUF_NDEBUG_INLINE FieldOptions_EditionDefault::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : value_(arena) {}

inline void FieldOptions_EditionDefault::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FieldOptions_EditionDefault& this_ = static_cast<FieldOptions_EditionDefault&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  this_._impl_.edition_ = {};
}
FieldOptions_EditionDefault::~FieldOptions_EditionDefault() {
  // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions.EditionDefault)
  Helpers_::SharedDtor(*this);
}
inline void FieldOptions_EditionDefault::Helpers_::SharedDtor(MessageLite& self) {
  FieldOptions_EditionDefault& this_ = static_cast<FieldOptions_EditionDefault&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.value_.Destroy();
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FieldOptions_EditionDefault::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FieldOptions_EditionDefault_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FieldOptions_EditionDefault_globals_));
  return &FieldOptions_EditionDefault_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FieldOptions_EditionDefault::Helpers_::Clear(MessageLite& base) {
  FieldOptions_EditionDefault& this_ = static_cast<FieldOptions_EditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FieldOptions_EditionDefault::Clear() {
  FieldOptions_EditionDefault& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FieldOptions.EditionDefault)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    this_._impl_.value_.ClearNonDefaultToEmpty();
  }
  this_._impl_.edition_ = 0;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FieldOptions_EditionDefault::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FieldOptions_EditionDefault& this_ = static_cast<const FieldOptions_EditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FieldOptions_EditionDefault::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FieldOptions_EditionDefault& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions.EditionDefault)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string value = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_value();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional .google.protobuf.Edition edition = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_edition(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions.EditionDefault)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FieldOptions_EditionDefault::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FieldOptions_EditionDefault& this_ = static_cast<const FieldOptions_EditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FieldOptions_EditionDefault::ByteSizeLong() const {
  const FieldOptions_EditionDefault& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldOptions.EditionDefault)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string value = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_value());
    }
    // optional .google.protobuf.Edition edition = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_edition());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FieldOptions_EditionDefault::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FieldOptions_EditionDefault*>(&to_msg);
  auto& from = static_cast<const FieldOptions_EditionDefault&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldOptions.EditionDefault)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_value(from._internal_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.edition_ = from._impl_.edition_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FieldOptions_EditionDefault::CopyFrom(const FieldOptions_EditionDefault& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldOptions.EditionDefault)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void FieldOptions_EditionDefault::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FieldOptions_EditionDefault* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FieldOptions_EditionDefault& this_ = static_cast<FieldOptions_EditionDefault&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.value_, &other->_impl_.value_,
                                       arena);
  swap(this_._impl_.edition_, other->_impl_.edition_);
}

::google::protobuf::Metadata FieldOptions_EditionDefault::GetMetadata() const {
  return Super_::GetMetadataImpl(FieldOptions_EditionDefault_globals_.class_data);
}
// ===================================================================

FieldOptions_FeatureSupport::FieldOptions_FeatureSupport(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FieldOptions_FeatureSupport_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldOptions.FeatureSupport)
}
PROTOBUF_NDEBUG_INLINE FieldOptions_FeatureSupport::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FieldOptions_FeatureSupport& from_msg)
      : _has_bits_{from._has_bits_},
        deprecation_warning_(arena, from.deprecation_warning_),
        removal_error_(arena, from.removal_error_) {}

FieldOptions_FeatureSupport::FieldOptions_FeatureSupport(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FieldOptions_FeatureSupport& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FieldOptions_FeatureSupport_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FieldOptions_FeatureSupport* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, edition_introduced_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, edition_introduced_),
           offsetof(Impl_, edition_removed_) -
               offsetof(Impl_, edition_introduced_) +
               sizeof(Impl_::edition_removed_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions.FeatureSupport)
}
PROTOBUF_NDEBUG_INLINE FieldOptions_FeatureSupport::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : deprecation_warning_(arena),
        removal_error_(arena) {}

inline void FieldOptions_FeatureSupport::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FieldOptions_FeatureSupport& this_ = static_cast<FieldOptions_FeatureSupport&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, edition_introduced_),
           0,
           offsetof(Impl_, edition_removed_) -
               offsetof(Impl_, edition_introduced_) +
               sizeof(Impl_::edition_removed_));
}
FieldOptions_FeatureSupport::~FieldOptions_FeatureSupport() {
  // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions.FeatureSupport)
  Helpers_::SharedDtor(*this);
}
inline void FieldOptions_FeatureSupport::Helpers_::SharedDtor(MessageLite& self) {
  FieldOptions_FeatureSupport& this_ = static_cast<FieldOptions_FeatureSupport&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.deprecation_warning_.Destroy();
  this_._impl_.removal_error_.Destroy();
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FieldOptions_FeatureSupport::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FieldOptions_FeatureSupport_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FieldOptions_FeatureSupport_globals_));
  return &FieldOptions_FeatureSupport_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FieldOptions_FeatureSupport::Helpers_::Clear(MessageLite& base) {
  FieldOptions_FeatureSupport& this_ = static_cast<FieldOptions_FeatureSupport&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FieldOptions_FeatureSupport::Clear() {
  FieldOptions_FeatureSupport& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FieldOptions.FeatureSupport)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.deprecation_warning_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.removal_error_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&this_._impl_.edition_introduced_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.edition_removed_) -
                 reinterpret_cast<char*>(&this_._impl_.edition_introduced_)) +
                 sizeof(_impl_.edition_removed_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FieldOptions_FeatureSupport::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FieldOptions_FeatureSupport& this_ = static_cast<const FieldOptions_FeatureSupport&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FieldOptions_FeatureSupport::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FieldOptions_FeatureSupport& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions.FeatureSupport)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .google.protobuf.Edition edition_introduced = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_edition_introduced(), target);
  }

  // optional .google.protobuf.Edition edition_deprecated = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_edition_deprecated(), target);
  }

  // optional string deprecation_warning = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_deprecation_warning();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional .google.protobuf.Edition edition_removed = 4;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_edition_removed(), target);
  }

  // optional string removal_error = 5;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_removal_error();
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions.FeatureSupport)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FieldOptions_FeatureSupport::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FieldOptions_FeatureSupport& this_ = static_cast<const FieldOptions_FeatureSupport&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FieldOptions_FeatureSupport::ByteSizeLong() const {
  const FieldOptions_FeatureSupport& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldOptions.FeatureSupport)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // optional string deprecation_warning = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_deprecation_warning());
    }
    // optional string removal_error = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_removal_error());
    }
    // optional .google.protobuf.Edition edition_introduced = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_edition_introduced());
    }
    // optional .google.protobuf.Edition edition_deprecated = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_edition_deprecated());
    }
    // optional .google.protobuf.Edition edition_removed = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_edition_removed());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FieldOptions_FeatureSupport::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FieldOptions_FeatureSupport*>(&to_msg);
  auto& from = static_cast<const FieldOptions_FeatureSupport&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldOptions.FeatureSupport)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_deprecation_warning(from._internal_deprecation_warning());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_removal_error(from._internal_removal_error());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.edition_introduced_ = from._impl_.edition_introduced_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.edition_deprecated_ = from._impl_.edition_deprecated_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.edition_removed_ = from._impl_.edition_removed_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FieldOptions_FeatureSupport::CopyFrom(const FieldOptions_FeatureSupport& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldOptions.FeatureSupport)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void FieldOptions_FeatureSupport::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FieldOptions_FeatureSupport* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FieldOptions_FeatureSupport& this_ = static_cast<FieldOptions_FeatureSupport&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.deprecation_warning_, &other->_impl_.deprecation_warning_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.removal_error_, &other->_impl_.removal_error_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_removed_) +
                 sizeof(FieldOptions_FeatureSupport::_impl_.edition_removed_) -
                 PROTOBUF_FIELD_OFFSET(FieldOptions_FeatureSupport, _impl_.edition_introduced_)>(
      reinterpret_cast<char*>(&this_._impl_.edition_introduced_),
      reinterpret_cast<char*>(&other->_impl_.edition_introduced_));
}

::google::protobuf::Metadata FieldOptions_FeatureSupport::GetMetadata() const {
  return Super_::GetMetadataImpl(FieldOptions_FeatureSupport_globals_.class_data);
}
// ===================================================================

FieldOptions::FieldOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FieldOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FieldOptions)
}
PROTOBUF_NDEBUG_INLINE FieldOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FieldOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        edition_defaults_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FieldOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.edition_defaults_)>()
          , arena, from.edition_defaults_
        }
        ,
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FieldOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
        ,
        targets_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FieldOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.targets_)>()
          , arena, from.targets_
        }
     {}

FieldOptions::FieldOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FieldOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FieldOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FieldOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;
  _impl_.feature_support_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                 ? Super_::CopyConstruct(arena, *from._impl_.feature_support_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, ctype_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, ctype_),
           offsetof(Impl_, retention_) -
               offsetof(Impl_, ctype_) +
               sizeof(Impl_::retention_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions)
}
PROTOBUF_NDEBUG_INLINE FieldOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        edition_defaults_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FieldOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.edition_defaults_)>()
         }
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FieldOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.uninterpreted_option_)>()
         }
        ,
        targets_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FieldOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FieldOptions, _impl_.targets_)>()
         }
     {}

inline void FieldOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FieldOptions& this_ = static_cast<FieldOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, retention_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::retention_));
}
FieldOptions::~FieldOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions)
  Helpers_::SharedDtor(*this);
}
inline void FieldOptions::Helpers_::SharedDtor(MessageLite& self) {
  FieldOptions& this_ = static_cast<FieldOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  delete this_._impl_.feature_support_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FieldOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FieldOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FieldOptions_globals_));
  return &FieldOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FieldOptions::Helpers_::Clear(MessageLite& base) {
  FieldOptions& this_ = static_cast<FieldOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FieldOptions::Clear() {
  FieldOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FieldOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.edition_defaults_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.uninterpreted_option_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(this_._impl_.features_ != nullptr);
      this_._impl_.features_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(this_._impl_.feature_support_ != nullptr);
      this_._impl_.feature_support_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
    ::memset(&this_._impl_.ctype_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.lazy_) -
                 reinterpret_cast<char*>(&this_._impl_.ctype_)) +
                 sizeof(_impl_.lazy_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    ::memset(&this_._impl_.weak_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.retention_) -
                 reinterpret_cast<char*>(&this_._impl_.weak_)) +
                 sizeof(_impl_.retention_));
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      this_._impl_.targets_.Clear();
    }
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FieldOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FieldOptions& this_ = static_cast<const FieldOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FieldOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FieldOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_ctype(), target);
  }

  // optional bool packed = 2;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_packed(), target);
  }

  // optional bool deprecated = 3 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_deprecated(), target);
  }

  // optional bool lazy = 5 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_lazy(), target);
  }

  // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_jstype(), target);
  }

  // optional bool weak = 10 [default = false, deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this_._internal_weak(), target);
  }

  // optional bool unverified_lazy = 15 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        15, this_._internal_unverified_lazy(), target);
  }

  // optional bool debug_redact = 16 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        16, this_._internal_debug_redact(), target);
  }

  // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        17, this_._internal_retention(), target);
  }

  // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    for (int i = 0, n = this_._internal_targets_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          19, static_cast<::google::protobuf::FieldOptions_OptionTargetType>(this_._internal_targets().Get(i)),
          target);
    }
  }

  // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_edition_defaults_size());
         i < n; i++) {
      const auto& repfield = this_._internal_edition_defaults().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          20, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // optional .google.protobuf.FeatureSet features = 21;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        21, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        22, *this_._impl_.feature_support_, this_._impl_.feature_support_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FieldOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FieldOptions& this_ = static_cast<const FieldOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FieldOptions::ByteSizeLong() const {
  const FieldOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FieldOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000800U & cached_has_bits) * 3;
  total_size += ::absl::popcount(0x000005e0U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated .google.protobuf.FieldOptions.EditionDefault edition_defaults = 20;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2UL * this_._internal_edition_defaults_size();
      for (const auto& msg : this_._internal_edition_defaults()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .google.protobuf.FeatureSet features = 21;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
    // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 22;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_support_);
    }
    // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_ctype());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003200U)) {
    // optional .google.protobuf.FieldOptions.JSType jstype = 6 [default = JS_NORMAL];
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_jstype());
    }
    // optional .google.protobuf.FieldOptions.OptionRetention retention = 17;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_retention());
    }
    // repeated .google.protobuf.FieldOptions.OptionTargetType targets = 19;
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      ::size_t data_size =
          ::_pbi::WireFormatLite::EnumSize(this_._internal_targets());
      ::size_t tag_size = ::size_t{2} *
          ::_pbi::FromIntSize(this_._internal_targets_size());
      total_size += data_size + tag_size;
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FieldOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FieldOptions*>(&to_msg);
  auto& from = static_cast<const FieldOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FieldOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_edition_defaults()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_edition_defaults());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.feature_support_ != nullptr);
      if (_this->_impl_.feature_support_ == nullptr) {
        _this->_impl_.feature_support_ = Super_::CopyConstruct(arena, *from._impl_.feature_support_);
      } else {
        _this->_impl_.feature_support_->MergeFrom(*from._impl_.feature_support_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.ctype_ = from._impl_.ctype_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.packed_ = from._impl_.packed_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.lazy_ = from._impl_.lazy_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.weak_ = from._impl_.weak_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.jstype_ = from._impl_.jstype_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.unverified_lazy_ = from._impl_.unverified_lazy_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.debug_redact_ = from._impl_.debug_redact_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.retention_ = from._impl_.retention_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_internal_mutable_targets()->MergeFrom(from._internal_targets());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FieldOptions::CopyFrom(const FieldOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FieldOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FieldOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FieldOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000004U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void FieldOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FieldOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FieldOptions& this_ = static_cast<FieldOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.edition_defaults_.InternalSwap(&other->_impl_.edition_defaults_);
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.retention_) +
                 sizeof(FieldOptions::_impl_.retention_) -
                 PROTOBUF_FIELD_OFFSET(FieldOptions, _impl_.features_)>(
      reinterpret_cast<char*>(&this_._impl_.features_),
      reinterpret_cast<char*>(&other->_impl_.features_));
  this_._impl_.targets_.InternalSwap(&other->_impl_.targets_);
}

::google::protobuf::Metadata FieldOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(FieldOptions_globals_.class_data);
}
// ===================================================================

OneofOptions::OneofOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &OneofOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.OneofOptions)
}
PROTOBUF_NDEBUG_INLINE OneofOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::OneofOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::OneofOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
     {}

OneofOptions::OneofOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const OneofOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &OneofOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  OneofOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.OneofOptions)
}
PROTOBUF_NDEBUG_INLINE OneofOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::OneofOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::OneofOptions, _impl_.uninterpreted_option_)>()
         }
     {}

inline void OneofOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  OneofOptions& this_ = static_cast<OneofOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  this_._impl_.features_ = {};
}
OneofOptions::~OneofOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.OneofOptions)
  Helpers_::SharedDtor(*this);
}
inline void OneofOptions::Helpers_::SharedDtor(MessageLite& self) {
  OneofOptions& this_ = static_cast<OneofOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
OneofOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&OneofOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&OneofOptions_globals_));
  return &OneofOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void OneofOptions::Helpers_::Clear(MessageLite& base) {
  OneofOptions& this_ = static_cast<OneofOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void OneofOptions::Clear() {
  OneofOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.OneofOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.uninterpreted_option_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(this_._impl_.features_ != nullptr);
      this_._impl_.features_->Clear();
    }
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL OneofOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const OneofOptions& this_ = static_cast<const OneofOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL OneofOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const OneofOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.OneofOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .google.protobuf.FeatureSet features = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.OneofOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t OneofOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const OneofOptions& this_ = static_cast<const OneofOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t OneofOptions::ByteSizeLong() const {
  const OneofOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.OneofOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .google.protobuf.FeatureSet features = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void OneofOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<OneofOptions*>(&to_msg);
  auto& from = static_cast<const OneofOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.OneofOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void OneofOptions::CopyFrom(const OneofOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.OneofOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool OneofOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const OneofOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000002U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void OneofOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    OneofOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  OneofOptions& this_ = static_cast<OneofOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  swap(this_._impl_.features_, other->_impl_.features_);
}

::google::protobuf::Metadata OneofOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(OneofOptions_globals_.class_data);
}
// ===================================================================

EnumOptions::EnumOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumOptions)
}
PROTOBUF_NDEBUG_INLINE EnumOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::EnumOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::EnumOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
     {}

EnumOptions::EnumOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const EnumOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EnumOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, allow_alias_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, allow_alias_),
           offsetof(Impl_, deprecated_legacy_json_field_conflicts_) -
               offsetof(Impl_, allow_alias_) +
               sizeof(Impl_::deprecated_legacy_json_field_conflicts_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumOptions)
}
PROTOBUF_NDEBUG_INLINE EnumOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumOptions, _impl_.uninterpreted_option_)>()
         }
     {}

inline void EnumOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  EnumOptions& this_ = static_cast<EnumOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, deprecated_legacy_json_field_conflicts_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::deprecated_legacy_json_field_conflicts_));
}
EnumOptions::~EnumOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumOptions)
  Helpers_::SharedDtor(*this);
}
inline void EnumOptions::Helpers_::SharedDtor(MessageLite& self) {
  EnumOptions& this_ = static_cast<EnumOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EnumOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&EnumOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&EnumOptions_globals_));
  return &EnumOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void EnumOptions::Helpers_::Clear(MessageLite& base) {
  EnumOptions& this_ = static_cast<EnumOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void EnumOptions::Clear() {
  EnumOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(this_._impl_.features_ != nullptr);
    this_._impl_.features_->Clear();
  }
  ::memset(&this_._impl_.allow_alias_, 0,
           static_cast<::size_t>(
               reinterpret_cast<char*>(&this_._impl_.deprecated_legacy_json_field_conflicts_) -
               reinterpret_cast<char*>(&this_._impl_.allow_alias_)) +
               sizeof(_impl_.deprecated_legacy_json_field_conflicts_));
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    this_._impl_.uninterpreted_option_.Clear();
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL EnumOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const EnumOptions& this_ = static_cast<const EnumOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL EnumOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const EnumOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool allow_alias = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_allow_alias(), target);
  }

  // optional bool deprecated = 3 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_deprecated(), target);
  }

  // optional bool deprecated_legacy_json_field_conflicts = 6 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_deprecated_legacy_json_field_conflicts(), target);
  }

  // optional .google.protobuf.FeatureSet features = 7;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EnumOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const EnumOptions& this_ = static_cast<const EnumOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EnumOptions::ByteSizeLong() const {
  const EnumOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x0000000eU & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000011U)) {
    // optional .google.protobuf.FeatureSet features = 7;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void EnumOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EnumOptions*>(&to_msg);
  auto& from = static_cast<const EnumOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.allow_alias_ = from._impl_.allow_alias_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.deprecated_legacy_json_field_conflicts_ = from._impl_.deprecated_legacy_json_field_conflicts_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void EnumOptions::CopyFrom(const EnumOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool EnumOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const EnumOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000001U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  return true;
}

void EnumOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    EnumOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  EnumOptions& this_ = static_cast<EnumOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.deprecated_legacy_json_field_conflicts_) +
                 sizeof(EnumOptions::_impl_.deprecated_legacy_json_field_conflicts_) -
                 PROTOBUF_FIELD_OFFSET(EnumOptions, _impl_.features_)>(
      reinterpret_cast<char*>(&this_._impl_.features_),
      reinterpret_cast<char*>(&other->_impl_.features_));
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
}

::google::protobuf::Metadata EnumOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(EnumOptions_globals_.class_data);
}
// ===================================================================

EnumValueOptions::EnumValueOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumValueOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.EnumValueOptions)
}
PROTOBUF_NDEBUG_INLINE EnumValueOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::EnumValueOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::EnumValueOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
     {}

EnumValueOptions::EnumValueOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const EnumValueOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &EnumValueOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  EnumValueOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;
  _impl_.feature_support_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                 ? Super_::CopyConstruct(arena, *from._impl_.feature_support_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, deprecated_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, deprecated_),
           offsetof(Impl_, debug_redact_) -
               offsetof(Impl_, deprecated_) +
               sizeof(Impl_::debug_redact_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueOptions)
}
PROTOBUF_NDEBUG_INLINE EnumValueOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::EnumValueOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::EnumValueOptions, _impl_.uninterpreted_option_)>()
         }
     {}

inline void EnumValueOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  EnumValueOptions& this_ = static_cast<EnumValueOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, debug_redact_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::debug_redact_));
}
EnumValueOptions::~EnumValueOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.EnumValueOptions)
  Helpers_::SharedDtor(*this);
}
inline void EnumValueOptions::Helpers_::SharedDtor(MessageLite& self) {
  EnumValueOptions& this_ = static_cast<EnumValueOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  delete this_._impl_.feature_support_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
EnumValueOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&EnumValueOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&EnumValueOptions_globals_));
  return &EnumValueOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void EnumValueOptions::Helpers_::Clear(MessageLite& base) {
  EnumValueOptions& this_ = static_cast<EnumValueOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void EnumValueOptions::Clear() {
  EnumValueOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.EnumValueOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.uninterpreted_option_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(this_._impl_.features_ != nullptr);
      this_._impl_.features_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(this_._impl_.feature_support_ != nullptr);
      this_._impl_.feature_support_->Clear();
    }
  }
  ::memset(&this_._impl_.deprecated_, 0,
           static_cast<::size_t>(
               reinterpret_cast<char*>(&this_._impl_.debug_redact_) -
               reinterpret_cast<char*>(&this_._impl_.deprecated_)) +
               sizeof(_impl_.debug_redact_));
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL EnumValueOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const EnumValueOptions& this_ = static_cast<const EnumValueOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL EnumValueOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const EnumValueOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumValueOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool deprecated = 1 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_deprecated(), target);
  }

  // optional .google.protobuf.FeatureSet features = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // optional bool debug_redact = 3 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_debug_redact(), target);
  }

  // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.feature_support_, this_._impl_.feature_support_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t EnumValueOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const EnumValueOptions& this_ = static_cast<const EnumValueOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t EnumValueOptions::ByteSizeLong() const {
  const EnumValueOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.EnumValueOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00000018U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .google.protobuf.FeatureSet features = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
    // optional .google.protobuf.FieldOptions.FeatureSupport feature_support = 4;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.feature_support_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void EnumValueOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<EnumValueOptions*>(&to_msg);
  auto& from = static_cast<const EnumValueOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.EnumValueOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.feature_support_ != nullptr);
      if (_this->_impl_.feature_support_ == nullptr) {
        _this->_impl_.feature_support_ = Super_::CopyConstruct(arena, *from._impl_.feature_support_);
      } else {
        _this->_impl_.feature_support_->MergeFrom(*from._impl_.feature_support_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.debug_redact_ = from._impl_.debug_redact_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void EnumValueOptions::CopyFrom(const EnumValueOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.EnumValueOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool EnumValueOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const EnumValueOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000002U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void EnumValueOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    EnumValueOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  EnumValueOptions& this_ = static_cast<EnumValueOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.debug_redact_) +
                 sizeof(EnumValueOptions::_impl_.debug_redact_) -
                 PROTOBUF_FIELD_OFFSET(EnumValueOptions, _impl_.features_)>(
      reinterpret_cast<char*>(&this_._impl_.features_),
      reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata EnumValueOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(EnumValueOptions_globals_.class_data);
}
// ===================================================================

ServiceOptions::ServiceOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &ServiceOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.ServiceOptions)
}
PROTOBUF_NDEBUG_INLINE ServiceOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::ServiceOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::ServiceOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
     {}

ServiceOptions::ServiceOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ServiceOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &ServiceOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ServiceOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;
  _impl_.deprecated_ = from._impl_.deprecated_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceOptions)
}
PROTOBUF_NDEBUG_INLINE ServiceOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::ServiceOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::ServiceOptions, _impl_.uninterpreted_option_)>()
         }
     {}

inline void ServiceOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  ServiceOptions& this_ = static_cast<ServiceOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, deprecated_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::deprecated_));
}
ServiceOptions::~ServiceOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.ServiceOptions)
  Helpers_::SharedDtor(*this);
}
inline void ServiceOptions::Helpers_::SharedDtor(MessageLite& self) {
  ServiceOptions& this_ = static_cast<ServiceOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ServiceOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&ServiceOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&ServiceOptions_globals_));
  return &ServiceOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void ServiceOptions::Helpers_::Clear(MessageLite& base) {
  ServiceOptions& this_ = static_cast<ServiceOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void ServiceOptions::Clear() {
  ServiceOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.ServiceOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.uninterpreted_option_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(this_._impl_.features_ != nullptr);
      this_._impl_.features_->Clear();
    }
  }
  this_._impl_.deprecated_ = false;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL ServiceOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const ServiceOptions& this_ = static_cast<const ServiceOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL ServiceOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const ServiceOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ServiceOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool deprecated = 33 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        33, this_._internal_deprecated(), target);
  }

  // optional .google.protobuf.FeatureSet features = 34;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        34, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ServiceOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const ServiceOptions& this_ = static_cast<const ServiceOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ServiceOptions::ByteSizeLong() const {
  const ServiceOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.ServiceOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000004U & cached_has_bits) * 3;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .google.protobuf.FeatureSet features = 34;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void ServiceOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ServiceOptions*>(&to_msg);
  auto& from = static_cast<const ServiceOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.ServiceOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void ServiceOptions::CopyFrom(const ServiceOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.ServiceOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ServiceOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const ServiceOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000002U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void ServiceOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    ServiceOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  ServiceOptions& this_ = static_cast<ServiceOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.deprecated_) +
                 sizeof(ServiceOptions::_impl_.deprecated_) -
                 PROTOBUF_FIELD_OFFSET(ServiceOptions, _impl_.features_)>(
      reinterpret_cast<char*>(&this_._impl_.features_),
      reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata ServiceOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(ServiceOptions_globals_.class_data);
}
// ===================================================================

MethodOptions::MethodOptions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &MethodOptions_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.MethodOptions)
}
PROTOBUF_NDEBUG_INLINE MethodOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::MethodOptions& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        uninterpreted_option_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::MethodOptions,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.uninterpreted_option_)>()
          , arena, from.uninterpreted_option_
        }
     {}

MethodOptions::MethodOptions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MethodOptions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &MethodOptions_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MethodOptions* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.features_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                 ? Super_::CopyConstruct(arena, *from._impl_.features_)
                 : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, deprecated_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, deprecated_),
           offsetof(Impl_, idempotency_level_) -
               offsetof(Impl_, deprecated_) +
               sizeof(Impl_::idempotency_level_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodOptions)
}
PROTOBUF_NDEBUG_INLINE MethodOptions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        uninterpreted_option_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::MethodOptions,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::MethodOptions, _impl_.uninterpreted_option_)>()
         }
     {}

inline void MethodOptions::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  MethodOptions& this_ = static_cast<MethodOptions&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, features_),
           0,
           offsetof(Impl_, idempotency_level_) -
               offsetof(Impl_, features_) +
               sizeof(Impl_::idempotency_level_));
}
MethodOptions::~MethodOptions() {
  // @@protoc_insertion_point(destructor:google.protobuf.MethodOptions)
  Helpers_::SharedDtor(*this);
}
inline void MethodOptions::Helpers_::SharedDtor(MessageLite& self) {
  MethodOptions& this_ = static_cast<MethodOptions&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.features_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MethodOptions::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&MethodOptions_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&MethodOptions_globals_));
  return &MethodOptions_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void MethodOptions::Helpers_::Clear(MessageLite& base) {
  MethodOptions& this_ = static_cast<MethodOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void MethodOptions::Clear() {
  MethodOptions& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.MethodOptions)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.uninterpreted_option_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(this_._impl_.features_ != nullptr);
      this_._impl_.features_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
    ::memset(&this_._impl_.deprecated_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.idempotency_level_) -
                 reinterpret_cast<char*>(&this_._impl_.deprecated_)) +
                 sizeof(_impl_.idempotency_level_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL MethodOptions::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const MethodOptions& this_ = static_cast<const MethodOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL MethodOptions::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const MethodOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MethodOptions)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool deprecated = 33 [default = false];
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        33, this_._internal_deprecated(), target);
  }

  // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        34, this_._internal_idempotency_level(), target);
  }

  // optional .google.protobuf.FeatureSet features = 35;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        35, *this_._impl_.features_, this_._impl_.features_->GetCachedSize(), target,
        stream);
  }

  // Extension range [990, 999)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 990, 999, target, stream);
  // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_uninterpreted_option_size());
         i < n; i++) {
      const auto& repfield = this_._internal_uninterpreted_option().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          999, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // Extension range [1000, 536870912)
  target = this_._impl_._extensions_._InternalSerialize(
      &default_instance(), 1000, 536870912, target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodOptions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MethodOptions::Helpers_::ByteSizeLong(const MessageLite& base) {
  const MethodOptions& this_ = static_cast<const MethodOptions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MethodOptions::ByteSizeLong() const {
  const MethodOptions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.MethodOptions)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000004U & cached_has_bits) * 3;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000bU)) {
    // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 2UL * this_._internal_uninterpreted_option_size();
      for (const auto& msg : this_._internal_uninterpreted_option()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .google.protobuf.FeatureSet features = 35;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.features_);
    }
    // optional .google.protobuf.MethodOptions.IdempotencyLevel idempotency_level = 34 [default = IDEMPOTENCY_UNKNOWN];
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_idempotency_level());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void MethodOptions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MethodOptions*>(&to_msg);
  auto& from = static_cast<const MethodOptions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.MethodOptions)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_uninterpreted_option()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_uninterpreted_option());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.features_ != nullptr);
      if (_this->_impl_.features_ == nullptr) {
        _this->_impl_.features_ = Super_::CopyConstruct(arena, *from._impl_.features_);
      } else {
        _this->_impl_.features_->MergeFrom(*from._impl_.features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.deprecated_ = from._impl_.deprecated_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.idempotency_level_ = from._impl_.idempotency_level_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void MethodOptions::CopyFrom(const MethodOptions& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.MethodOptions)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool MethodOptions::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const MethodOptions&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_uninterpreted_option()))
    return false;
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000002U)) {
    if (!this_._impl_.features_->IsInitialized()) return false;
  }
  return true;
}

void MethodOptions::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    MethodOptions* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  MethodOptions& this_ = static_cast<MethodOptions&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.uninterpreted_option_.InternalSwap(&other->_impl_.uninterpreted_option_);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.idempotency_level_) +
                 sizeof(MethodOptions::_impl_.idempotency_level_) -
                 PROTOBUF_FIELD_OFFSET(MethodOptions, _impl_.features_)>(
      reinterpret_cast<char*>(&this_._impl_.features_),
      reinterpret_cast<char*>(&other->_impl_.features_));
}

::google::protobuf::Metadata MethodOptions::GetMetadata() const {
  return Super_::GetMetadataImpl(MethodOptions_globals_.class_data);
}
// ===================================================================

UninterpretedOption_NamePart::UninterpretedOption_NamePart(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &UninterpretedOption_NamePart_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.UninterpretedOption.NamePart)
}
PROTOBUF_NDEBUG_INLINE UninterpretedOption_NamePart::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::UninterpretedOption_NamePart& from_msg)
      : _has_bits_{from._has_bits_},
        name_part_(arena, from.name_part_) {}

UninterpretedOption_NamePart::UninterpretedOption_NamePart(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const UninterpretedOption_NamePart& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &UninterpretedOption_NamePart_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  UninterpretedOption_NamePart* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.is_extension_ = from._impl_.is_extension_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption.NamePart)
}
PROTOBUF_NDEBUG_INLINE UninterpretedOption_NamePart::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : name_part_(arena) {}

inline void UninterpretedOption_NamePart::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  UninterpretedOption_NamePart& this_ = static_cast<UninterpretedOption_NamePart&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  this_._impl_.is_extension_ = {};
}
UninterpretedOption_NamePart::~UninterpretedOption_NamePart() {
  // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption.NamePart)
  Helpers_::SharedDtor(*this);
}
inline void UninterpretedOption_NamePart::Helpers_::SharedDtor(MessageLite& self) {
  UninterpretedOption_NamePart& this_ = static_cast<UninterpretedOption_NamePart&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_part_.Destroy();
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
UninterpretedOption_NamePart::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&UninterpretedOption_NamePart_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&UninterpretedOption_NamePart_globals_));
  return &UninterpretedOption_NamePart_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void UninterpretedOption_NamePart::Helpers_::Clear(MessageLite& base) {
  UninterpretedOption_NamePart& this_ = static_cast<UninterpretedOption_NamePart&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void UninterpretedOption_NamePart::Clear() {
  UninterpretedOption_NamePart& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.UninterpretedOption.NamePart)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    this_._impl_.name_part_.ClearNonDefaultToEmpty();
  }
  this_._impl_.is_extension_ = false;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL UninterpretedOption_NamePart::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const UninterpretedOption_NamePart& this_ = static_cast<const UninterpretedOption_NamePart&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL UninterpretedOption_NamePart::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const UninterpretedOption_NamePart& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption.NamePart)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // required string name_part = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_name_part();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // required bool is_extension = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_is_extension(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption.NamePart)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t UninterpretedOption_NamePart::Helpers_::ByteSizeLong(const MessageLite& base) {
  const UninterpretedOption_NamePart& this_ = static_cast<const UninterpretedOption_NamePart&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t UninterpretedOption_NamePart::ByteSizeLong() const {
  const UninterpretedOption_NamePart& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.UninterpretedOption.NamePart)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000002U & cached_has_bits) * 2;
   {
    // required string name_part = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name_part());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void UninterpretedOption_NamePart::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<UninterpretedOption_NamePart*>(&to_msg);
  auto& from = static_cast<const UninterpretedOption_NamePart&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.UninterpretedOption.NamePart)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_name_part(from._internal_name_part());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.is_extension_ = from._impl_.is_extension_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void UninterpretedOption_NamePart::CopyFrom(const UninterpretedOption_NamePart& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.UninterpretedOption.NamePart)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool UninterpretedOption_NamePart::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const UninterpretedOption_NamePart&>(msg);
  if (_Internal::MissingRequiredFields(this_._impl_._has_bits_)) {
    return false;
  }
  return true;
}

void UninterpretedOption_NamePart::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    UninterpretedOption_NamePart* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  UninterpretedOption_NamePart& this_ = static_cast<UninterpretedOption_NamePart&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.name_part_, &other->_impl_.name_part_,
                                       arena);
  swap(this_._impl_.is_extension_, other->_impl_.is_extension_);
}

::google::protobuf::Metadata UninterpretedOption_NamePart::GetMetadata() const {
  return Super_::GetMetadataImpl(UninterpretedOption_NamePart_globals_.class_data);
}
// ===================================================================

UninterpretedOption::UninterpretedOption(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &UninterpretedOption_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.UninterpretedOption)
}
PROTOBUF_NDEBUG_INLINE UninterpretedOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::UninterpretedOption& from_msg)
      : _has_bits_{from._has_bits_},
        name_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::UninterpretedOption,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.name_)>()
          , arena, from.name_
        }
        ,
        identifier_value_(arena, from.identifier_value_),
        string_value_(arena, from.string_value_),
        aggregate_value_(arena, from.aggregate_value_) {}

UninterpretedOption::UninterpretedOption(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const UninterpretedOption& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &UninterpretedOption_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  UninterpretedOption* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, positive_int_value_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, positive_int_value_),
           offsetof(Impl_, double_value_) -
               offsetof(Impl_, positive_int_value_) +
               sizeof(Impl_::double_value_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption)
}
PROTOBUF_NDEBUG_INLINE UninterpretedOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : name_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::UninterpretedOption,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::UninterpretedOption, _impl_.name_)>()
         }
        ,
        identifier_value_(arena),
        string_value_(arena),
        aggregate_value_(arena) {}

inline void UninterpretedOption::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  UninterpretedOption& this_ = static_cast<UninterpretedOption&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, positive_int_value_),
           0,
           offsetof(Impl_, double_value_) -
               offsetof(Impl_, positive_int_value_) +
               sizeof(Impl_::double_value_));
}
UninterpretedOption::~UninterpretedOption() {
  // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption)
  Helpers_::SharedDtor(*this);
}
inline void UninterpretedOption::Helpers_::SharedDtor(MessageLite& self) {
  UninterpretedOption& this_ = static_cast<UninterpretedOption&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.identifier_value_.Destroy();
  this_._impl_.string_value_.Destroy();
  this_._impl_.aggregate_value_.Destroy();
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
UninterpretedOption::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&UninterpretedOption_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&UninterpretedOption_globals_));
  return &UninterpretedOption_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void UninterpretedOption::Helpers_::Clear(MessageLite& base) {
  UninterpretedOption& this_ = static_cast<UninterpretedOption&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void UninterpretedOption::Clear() {
  UninterpretedOption& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.UninterpretedOption)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.name_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.identifier_value_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      this_._impl_.string_value_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      this_._impl_.aggregate_value_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000070U)) {
    ::memset(&this_._impl_.positive_int_value_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.double_value_) -
                 reinterpret_cast<char*>(&this_._impl_.positive_int_value_)) +
                 sizeof(_impl_.double_value_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL UninterpretedOption::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const UninterpretedOption& this_ = static_cast<const UninterpretedOption&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL UninterpretedOption::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const UninterpretedOption& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_name_size());
         i < n; i++) {
      const auto& repfield = this_._internal_name().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // optional string identifier_value = 3;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_identifier_value();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional uint64 positive_int_value = 4;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_positive_int_value(), target);
  }

  // optional int64 negative_int_value = 5;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
            stream, this_._internal_negative_int_value(), target);
  }

  // optional double double_value = 6;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        6, this_._internal_double_value(), target);
  }

  // optional bytes string_value = 7;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_string_value();
    target = stream->WriteBytesMaybeAliased(7, _s, target);
  }

  // optional string aggregate_value = 8;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_aggregate_value();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t UninterpretedOption::Helpers_::ByteSizeLong(const MessageLite& base) {
  const UninterpretedOption& this_ = static_cast<const UninterpretedOption&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t UninterpretedOption::ByteSizeLong() const {
  const UninterpretedOption& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.UninterpretedOption)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000040U & cached_has_bits) * 9;
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_name_size();
      for (const auto& msg : this_._internal_name()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional string identifier_value = 3;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_identifier_value());
    }
    // optional bytes string_value = 7;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::BytesSize(
                                      this_._internal_string_value());
    }
    // optional string aggregate_value = 8;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_aggregate_value());
    }
    // optional uint64 positive_int_value = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_positive_int_value());
    }
    // optional int64 negative_int_value = 5;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_negative_int_value());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void UninterpretedOption::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<UninterpretedOption*>(&to_msg);
  auto& from = static_cast<const UninterpretedOption&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.UninterpretedOption)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_name()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_identifier_value(from._internal_identifier_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_string_value(from._internal_string_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_aggregate_value(from._internal_aggregate_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.positive_int_value_ = from._impl_.positive_int_value_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.negative_int_value_ = from._impl_.negative_int_value_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.double_value_ = from._impl_.double_value_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void UninterpretedOption::CopyFrom(const UninterpretedOption& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.UninterpretedOption)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool UninterpretedOption::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const UninterpretedOption&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_name()))
    return false;
  return true;
}

void UninterpretedOption::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    UninterpretedOption* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  UninterpretedOption& this_ = static_cast<UninterpretedOption&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.name_.InternalSwap(&other->_impl_.name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.identifier_value_, &other->_impl_.identifier_value_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.string_value_, &other->_impl_.string_value_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.aggregate_value_, &other->_impl_.aggregate_value_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.double_value_) +
                 sizeof(UninterpretedOption::_impl_.double_value_) -
                 PROTOBUF_FIELD_OFFSET(UninterpretedOption, _impl_.positive_int_value_)>(
      reinterpret_cast<char*>(&this_._impl_.positive_int_value_),
      reinterpret_cast<char*>(&other->_impl_.positive_int_value_));
}

::google::protobuf::Metadata UninterpretedOption::GetMetadata() const {
  return Super_::GetMetadataImpl(UninterpretedOption_globals_.class_data);
}
// ===================================================================

FeatureSet_VisibilityFeature::FeatureSet_VisibilityFeature(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSet_VisibilityFeature_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FeatureSet.VisibilityFeature)
}
FeatureSet_VisibilityFeature::FeatureSet_VisibilityFeature(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FeatureSet_VisibilityFeature& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSet_VisibilityFeature_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FeatureSet_VisibilityFeature* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSet.VisibilityFeature)
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FeatureSet_VisibilityFeature::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FeatureSet_VisibilityFeature_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FeatureSet_VisibilityFeature_globals_));
  return &FeatureSet_VisibilityFeature_globals_.class_data;
}







::google::protobuf::Metadata FeatureSet_VisibilityFeature::GetMetadata() const {
  return Super_::GetMetadataImpl(FeatureSet_VisibilityFeature_globals_.class_data);
}
// ===================================================================

FeatureSet_ProtoLimitsFeature::FeatureSet_ProtoLimitsFeature(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSet_ProtoLimitsFeature_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FeatureSet.ProtoLimitsFeature)
}
FeatureSet_ProtoLimitsFeature::FeatureSet_ProtoLimitsFeature(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FeatureSet_ProtoLimitsFeature& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSet_ProtoLimitsFeature_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FeatureSet_ProtoLimitsFeature* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSet.ProtoLimitsFeature)
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FeatureSet_ProtoLimitsFeature::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FeatureSet_ProtoLimitsFeature_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FeatureSet_ProtoLimitsFeature_globals_));
  return &FeatureSet_ProtoLimitsFeature_globals_.class_data;
}







::google::protobuf::Metadata FeatureSet_ProtoLimitsFeature::GetMetadata() const {
  return Super_::GetMetadataImpl(FeatureSet_ProtoLimitsFeature_globals_.class_data);
}
// ===================================================================

FeatureSet::FeatureSet(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSet_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FeatureSet)
}
PROTOBUF_NDEBUG_INLINE FeatureSet::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FeatureSet& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_} {}

FeatureSet::FeatureSet(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FeatureSet& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSet_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FeatureSet* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, field_presence_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, field_presence_),
           offsetof(Impl_, enforce_proto_limits_) -
               offsetof(Impl_, field_presence_) +
               sizeof(Impl_::enforce_proto_limits_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSet)
}
PROTOBUF_NDEBUG_INLINE FeatureSet::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
     {}

inline void FeatureSet::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FeatureSet& this_ = static_cast<FeatureSet&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, field_presence_),
           0,
           offsetof(Impl_, enforce_proto_limits_) -
               offsetof(Impl_, field_presence_) +
               sizeof(Impl_::enforce_proto_limits_));
}
FeatureSet::~FeatureSet() {
  // @@protoc_insertion_point(destructor:google.protobuf.FeatureSet)
  Helpers_::SharedDtor(*this);
}
inline void FeatureSet::Helpers_::SharedDtor(MessageLite& self) {
  FeatureSet& this_ = static_cast<FeatureSet&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FeatureSet::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FeatureSet_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FeatureSet_globals_));
  return &FeatureSet_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FeatureSet::Helpers_::Clear(MessageLite& base) {
  FeatureSet& this_ = static_cast<FeatureSet&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FeatureSet::Clear() {
  FeatureSet& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FeatureSet)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    ::memset(&this_._impl_.field_presence_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.default_symbol_visibility_) -
                 reinterpret_cast<char*>(&this_._impl_.field_presence_)) +
                 sizeof(_impl_.default_symbol_visibility_));
  }
  this_._impl_.enforce_proto_limits_ = 0;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FeatureSet::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FeatureSet& this_ = static_cast<const FeatureSet&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FeatureSet::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FeatureSet& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FeatureSet)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_field_presence(), target);
  }

  // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_enum_type(), target);
  }

  // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_repeated_field_encoding(), target);
  }

  // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_utf8_validation(), target);
  }

  // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_message_encoding(), target);
  }

  // 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 = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_json_format(), target);
  }

  // optional .google.protobuf.FeatureSet.EnforceNamingStyle enforce_naming_style = 7 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, targets = TARGET_TYPE_EXTENSION_RANGE, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_ENUM_ENTRY, targets = TARGET_TYPE_SERVICE, targets = TARGET_TYPE_METHOD, edition_defaults = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this_._internal_enforce_naming_style(), target);
  }

  // optional .google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility = 8 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, edition_defaults = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this_._internal_default_symbol_visibility(), target);
  }

  // optional .google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits enforce_proto_limits = 9 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, edition_defaults = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        9, this_._internal_enforce_proto_limits(), target);
  }

  // All extensions.
  target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(),
                                                    target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FeatureSet)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FeatureSet::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FeatureSet& this_ = static_cast<const FeatureSet&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FeatureSet::ByteSizeLong() const {
  const FeatureSet& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FeatureSet)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // optional .google.protobuf.FeatureSet.FieldPresence field_presence = 1 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_field_presence());
    }
    // optional .google.protobuf.FeatureSet.EnumType enum_type = 2 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, edition_defaults = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_enum_type());
    }
    // optional .google.protobuf.FeatureSet.RepeatedFieldEncoding repeated_field_encoding = 3 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_repeated_field_encoding());
    }
    // optional .google.protobuf.FeatureSet.Utf8Validation utf8_validation = 4 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_utf8_validation());
    }
    // optional .google.protobuf.FeatureSet.MessageEncoding message_encoding = 5 [retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, edition_defaults = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_message_encoding());
    }
    // 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 = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_json_format());
    }
    // optional .google.protobuf.FeatureSet.EnforceNamingStyle enforce_naming_style = 7 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, targets = TARGET_TYPE_EXTENSION_RANGE, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_ENUM_ENTRY, targets = TARGET_TYPE_SERVICE, targets = TARGET_TYPE_METHOD, edition_defaults = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_enforce_naming_style());
    }
    // optional .google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility default_symbol_visibility = 8 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_FILE, edition_defaults = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_default_symbol_visibility());
    }
  }
   {
    // optional .google.protobuf.FeatureSet.ProtoLimitsFeature.EnforceProtoLimits enforce_proto_limits = 9 [retention = RETENTION_SOURCE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_ONEOF, edition_defaults = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_enforce_proto_limits());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FeatureSet::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FeatureSet*>(&to_msg);
  auto& from = static_cast<const FeatureSet&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FeatureSet)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.field_presence_ = from._impl_.field_presence_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.enum_type_ = from._impl_.enum_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.repeated_field_encoding_ = from._impl_.repeated_field_encoding_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.utf8_validation_ = from._impl_.utf8_validation_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.message_encoding_ = from._impl_.message_encoding_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.json_format_ = from._impl_.json_format_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.enforce_naming_style_ = from._impl_.enforce_naming_style_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.default_symbol_visibility_ = from._impl_.default_symbol_visibility_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.enforce_proto_limits_ = from._impl_.enforce_proto_limits_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FeatureSet::CopyFrom(const FeatureSet& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FeatureSet)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FeatureSet::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FeatureSet&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  return true;
}

void FeatureSet::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FeatureSet* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FeatureSet& this_ = static_cast<FeatureSet&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.enforce_proto_limits_) +
                 sizeof(FeatureSet::_impl_.enforce_proto_limits_) -
                 PROTOBUF_FIELD_OFFSET(FeatureSet, _impl_.field_presence_)>(
      reinterpret_cast<char*>(&this_._impl_.field_presence_),
      reinterpret_cast<char*>(&other->_impl_.field_presence_));
}

::google::protobuf::Metadata FeatureSet::GetMetadata() const {
  return Super_::GetMetadataImpl(FeatureSet_globals_.class_data);
}
// ===================================================================

FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditionDefault(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSetDefaults_FeatureSetEditionDefault_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
}
PROTOBUF_NDEBUG_INLINE FeatureSetDefaults_FeatureSetEditionDefault::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FeatureSetDefaults_FeatureSetEditionDefault& from_msg)
      : _has_bits_{from._has_bits_} {}

FeatureSetDefaults_FeatureSetEditionDefault::FeatureSetDefaults_FeatureSetEditionDefault(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FeatureSetDefaults_FeatureSetEditionDefault& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSetDefaults_FeatureSetEditionDefault_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FeatureSetDefaults_FeatureSetEditionDefault* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.overridable_features_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                 ? Super_::CopyConstruct(arena, *from._impl_.overridable_features_)
                 : nullptr;
  _impl_.fixed_features_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                 ? Super_::CopyConstruct(arena, *from._impl_.fixed_features_)
                 : nullptr;
  _impl_.edition_ = from._impl_.edition_;

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
}
PROTOBUF_NDEBUG_INLINE FeatureSetDefaults_FeatureSetEditionDefault::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
     {}

inline void FeatureSetDefaults_FeatureSetEditionDefault::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<FeatureSetDefaults_FeatureSetEditionDefault&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, overridable_features_),
           0,
           offsetof(Impl_, edition_) -
               offsetof(Impl_, overridable_features_) +
               sizeof(Impl_::edition_));
}
FeatureSetDefaults_FeatureSetEditionDefault::~FeatureSetDefaults_FeatureSetEditionDefault() {
  // @@protoc_insertion_point(destructor:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  Helpers_::SharedDtor(*this);
}
inline void FeatureSetDefaults_FeatureSetEditionDefault::Helpers_::SharedDtor(MessageLite& self) {
  FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<FeatureSetDefaults_FeatureSetEditionDefault&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.overridable_features_;
  delete this_._impl_.fixed_features_;
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FeatureSetDefaults_FeatureSetEditionDefault::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FeatureSetDefaults_FeatureSetEditionDefault_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FeatureSetDefaults_FeatureSetEditionDefault_globals_));
  return &FeatureSetDefaults_FeatureSetEditionDefault_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FeatureSetDefaults_FeatureSetEditionDefault::Helpers_::Clear(MessageLite& base) {
  FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<FeatureSetDefaults_FeatureSetEditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FeatureSetDefaults_FeatureSetEditionDefault::Clear() {
  FeatureSetDefaults_FeatureSetEditionDefault& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(this_._impl_.overridable_features_ != nullptr);
      this_._impl_.overridable_features_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(this_._impl_.fixed_features_ != nullptr);
      this_._impl_.fixed_features_->Clear();
    }
  }
  this_._impl_.edition_ = 0;
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FeatureSetDefaults_FeatureSetEditionDefault::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<const FeatureSetDefaults_FeatureSetEditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FeatureSetDefaults_FeatureSetEditionDefault::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FeatureSetDefaults_FeatureSetEditionDefault& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .google.protobuf.Edition edition = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_edition(), target);
  }

  // optional .google.protobuf.FeatureSet overridable_features = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.overridable_features_, this_._impl_.overridable_features_->GetCachedSize(), target,
        stream);
  }

  // optional .google.protobuf.FeatureSet fixed_features = 5;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.fixed_features_, this_._impl_.fixed_features_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FeatureSetDefaults_FeatureSetEditionDefault::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<const FeatureSetDefaults_FeatureSetEditionDefault&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FeatureSetDefaults_FeatureSetEditionDefault::ByteSizeLong() const {
  const FeatureSetDefaults_FeatureSetEditionDefault& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional .google.protobuf.FeatureSet overridable_features = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.overridable_features_);
    }
    // optional .google.protobuf.FeatureSet fixed_features = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.fixed_features_);
    }
    // optional .google.protobuf.Edition edition = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_edition());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FeatureSetDefaults_FeatureSetEditionDefault::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FeatureSetDefaults_FeatureSetEditionDefault*>(&to_msg);
  auto& from = static_cast<const FeatureSetDefaults_FeatureSetEditionDefault&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.overridable_features_ != nullptr);
      if (_this->_impl_.overridable_features_ == nullptr) {
        _this->_impl_.overridable_features_ = Super_::CopyConstruct(arena, *from._impl_.overridable_features_);
      } else {
        _this->_impl_.overridable_features_->MergeFrom(*from._impl_.overridable_features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.fixed_features_ != nullptr);
      if (_this->_impl_.fixed_features_ == nullptr) {
        _this->_impl_.fixed_features_ = Super_::CopyConstruct(arena, *from._impl_.fixed_features_);
      } else {
        _this->_impl_.fixed_features_->MergeFrom(*from._impl_.fixed_features_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.edition_ = from._impl_.edition_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FeatureSetDefaults_FeatureSetEditionDefault::CopyFrom(const FeatureSetDefaults_FeatureSetEditionDefault& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FeatureSetDefaults_FeatureSetEditionDefault::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FeatureSetDefaults_FeatureSetEditionDefault&>(msg);
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000001U)) {
    if (!this_._impl_.overridable_features_->IsInitialized()) return false;
  }
  if (CheckHasBit(this_._impl_._has_bits_[0], 0x00000002U)) {
    if (!this_._impl_.fixed_features_->IsInitialized()) return false;
  }
  return true;
}

void FeatureSetDefaults_FeatureSetEditionDefault::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FeatureSetDefaults_FeatureSetEditionDefault* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FeatureSetDefaults_FeatureSetEditionDefault& this_ = static_cast<FeatureSetDefaults_FeatureSetEditionDefault&>(self);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.edition_) +
                 sizeof(FeatureSetDefaults_FeatureSetEditionDefault::_impl_.edition_) -
                 PROTOBUF_FIELD_OFFSET(FeatureSetDefaults_FeatureSetEditionDefault, _impl_.overridable_features_)>(
      reinterpret_cast<char*>(&this_._impl_.overridable_features_),
      reinterpret_cast<char*>(&other->_impl_.overridable_features_));
}

::google::protobuf::Metadata FeatureSetDefaults_FeatureSetEditionDefault::GetMetadata() const {
  return Super_::GetMetadataImpl(FeatureSetDefaults_FeatureSetEditionDefault_globals_.class_data);
}
// ===================================================================

FeatureSetDefaults::FeatureSetDefaults(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSetDefaults_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.FeatureSetDefaults)
}
PROTOBUF_NDEBUG_INLINE FeatureSetDefaults::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::FeatureSetDefaults& from_msg)
      : _has_bits_{from._has_bits_},
        defaults_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::FeatureSetDefaults,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.defaults_)>()
          , arena, from.defaults_
        }
     {}

FeatureSetDefaults::FeatureSetDefaults(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FeatureSetDefaults& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &FeatureSetDefaults_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FeatureSetDefaults* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, minimum_edition_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, minimum_edition_),
           offsetof(Impl_, maximum_edition_) -
               offsetof(Impl_, minimum_edition_) +
               sizeof(Impl_::maximum_edition_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.FeatureSetDefaults)
}
PROTOBUF_NDEBUG_INLINE FeatureSetDefaults::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : defaults_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::FeatureSetDefaults,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::FeatureSetDefaults, _impl_.defaults_)>()
         }
     {}

inline void FeatureSetDefaults::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  FeatureSetDefaults& this_ = static_cast<FeatureSetDefaults&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, minimum_edition_),
           0,
           offsetof(Impl_, maximum_edition_) -
               offsetof(Impl_, minimum_edition_) +
               sizeof(Impl_::maximum_edition_));
}
FeatureSetDefaults::~FeatureSetDefaults() {
  // @@protoc_insertion_point(destructor:google.protobuf.FeatureSetDefaults)
  Helpers_::SharedDtor(*this);
}
inline void FeatureSetDefaults::Helpers_::SharedDtor(MessageLite& self) {
  FeatureSetDefaults& this_ = static_cast<FeatureSetDefaults&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FeatureSetDefaults::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&FeatureSetDefaults_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&FeatureSetDefaults_globals_));
  return &FeatureSetDefaults_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void FeatureSetDefaults::Helpers_::Clear(MessageLite& base) {
  FeatureSetDefaults& this_ = static_cast<FeatureSetDefaults&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void FeatureSetDefaults::Clear() {
  FeatureSetDefaults& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.FeatureSetDefaults)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    this_._impl_.defaults_.Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&this_._impl_.minimum_edition_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.maximum_edition_) -
                 reinterpret_cast<char*>(&this_._impl_.minimum_edition_)) +
                 sizeof(_impl_.maximum_edition_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL FeatureSetDefaults::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const FeatureSetDefaults& this_ = static_cast<const FeatureSetDefaults&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL FeatureSetDefaults::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const FeatureSetDefaults& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FeatureSetDefaults)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_defaults_size());
         i < n; i++) {
      const auto& repfield = this_._internal_defaults().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // optional .google.protobuf.Edition minimum_edition = 4;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this_._internal_minimum_edition(), target);
  }

  // optional .google.protobuf.Edition maximum_edition = 5;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_maximum_edition(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FeatureSetDefaults)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FeatureSetDefaults::Helpers_::ByteSizeLong(const MessageLite& base) {
  const FeatureSetDefaults& this_ = static_cast<const FeatureSetDefaults&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FeatureSetDefaults::ByteSizeLong() const {
  const FeatureSetDefaults& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.FeatureSetDefaults)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated .google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault defaults = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_defaults_size();
      for (const auto& msg : this_._internal_defaults()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional .google.protobuf.Edition minimum_edition = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_minimum_edition());
    }
    // optional .google.protobuf.Edition maximum_edition = 5;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_maximum_edition());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void FeatureSetDefaults::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FeatureSetDefaults*>(&to_msg);
  auto& from = static_cast<const FeatureSetDefaults&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.FeatureSetDefaults)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_defaults()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_defaults());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.minimum_edition_ = from._impl_.minimum_edition_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.maximum_edition_ = from._impl_.maximum_edition_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void FeatureSetDefaults::CopyFrom(const FeatureSetDefaults& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.FeatureSetDefaults)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool FeatureSetDefaults::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const FeatureSetDefaults&>(msg);
  if (!::google::protobuf::internal::AllAreInitialized(this_._internal_defaults()))
    return false;
  return true;
}

void FeatureSetDefaults::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    FeatureSetDefaults* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  FeatureSetDefaults& this_ = static_cast<FeatureSetDefaults&>(self);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.defaults_.InternalSwap(&other->_impl_.defaults_);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.maximum_edition_) +
                 sizeof(FeatureSetDefaults::_impl_.maximum_edition_) -
                 PROTOBUF_FIELD_OFFSET(FeatureSetDefaults, _impl_.minimum_edition_)>(
      reinterpret_cast<char*>(&this_._impl_.minimum_edition_),
      reinterpret_cast<char*>(&other->_impl_.minimum_edition_));
}

::google::protobuf::Metadata FeatureSetDefaults::GetMetadata() const {
  return Super_::GetMetadataImpl(FeatureSetDefaults_globals_.class_data);
}
// ===================================================================

SourceCodeInfo_Location::SourceCodeInfo_Location(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &SourceCodeInfo_Location_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.SourceCodeInfo.Location)
}
PROTOBUF_NDEBUG_INLINE SourceCodeInfo_Location::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::SourceCodeInfo_Location& from_msg)
      : _has_bits_{from._has_bits_},
        path_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::SourceCodeInfo_Location,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.path_)>()
          , arena, from.path_
        }
        ,
        span_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::SourceCodeInfo_Location,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.span_)>()
          , arena, from.span_
        }
        ,
        leading_detached_comments_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::SourceCodeInfo_Location,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.leading_detached_comments_)>()
          , arena, from.leading_detached_comments_
        }
        ,
        leading_comments_(arena, from.leading_comments_),
        trailing_comments_(arena, from.trailing_comments_) {}

SourceCodeInfo_Location::SourceCodeInfo_Location(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SourceCodeInfo_Location& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &SourceCodeInfo_Location_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SourceCodeInfo_Location* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo.Location)
}
PROTOBUF_NDEBUG_INLINE SourceCodeInfo_Location::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : path_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::SourceCodeInfo_Location,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.path_)>()
         }
        ,
        span_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::SourceCodeInfo_Location,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.span_)>()
         }
        ,
        leading_detached_comments_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::SourceCodeInfo_Location,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo_Location, _impl_.leading_detached_comments_)>()
         }
        ,
        leading_comments_(arena),
        trailing_comments_(arena) {}

inline void SourceCodeInfo_Location::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  SourceCodeInfo_Location& this_ = static_cast<SourceCodeInfo_Location&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
}
SourceCodeInfo_Location::~SourceCodeInfo_Location() {
  // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo.Location)
  Helpers_::SharedDtor(*this);
}
inline void SourceCodeInfo_Location::Helpers_::SharedDtor(MessageLite& self) {
  SourceCodeInfo_Location& this_ = static_cast<SourceCodeInfo_Location&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.leading_comments_.Destroy();
  this_._impl_.trailing_comments_.Destroy();
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SourceCodeInfo_Location::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&SourceCodeInfo_Location_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&SourceCodeInfo_Location_globals_));
  return &SourceCodeInfo_Location_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void SourceCodeInfo_Location::Helpers_::Clear(MessageLite& base) {
  SourceCodeInfo_Location& this_ = static_cast<SourceCodeInfo_Location&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void SourceCodeInfo_Location::Clear() {
  SourceCodeInfo_Location& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.SourceCodeInfo.Location)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.path_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.span_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      this_._impl_.leading_detached_comments_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      this_._impl_.leading_comments_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      this_._impl_.trailing_comments_.ClearNonDefaultToEmpty();
    }
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SourceCodeInfo_Location::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SourceCodeInfo_Location& this_ = static_cast<const SourceCodeInfo_Location&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SourceCodeInfo_Location::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SourceCodeInfo_Location& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo.Location)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated int32 path = 1 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._path_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            1, this_._internal_path(), byte_size, target);
      }
    }
  }

  // repeated int32 span = 2 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    {
      int byte_size = this_._impl_._span_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            2, this_._internal_span(), byte_size, target);
      }
    }
  }

  // optional string leading_comments = 3;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_leading_comments();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // optional string trailing_comments = 4;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_trailing_comments();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // repeated string leading_detached_comments = 6;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    for (int i = 0, n = this_._internal_leading_detached_comments_size(); i < n; ++i) {
      const auto& s = this_._internal_leading_detached_comments().Get(i);
      target = stream->WriteString(6, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo.Location)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SourceCodeInfo_Location::Helpers_::ByteSizeLong(const MessageLite& base) {
  const SourceCodeInfo_Location& this_ = static_cast<const SourceCodeInfo_Location&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SourceCodeInfo_Location::ByteSizeLong() const {
  const SourceCodeInfo_Location& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.SourceCodeInfo.Location)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated int32 path = 1 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_path(), 1,
              this_._impl_._path_cached_byte_size_);
    }
    // repeated int32 span = 2 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_span(), 1,
              this_._impl_._span_cached_byte_size_);
    }
    // repeated string leading_detached_comments = 6;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_leading_detached_comments().size());
      for (int i = 0, n = this_._internal_leading_detached_comments().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_leading_detached_comments().Get(i));
      }
    }
    // optional string leading_comments = 3;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_leading_comments());
    }
    // optional string trailing_comments = 4;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_trailing_comments());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void SourceCodeInfo_Location::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SourceCodeInfo_Location*>(&to_msg);
  auto& from = static_cast<const SourceCodeInfo_Location&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SourceCodeInfo.Location)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_path()->MergeFrom(from._internal_path());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_span()->MergeFrom(from._internal_span());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_leading_detached_comments()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_leading_detached_comments());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_leading_comments(from._internal_leading_comments());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_trailing_comments(from._internal_trailing_comments());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void SourceCodeInfo_Location::CopyFrom(const SourceCodeInfo_Location& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SourceCodeInfo.Location)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void SourceCodeInfo_Location::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    SourceCodeInfo_Location* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  SourceCodeInfo_Location& this_ = static_cast<SourceCodeInfo_Location&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.path_.InternalSwap(&other->_impl_.path_);
  this_._impl_.span_.InternalSwap(&other->_impl_.span_);
  this_._impl_.leading_detached_comments_.InternalSwap(&other->_impl_.leading_detached_comments_);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.leading_comments_, &other->_impl_.leading_comments_,
                                       arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.trailing_comments_, &other->_impl_.trailing_comments_,
                                       arena);
}

::google::protobuf::Metadata SourceCodeInfo_Location::GetMetadata() const {
  return Super_::GetMetadataImpl(SourceCodeInfo_Location_globals_.class_data);
}
// ===================================================================

SourceCodeInfo::SourceCodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &SourceCodeInfo_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.SourceCodeInfo)
}
PROTOBUF_NDEBUG_INLINE SourceCodeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::SourceCodeInfo& from_msg)
      : _extensions_ {}
        ,
        _has_bits_{from._has_bits_},
        location_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::SourceCodeInfo,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _impl_.location_)>()
          , arena, from.location_
        }
     {}

SourceCodeInfo::SourceCodeInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SourceCodeInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &SourceCodeInfo_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SourceCodeInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_._extensions_.MergeFrom(arena, this, from._impl_._extensions_,
                                from.GetArena());

  // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo)
}
PROTOBUF_NDEBUG_INLINE SourceCodeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _extensions_ {}
        ,
        location_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::SourceCodeInfo,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::SourceCodeInfo, _impl_.location_)>()
         }
     {}

inline void SourceCodeInfo::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  SourceCodeInfo& this_ = static_cast<SourceCodeInfo&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
}
SourceCodeInfo::~SourceCodeInfo() {
  // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo)
  Helpers_::SharedDtor(*this);
}
inline void SourceCodeInfo::Helpers_::SharedDtor(MessageLite& self) {
  SourceCodeInfo& this_ = static_cast<SourceCodeInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SourceCodeInfo::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&SourceCodeInfo_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&SourceCodeInfo_globals_));
  return &SourceCodeInfo_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void SourceCodeInfo::Helpers_::Clear(MessageLite& base) {
  SourceCodeInfo& this_ = static_cast<SourceCodeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void SourceCodeInfo::Clear() {
  SourceCodeInfo& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.SourceCodeInfo)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  this_._impl_._extensions_.Clear();
  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    this_._impl_.location_.Clear();
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL SourceCodeInfo::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const SourceCodeInfo& this_ = static_cast<const SourceCodeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL SourceCodeInfo::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const SourceCodeInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_location_size());
         i < n; i++) {
      const auto& repfield = this_._internal_location().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  // All extensions.
  target = this_._impl_._extensions_._InternalSerializeAll(&default_instance(),
                                                    target, stream);
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SourceCodeInfo::Helpers_::ByteSizeLong(const MessageLite& base) {
  const SourceCodeInfo& this_ = static_cast<const SourceCodeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SourceCodeInfo::ByteSizeLong() const {
  const SourceCodeInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.SourceCodeInfo)
  ::size_t total_size = 0;
  total_size += this_._impl_._extensions_.ByteSize();

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_location_size();
      for (const auto& msg : this_._internal_location()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void SourceCodeInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SourceCodeInfo*>(&to_msg);
  auto& from = static_cast<const SourceCodeInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.SourceCodeInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_mutable_location()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_location());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_impl_._extensions_.MergeFrom(arena, &default_instance(),
                                from._impl_._extensions_, from.GetArena());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void SourceCodeInfo::CopyFrom(const SourceCodeInfo& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.SourceCodeInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool SourceCodeInfo::IsInitializedImpl(
    const MessageLite& msg) {
  auto& this_ = static_cast<const SourceCodeInfo&>(msg);
  if (!this_._impl_._extensions_.IsInitialized(this_.GetArena(),
                                        &default_instance())) {
    return false;
  }
  return true;
}

void SourceCodeInfo::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    SourceCodeInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  SourceCodeInfo& this_ = static_cast<SourceCodeInfo&>(self);
  this_._impl_._extensions_.InternalSwap(&other->_impl_._extensions_);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.location_.InternalSwap(&other->_impl_.location_);
}

::google::protobuf::Metadata SourceCodeInfo::GetMetadata() const {
  return Super_::GetMetadataImpl(SourceCodeInfo_globals_.class_data);
}
// ===================================================================

GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &GeneratedCodeInfo_Annotation_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.GeneratedCodeInfo.Annotation)
}
PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo_Annotation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::GeneratedCodeInfo_Annotation& from_msg)
      : _has_bits_{from._has_bits_},
        path_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::GeneratedCodeInfo_Annotation,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.path_)>()
          , arena, from.path_
        }
        ,
        source_file_(arena, from.source_file_) {}

GeneratedCodeInfo_Annotation::GeneratedCodeInfo_Annotation(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const GeneratedCodeInfo_Annotation& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &GeneratedCodeInfo_Annotation_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GeneratedCodeInfo_Annotation* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, begin_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, begin_),
           offsetof(Impl_, semantic_) -
               offsetof(Impl_, begin_) +
               sizeof(Impl_::semantic_));

  // @@protoc_insertion_point(copy_constructor:google.protobuf.GeneratedCodeInfo.Annotation)
}
PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo_Annotation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : path_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::GeneratedCodeInfo_Annotation,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo_Annotation, _impl_.path_)>()
         }
        ,
        source_file_(arena) {}

inline void GeneratedCodeInfo_Annotation::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  GeneratedCodeInfo_Annotation& this_ = static_cast<GeneratedCodeInfo_Annotation&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&this_._impl_) +
               offsetof(Impl_, begin_),
           0,
           offsetof(Impl_, semantic_) -
               offsetof(Impl_, begin_) +
               sizeof(Impl_::semantic_));
}
GeneratedCodeInfo_Annotation::~GeneratedCodeInfo_Annotation() {
  // @@protoc_insertion_point(destructor:google.protobuf.GeneratedCodeInfo.Annotation)
  Helpers_::SharedDtor(*this);
}
inline void GeneratedCodeInfo_Annotation::Helpers_::SharedDtor(MessageLite& self) {
  GeneratedCodeInfo_Annotation& this_ = static_cast<GeneratedCodeInfo_Annotation&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.source_file_.Destroy();
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GeneratedCodeInfo_Annotation::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&GeneratedCodeInfo_Annotation_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&GeneratedCodeInfo_Annotation_globals_));
  return &GeneratedCodeInfo_Annotation_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void GeneratedCodeInfo_Annotation::Helpers_::Clear(MessageLite& base) {
  GeneratedCodeInfo_Annotation& this_ = static_cast<GeneratedCodeInfo_Annotation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void GeneratedCodeInfo_Annotation::Clear() {
  GeneratedCodeInfo_Annotation& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.GeneratedCodeInfo.Annotation)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      this_._impl_.path_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      this_._impl_.source_file_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001cU)) {
    ::memset(&this_._impl_.begin_, 0,
             static_cast<::size_t>(
                 reinterpret_cast<char*>(&this_._impl_.semantic_) -
                 reinterpret_cast<char*>(&this_._impl_.begin_)) +
                 sizeof(_impl_.semantic_));
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL GeneratedCodeInfo_Annotation::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const GeneratedCodeInfo_Annotation& this_ = static_cast<const GeneratedCodeInfo_Annotation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL GeneratedCodeInfo_Annotation::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const GeneratedCodeInfo_Annotation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.GeneratedCodeInfo.Annotation)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated int32 path = 1 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._path_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            1, this_._internal_path(), byte_size, target);
      }
    }
  }

  // optional string source_file = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_source_file();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional int32 begin = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_begin(), target);
  }

  // optional int32 end = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_end(), target);
  }

  // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_semantic(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.GeneratedCodeInfo.Annotation)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GeneratedCodeInfo_Annotation::Helpers_::ByteSizeLong(const MessageLite& base) {
  const GeneratedCodeInfo_Annotation& this_ = static_cast<const GeneratedCodeInfo_Annotation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GeneratedCodeInfo_Annotation::ByteSizeLong() const {
  const GeneratedCodeInfo_Annotation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.GeneratedCodeInfo.Annotation)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated int32 path = 1 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_path(), 1,
              this_._impl_._path_cached_byte_size_);
    }
    // optional string source_file = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_source_file());
    }
    // optional int32 begin = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_begin());
    }
    // optional int32 end = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_end());
    }
    // optional .google.protobuf.GeneratedCodeInfo.Annotation.Semantic semantic = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_semantic());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void GeneratedCodeInfo_Annotation::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GeneratedCodeInfo_Annotation*>(&to_msg);
  auto& from = static_cast<const GeneratedCodeInfo_Annotation&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.GeneratedCodeInfo.Annotation)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_path()->MergeFrom(from._internal_path());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_source_file(from._internal_source_file());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.begin_ = from._impl_.begin_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.end_ = from._impl_.end_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.semantic_ = from._impl_.semantic_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void GeneratedCodeInfo_Annotation::CopyFrom(const GeneratedCodeInfo_Annotation& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.GeneratedCodeInfo.Annotation)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void GeneratedCodeInfo_Annotation::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    GeneratedCodeInfo_Annotation* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  GeneratedCodeInfo_Annotation& this_ = static_cast<GeneratedCodeInfo_Annotation&>(self);
  auto* arena = this_.GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.path_.InternalSwap(&other->_impl_.path_);
  ::_pbi::ArenaStringPtr::InternalSwap(&this_._impl_.source_file_, &other->_impl_.source_file_,
                                       arena);
  ::google::protobuf::internal::memswap<PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.semantic_) +
                 sizeof(GeneratedCodeInfo_Annotation::_impl_.semantic_) -
                 PROTOBUF_FIELD_OFFSET(GeneratedCodeInfo_Annotation, _impl_.begin_)>(
      reinterpret_cast<char*>(&this_._impl_.begin_),
      reinterpret_cast<char*>(&other->_impl_.begin_));
}

::google::protobuf::Metadata GeneratedCodeInfo_Annotation::GetMetadata() const {
  return Super_::GetMetadataImpl(GeneratedCodeInfo_Annotation_globals_.class_data);
}
// ===================================================================

GeneratedCodeInfo::GeneratedCodeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &GeneratedCodeInfo_globals_.class_data) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Helpers_::SharedCtor(*this, arena);
  // @@protoc_insertion_point(arena_constructor:google.protobuf.GeneratedCodeInfo)
}
PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::google::protobuf::GeneratedCodeInfo& from_msg)
      : _has_bits_{from._has_bits_},
        annotation_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::google::protobuf::GeneratedCodeInfo,
              PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo, _impl_.annotation_)>()
          , arena, from.annotation_
        }
     {}

GeneratedCodeInfo::GeneratedCodeInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const GeneratedCodeInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : Super_(arena, &GeneratedCodeInfo_globals_.class_data) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : Super_(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GeneratedCodeInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:google.protobuf.GeneratedCodeInfo)
}
PROTOBUF_NDEBUG_INLINE GeneratedCodeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : annotation_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::google::protobuf::GeneratedCodeInfo,
            PROTOBUF_FIELD_OFFSET(::google::protobuf::GeneratedCodeInfo, _impl_.annotation_)>()
         }
     {}

inline void GeneratedCodeInfo::Helpers_::SharedCtor(
    ::_pb::MessageLite& self, ::_pb::Arena* PROTOBUF_NULLABLE arena) {
  GeneratedCodeInfo& this_ = static_cast<GeneratedCodeInfo&>(self);
  new (&this_._impl_) Impl_(this_.internal_visibility(), arena);
}
GeneratedCodeInfo::~GeneratedCodeInfo() {
  // @@protoc_insertion_point(destructor:google.protobuf.GeneratedCodeInfo)
  Helpers_::SharedDtor(*this);
}
inline void GeneratedCodeInfo::Helpers_::SharedDtor(MessageLite& self) {
  GeneratedCodeInfo& this_ = static_cast<GeneratedCodeInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GeneratedCodeInfo::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&GeneratedCodeInfo_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&GeneratedCodeInfo_globals_));
  return &GeneratedCodeInfo_globals_.class_data;
}
#if defined(PROTOBUF_CUSTOM_VTABLE)
PROTOBUF_NOINLINE void GeneratedCodeInfo::Helpers_::Clear(MessageLite& base) {
  GeneratedCodeInfo& this_ = static_cast<GeneratedCodeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
PROTOBUF_NOINLINE void GeneratedCodeInfo::Clear() {
  GeneratedCodeInfo& this_ [[maybe_unused]] = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE

  // @@protoc_insertion_point(message_clear_start:google.protobuf.GeneratedCodeInfo)
  ::google::protobuf::internal::TSanWrite(&this_._impl_);
  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  cached_has_bits = this_._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    this_._impl_.annotation_.Clear();
  }
  this_._impl_._has_bits_.Clear();
  this_._internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL GeneratedCodeInfo::Helpers_::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const GeneratedCodeInfo& this_ = static_cast<const GeneratedCodeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL GeneratedCodeInfo::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const GeneratedCodeInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.GeneratedCodeInfo)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_annotation_size());
         i < n; i++) {
      const auto& repfield = this_._internal_annotation().Get(i);
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, repfield, repfield.GetCachedSize(), target,
          stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.GeneratedCodeInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GeneratedCodeInfo::Helpers_::ByteSizeLong(const MessageLite& base) {
  const GeneratedCodeInfo& this_ = static_cast<const GeneratedCodeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GeneratedCodeInfo::ByteSizeLong() const {
  const GeneratedCodeInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:google.protobuf.GeneratedCodeInfo)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits [[maybe_unused]] = 0;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
   {
    // repeated .google.protobuf.GeneratedCodeInfo.Annotation annotation = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_annotation_size();
      for (const auto& msg : this_._internal_annotation()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void GeneratedCodeInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GeneratedCodeInfo*>(&to_msg);
  auto& from = static_cast<const GeneratedCodeInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:google.protobuf.GeneratedCodeInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _this->_internal_mutable_annotation()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_annotation());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

void GeneratedCodeInfo::CopyFrom(const GeneratedCodeInfo& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:google.protobuf.GeneratedCodeInfo)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void GeneratedCodeInfo::Helpers_::InternalSwap(
    ::_pb::MessageLite& PROTOBUF_RESTRICT self,
    GeneratedCodeInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  GeneratedCodeInfo& this_ = static_cast<GeneratedCodeInfo&>(self);
  this_._internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(this_._impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  this_._impl_.annotation_.InternalSwap(&other->_impl_.annotation_);
}

::google::protobuf::Metadata GeneratedCodeInfo::GetMetadata() const {
  return Super_::GetMetadataImpl(GeneratedCodeInfo_globals_.class_data);
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace protobuf
}  // namespace google
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
