// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: bloaty.proto
// Protobuf C++ Version: 7.35.1

#include "bloaty.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;
#ifdef PROTOBUF_MESSAGE_GLOBALS
namespace {
PROTOBUF_CONSTINIT ::google::protobuf::internal::ReflectionData
    file_reflection_data[] = {
        // ::bloaty::Options
        {&::_pbi::kDescriptorMethods, &::descriptor_table_bloaty_2eproto, /* tracker*/ nullptr,},
        // ::bloaty::CustomDataSource
        {&::_pbi::kDescriptorMethods, &::descriptor_table_bloaty_2eproto, /* tracker*/ nullptr,},
        // ::bloaty::Regex
        {&::_pbi::kDescriptorMethods, &::descriptor_table_bloaty_2eproto, /* tracker*/ nullptr,},
};
}  // namespace
#endif
namespace bloaty {
class Regex::_Internal {
 public:
  using HasBits = decltype(::std::declval<Regex>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(Regex, _impl_._has_bits_);
};

constexpr Regex::ParseTableT_ Regex::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Regex, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::bloaty::Regex>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string replacement = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(Regex, _impl_.replacement_)}},
      // optional string pattern = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Regex, _impl_.pattern_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string pattern = 1;
      {PROTOBUF_FIELD_OFFSET(Regex, _impl_.pattern_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string replacement = 2;
      {PROTOBUF_FIELD_OFFSET(Regex, _impl_.replacement_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Regex::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        pattern_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        replacement_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr Regex::Regex(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Regex::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Regex(arena);
}
constexpr auto Regex::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Regex), alignof(Regex));
}
constexpr auto Regex::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Regex::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<Regex>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Regex::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<Regex>(), &Regex::ByteSizeLong,
              &Regex::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Regex, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[2],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_bloaty_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct RegexGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr RegexGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Regex_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Regex::InternalGenerateClassData_(
            _default, &Regex_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Regex>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~RegexGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Regex _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Regex>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(RegexGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST RegexGlobalsTypeInternal Regex_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* Regex_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return Regex_globals_.GetClassData();
#else
  return Regex_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class CustomDataSource::_Internal {
 public:
  using HasBits = decltype(::std::declval<CustomDataSource>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(CustomDataSource, _impl_._has_bits_);
};

constexpr CustomDataSource::ParseTableT_ CustomDataSource::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CustomDataSource, _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::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::bloaty::CustomDataSource>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(CustomDataSource, _impl_.name_)}},
      // optional string base_data_source = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(CustomDataSource, _impl_.base_data_source_)}},
      // repeated .bloaty.Regex rewrite = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(CustomDataSource, _impl_.rewrite_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(CustomDataSource, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string base_data_source = 2;
      {PROTOBUF_FIELD_OFFSET(CustomDataSource, _impl_.base_data_source_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .bloaty.Regex rewrite = 3;
      {PROTOBUF_FIELD_OFFSET(CustomDataSource, _impl_.rewrite_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::bloaty::Regex>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::bloaty::Regex_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr CustomDataSource::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        rewrite_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::CustomDataSource,
            PROTOBUF_FIELD_OFFSET(::bloaty::CustomDataSource, _impl_.rewrite_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        base_data_source_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr CustomDataSource::CustomDataSource(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL CustomDataSource::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CustomDataSource(arena);
}
constexpr auto CustomDataSource::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(CustomDataSource), alignof(CustomDataSource));
}
constexpr auto CustomDataSource::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &CustomDataSource::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<CustomDataSource>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CustomDataSource::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<CustomDataSource>(), &CustomDataSource::ByteSizeLong,
              &CustomDataSource::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CustomDataSource, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[1],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_bloaty_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct CustomDataSourceGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CustomDataSourceGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CustomDataSource_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CustomDataSource::InternalGenerateClassData_(
            _default, &CustomDataSource_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CustomDataSource>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CustomDataSourceGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CustomDataSource _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CustomDataSource>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CustomDataSourceGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST CustomDataSourceGlobalsTypeInternal CustomDataSource_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* CustomDataSource_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return CustomDataSource_globals_.GetClassData();
#else
  return CustomDataSource_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class Options::_Internal {
 public:
  using HasBits = decltype(::std::declval<Options>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(Options, _impl_._has_bits_);
};

constexpr Options::ParseTableT_ Options::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Options, _impl_._has_bits_),
      0, // no _extensions_
      14, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294950912,  // skipmap
      offsetof(ParseTableT_, field_entries),
      14,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallback,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::bloaty::Options>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // repeated string filename = 1;
      {::_pbi::TcParser::FastBR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.filename_)}},
      // repeated string base_filename = 2;
      {::_pbi::TcParser::FastBR1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.base_filename_)}},
      // repeated string data_source = 3;
      {::_pbi::TcParser::FastBR1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.data_source_)}},
      // optional int64 max_rows_per_level = 4 [default = 20];
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Options, _impl_.max_rows_per_level_), 13>(),
       {32, 13, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.max_rows_per_level_)}},
      // optional .bloaty.Options.Demangle demangle = 5 [default = DEMANGLE_SHORT];
      {::_pbi::TcParser::FastEr0S1,
       {40, 7, 2,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.demangle_)}},
      // optional .bloaty.Options.SortBy sort_by = 6 [default = SORTBY_BOTH];
      {::_pbi::TcParser::FastEr0S1,
       {48, 8, 2,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.sort_by_)}},
      // optional int32 verbose_level = 7;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Options, _impl_.verbose_level_), 9>(),
       {56, 9, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.verbose_level_)}},
      // repeated .bloaty.CustomDataSource custom_data_source = 8;
      {::_pbi::TcParser::FastMtR1,
       {66, 3, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.custom_data_source_)}},
      // optional string disassemble_function = 9;
      {::_pbi::TcParser::FastBS1,
       {74, 5, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.disassemble_function_)}},
      // repeated string debug_filename = 10;
      {::_pbi::TcParser::FastBR1,
       {82, 4, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.debug_filename_)}},
      // optional uint64 debug_vmaddr = 11;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Options, _impl_.debug_vmaddr_), 11>(),
       {88, 11, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.debug_vmaddr_)}},
      // optional uint64 debug_fileoff = 12;
      {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(Options, _impl_.debug_fileoff_), 12>(),
       {96, 12, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.debug_fileoff_)}},
      // optional string source_filter = 13;
      {::_pbi::TcParser::FastBS1,
       {106, 6, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.source_filter_)}},
      // optional bool dump_raw_map = 14;
      {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Options, _impl_.dump_raw_map_), 10>(),
       {112, 10, 0,
        PROTOBUF_FIELD_OFFSET(Options, _impl_.dump_raw_map_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated string filename = 1;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.filename_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string base_filename = 2;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.base_filename_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated string data_source = 3;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.data_source_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional int64 max_rows_per_level = 4 [default = 20];
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.max_rows_per_level_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional .bloaty.Options.Demangle demangle = 5 [default = DEMANGLE_SHORT];
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.demangle_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional .bloaty.Options.SortBy sort_by = 6 [default = SORTBY_BOTH];
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.sort_by_), _Internal::kHasBitsOffset + 8, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // optional int32 verbose_level = 7;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.verbose_level_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .bloaty.CustomDataSource custom_data_source = 8;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.custom_data_source_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string disassemble_function = 9;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.disassemble_function_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string debug_filename = 10;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.debug_filename_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional uint64 debug_vmaddr = 11;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.debug_vmaddr_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // optional uint64 debug_fileoff = 12;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.debug_fileoff_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // optional string source_filter = 13;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.source_filter_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional bool dump_raw_map = 14;
      {PROTOBUF_FIELD_OFFSET(Options, _impl_.dump_raw_map_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::bloaty::CustomDataSource>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::bloaty::CustomDataSource_globals_},
        #endif
        {0, 2},
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr Options::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        filename_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.filename_)>()
         }
        ,
        base_filename_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.base_filename_)>()
         }
        ,
        data_source_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.data_source_)>()
         }
        ,
        custom_data_source_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.custom_data_source_)>()
         }
        ,
        debug_filename_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.debug_filename_)>()
         }
        ,
        disassemble_function_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        source_filter_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        demangle_{static_cast< ::bloaty::Options_Demangle >(0)},
        sort_by_{static_cast< ::bloaty::Options_SortBy >(0)},
        verbose_level_{0},
        dump_raw_map_{false},
        debug_vmaddr_{::uint64_t{0u}},
        debug_fileoff_{::uint64_t{0u}},
        max_rows_per_level_{::int64_t{20}} {}

template <typename>
constexpr Options::Options(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::Message(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Options::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Options(arena);
}
constexpr auto Options::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Options), alignof(Options));
}
constexpr auto Options::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataFull{
      ::google::protobuf::internal::ClassData{
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Options::MergeImpl,
          ::google::protobuf::Message::GetNewImpl<Options>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Options::SharedDtor,
          ::google::protobuf::Message::GetClearImpl<Options>(), &Options::ByteSizeLong,
              &Options::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Options, _impl_._cached_size_),
          false,
      },
#ifdef PROTOBUF_MESSAGE_GLOBALS
      &file_reflection_data[0],
#else   // !PROTOBUF_MESSAGE_GLOBALS
      &::_pbi::kDescriptorMethods,
      &descriptor_table_bloaty_2eproto,
      nullptr,  // tracker
#endif  // PROTOBUF_MESSAGE_GLOBALS
  };
}
struct OptionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr OptionsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Options_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Options::InternalGenerateClassData_(
            _default, &Options_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Options>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~OptionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Options _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Options>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(OptionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST OptionsGlobalsTypeInternal Options_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* Options_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return Options_globals_.GetClassData();
#else
  return Options_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace bloaty
static const ::_pb::EnumDescriptor* PROTOBUF_NONNULL
    file_level_enum_descriptors_bloaty_2eproto[2];
static constexpr const ::_pb::ServiceDescriptor* PROTOBUF_NONNULL* PROTOBUF_NULLABLE
    file_level_service_descriptors_bloaty_2eproto = nullptr;
const ::uint32_t
    TableStruct_bloaty_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
        protodesc_cold) = {
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_._has_bits_),
        17, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.filename_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.base_filename_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.debug_filename_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.data_source_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.max_rows_per_level_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.demangle_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.sort_by_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.verbose_level_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.debug_vmaddr_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.debug_fileoff_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.custom_data_source_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.disassemble_function_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.source_filter_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.dump_raw_map_),
        0,
        1,
        4,
        2,
        13,
        7,
        8,
        9,
        11,
        12,
        3,
        5,
        6,
        10,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::bloaty::CustomDataSource, _impl_._has_bits_),
        6, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::bloaty::CustomDataSource, _impl_.name_),
        PROTOBUF_FIELD_OFFSET(::bloaty::CustomDataSource, _impl_.base_data_source_),
        PROTOBUF_FIELD_OFFSET(::bloaty::CustomDataSource, _impl_.rewrite_),
        1,
        2,
        0,
        0x081, // bitmap
        PROTOBUF_FIELD_OFFSET(::bloaty::Regex, _impl_._has_bits_),
        5, // hasbit index offset
        PROTOBUF_FIELD_OFFSET(::bloaty::Regex, _impl_.pattern_),
        PROTOBUF_FIELD_OFFSET(::bloaty::Regex, _impl_.replacement_),
        0,
        1,
};

static const ::_pbi::MigrationSchema
    schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
        {0, sizeof(::bloaty::Options)},
        {31, sizeof(::bloaty::CustomDataSource)},
        {40, sizeof(::bloaty::Regex)},
};
static const ::_pbi::MessageGlobalsBase* PROTOBUF_NONNULL const
    file_message_globals[] = {
        &::bloaty::Options_globals_,
        &::bloaty::CustomDataSource_globals_,
        &::bloaty::Regex_globals_,
};
const char descriptor_table_protodef_bloaty_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE(
    protodesc_cold) = {
    "\n\014bloaty.proto\022\006bloaty\"\277\004\n\007Options\022\020\n\010fi"
    "lename\030\001 \003(\t\022\025\n\rbase_filename\030\002 \003(\t\022\026\n\016d"
    "ebug_filename\030\n \003(\t\022\023\n\013data_source\030\003 \003(\t"
    "\022\036\n\022max_rows_per_level\030\004 \001(\003:\00220\022:\n\010dema"
    "ngle\030\005 \001(\0162\030.bloaty.Options.Demangle:\016DE"
    "MANGLE_SHORT\0224\n\007sort_by\030\006 \001(\0162\026.bloaty.O"
    "ptions.SortBy:\013SORTBY_BOTH\022\025\n\rverbose_le"
    "vel\030\007 \001(\005\022\024\n\014debug_vmaddr\030\013 \001(\004\022\025\n\rdebug"
    "_fileoff\030\014 \001(\004\0224\n\022custom_data_source\030\010 \003"
    "(\0132\030.bloaty.CustomDataSource\022\034\n\024disassem"
    "ble_function\030\t \001(\t\022\025\n\rsource_filter\030\r \001("
    "\t\022\024\n\014dump_raw_map\030\016 \001(\010\"D\n\010Demangle\022\022\n\016D"
    "EMANGLE_SHORT\020\000\022\021\n\rDEMANGLE_FULL\020\001\022\021\n\rDE"
    "MANGLE_NONE\020\002\"A\n\006SortBy\022\017\n\013SORTBY_BOTH\020\000"
    "\022\021\n\rSORTBY_VMSIZE\020\001\022\023\n\017SORTBY_FILESIZE\020\002"
    "\"Z\n\020CustomDataSource\022\014\n\004name\030\001 \001(\t\022\030\n\020ba"
    "se_data_source\030\002 \001(\t\022\036\n\007rewrite\030\003 \003(\0132\r."
    "bloaty.Regex\"-\n\005Regex\022\017\n\007pattern\030\001 \001(\t\022\023"
    "\n\013replacement\030\002 \001(\t"
};
static ::absl::once_flag descriptor_table_bloaty_2eproto_once;
PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_bloaty_2eproto = {
    false,
    false,
    739,
    descriptor_table_protodef_bloaty_2eproto,
    "bloaty.proto",
    &descriptor_table_bloaty_2eproto_once,
    nullptr,
    0,
    3,
    schemas,
    file_message_globals,
    TableStruct_bloaty_2eproto::offsets,
    file_level_enum_descriptors_bloaty_2eproto,
    file_level_service_descriptors_bloaty_2eproto,
};
namespace bloaty {
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
Options_Demangle_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_bloaty_2eproto);
  return file_level_enum_descriptors_bloaty_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t Options_Demangle_internal_data_[] = {
    196608u, 0u, };
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
Options_SortBy_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_bloaty_2eproto);
  return file_level_enum_descriptors_bloaty_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t Options_SortBy_internal_data_[] = {
    196608u, 0u, };
// ===================================================================

Options::Options(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Options_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:bloaty.Options)
}
PROTOBUF_NDEBUG_INLINE Options::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::bloaty::Options& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        filename_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::bloaty::Options,
              PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.filename_)>()
          , from.filename_
        }
        ,
        base_filename_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::bloaty::Options,
              PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.base_filename_)>()
          , from.base_filename_
        }
        ,
        data_source_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::bloaty::Options,
              PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.data_source_)>()
          , from.data_source_
        }
        ,
        custom_data_source_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::bloaty::Options,
              PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.custom_data_source_)>()
          , from.custom_data_source_
        }
        ,
        debug_filename_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::bloaty::Options,
              PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.debug_filename_)>()
          , from.debug_filename_
        }
        ,
        disassemble_function_(arena, from.disassemble_function_),
        source_filter_(arena, from.source_filter_) {}

Options::Options(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Options& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Options_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Options* 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_, demangle_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, demangle_),
           offsetof(Impl_, max_rows_per_level_) -
               offsetof(Impl_, demangle_) +
               sizeof(Impl_::max_rows_per_level_));

  // @@protoc_insertion_point(copy_constructor:bloaty.Options)
}
PROTOBUF_NDEBUG_INLINE Options::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        filename_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.filename_)>()
         }
        ,
        base_filename_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.base_filename_)>()
         }
        ,
        data_source_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.data_source_)>()
         }
        ,
        custom_data_source_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.custom_data_source_)>()
         }
        ,
        debug_filename_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::Options,
            PROTOBUF_FIELD_OFFSET(::bloaty::Options, _impl_.debug_filename_)>()
         }
        ,
        disassemble_function_(arena),
        source_filter_(arena),
        max_rows_per_level_{::int64_t{20}} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull Options_class_data_ =
        Options::InternalGenerateClassData_(Options_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Options::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Options_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(Options_class_data_.tc_table);
  return Options_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Options::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Options_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&Options_globals_));
  return Options_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Options::ParseTableT_
    Options::_table_ =
        Options::InternalGenerateParseTable_(Options_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Options::Clear() {
// @@protoc_insertion_point(message_clear_start:bloaty.Options)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.filename_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.base_filename_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.data_source_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.custom_data_source_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.debug_filename_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.disassemble_function_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.source_filter_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.demangle_ = 0;
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    ::memset(&_impl_.sort_by_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.debug_fileoff_) -
        reinterpret_cast<char*>(&_impl_.sort_by_)) + sizeof(_impl_.debug_fileoff_));
    _impl_.max_rows_per_level_ = ::int64_t{20};
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated string filename = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_filename_size(); i < n; ++i) {
      const auto& s = this_._internal_filename().Get(i);
      target = stream->WriteString(1, s, target);
    }
  }

  // repeated string base_filename = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_base_filename_size(); i < n; ++i) {
      const auto& s = this_._internal_base_filename().Get(i);
      target = stream->WriteString(2, s, target);
    }
  }

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

  // optional int64 max_rows_per_level = 4 [default = 20];
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
            stream, this_._internal_max_rows_per_level(), target);
  }

  // optional .bloaty.Options.Demangle demangle = 5 [default = DEMANGLE_SHORT];
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this_._internal_demangle(), target);
  }

  // optional .bloaty.Options.SortBy sort_by = 6 [default = SORTBY_BOTH];
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_sort_by(), target);
  }

  // optional int32 verbose_level = 7;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_verbose_level(), target);
  }

  // repeated .bloaty.CustomDataSource custom_data_source = 8;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_custom_data_source_size());
         i < n; i++) {
      const auto& repfield = this_._internal_custom_data_source().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              8, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

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

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

  // optional uint64 debug_vmaddr = 11;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        11, this_._internal_debug_vmaddr(), target);
  }

  // optional uint64 debug_fileoff = 12;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        12, this_._internal_debug_fileoff(), target);
  }

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

  // optional bool dump_raw_map = 14;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        14, this_._internal_dump_raw_map(), 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:bloaty.Options)
  return target;
}

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

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000400U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated string filename = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_filename().size());
      for (int i = 0, n = this_._internal_filename().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_filename().Get(i));
      }
    }
    // repeated string base_filename = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_base_filename().size());
      for (int i = 0, n = this_._internal_base_filename().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_base_filename().Get(i));
      }
    }
    // repeated string data_source = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_data_source().size());
      for (int i = 0, n = this_._internal_data_source().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_data_source().Get(i));
      }
    }
    // repeated .bloaty.CustomDataSource custom_data_source = 8;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1UL * this_._internal_custom_data_source_size();
      for (const auto& msg : this_._internal_custom_data_source()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated string debug_filename = 10;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_debug_filename().size());
      for (int i = 0, n = this_._internal_debug_filename().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_debug_filename().Get(i));
      }
    }
    // optional string disassemble_function = 9;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_disassemble_function());
    }
    // optional string source_filter = 13;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_source_filter());
    }
    // optional .bloaty.Options.Demangle demangle = 5 [default = DEMANGLE_SHORT];
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_demangle());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003b00U)) {
    // optional .bloaty.Options.SortBy sort_by = 6 [default = SORTBY_BOTH];
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_sort_by());
    }
    // optional int32 verbose_level = 7;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_verbose_level());
    }
    // optional uint64 debug_vmaddr = 11;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_debug_vmaddr());
    }
    // optional uint64 debug_fileoff = 12;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_debug_fileoff());
    }
    // optional int64 max_rows_per_level = 4 [default = 20];
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_max_rows_per_level());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void Options::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Options*>(&to_msg);
  auto& from = static_cast<const Options&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:bloaty.Options)
  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_filename()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_filename());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_base_filename()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_base_filename());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_data_source()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_data_source());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_custom_data_source()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_custom_data_source());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_mutable_debug_filename()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_debug_filename());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_disassemble_function(from._internal_disassemble_function());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_source_filter(from._internal_source_filter());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.demangle_ = from._impl_.demangle_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.sort_by_ = from._impl_.sort_by_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.verbose_level_ = from._impl_.verbose_level_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.dump_raw_map_ = from._impl_.dump_raw_map_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.debug_vmaddr_ = from._impl_.debug_vmaddr_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.debug_fileoff_ = from._impl_.debug_fileoff_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.max_rows_per_level_ = from._impl_.max_rows_per_level_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void Options::InternalSwap(Options* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.filename_.InternalSwap(&other->_impl_.filename_);
  _impl_.base_filename_.InternalSwap(&other->_impl_.base_filename_);
  _impl_.data_source_.InternalSwap(&other->_impl_.data_source_);
  _impl_.custom_data_source_.InternalSwap(&other->_impl_.custom_data_source_);
  _impl_.debug_filename_.InternalSwap(&other->_impl_.debug_filename_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.disassemble_function_, &other->_impl_.disassemble_function_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.source_filter_, &other->_impl_.source_filter_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Options, _impl_.max_rows_per_level_)
      + sizeof(Options::_impl_.max_rows_per_level_)
      - PROTOBUF_FIELD_OFFSET(Options, _impl_.demangle_)>(
          reinterpret_cast<char*>(&_impl_.demangle_),
          reinterpret_cast<char*>(&other->_impl_.demangle_));
}

::google::protobuf::Metadata Options::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

CustomDataSource::CustomDataSource(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CustomDataSource_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:bloaty.CustomDataSource)
}
PROTOBUF_NDEBUG_INLINE CustomDataSource::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::bloaty::CustomDataSource& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        rewrite_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::bloaty::CustomDataSource,
              PROTOBUF_FIELD_OFFSET(::bloaty::CustomDataSource, _impl_.rewrite_)>()
          , from.rewrite_
        }
        ,
        name_(arena, from.name_),
        base_data_source_(arena, from.base_data_source_) {}

CustomDataSource::CustomDataSource(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const CustomDataSource& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, CustomDataSource_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  CustomDataSource* 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:bloaty.CustomDataSource)
}
PROTOBUF_NDEBUG_INLINE CustomDataSource::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        rewrite_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::bloaty::CustomDataSource,
            PROTOBUF_FIELD_OFFSET(::bloaty::CustomDataSource, _impl_.rewrite_)>()
         }
        ,
        name_(arena),
        base_data_source_(arena) {}

inline void CustomDataSource::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CustomDataSource::~CustomDataSource() {
  // @@protoc_insertion_point(destructor:bloaty.CustomDataSource)
  SharedDtor(*this);
}
inline void CustomDataSource::SharedDtor(MessageLite& self) {
  CustomDataSource& this_ = static_cast<CustomDataSource&>(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_.base_data_source_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull CustomDataSource_class_data_ =
        CustomDataSource::InternalGenerateClassData_(CustomDataSource_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CustomDataSource::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CustomDataSource_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(CustomDataSource_class_data_.tc_table);
  return CustomDataSource_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CustomDataSource::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&CustomDataSource_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&CustomDataSource_globals_));
  return CustomDataSource_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const CustomDataSource::ParseTableT_
    CustomDataSource::_table_ =
        CustomDataSource::InternalGenerateParseTable_(CustomDataSource_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void CustomDataSource::Clear() {
// @@protoc_insertion_point(message_clear_start:bloaty.CustomDataSource)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.rewrite_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.base_data_source_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL CustomDataSource::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const CustomDataSource& this_ = static_cast<const CustomDataSource&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL CustomDataSource::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const CustomDataSource& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:bloaty.CustomDataSource)
  ::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);
  }

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

  // repeated .bloaty.Regex rewrite = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_rewrite_size());
         i < n; i++) {
      const auto& repfield = this_._internal_rewrite().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              3, 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:bloaty.CustomDataSource)
  return target;
}

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

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // repeated .bloaty.Regex rewrite = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_rewrite_size();
      for (const auto& msg : this_._internal_rewrite()) {
        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 string base_data_source = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_base_data_source());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void CustomDataSource::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CustomDataSource*>(&to_msg);
  auto& from = static_cast<const CustomDataSource&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:bloaty.CustomDataSource)
  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_rewrite()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_rewrite());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_base_data_source(from._internal_base_data_source());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void CustomDataSource::InternalSwap(CustomDataSource* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.rewrite_.InternalSwap(&other->_impl_.rewrite_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.base_data_source_, &other->_impl_.base_data_source_, arena);
}

::google::protobuf::Metadata CustomDataSource::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// ===================================================================

Regex::Regex(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Regex_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:bloaty.Regex)
}
PROTOBUF_NDEBUG_INLINE Regex::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::bloaty::Regex& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        pattern_(arena, from.pattern_),
        replacement_(arena, from.replacement_) {}

Regex::Regex(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Regex& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::Message(arena, Regex_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::Message(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Regex* 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:bloaty.Regex)
}
PROTOBUF_NDEBUG_INLINE Regex::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        pattern_(arena),
        replacement_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const
    ::google::protobuf::internal::ClassDataFull Regex_class_data_ =
        Regex::InternalGenerateClassData_(Regex_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Regex::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Regex_class_data_);
  ::google::protobuf::internal::PrefetchToLocalCache(Regex_class_data_.tc_table);
  return Regex_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Regex::GetClassData() const {
  ::google::protobuf::internal::PrefetchToLocalCache(&Regex_globals_);
  ::google::protobuf::internal::PrefetchToLocalCache(
      ::google::protobuf::internal::MessageGlobalsBase::ToParseTableBase(&Regex_globals_));
  return Regex_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Regex::ParseTableT_
    Regex::_table_ =
        Regex::InternalGenerateParseTable_(Regex_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Regex::Clear() {
// @@protoc_insertion_point(message_clear_start:bloaty.Regex)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.pattern_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.replacement_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

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

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

  // optional string replacement = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_replacement();
    target = stream->WriteStringMaybeAliased(2, _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:bloaty.Regex)
  return target;
}

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

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string pattern = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_pattern());
    }
    // optional string replacement = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_replacement());
    }
  }
  return this_.MaybeComputeUnknownFieldsSize(total_size,
                                             &this_._impl_._cached_size_);
}

void Regex::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Regex*>(&to_msg);
  auto& from = static_cast<const Regex&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:bloaty.Regex)
  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_pattern(from._internal_pattern());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_replacement(from._internal_replacement());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
}

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


void Regex::InternalSwap(Regex* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pattern_, &other->_impl_.pattern_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.replacement_, &other->_impl_.replacement_, arena);
}

::google::protobuf::Metadata Regex::GetMetadata() const {
  return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full());
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace bloaty
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type
    _static_init2_ [[maybe_unused]] =
        (::_pbi::AddDescriptors(&descriptor_table_bloaty_2eproto),
         ::std::false_type{});
#include "google/protobuf/port_undef.inc"
