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

#include "components/optimization_guide/proto/features/common_quality_data.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/io/zero_copy_stream_impl_lite.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 optimization_guide {
namespace proto {
class TimeZone::_Internal {
 public:
  using HasBits = decltype(::std::declval<TimeZone>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(TimeZone, _impl_._has_bits_);
};

constexpr TimeZone::ParseTableT_ TimeZone::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TimeZone, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TimeZone>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string version = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(TimeZone, _impl_.version_)}},
      // string id = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TimeZone, _impl_.id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TimeZone, _impl_.id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string version = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(TimeZone, _impl_.version_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\41\2\7\0\0\0\0\0"
      "optimization_guide.proto.TimeZone"
      "id"
      "version"
    }},
  };
}


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

template <typename>
constexpr TimeZone::TimeZone(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TimeZone::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TimeZone(arena);
}
constexpr auto TimeZone::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TimeZone), alignof(TimeZone));
}
constexpr auto TimeZone::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TimeZone::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TimeZone>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TimeZone::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TimeZone>(), &TimeZone::ByteSizeLong,
              &TimeZone::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TimeZone, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TimeZone",
  };
}
struct TimeZoneGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TimeZoneGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TimeZone_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TimeZone::InternalGenerateClassData_(
            _default, &TimeZone_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TimeZone>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TimeZoneGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TimeZone _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TimeZone>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TimeZoneGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TimeDuration::ParseTableT_ TimeDuration::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TimeDuration, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TimeDuration>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 nanos = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(TimeDuration, _impl_.nanos_)}},
      // int64 seconds = 1 [features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(TimeDuration, _impl_.seconds_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 seconds = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TimeDuration, _impl_.seconds_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int32 nanos = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(TimeDuration, _impl_.nanos_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr TimeDuration::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        seconds_{::int64_t{0}},
        nanos_{0} {}

template <typename>
constexpr TimeDuration::TimeDuration(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TimeDuration::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TimeDuration(arena);
}
constexpr auto TimeDuration::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TimeDuration), alignof(TimeDuration));
}
constexpr auto TimeDuration::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TimeDuration::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TimeDuration>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TimeDuration::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TimeDuration>(), &TimeDuration::ByteSizeLong,
              &TimeDuration::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TimeDuration, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TimeDuration",
  };
}
struct TimeDurationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TimeDurationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TimeDuration_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TimeDuration::InternalGenerateClassData_(
            _default, &TimeDuration_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TimeDuration>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TimeDurationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TimeDuration _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TimeDuration>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TimeDurationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TextStyle::ParseTableT_ TextStyle::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TextStyle, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TextStyle>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.TextSize text_size = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(TextStyle, _impl_.text_size_)}},
      // bool has_emphasis = 2 [features = {
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(TextStyle, _impl_.has_emphasis_)}},
      // uint32 color = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(TextStyle, _impl_.color_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.TextSize text_size = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TextStyle, _impl_.text_size_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // bool has_emphasis = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(TextStyle, _impl_.has_emphasis_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // uint32 color = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(TextStyle, _impl_.color_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr TextStyle::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        text_size_{static_cast< ::optimization_guide::proto::TextSize >(0)},
        has_emphasis_{false},
        color_{0u} {}

template <typename>
constexpr TextStyle::TextStyle(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TextStyle::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TextStyle(arena);
}
constexpr auto TextStyle::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TextStyle), alignof(TextStyle));
}
constexpr auto TextStyle::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TextStyle::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TextStyle>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TextStyle::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TextStyle>(), &TextStyle::ByteSizeLong,
              &TextStyle::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TextStyle, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TextStyle",
  };
}
struct TextStyleGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TextStyleGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TextStyle_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TextStyle::InternalGenerateClassData_(
            _default, &TextStyle_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TextStyle>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TextStyleGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TextStyle _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TextStyle>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TextStyleGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TableRowData::ParseTableT_ TableRowData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TableRowData, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TableRowData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.TableRowType type = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(TableRowData, _impl_.type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.TableRowType type = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TableRowData, _impl_.type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr TableRowData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        type_{static_cast< ::optimization_guide::proto::TableRowType >(0)} {}

template <typename>
constexpr TableRowData::TableRowData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TableRowData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TableRowData(arena);
}
constexpr auto TableRowData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(TableRowData), alignof(TableRowData));
}
constexpr auto TableRowData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TableRowData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TableRowData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TableRowData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TableRowData>(), &TableRowData::ByteSizeLong,
              &TableRowData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TableRowData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TableRowData",
  };
}
struct TableRowDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TableRowDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TableRowData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TableRowData::InternalGenerateClassData_(
            _default, &TableRowData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TableRowData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TableRowDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TableRowData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TableRowData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TableRowDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TableData::ParseTableT_ TableData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TableData, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TableData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string table_name = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TableData, _impl_.table_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string table_name = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TableData, _impl_.table_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\42\12\0\0\0\0\0\0"
      "optimization_guide.proto.TableData"
      "table_name"
    }},
  };
}


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

template <typename>
constexpr TableData::TableData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TableData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TableData(arena);
}
constexpr auto TableData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TableData), alignof(TableData));
}
constexpr auto TableData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TableData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TableData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TableData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TableData>(), &TableData::ByteSizeLong,
              &TableData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TableData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TableData",
  };
}
struct TableDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TableDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TableData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TableData::InternalGenerateClassData_(
            _default, &TableData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TableData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TableDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TableData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TableData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TableDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TabGroupMinimal::ParseTableT_ TabGroupMinimal::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TabGroupMinimal>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string emoji = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_.emoji_)}},
      // string label = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_.label_)}},
      // repeated int64 tab_ids = 2;
      {::_pbi::TcParser::FastV64P1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_.tab_ids_)}},
      // string group_id = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_.group_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string label = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_.label_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated int64 tab_ids = 2;
      {PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_.tab_ids_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
      // string group_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_.group_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string emoji = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_.emoji_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\50\5\0\10\5\0\0\0"
      "optimization_guide.proto.TabGroupMinimal"
      "label"
      "group_id"
      "emoji"
    }},
  };
}


inline constexpr TabGroupMinimal::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        tab_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::TabGroupMinimal,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TabGroupMinimal, _impl_.tab_ids_)>()
         }
        ,
        _tab_ids_cached_byte_size_{0},
        label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        group_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        emoji_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr TabGroupMinimal::TabGroupMinimal(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TabGroupMinimal::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TabGroupMinimal(arena);
}
constexpr auto TabGroupMinimal::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TabGroupMinimal), alignof(TabGroupMinimal));
}
constexpr auto TabGroupMinimal::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TabGroupMinimal::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TabGroupMinimal>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TabGroupMinimal::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TabGroupMinimal>(), &TabGroupMinimal::ByteSizeLong,
              &TabGroupMinimal::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TabGroupMinimal, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TabGroupMinimal",
  };
}
struct TabGroupMinimalGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TabGroupMinimalGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TabGroupMinimal_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TabGroupMinimal::InternalGenerateClassData_(
            _default, &TabGroupMinimal_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TabGroupMinimal>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TabGroupMinimalGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TabGroupMinimal _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TabGroupMinimal>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TabGroupMinimalGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SiteEngagementEntry::ParseTableT_ SiteEngagementEntry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SiteEngagementEntry, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::SiteEngagementEntry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // float score = 2 [features = {
      {::_pbi::TcParser::FastF32S1,
       {21, 1, 0,
        PROTOBUF_FIELD_OFFSET(SiteEngagementEntry, _impl_.score_)}},
      // string url = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SiteEngagementEntry, _impl_.url_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string url = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(SiteEngagementEntry, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // float score = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(SiteEngagementEntry, _impl_.score_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
    }},
    // no aux_entries
    {{
      "\54\3\0\0\0\0\0\0"
      "optimization_guide.proto.SiteEngagementEntry"
      "url"
    }},
  };
}


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

template <typename>
constexpr SiteEngagementEntry::SiteEngagementEntry(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SiteEngagementEntry::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SiteEngagementEntry(arena);
}
constexpr auto SiteEngagementEntry::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SiteEngagementEntry), alignof(SiteEngagementEntry));
}
constexpr auto SiteEngagementEntry::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SiteEngagementEntry::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SiteEngagementEntry>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SiteEngagementEntry::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SiteEngagementEntry>(), &SiteEngagementEntry::ByteSizeLong,
              &SiteEngagementEntry::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SiteEngagementEntry, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.SiteEngagementEntry",
  };
}
struct SiteEngagementEntryGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SiteEngagementEntryGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SiteEngagementEntry_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SiteEngagementEntry::InternalGenerateClassData_(
            _default, &SiteEngagementEntry_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SiteEngagementEntry>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SiteEngagementEntryGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SiteEngagementEntry _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SiteEngagementEntry>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SiteEngagementEntryGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Site::ParseTableT_ Site::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Site, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Site>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string domain = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(Site, _impl_.domain_)}},
      // .optimization_guide.proto.Protocol protocol = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(Site, _impl_.protocol_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.Protocol protocol = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Site, _impl_.protocol_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string domain = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Site, _impl_.domain_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\35\0\6\0\0\0\0\0"
      "optimization_guide.proto.Site"
      "domain"
    }},
  };
}


inline constexpr Site::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        domain_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        protocol_{static_cast< ::optimization_guide::proto::Protocol >(0)} {}

template <typename>
constexpr Site::Site(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Site::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Site(arena);
}
constexpr auto Site::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Site), alignof(Site));
}
constexpr auto Site::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Site::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Site>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Site::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Site>(), &Site::ByteSizeLong,
              &Site::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Site, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Site",
  };
}
struct SiteGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SiteGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Site_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Site::InternalGenerateClassData_(
            _default, &Site_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Site>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SiteGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Site _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Site>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SiteGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Selection::ParseTableT_ Selection::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Selection, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Selection>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 start_node_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(Selection, _impl_.start_node_id_)}},
      // int32 start_offset = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(Selection, _impl_.start_offset_)}},
      // int32 end_node_id = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(Selection, _impl_.end_node_id_)}},
      // int32 end_offset = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(Selection, _impl_.end_offset_)}},
      // string selected_text = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(Selection, _impl_.selected_text_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 start_node_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Selection, _impl_.start_node_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 start_offset = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Selection, _impl_.start_offset_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 end_node_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Selection, _impl_.end_node_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 end_offset = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(Selection, _impl_.end_offset_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // string selected_text = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(Selection, _impl_.selected_text_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\42\0\0\0\0\15\0\0"
      "optimization_guide.proto.Selection"
      "selected_text"
    }},
  };
}


inline constexpr Selection::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        selected_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        start_node_id_{0},
        start_offset_{0},
        end_node_id_{0},
        end_offset_{0} {}

template <typename>
constexpr Selection::Selection(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Selection::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Selection(arena);
}
constexpr auto Selection::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Selection), alignof(Selection));
}
constexpr auto Selection::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Selection::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Selection>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Selection::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Selection>(), &Selection::ByteSizeLong,
              &Selection::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Selection, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Selection",
  };
}
struct SelectionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SelectionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Selection_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Selection::InternalGenerateClassData_(
            _default, &Selection_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Selection>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SelectionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Selection _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Selection>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SelectionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SelectOption::ParseTableT_ SelectOption::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SelectOption, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::SelectOption>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool is_disabled = 4 [features = {
      {::_pbi::TcParser::FastV8S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.is_disabled_)}},
      // string value = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.value_)}},
      // string text = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.text_)}},
      // bool is_selected = 3 [features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.is_selected_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string value = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string text = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.text_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bool is_selected = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.is_selected_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_disabled = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.is_disabled_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
      "\45\5\4\0\0\0\0\0"
      "optimization_guide.proto.SelectOption"
      "value"
      "text"
    }},
  };
}


inline constexpr SelectOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        is_selected_{false},
        is_disabled_{false} {}

template <typename>
constexpr SelectOption::SelectOption(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SelectOption::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SelectOption(arena);
}
constexpr auto SelectOption::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SelectOption), alignof(SelectOption));
}
constexpr auto SelectOption::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SelectOption::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SelectOption>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SelectOption::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SelectOption>(), &SelectOption::ByteSizeLong,
              &SelectOption::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SelectOption, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.SelectOption",
  };
}
struct SelectOptionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SelectOptionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SelectOption_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SelectOption::InternalGenerateClassData_(
            _default, &SelectOption_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SelectOption>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SelectOptionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SelectOption _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SelectOption>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SelectOptionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SecurityOrigin::ParseTableT_ SecurityOrigin::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SecurityOrigin, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::SecurityOrigin>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string value = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(SecurityOrigin, _impl_.value_)}},
      // bool opaque = 1 [features = {
      {::_pbi::TcParser::FastV8S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(SecurityOrigin, _impl_.opaque_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool opaque = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(SecurityOrigin, _impl_.opaque_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // string value = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(SecurityOrigin, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\47\0\5\0\0\0\0\0"
      "optimization_guide.proto.SecurityOrigin"
      "value"
    }},
  };
}


inline constexpr SecurityOrigin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        opaque_{false} {}

template <typename>
constexpr SecurityOrigin::SecurityOrigin(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SecurityOrigin::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SecurityOrigin(arena);
}
constexpr auto SecurityOrigin::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SecurityOrigin), alignof(SecurityOrigin));
}
constexpr auto SecurityOrigin::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SecurityOrigin::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SecurityOrigin>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SecurityOrigin::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SecurityOrigin>(), &SecurityOrigin::ByteSizeLong,
              &SecurityOrigin::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SecurityOrigin, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.SecurityOrigin",
  };
}
struct SecurityOriginGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SecurityOriginGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SecurityOrigin_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SecurityOrigin::InternalGenerateClassData_(
            _default, &SecurityOrigin_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SecurityOrigin>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SecurityOriginGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SecurityOrigin _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SecurityOrigin>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SecurityOriginGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScriptToolAnnotations::ParseTableT_ ScriptToolAnnotations::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScriptToolAnnotations, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptToolAnnotations>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool read_only = 1 [features = {
      {::_pbi::TcParser::FastV8S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolAnnotations, _impl_.read_only_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool read_only = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolAnnotations, _impl_.read_only_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr ScriptToolAnnotations::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        read_only_{false} {}

template <typename>
constexpr ScriptToolAnnotations::ScriptToolAnnotations(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ScriptToolAnnotations::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScriptToolAnnotations(arena);
}
constexpr auto ScriptToolAnnotations::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ScriptToolAnnotations), alignof(ScriptToolAnnotations));
}
constexpr auto ScriptToolAnnotations::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ScriptToolAnnotations::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScriptToolAnnotations>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScriptToolAnnotations::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScriptToolAnnotations>(), &ScriptToolAnnotations::ByteSizeLong,
              &ScriptToolAnnotations::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScriptToolAnnotations, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScriptToolAnnotations",
  };
}
struct ScriptToolAnnotationsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScriptToolAnnotationsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScriptToolAnnotations_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScriptToolAnnotations::InternalGenerateClassData_(
            _default, &ScriptToolAnnotations_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScriptToolAnnotations>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScriptToolAnnotationsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScriptToolAnnotations _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScriptToolAnnotations>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScriptToolAnnotationsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SVGRootData::ParseTableT_ SVGRootData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SVGRootData, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::SVGRootData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string inner_text = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SVGRootData, _impl_.inner_text_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string inner_text = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(SVGRootData, _impl_.inner_text_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\44\12\0\0\0\0\0\0"
      "optimization_guide.proto.SVGRootData"
      "inner_text"
    }},
  };
}


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

template <typename>
constexpr SVGRootData::SVGRootData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SVGRootData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SVGRootData(arena);
}
constexpr auto SVGRootData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SVGRootData), alignof(SVGRootData));
}
constexpr auto SVGRootData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SVGRootData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SVGRootData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SVGRootData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SVGRootData>(), &SVGRootData::ByteSizeLong,
              &SVGRootData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SVGRootData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.SVGRootData",
  };
}
struct SVGRootDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SVGRootDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SVGRootData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SVGRootData::InternalGenerateClassData_(
            _default, &SVGRootData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SVGRootData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SVGRootDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SVGRootData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SVGRootData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SVGRootDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr RuleMetadata::ParseTableT_ RuleMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(RuleMetadata, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::RuleMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.RuleMetadata.ActuationCapability capabilities = 2;
      {::_pbi::TcParser::FastV32P1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(RuleMetadata, _impl_.capabilities_)}},
      // repeated .optimization_guide.proto.RuleMetadata.AgentResource accessible_resources = 1;
      {::_pbi::TcParser::FastV32P1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(RuleMetadata, _impl_.accessible_resources_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.RuleMetadata.AgentResource accessible_resources = 1;
      {PROTOBUF_FIELD_OFFSET(RuleMetadata, _impl_.accessible_resources_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
      // repeated .optimization_guide.proto.RuleMetadata.ActuationCapability capabilities = 2;
      {PROTOBUF_FIELD_OFFSET(RuleMetadata, _impl_.capabilities_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr RuleMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        accessible_resources_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::RuleMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::RuleMetadata, _impl_.accessible_resources_)>()
         }
        ,
        _accessible_resources_cached_byte_size_{0},
        capabilities_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::RuleMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::RuleMetadata, _impl_.capabilities_)>()
         }
        ,
        _capabilities_cached_byte_size_{0} {}

template <typename>
constexpr RuleMetadata::RuleMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL RuleMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) RuleMetadata(arena);
}
constexpr auto RuleMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(RuleMetadata), alignof(RuleMetadata));
}
constexpr auto RuleMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &RuleMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<RuleMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &RuleMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<RuleMetadata>(), &RuleMetadata::ByteSizeLong,
              &RuleMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(RuleMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.RuleMetadata",
  };
}
struct RuleMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr RuleMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 RuleMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(RuleMetadata::InternalGenerateClassData_(
            _default, &RuleMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<RuleMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~RuleMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) RuleMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<RuleMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(RuleMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Point::ParseTableT_ Point::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Point, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Point>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 y = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(Point, _impl_.y_)}},
      // int32 x = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(Point, _impl_.x_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 x = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Point, _impl_.x_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 y = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Point, _impl_.y_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Point::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        x_{0},
        y_{0} {}

template <typename>
constexpr Point::Point(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Point::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Point(arena);
}
constexpr auto Point::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Point), alignof(Point));
}
constexpr auto Point::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Point::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Point>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Point::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Point>(), &Point::ByteSizeLong,
              &Point::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Point, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Point",
  };
}
struct PointGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PointGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Point_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Point::InternalGenerateClassData_(
            _default, &Point_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Point>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PointGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Point _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Point>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PointGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PaidContentMetadata::ParseTableT_ PaidContentMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PaidContentMetadata, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PaidContentMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool contains_paid_content = 1 [features = {
      {::_pbi::TcParser::FastV8S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(PaidContentMetadata, _impl_.contains_paid_content_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool contains_paid_content = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PaidContentMetadata, _impl_.contains_paid_content_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr PaidContentMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        contains_paid_content_{false} {}

template <typename>
constexpr PaidContentMetadata::PaidContentMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PaidContentMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PaidContentMetadata(arena);
}
constexpr auto PaidContentMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PaidContentMetadata), alignof(PaidContentMetadata));
}
constexpr auto PaidContentMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PaidContentMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PaidContentMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PaidContentMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PaidContentMetadata>(), &PaidContentMetadata::ByteSizeLong,
              &PaidContentMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PaidContentMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.PaidContentMetadata",
  };
}
struct PaidContentMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PaidContentMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PaidContentMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PaidContentMetadata::InternalGenerateClassData_(
            _default, &PaidContentMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PaidContentMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PaidContentMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PaidContentMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PaidContentMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PaidContentMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Origin::ParseTableT_ Origin::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Origin, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Origin>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.Protocol protocol = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(Origin, _impl_.protocol_)}},
      // string host = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(Origin, _impl_.host_)}},
      // int32 port = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(Origin, _impl_.port_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.Protocol protocol = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Origin, _impl_.protocol_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // string host = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Origin, _impl_.host_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int32 port = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Origin, _impl_.port_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
      "\37\0\4\0\0\0\0\0"
      "optimization_guide.proto.Origin"
      "host"
    }},
  };
}


inline constexpr Origin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        host_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        protocol_{static_cast< ::optimization_guide::proto::Protocol >(0)},
        port_{0} {}

template <typename>
constexpr Origin::Origin(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Origin::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Origin(arena);
}
constexpr auto Origin::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Origin), alignof(Origin));
}
constexpr auto Origin::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Origin::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Origin>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Origin::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Origin>(), &Origin::ByteSizeLong,
              &Origin::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Origin, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Origin",
  };
}
struct OriginGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr OriginGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Origin_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Origin::InternalGenerateClassData_(
            _default, &Origin_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Origin>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~OriginGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Origin _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Origin>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(OriginGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr MetaTag::ParseTableT_ MetaTag::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MetaTag, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::MetaTag>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string content = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(MetaTag, _impl_.content_)}},
      // string name = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(MetaTag, _impl_.name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string name = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(MetaTag, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string content = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(MetaTag, _impl_.content_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\40\4\7\0\0\0\0\0"
      "optimization_guide.proto.MetaTag"
      "name"
      "content"
    }},
  };
}


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

template <typename>
constexpr MetaTag::MetaTag(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL MetaTag::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MetaTag(arena);
}
constexpr auto MetaTag::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MetaTag), alignof(MetaTag));
}
constexpr auto MetaTag::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &MetaTag::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<MetaTag>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &MetaTag::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<MetaTag>(), &MetaTag::ByteSizeLong,
              &MetaTag::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(MetaTag, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.MetaTag",
  };
}
struct MetaTagGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr MetaTagGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 MetaTag_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(MetaTag::InternalGenerateClassData_(
            _default, &MetaTag_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MetaTag>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~MetaTagGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MetaTag _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MetaTag>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(MetaTagGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr MediaTranscript::ParseTableT_ MediaTranscript::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MediaTranscript, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::MediaTranscript>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int64 start_timestamp_milliseconds = 2 [features = {
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(MediaTranscript, _impl_.start_timestamp_milliseconds_)}},
      // string text = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(MediaTranscript, _impl_.text_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string text = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaTranscript, _impl_.text_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int64 start_timestamp_milliseconds = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaTranscript, _impl_.start_timestamp_milliseconds_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
      "\50\4\0\0\0\0\0\0"
      "optimization_guide.proto.MediaTranscript"
      "text"
    }},
  };
}


inline constexpr MediaTranscript::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        start_timestamp_milliseconds_{::int64_t{0}} {}

template <typename>
constexpr MediaTranscript::MediaTranscript(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL MediaTranscript::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MediaTranscript(arena);
}
constexpr auto MediaTranscript::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MediaTranscript), alignof(MediaTranscript));
}
constexpr auto MediaTranscript::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &MediaTranscript::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<MediaTranscript>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &MediaTranscript::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<MediaTranscript>(), &MediaTranscript::ByteSizeLong,
              &MediaTranscript::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(MediaTranscript, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.MediaTranscript",
  };
}
struct MediaTranscriptGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr MediaTranscriptGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 MediaTranscript_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(MediaTranscript::InternalGenerateClassData_(
            _default, &MediaTranscript_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MediaTranscript>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~MediaTranscriptGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MediaTranscript _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MediaTranscript>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(MediaTranscriptGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr IframeData_RedactedFrameMetadata::ParseTableT_ IframeData_RedactedFrameMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IframeData_RedactedFrameMetadata, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::IframeData_RedactedFrameMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.IframeData.RedactedFrameMetadata.Reason reason = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(IframeData_RedactedFrameMetadata, _impl_.reason_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.IframeData.RedactedFrameMetadata.Reason reason = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(IframeData_RedactedFrameMetadata, _impl_.reason_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr IframeData_RedactedFrameMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        reason_{static_cast< ::optimization_guide::proto::IframeData_RedactedFrameMetadata_Reason >(0)} {}

template <typename>
constexpr IframeData_RedactedFrameMetadata::IframeData_RedactedFrameMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL IframeData_RedactedFrameMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) IframeData_RedactedFrameMetadata(arena);
}
constexpr auto IframeData_RedactedFrameMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(IframeData_RedactedFrameMetadata), alignof(IframeData_RedactedFrameMetadata));
}
constexpr auto IframeData_RedactedFrameMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &IframeData_RedactedFrameMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<IframeData_RedactedFrameMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &IframeData_RedactedFrameMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<IframeData_RedactedFrameMetadata>(), &IframeData_RedactedFrameMetadata::ByteSizeLong,
              &IframeData_RedactedFrameMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(IframeData_RedactedFrameMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.IframeData.RedactedFrameMetadata",
  };
}
struct IframeData_RedactedFrameMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr IframeData_RedactedFrameMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 IframeData_RedactedFrameMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(IframeData_RedactedFrameMetadata::InternalGenerateClassData_(
            _default, &IframeData_RedactedFrameMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<IframeData_RedactedFrameMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~IframeData_RedactedFrameMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) IframeData_RedactedFrameMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<IframeData_RedactedFrameMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(IframeData_RedactedFrameMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FormInfo::ParseTableT_ FormInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FormInfo, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::FormInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string action_url = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(FormInfo, _impl_.action_url_)}},
      // string form_name = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FormInfo, _impl_.form_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string form_name = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(FormInfo, _impl_.form_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string action_url = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(FormInfo, _impl_.action_url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\41\11\12\0\0\0\0\0"
      "optimization_guide.proto.FormInfo"
      "form_name"
      "action_url"
    }},
  };
}


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

template <typename>
constexpr FormInfo::FormInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FormInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FormInfo(arena);
}
constexpr auto FormInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FormInfo), alignof(FormInfo));
}
constexpr auto FormInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FormInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FormInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FormInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FormInfo>(), &FormInfo::ByteSizeLong,
              &FormInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FormInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FormInfo",
  };
}
struct FormInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FormInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FormInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FormInfo::InternalGenerateClassData_(
            _default, &FormInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FormInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FormInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FormInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FormInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FormInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FloatArray::ParseTableT_ FloatArray::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FloatArray, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::FloatArray>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated float values = 1;
      {::_pbi::TcParser::FastF32P1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FloatArray, _impl_.values_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated float values = 1;
      {PROTOBUF_FIELD_OFFSET(FloatArray, _impl_.values_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedFloat)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr FloatArray::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        values_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FloatArray,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FloatArray, _impl_.values_)>()
         }
     {}

template <typename>
constexpr FloatArray::FloatArray(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FloatArray::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FloatArray(arena);
}
constexpr auto FloatArray::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FloatArray), alignof(FloatArray));
}
constexpr auto FloatArray::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FloatArray::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FloatArray>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FloatArray::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FloatArray>(), &FloatArray::ByteSizeLong,
              &FloatArray::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FloatArray, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FloatArray",
  };
}
struct FloatArrayGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FloatArrayGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FloatArray_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FloatArray::InternalGenerateClassData_(
            _default, &FloatArray_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FloatArray>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FloatArrayGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FloatArray _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FloatArray>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FloatArrayGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DocumentIdentifier::ParseTableT_ DocumentIdentifier::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DocumentIdentifier, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentIdentifier>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string serialized_token = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DocumentIdentifier, _impl_.serialized_token_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string serialized_token = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(DocumentIdentifier, _impl_.serialized_token_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\53\20\0\0\0\0\0\0"
      "optimization_guide.proto.DocumentIdentifier"
      "serialized_token"
    }},
  };
}


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

template <typename>
constexpr DocumentIdentifier::DocumentIdentifier(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL DocumentIdentifier::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DocumentIdentifier(arena);
}
constexpr auto DocumentIdentifier::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(DocumentIdentifier), alignof(DocumentIdentifier));
}
constexpr auto DocumentIdentifier::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &DocumentIdentifier::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DocumentIdentifier>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DocumentIdentifier::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DocumentIdentifier>(), &DocumentIdentifier::ByteSizeLong,
              &DocumentIdentifier::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DocumentIdentifier, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.DocumentIdentifier",
  };
}
struct DocumentIdentifierGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DocumentIdentifierGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DocumentIdentifier_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DocumentIdentifier::InternalGenerateClassData_(
            _default, &DocumentIdentifier_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DocumentIdentifier>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DocumentIdentifierGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DocumentIdentifier _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DocumentIdentifier>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DocumentIdentifierGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Coordinate::ParseTableT_ Coordinate::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Coordinate, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Coordinate>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 x = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.x_)}},
      // int32 y = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.y_)}},
      // .optimization_guide.proto.Coordinate.PixelType pixel_type = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.pixel_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 x = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.x_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 y = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.y_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.Coordinate.PixelType pixel_type = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.pixel_type_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Coordinate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        x_{0},
        y_{0},
        pixel_type_{static_cast< ::optimization_guide::proto::Coordinate_PixelType >(0)} {}

template <typename>
constexpr Coordinate::Coordinate(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Coordinate::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Coordinate(arena);
}
constexpr auto Coordinate::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Coordinate), alignof(Coordinate));
}
constexpr auto Coordinate::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Coordinate::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Coordinate>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Coordinate::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Coordinate>(), &Coordinate::ByteSizeLong,
              &Coordinate::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Coordinate, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Coordinate",
  };
}
struct CoordinateGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CoordinateGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Coordinate_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Coordinate::InternalGenerateClassData_(
            _default, &Coordinate_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Coordinate>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CoordinateGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Coordinate _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Coordinate>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CoordinateGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr CanvasData::ParseTableT_ CanvasData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(CanvasData, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::CanvasData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 layout_height = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(CanvasData, _impl_.layout_height_)}},
      // int32 layout_width = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(CanvasData, _impl_.layout_width_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 layout_width = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(CanvasData, _impl_.layout_width_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 layout_height = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(CanvasData, _impl_.layout_height_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr CanvasData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        layout_width_{0},
        layout_height_{0} {}

template <typename>
constexpr CanvasData::CanvasData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL CanvasData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) CanvasData(arena);
}
constexpr auto CanvasData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(CanvasData), alignof(CanvasData));
}
constexpr auto CanvasData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &CanvasData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<CanvasData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &CanvasData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<CanvasData>(), &CanvasData::ByteSizeLong,
              &CanvasData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(CanvasData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.CanvasData",
  };
}
struct CanvasDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr CanvasDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 CanvasData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(CanvasData::InternalGenerateClassData_(
            _default, &CanvasData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<CanvasData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~CanvasDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) CanvasData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<CanvasData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(CanvasDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BoundingSize::ParseTableT_ BoundingSize::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BoundingSize, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingSize>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // int32 height = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(BoundingSize, _impl_.height_)}},
      // int32 width = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BoundingSize, _impl_.width_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 width = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(BoundingSize, _impl_.width_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 height = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(BoundingSize, _impl_.height_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr BoundingSize::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        width_{0},
        height_{0} {}

template <typename>
constexpr BoundingSize::BoundingSize(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL BoundingSize::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BoundingSize(arena);
}
constexpr auto BoundingSize::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(BoundingSize), alignof(BoundingSize));
}
constexpr auto BoundingSize::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &BoundingSize::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BoundingSize>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BoundingSize::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BoundingSize>(), &BoundingSize::ByteSizeLong,
              &BoundingSize::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BoundingSize, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.BoundingSize",
  };
}
struct BoundingSizeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BoundingSizeGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BoundingSize_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BoundingSize::InternalGenerateClassData_(
            _default, &BoundingSize_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BoundingSize>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BoundingSizeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BoundingSize _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BoundingSize>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BoundingSizeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr BoundingRect::ParseTableT_ BoundingRect::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BoundingRect, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingRect>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 x = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.x_)}},
      // int32 y = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.y_)}},
      // int32 width = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.width_)}},
      // int32 height = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.height_)}},
      // bool is_screenshot_relative = 5 [features = {
      {::_pbi::TcParser::FastV8S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.is_screenshot_relative_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 x = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.x_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 y = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.y_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 width = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.width_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 height = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.height_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool is_screenshot_relative = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.is_screenshot_relative_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr BoundingRect::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        x_{0},
        y_{0},
        width_{0},
        height_{0},
        is_screenshot_relative_{false} {}

template <typename>
constexpr BoundingRect::BoundingRect(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL BoundingRect::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BoundingRect(arena);
}
constexpr auto BoundingRect::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(BoundingRect), alignof(BoundingRect));
}
constexpr auto BoundingRect::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &BoundingRect::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BoundingRect>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BoundingRect::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BoundingRect>(), &BoundingRect::ByteSizeLong,
              &BoundingRect::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.BoundingRect",
  };
}
struct BoundingRectGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BoundingRectGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BoundingRect_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BoundingRect::InternalGenerateClassData_(
            _default, &BoundingRect_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BoundingRect>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BoundingRectGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BoundingRect _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BoundingRect>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BoundingRectGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AutofillInformation::ParseTableT_ AutofillInformation::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AutofillInformation, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AutofillInformation>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.AutofillInformation.FillableData fillable_data = 1;
      {::_pbi::TcParser::FastV32P1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(AutofillInformation, _impl_.fillable_data_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.AutofillInformation.FillableData fillable_data = 1;
      {PROTOBUF_FIELD_OFFSET(AutofillInformation, _impl_.fillable_data_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr AutofillInformation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        fillable_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AutofillInformation,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutofillInformation, _impl_.fillable_data_)>()
         }
        ,
        _fillable_data_cached_byte_size_{0} {}

template <typename>
constexpr AutofillInformation::AutofillInformation(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AutofillInformation::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AutofillInformation(arena);
}
constexpr auto AutofillInformation::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AutofillInformation), alignof(AutofillInformation));
}
constexpr auto AutofillInformation::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AutofillInformation::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AutofillInformation>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AutofillInformation::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AutofillInformation>(), &AutofillInformation::ByteSizeLong,
              &AutofillInformation::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AutofillInformation, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AutofillInformation",
  };
}
struct AutofillInformationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AutofillInformationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AutofillInformation_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AutofillInformation::InternalGenerateClassData_(
            _default, &AutofillInformation_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AutofillInformation>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AutofillInformationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AutofillInformation _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AutofillInformation>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AutofillInformationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AutofillGlobalId::ParseTableT_ AutofillGlobalId::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AutofillGlobalId, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AutofillGlobalId>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // uint64 renderer_id = 2 [features = {
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(AutofillGlobalId, _impl_.renderer_id_)}},
      // string frame_token = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(AutofillGlobalId, _impl_.frame_token_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string frame_token = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AutofillGlobalId, _impl_.frame_token_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // uint64 renderer_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(AutofillGlobalId, _impl_.renderer_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    // no aux_entries
    {{
      "\51\13\0\0\0\0\0\0"
      "optimization_guide.proto.AutofillGlobalId"
      "frame_token"
    }},
  };
}


inline constexpr AutofillGlobalId::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        frame_token_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        renderer_id_{::uint64_t{0u}} {}

template <typename>
constexpr AutofillGlobalId::AutofillGlobalId(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AutofillGlobalId::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AutofillGlobalId(arena);
}
constexpr auto AutofillGlobalId::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AutofillGlobalId), alignof(AutofillGlobalId));
}
constexpr auto AutofillGlobalId::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AutofillGlobalId::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AutofillGlobalId>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AutofillGlobalId::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AutofillGlobalId>(), &AutofillGlobalId::ByteSizeLong,
              &AutofillGlobalId::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AutofillGlobalId, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AutofillGlobalId",
  };
}
struct AutofillGlobalIdGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AutofillGlobalIdGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AutofillGlobalId_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AutofillGlobalId::InternalGenerateClassData_(
            _default, &AutofillGlobalId_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AutofillGlobalId>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AutofillGlobalIdGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AutofillGlobalId _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AutofillGlobalId>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AutofillGlobalIdGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AutofillGlobalIdGlobalsTypeInternal AutofillGlobalId_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AutofillGlobalId_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AutofillGlobalId_globals_.GetClassData();
#else
  return AutofillGlobalId_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class AnySite::_Internal {
 public:
};

constexpr AnySite::ParseTableT_ AnySite::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AnySite,
                            _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AnySite>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, // no field_entries, or aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr AnySite::AnySite(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AnySite::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AnySite(arena);
}
constexpr auto AnySite::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AnySite), alignof(AnySite));
}
constexpr auto AnySite::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AnySite::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AnySite>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AnySite::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AnySite>(), &AnySite::ByteSizeLong,
              &AnySite::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AnySite, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AnySite",
  };
}
struct AnySiteGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AnySiteGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AnySite_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AnySite::InternalGenerateClassData_(
            _default, &AnySite_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AnySite>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AnySiteGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AnySite _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AnySite>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AnySiteGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AnchorData::ParseTableT_ AnchorData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AnchorData, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AnchorData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.AnchorRel rel = 2;
      {::_pbi::TcParser::FastV32P1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AnchorData, _impl_.rel_)}},
      // string url = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(AnchorData, _impl_.url_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string url = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AnchorData, _impl_.url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .optimization_guide.proto.AnchorRel rel = 2;
      {PROTOBUF_FIELD_OFFSET(AnchorData, _impl_.rel_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
    }},
    // no aux_entries
    {{
      "\43\3\0\0\0\0\0\0"
      "optimization_guide.proto.AnchorData"
      "url"
    }},
  };
}


inline constexpr AnchorData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        rel_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AnchorData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AnchorData, _impl_.rel_)>()
         }
        ,
        _rel_cached_byte_size_{0},
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr AnchorData::AnchorData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AnchorData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AnchorData(arena);
}
constexpr auto AnchorData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AnchorData), alignof(AnchorData));
}
constexpr auto AnchorData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AnchorData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AnchorData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AnchorData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AnchorData>(), &AnchorData::ByteSizeLong,
              &AnchorData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AnchorData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AnchorData",
  };
}
struct AnchorDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AnchorDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AnchorData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AnchorData::InternalGenerateClassData_(
            _default, &AnchorData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AnchorData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AnchorDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AnchorData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AnchorData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AnchorDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AXTreeData::ParseTableT_ AXTreeData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_._has_bits_),
      0, // no _extensions_
      15, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294934528,  // skipmap
      offsetof(ParseTableT_, field_entries),
      15,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AXTreeData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string doctype = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.doctype_)}},
      // bool loaded = 2 [features = {
      {::_pbi::TcParser::FastV8S1,
       {16, 5, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.loaded_)}},
      // float loading_progress = 3 [features = {
      {::_pbi::TcParser::FastF32S1,
       {29, 4, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.loading_progress_)}},
      // string mimetype = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.mimetype_)}},
      // string title = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.title_)}},
      // uint32 focus_id = 6 [features = {
      {::_pbi::TcParser::FastV32S1,
       {48, 7, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.focus_id_)}},
      // bool sel_is_backward = 7 [features = {
      {::_pbi::TcParser::FastV8S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_is_backward_)}},
      // uint32 sel_anchor_object_id = 8 [features = {
      {::_pbi::TcParser::FastV32S1,
       {64, 8, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_anchor_object_id_)}},
      // uint32 sel_anchor_offset = 9 [features = {
      {::_pbi::TcParser::FastV32S1,
       {72, 9, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_anchor_offset_)}},
      // .optimization_guide.proto.AXTextAffinity sel_anchor_affinity = 10 [features = {
      {::_pbi::TcParser::FastV32S1,
       {80, 10, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_anchor_affinity_)}},
      // uint32 sel_focus_object_id = 11 [features = {
      {::_pbi::TcParser::FastV32S1,
       {88, 11, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_focus_object_id_)}},
      // uint32 sel_focus_offset = 12 [features = {
      {::_pbi::TcParser::FastV32S1,
       {96, 12, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_focus_offset_)}},
      // .optimization_guide.proto.AXTextAffinity sel_focus_affinity = 13 [features = {
      {::_pbi::TcParser::FastV32S1,
       {104, 13, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_focus_affinity_)}},
      // uint32 root_scroller_id = 14 [features = {
      {::_pbi::TcParser::FastV32S1,
       {112, 14, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.root_scroller_id_)}},
      // repeated string metadata = 15;
      {::_pbi::TcParser::FastUR1,
       {122, 0, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.metadata_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string doctype = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.doctype_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bool loaded = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.loaded_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // float loading_progress = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.loading_progress_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // string mimetype = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.mimetype_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string title = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.title_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // uint32 focus_id = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.focus_id_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // bool sel_is_backward = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_is_backward_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // uint32 sel_anchor_object_id = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_anchor_object_id_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 sel_anchor_offset = 9 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_anchor_offset_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // .optimization_guide.proto.AXTextAffinity sel_anchor_affinity = 10 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_anchor_affinity_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // uint32 sel_focus_object_id = 11 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_focus_object_id_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint32 sel_focus_offset = 12 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_focus_offset_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // .optimization_guide.proto.AXTextAffinity sel_focus_affinity = 13 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.sel_focus_affinity_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // uint32 root_scroller_id = 14 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.root_scroller_id_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // repeated string metadata = 15;
      {PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.metadata_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
      "\43\7\0\0\10\5\0\0\0\0\0\0\0\0\0\10"
      "optimization_guide.proto.AXTreeData"
      "doctype"
      "mimetype"
      "title"
      "metadata"
    }},
  };
}


inline constexpr AXTreeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        metadata_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXTreeData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXTreeData, _impl_.metadata_)>()
         }
        ,
        doctype_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        mimetype_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        loading_progress_{0},
        loaded_{false},
        sel_is_backward_{false},
        focus_id_{0u},
        sel_anchor_object_id_{0u},
        sel_anchor_offset_{0u},
        sel_anchor_affinity_{static_cast< ::optimization_guide::proto::AXTextAffinity >(0)},
        sel_focus_object_id_{0u},
        sel_focus_offset_{0u},
        sel_focus_affinity_{static_cast< ::optimization_guide::proto::AXTextAffinity >(0)},
        root_scroller_id_{0u} {}

template <typename>
constexpr AXTreeData::AXTreeData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AXTreeData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AXTreeData(arena);
}
constexpr auto AXTreeData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AXTreeData), alignof(AXTreeData));
}
constexpr auto AXTreeData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AXTreeData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AXTreeData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AXTreeData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AXTreeData>(), &AXTreeData::ByteSizeLong,
              &AXTreeData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AXTreeData",
  };
}
struct AXTreeDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AXTreeDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AXTreeData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AXTreeData::InternalGenerateClassData_(
            _default, &AXTreeData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AXTreeData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AXTreeDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AXTreeData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AXTreeData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AXTreeDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AXStringList::ParseTableT_ AXStringList::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AXStringList, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AXStringList>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated string value = 1;
      {::_pbi::TcParser::FastUR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(AXStringList, _impl_.value_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated string value = 1;
      {PROTOBUF_FIELD_OFFSET(AXStringList, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    }},
    // no aux_entries
    {{
      "\45\5\0\0\0\0\0\0"
      "optimization_guide.proto.AXStringList"
      "value"
    }},
  };
}


inline constexpr AXStringList::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXStringList,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXStringList, _impl_.value_)>()
         }
     {}

template <typename>
constexpr AXStringList::AXStringList(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AXStringList::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AXStringList(arena);
}
constexpr auto AXStringList::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AXStringList), alignof(AXStringList));
}
constexpr auto AXStringList::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AXStringList::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AXStringList>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AXStringList::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AXStringList>(), &AXStringList::ByteSizeLong,
              &AXStringList::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AXStringList, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AXStringList",
  };
}
struct AXStringListGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AXStringListGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AXStringList_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AXStringList::InternalGenerateClassData_(
            _default, &AXStringList_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AXStringList>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AXStringListGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AXStringList _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AXStringList>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AXStringListGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AXRelativeBounds::ParseTableT_ AXRelativeBounds::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AXRelativeBounds>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 offset_container_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.offset_container_id_)}},
      // float x = 2 [features = {
      {::_pbi::TcParser::FastF32S1,
       {21, 2, 0,
        PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.x_)}},
      // float y = 3 [features = {
      {::_pbi::TcParser::FastF32S1,
       {29, 3, 0,
        PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.y_)}},
      // float width = 4 [features = {
      {::_pbi::TcParser::FastF32S1,
       {37, 4, 0,
        PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.width_)}},
      // float height = 5 [features = {
      {::_pbi::TcParser::FastF32S1,
       {45, 5, 0,
        PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.height_)}},
      // repeated float transform = 6;
      {::_pbi::TcParser::FastF32P1,
       {50, 0, 0,
        PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.transform_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 offset_container_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.offset_container_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // float x = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.x_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // float y = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.y_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // float width = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.width_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // float height = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.height_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // repeated float transform = 6;
      {PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.transform_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedFloat)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr AXRelativeBounds::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        transform_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXRelativeBounds,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXRelativeBounds, _impl_.transform_)>()
         }
        ,
        offset_container_id_{0},
        x_{0},
        y_{0},
        width_{0},
        height_{0} {}

template <typename>
constexpr AXRelativeBounds::AXRelativeBounds(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AXRelativeBounds::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AXRelativeBounds(arena);
}
constexpr auto AXRelativeBounds::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AXRelativeBounds), alignof(AXRelativeBounds));
}
constexpr auto AXRelativeBounds::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AXRelativeBounds::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AXRelativeBounds>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AXRelativeBounds::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AXRelativeBounds>(), &AXRelativeBounds::ByteSizeLong,
              &AXRelativeBounds::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AXRelativeBounds",
  };
}
struct AXRelativeBoundsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AXRelativeBoundsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AXRelativeBounds_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AXRelativeBounds::InternalGenerateClassData_(
            _default, &AXRelativeBounds_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AXRelativeBounds>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AXRelativeBoundsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AXRelativeBounds _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AXRelativeBounds>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AXRelativeBoundsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AXIntList::ParseTableT_ AXIntList::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AXIntList, _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
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AXIntList>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated int32 value = 1;
      {::_pbi::TcParser::FastV32P1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(AXIntList, _impl_.value_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated int32 value = 1;
      {PROTOBUF_FIELD_OFFSET(AXIntList, _impl_.value_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr AXIntList::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXIntList,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXIntList, _impl_.value_)>()
         }
        ,
        _value_cached_byte_size_{0} {}

template <typename>
constexpr AXIntList::AXIntList(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AXIntList::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AXIntList(arena);
}
constexpr auto AXIntList::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AXIntList), alignof(AXIntList));
}
constexpr auto AXIntList::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AXIntList::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AXIntList>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AXIntList::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AXIntList>(), &AXIntList::ByteSizeLong,
              &AXIntList::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AXIntList, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AXIntList",
  };
}
struct AXIntListGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AXIntListGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AXIntList_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AXIntList::InternalGenerateClassData_(
            _default, &AXIntList_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AXIntList>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AXIntListGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AXIntList _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AXIntList>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AXIntListGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr VideoData::ParseTableT_ VideoData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(VideoData, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::VideoData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.SecurityOrigin security_origin = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(VideoData, _impl_.security_origin_)}},
      // string url = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(VideoData, _impl_.url_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string url = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(VideoData, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.SecurityOrigin security_origin = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(VideoData, _impl_.security_origin_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SecurityOrigin>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SecurityOrigin_globals_},
        #endif
    }},
    {{
      "\42\3\0\0\0\0\0\0"
      "optimization_guide.proto.VideoData"
      "url"
    }},
  };
}


inline constexpr VideoData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        security_origin_{nullptr} {}

template <typename>
constexpr VideoData::VideoData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL VideoData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) VideoData(arena);
}
constexpr auto VideoData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(VideoData), alignof(VideoData));
}
constexpr auto VideoData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &VideoData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<VideoData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &VideoData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<VideoData>(), &VideoData::ByteSizeLong,
              &VideoData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(VideoData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.VideoData",
  };
}
struct VideoDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr VideoDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 VideoData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(VideoData::InternalGenerateClassData_(
            _default, &VideoData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<VideoData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~VideoDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) VideoData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<VideoData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(VideoDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TextInfo::ParseTableT_ TextInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TextInfo, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967290,  // 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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TextInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string text_content = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TextInfo, _impl_.text_content_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.TextStyle text_style = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(TextInfo, _impl_.text_style_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string text_content = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TextInfo, _impl_.text_content_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.TextStyle text_style = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(TextInfo, _impl_.text_style_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TextStyle>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TextStyle_globals_},
        #endif
    }},
    {{
      "\41\14\0\0\0\0\0\0"
      "optimization_guide.proto.TextInfo"
      "text_content"
    }},
  };
}


inline constexpr TextInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        text_content_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        text_style_{nullptr} {}

template <typename>
constexpr TextInfo::TextInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TextInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TextInfo(arena);
}
constexpr auto TextInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TextInfo), alignof(TextInfo));
}
constexpr auto TextInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TextInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TextInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TextInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TextInfo>(), &TextInfo::ByteSizeLong,
              &TextInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TextInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TextInfo",
  };
}
struct TextInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TextInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TextInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TextInfo::InternalGenerateClassData_(
            _default, &TextInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TextInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TextInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TextInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TextInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TextInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr SiteEngagement::ParseTableT_ SiteEngagement::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(SiteEngagement, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::SiteEngagement>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.SiteEngagementEntry entries = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(SiteEngagement, _impl_.entries_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.SiteEngagementEntry entries = 1;
      {PROTOBUF_FIELD_OFFSET(SiteEngagement, _impl_.entries_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SiteEngagementEntry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SiteEngagementEntry_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr SiteEngagement::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        entries_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::SiteEngagement,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::SiteEngagement, _impl_.entries_)>()
         }
     {}

template <typename>
constexpr SiteEngagement::SiteEngagement(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL SiteEngagement::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) SiteEngagement(arena);
}
constexpr auto SiteEngagement::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SiteEngagement), alignof(SiteEngagement));
}
constexpr auto SiteEngagement::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &SiteEngagement::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<SiteEngagement>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &SiteEngagement::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<SiteEngagement>(), &SiteEngagement::ByteSizeLong,
              &SiteEngagement::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(SiteEngagement, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.SiteEngagement",
  };
}
struct SiteEngagementGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr SiteEngagementGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 SiteEngagement_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(SiteEngagement::InternalGenerateClassData_(
            _default, &SiteEngagement_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<SiteEngagement>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~SiteEngagementGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) SiteEngagement _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<SiteEngagement>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(SiteEngagementGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScrollerInfo::ParseTableT_ ScrollerInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ScrollerInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool user_scrollable_vertical = 4 [features = {
      {::_pbi::TcParser::FastV8S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.user_scrollable_vertical_)}},
      // .optimization_guide.proto.BoundingSize scrolling_bounds = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.scrolling_bounds_)}},
      // .optimization_guide.proto.BoundingRect visible_area = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.visible_area_)}},
      // bool user_scrollable_horizontal = 3 [features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.user_scrollable_horizontal_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.BoundingSize scrolling_bounds = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.scrolling_bounds_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.BoundingRect visible_area = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.visible_area_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool user_scrollable_horizontal = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.user_scrollable_horizontal_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool user_scrollable_vertical = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.user_scrollable_vertical_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingSize>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingSize_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingRect>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingRect_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ScrollerInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        scrolling_bounds_{nullptr},
        visible_area_{nullptr},
        user_scrollable_horizontal_{false},
        user_scrollable_vertical_{false} {}

template <typename>
constexpr ScrollerInfo::ScrollerInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ScrollerInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScrollerInfo(arena);
}
constexpr auto ScrollerInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ScrollerInfo), alignof(ScrollerInfo));
}
constexpr auto ScrollerInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ScrollerInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScrollerInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScrollerInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScrollerInfo>(), &ScrollerInfo::ByteSizeLong,
              &ScrollerInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScrollerInfo",
  };
}
struct ScrollerInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScrollerInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScrollerInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScrollerInfo::InternalGenerateClassData_(
            _default, &ScrollerInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScrollerInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScrollerInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScrollerInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScrollerInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScrollerInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScriptTool::ParseTableT_ ScriptTool::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_._has_bits_),
      0, // no _extensions_
      5, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967265,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptTool>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string input_schema = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_.input_schema_)}},
      // .optimization_guide.proto.ScriptToolAnnotations annotations = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_.annotations_)}},
      // string name = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_.name_)}},
      // string description = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_.description_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string name = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_.name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string description = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_.description_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string input_schema = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_.input_schema_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.ScriptToolAnnotations annotations = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_.annotations_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptToolAnnotations>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScriptToolAnnotations_globals_},
        #endif
    }},
    {{
      "\43\4\13\14\0\0\0\0"
      "optimization_guide.proto.ScriptTool"
      "name"
      "description"
      "input_schema"
    }},
  };
}


inline constexpr ScriptTool::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        input_schema_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        annotations_{nullptr} {}

template <typename>
constexpr ScriptTool::ScriptTool(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ScriptTool::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScriptTool(arena);
}
constexpr auto ScriptTool::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ScriptTool), alignof(ScriptTool));
}
constexpr auto ScriptTool::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ScriptTool::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScriptTool>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScriptTool::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScriptTool>(), &ScriptTool::ByteSizeLong,
              &ScriptTool::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScriptTool, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScriptTool",
  };
}
struct ScriptToolGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScriptToolGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScriptTool_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScriptTool::InternalGenerateClassData_(
            _default, &ScriptTool_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScriptTool>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScriptToolGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScriptTool _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScriptTool>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScriptToolGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ProfileInformation::ParseTableT_ ProfileInformation::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ProfileInformation, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ProfileInformation>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.AutofillInformation autofill_information = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ProfileInformation, _impl_.autofill_information_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.AutofillInformation autofill_information = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ProfileInformation, _impl_.autofill_information_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AutofillInformation>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AutofillInformation_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ProfileInformation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        autofill_information_{nullptr} {}

template <typename>
constexpr ProfileInformation::ProfileInformation(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ProfileInformation::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ProfileInformation(arena);
}
constexpr auto ProfileInformation::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ProfileInformation), alignof(ProfileInformation));
}
constexpr auto ProfileInformation::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ProfileInformation::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ProfileInformation>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ProfileInformation::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ProfileInformation>(), &ProfileInformation::ByteSizeLong,
              &ProfileInformation::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ProfileInformation, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ProfileInformation",
  };
}
struct ProfileInformationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ProfileInformationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ProfileInformation_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ProfileInformation::InternalGenerateClassData_(
            _default, &ProfileInformation_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ProfileInformation>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ProfileInformationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ProfileInformation _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ProfileInformation>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ProfileInformationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PageInteractionInfo::ParseTableT_ PageInteractionInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PageInteractionInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 focused_node_id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.focused_node_id_)}},
      // int32 accessibility_focused_node_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 4, 0,
        PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.accessibility_focused_node_id_)}},
      // .optimization_guide.proto.Point mouse_position = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.mouse_position_)}},
      // .optimization_guide.proto.DocumentIdentifier focused_frame = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 1, 1,
        PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.focused_frame_)}},
      // .optimization_guide.proto.DocumentIdentifier accessibility_focused_frame = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 2, 2,
        PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.accessibility_focused_frame_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 focused_node_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.focused_node_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 accessibility_focused_node_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.accessibility_focused_node_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.Point mouse_position = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.mouse_position_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.DocumentIdentifier focused_frame = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.focused_frame_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.DocumentIdentifier accessibility_focused_frame = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.accessibility_focused_frame_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Point>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Point_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentIdentifier>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DocumentIdentifier_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentIdentifier>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DocumentIdentifier_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PageInteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        mouse_position_{nullptr},
        focused_frame_{nullptr},
        accessibility_focused_frame_{nullptr},
        focused_node_id_{0},
        accessibility_focused_node_id_{0} {}

template <typename>
constexpr PageInteractionInfo::PageInteractionInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PageInteractionInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PageInteractionInfo(arena);
}
constexpr auto PageInteractionInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PageInteractionInfo), alignof(PageInteractionInfo));
}
constexpr auto PageInteractionInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PageInteractionInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PageInteractionInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PageInteractionInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PageInteractionInfo>(), &PageInteractionInfo::ByteSizeLong,
              &PageInteractionInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.PageInteractionInfo",
  };
}
struct PageInteractionInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PageInteractionInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PageInteractionInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PageInteractionInfo::InternalGenerateClassData_(
            _default, &PageInteractionInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PageInteractionInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PageInteractionInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PageInteractionInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PageInteractionInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PageInteractionInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr MediaData::ParseTableT_ MediaData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(MediaData, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967040,  // skipmap
      offsetof(ParseTableT_, field_entries),
      8,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::MediaData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string album = 8 [features = {
      {::_pbi::TcParser::FastUS1,
       {66, 3, 0,
        PROTOBUF_FIELD_OFFSET(MediaData, _impl_.album_)}},
      // .optimization_guide.proto.MediaDataType media_data_type = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 5, 0,
        PROTOBUF_FIELD_OFFSET(MediaData, _impl_.media_data_type_)}},
      // repeated .optimization_guide.proto.MediaTranscript transcripts = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(MediaData, _impl_.transcripts_)}},
      // int64 duration_milliseconds = 3 [features = {
      {::_pbi::TcParser::FastV64S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(MediaData, _impl_.duration_milliseconds_)}},
      // int64 current_position_milliseconds = 4 [features = {
      {::_pbi::TcParser::FastV64S1,
       {32, 7, 0,
        PROTOBUF_FIELD_OFFSET(MediaData, _impl_.current_position_milliseconds_)}},
      // bool is_playing = 5 [features = {
      {::_pbi::TcParser::FastV8S1,
       {40, 6, 0,
        PROTOBUF_FIELD_OFFSET(MediaData, _impl_.is_playing_)}},
      // string title = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 1, 0,
        PROTOBUF_FIELD_OFFSET(MediaData, _impl_.title_)}},
      // string artist = 7 [features = {
      {::_pbi::TcParser::FastUS1,
       {58, 2, 0,
        PROTOBUF_FIELD_OFFSET(MediaData, _impl_.artist_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.MediaDataType media_data_type = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaData, _impl_.media_data_type_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // repeated .optimization_guide.proto.MediaTranscript transcripts = 2;
      {PROTOBUF_FIELD_OFFSET(MediaData, _impl_.transcripts_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // int64 duration_milliseconds = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaData, _impl_.duration_milliseconds_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int64 current_position_milliseconds = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaData, _impl_.current_position_milliseconds_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // bool is_playing = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaData, _impl_.is_playing_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // string title = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaData, _impl_.title_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string artist = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaData, _impl_.artist_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string album = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(MediaData, _impl_.album_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::MediaTranscript>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::MediaTranscript_globals_},
        #endif
    }},
    {{
      "\42\0\0\0\0\0\5\6\5\0\0\0\0\0\0\0"
      "optimization_guide.proto.MediaData"
      "title"
      "artist"
      "album"
    }},
  };
}


inline constexpr MediaData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        transcripts_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::MediaData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::MediaData, _impl_.transcripts_)>()
         }
        ,
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        artist_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        album_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        duration_milliseconds_{::int64_t{0}},
        media_data_type_{static_cast< ::optimization_guide::proto::MediaDataType >(0)},
        is_playing_{false},
        current_position_milliseconds_{::int64_t{0}} {}

template <typename>
constexpr MediaData::MediaData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL MediaData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) MediaData(arena);
}
constexpr auto MediaData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(MediaData), alignof(MediaData));
}
constexpr auto MediaData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &MediaData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<MediaData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &MediaData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<MediaData>(), &MediaData::ByteSizeLong,
              &MediaData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(MediaData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.MediaData",
  };
}
struct MediaDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr MediaDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 MediaData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(MediaData::InternalGenerateClassData_(
            _default, &MediaData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<MediaData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~MediaDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) MediaData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<MediaData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(MediaDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST MediaDataGlobalsTypeInternal MediaData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* MediaData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return MediaData_globals_.GetClassData();
#else
  return MediaData_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class Location::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::Location, _impl_._oneof_case_);
};

constexpr Location::ParseTableT_ Location::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Location,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      3, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // 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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Location>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.Origin origin = 1;
      {PROTOBUF_FIELD_OFFSET(Location, _impl_.identifier_oneof_.origin_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.Site site = 2;
      {PROTOBUF_FIELD_OFFSET(Location, _impl_.identifier_oneof_.site_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AnySite wildcard = 3;
      {PROTOBUF_FIELD_OFFSET(Location, _impl_.identifier_oneof_.wildcard_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Origin>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Origin_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Site>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Site_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AnySite>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AnySite_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr Location::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : identifier_oneof_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
constexpr Location::Location(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Location::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Location(arena);
}
constexpr auto Location::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Location), alignof(Location));
}
constexpr auto Location::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Location::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Location>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Location::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Location>(), &Location::ByteSizeLong,
              &Location::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Location, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Location",
  };
}
struct LocationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr LocationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Location_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Location::InternalGenerateClassData_(
            _default, &Location_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Location>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~LocationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Location _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Location>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(LocationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ImageInfo::ParseTableT_ ImageInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ImageInfo, _impl_._has_bits_),
      0, // no _extensions_
      5, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967269,  // 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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ImageInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.SecurityOrigin security_origin = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(ImageInfo, _impl_.security_origin_)}},
      // string url = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 1, 0,
        PROTOBUF_FIELD_OFFSET(ImageInfo, _impl_.url_)}},
      // string image_caption = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ImageInfo, _impl_.image_caption_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string image_caption = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ImageInfo, _impl_.image_caption_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.SecurityOrigin security_origin = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ImageInfo, _impl_.security_origin_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string url = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(ImageInfo, _impl_.url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SecurityOrigin>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SecurityOrigin_globals_},
        #endif
    }},
    {{
      "\42\15\0\3\0\0\0\0"
      "optimization_guide.proto.ImageInfo"
      "image_caption"
      "url"
    }},
  };
}


inline constexpr ImageInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        image_caption_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        security_origin_{nullptr} {}

template <typename>
constexpr ImageInfo::ImageInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ImageInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ImageInfo(arena);
}
constexpr auto ImageInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ImageInfo), alignof(ImageInfo));
}
constexpr auto ImageInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ImageInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ImageInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ImageInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ImageInfo>(), &ImageInfo::ByteSizeLong,
              &ImageInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ImageInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ImageInfo",
  };
}
struct ImageInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ImageInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ImageInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ImageInfo::InternalGenerateClassData_(
            _default, &ImageInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ImageInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ImageInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ImageInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ImageInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ImageInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr IframeInfo::ParseTableT_ IframeInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IframeInfo, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::IframeInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.SecurityOrigin security_origin = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_.security_origin_)}},
      // string url = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_.url_)}},
      // .optimization_guide.proto.BoundingRect bounding_box = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 1,
        PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_.bounding_box_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.SecurityOrigin security_origin = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_.security_origin_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string url = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_.url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.BoundingRect bounding_box = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_.bounding_box_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SecurityOrigin>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SecurityOrigin_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingRect>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingRect_globals_},
        #endif
    }},
    {{
      "\43\0\3\0\0\0\0\0"
      "optimization_guide.proto.IframeInfo"
      "url"
    }},
  };
}


inline constexpr IframeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        security_origin_{nullptr},
        bounding_box_{nullptr} {}

template <typename>
constexpr IframeInfo::IframeInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL IframeInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) IframeInfo(arena);
}
constexpr auto IframeInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(IframeInfo), alignof(IframeInfo));
}
constexpr auto IframeInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &IframeInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<IframeInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &IframeInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<IframeInfo>(), &IframeInfo::ByteSizeLong,
              &IframeInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.IframeInfo",
  };
}
struct IframeInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr IframeInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 IframeInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(IframeInfo::InternalGenerateClassData_(
            _default, &IframeInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<IframeInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~IframeInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) IframeInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<IframeInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(IframeInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Geometry::ParseTableT_ Geometry::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Geometry, _impl_._has_bits_),
      0, // no _extensions_
      8, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967128,  // 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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Geometry>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.CssPosition css_position = 8 [features = {
      {::_pbi::TcParser::FastV32S1,
       {64, 4, 0,
        PROTOBUF_FIELD_OFFSET(Geometry, _impl_.css_position_)}},
      // .optimization_guide.proto.BoundingRect outer_bounding_box = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(Geometry, _impl_.outer_bounding_box_)}},
      // .optimization_guide.proto.BoundingRect visible_bounding_box = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 2, 1,
        PROTOBUF_FIELD_OFFSET(Geometry, _impl_.visible_bounding_box_)}},
      // bool is_fixed_or_sticky_position = 3 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 3, 0,
        PROTOBUF_FIELD_OFFSET(Geometry, _impl_.is_fixed_or_sticky_position_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .optimization_guide.proto.BoundingRect fragment_visible_bounding_boxes = 6;
      {::_pbi::TcParser::FastMtR1,
       {50, 0, 2,
        PROTOBUF_FIELD_OFFSET(Geometry, _impl_.fragment_visible_bounding_boxes_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.BoundingRect outer_bounding_box = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Geometry, _impl_.outer_bounding_box_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.BoundingRect visible_bounding_box = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Geometry, _impl_.visible_bounding_box_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool is_fixed_or_sticky_position = 3 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(Geometry, _impl_.is_fixed_or_sticky_position_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // repeated .optimization_guide.proto.BoundingRect fragment_visible_bounding_boxes = 6;
      {PROTOBUF_FIELD_OFFSET(Geometry, _impl_.fragment_visible_bounding_boxes_), _Internal::kHasBitsOffset + 0, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.CssPosition css_position = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(Geometry, _impl_.css_position_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingRect>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingRect_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingRect>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingRect_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingRect>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingRect_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr Geometry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        fragment_visible_bounding_boxes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::Geometry,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::Geometry, _impl_.fragment_visible_bounding_boxes_)>()
         }
        ,
        outer_bounding_box_{nullptr},
        visible_bounding_box_{nullptr},
        is_fixed_or_sticky_position_{false},
        css_position_{static_cast< ::optimization_guide::proto::CssPosition >(0)} {}

template <typename>
constexpr Geometry::Geometry(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Geometry::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Geometry(arena);
}
constexpr auto Geometry::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Geometry), alignof(Geometry));
}
constexpr auto Geometry::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Geometry::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Geometry>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Geometry::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Geometry>(), &Geometry::ByteSizeLong,
              &Geometry::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Geometry, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Geometry",
  };
}
struct GeometryGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GeometryGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Geometry_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Geometry::InternalGenerateClassData_(
            _default, &Geometry_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Geometry>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GeometryGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Geometry _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Geometry>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GeometryGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FrameMetadata::ParseTableT_ FrameMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FrameMetadata, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::FrameMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string url = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(FrameMetadata, _impl_.url_)}},
      // repeated .optimization_guide.proto.MetaTag meta_tags = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(FrameMetadata, _impl_.meta_tags_)}},
      // bool has_media_transcripts = 3 [features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(FrameMetadata, _impl_.has_media_transcripts_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string url = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameMetadata, _impl_.url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .optimization_guide.proto.MetaTag meta_tags = 2;
      {PROTOBUF_FIELD_OFFSET(FrameMetadata, _impl_.meta_tags_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool has_media_transcripts = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameMetadata, _impl_.has_media_transcripts_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::MetaTag>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::MetaTag_globals_},
        #endif
    }},
    {{
      "\46\3\0\0\0\0\0\0"
      "optimization_guide.proto.FrameMetadata"
      "url"
    }},
  };
}


inline constexpr FrameMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        meta_tags_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FrameMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameMetadata, _impl_.meta_tags_)>()
         }
        ,
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        has_media_transcripts_{false} {}

template <typename>
constexpr FrameMetadata::FrameMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FrameMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FrameMetadata(arena);
}
constexpr auto FrameMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FrameMetadata), alignof(FrameMetadata));
}
constexpr auto FrameMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FrameMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FrameMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FrameMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FrameMetadata>(), &FrameMetadata::ByteSizeLong,
              &FrameMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FrameMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FrameMetadata",
  };
}
struct FrameMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FrameMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FrameMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FrameMetadata::InternalGenerateClassData_(
            _default, &FrameMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FrameMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FrameMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FrameMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FrameMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FrameMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FrameInteractionInfo::ParseTableT_ FrameInteractionInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::FrameInteractionInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.Selection selection = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_.selection_)}},
      // int32 focused_node_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_.focused_node_id_)}},
      // int32 accessibility_focused_node_id = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_.accessibility_focused_node_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.Selection selection = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_.selection_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 focused_node_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_.focused_node_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 accessibility_focused_node_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_.accessibility_focused_node_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Selection>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Selection_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr FrameInteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        selection_{nullptr},
        focused_node_id_{0},
        accessibility_focused_node_id_{0} {}

template <typename>
constexpr FrameInteractionInfo::FrameInteractionInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FrameInteractionInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FrameInteractionInfo(arena);
}
constexpr auto FrameInteractionInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(FrameInteractionInfo), alignof(FrameInteractionInfo));
}
constexpr auto FrameInteractionInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FrameInteractionInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FrameInteractionInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FrameInteractionInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FrameInteractionInfo>(), &FrameInteractionInfo::ByteSizeLong,
              &FrameInteractionInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FrameInteractionInfo",
  };
}
struct FrameInteractionInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FrameInteractionInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FrameInteractionInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FrameInteractionInfo::InternalGenerateClassData_(
            _default, &FrameInteractionInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FrameInteractionInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FrameInteractionInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FrameInteractionInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FrameInteractionInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FrameInteractionInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FormFieldData::ParseTableT_ FormFieldData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FormFieldData, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::FormFieldData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string field_name = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_name_)}},
      // string field_label = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_label_)}},
      // string field_value = 3 [deprecated = true, features = {
      {::_pbi::TcParser::FastUS1,
       {26, 3, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_value_)}},
      // bool is_visible = 4 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {32, 9, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.is_visible_)}},
      // bool is_focusable = 5 [features = {
      {::_pbi::TcParser::FastV8S1,
       {40, 10, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.is_focusable_)}},
      // .optimization_guide.proto.FormControlType form_control_type = 6 [features = {
      {::_pbi::TcParser::FastV32S1,
       {48, 8, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.form_control_type_)}},
      // repeated .optimization_guide.proto.SelectOption select_options = 7;
      {::_pbi::TcParser::FastMtR1,
       {58, 0, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.select_options_)}},
      // string placeholder = 8 [features = {
      {::_pbi::TcParser::FastUS1,
       {66, 4, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.placeholder_)}},
      // int32 form_control_ax_node_id = 9 [features = {
      {::_pbi::TcParser::FastV32S1,
       {72, 12, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.form_control_ax_node_id_)}},
      // bool is_eligible = 10 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {80, 11, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.is_eligible_)}},
      // .optimization_guide.proto.AutofillGlobalId global_id = 11 [features = {
      {::_pbi::TcParser::FastMtS1,
       {90, 7, 1,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.global_id_)}},
      // uint32 field_signature = 12 [features = {
      {::_pbi::TcParser::FastV32S1,
       {96, 13, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_signature_)}},
      // string aria_label = 13 [features = {
      {::_pbi::TcParser::FastUS1,
       {106, 5, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.aria_label_)}},
      // string aria_description = 14 [features = {
      {::_pbi::TcParser::FastUS1,
       {114, 6, 0,
        PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.aria_description_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string field_name = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string field_label = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_label_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string field_value = 3 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_value_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bool is_visible = 4 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.is_visible_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_focusable = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.is_focusable_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.FormControlType form_control_type = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.form_control_type_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // repeated .optimization_guide.proto.SelectOption select_options = 7;
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.select_options_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // string placeholder = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.placeholder_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int32 form_control_ax_node_id = 9 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.form_control_ax_node_id_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // bool is_eligible = 10 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.is_eligible_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.AutofillGlobalId global_id = 11 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.global_id_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint32 field_signature = 12 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_signature_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // string aria_label = 13 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.aria_label_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string aria_description = 14 [features = {
      {PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.aria_description_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SelectOption>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SelectOption_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AutofillGlobalId>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AutofillGlobalId_globals_},
        #endif
    }},
    {{
      "\46\12\13\13\0\0\0\0\13\0\0\0\0\12\20\0"
      "optimization_guide.proto.FormFieldData"
      "field_name"
      "field_label"
      "field_value"
      "placeholder"
      "aria_label"
      "aria_description"
    }},
  };
}


inline constexpr FormFieldData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        select_options_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormFieldData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormFieldData, _impl_.select_options_)>()
         }
        ,
        field_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        field_label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        field_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        placeholder_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        aria_label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        aria_description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        global_id_{nullptr},
        form_control_type_{static_cast< ::optimization_guide::proto::FormControlType >(0)},
        is_visible_{false},
        is_focusable_{false},
        is_eligible_{false},
        form_control_ax_node_id_{0},
        field_signature_{0u} {}

template <typename>
constexpr FormFieldData::FormFieldData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FormFieldData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FormFieldData(arena);
}
constexpr auto FormFieldData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FormFieldData), alignof(FormFieldData));
}
constexpr auto FormFieldData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FormFieldData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FormFieldData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FormFieldData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FormFieldData>(), &FormFieldData::ByteSizeLong,
              &FormFieldData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FormFieldData",
  };
}
struct FormFieldDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FormFieldDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FormFieldData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FormFieldData::InternalGenerateClassData_(
            _default, &FormFieldData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FormFieldData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FormFieldDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FormFieldData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FormFieldData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FormFieldDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FormControlData::ParseTableT_ FormControlData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FormControlData, _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
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::FormControlData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string field_name = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 2, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.field_name_)}},
      // string field_value = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 3, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.field_value_)}},
      // .optimization_guide.proto.FormControlType form_control_type = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 5, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.form_control_type_)}},
      // repeated .optimization_guide.proto.SelectOption select_options = 4;
      {::_pbi::TcParser::FastMtR1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.select_options_)}},
      // string placeholder = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 4, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.placeholder_)}},
      // bool is_checked = 6 [features = {
      {::_pbi::TcParser::FastV8S1,
       {48, 7, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.is_checked_)}},
      // bool is_required = 7 [features = {
      {::_pbi::TcParser::FastV8S1,
       {56, 8, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.is_required_)}},
      // .optimization_guide.proto.RedactionDecision redaction_decision = 8 [deprecated = true, features = {
      {::_pbi::TcParser::FastV32S1,
       {64, 6, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.redaction_decision_)}},
      // repeated .optimization_guide.proto.CoarseAutofillFieldType coarse_autofill_field_type = 9;
      {::_pbi::TcParser::FastV32P1,
       {74, 1, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.coarse_autofill_field_type_)}},
      // uint32 autofill_section_id = 10 [features = {
      {::_pbi::TcParser::FastV32S1,
       {80, 10, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.autofill_section_id_)}},
      // bool is_readonly = 11 [features = {
      {::_pbi::TcParser::FastV8S1,
       {88, 9, 0,
        PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.is_readonly_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string field_name = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.field_name_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string field_value = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.field_value_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.FormControlType form_control_type = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.form_control_type_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // repeated .optimization_guide.proto.SelectOption select_options = 4;
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.select_options_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // string placeholder = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.placeholder_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // bool is_checked = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.is_checked_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_required = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.is_required_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.RedactionDecision redaction_decision = 8 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.redaction_decision_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // repeated .optimization_guide.proto.CoarseAutofillFieldType coarse_autofill_field_type = 9;
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.coarse_autofill_field_type_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
      // uint32 autofill_section_id = 10 [features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.autofill_section_id_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // bool is_readonly = 11 [features = {
      {PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.is_readonly_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SelectOption>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SelectOption_globals_},
        #endif
    }},
    {{
      "\50\12\13\0\0\13\0\0\0\0\0\0\0\0\0\0"
      "optimization_guide.proto.FormControlData"
      "field_name"
      "field_value"
      "placeholder"
    }},
  };
}


inline constexpr FormControlData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        select_options_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormControlData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormControlData, _impl_.select_options_)>()
         }
        ,
        coarse_autofill_field_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormControlData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormControlData, _impl_.coarse_autofill_field_type_)>()
         }
        ,
        _coarse_autofill_field_type_cached_byte_size_{0},
        field_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        field_value_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        placeholder_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        form_control_type_{static_cast< ::optimization_guide::proto::FormControlType >(0)},
        redaction_decision_{static_cast< ::optimization_guide::proto::RedactionDecision >(0)},
        is_checked_{false},
        is_required_{false},
        is_readonly_{false},
        autofill_section_id_{0u} {}

template <typename>
constexpr FormControlData::FormControlData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FormControlData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FormControlData(arena);
}
constexpr auto FormControlData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FormControlData), alignof(FormControlData));
}
constexpr auto FormControlData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FormControlData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FormControlData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FormControlData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FormControlData>(), &FormControlData::ByteSizeLong,
              &FormControlData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FormControlData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FormControlData",
  };
}
struct FormControlDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FormControlDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FormControlData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FormControlData::InternalGenerateClassData_(
            _default, &FormControlData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FormControlData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FormControlDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FormControlData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FormControlData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FormControlDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Embedding::ParseTableT_ Embedding::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Embedding, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Embedding>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.FloatArray floats = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Embedding, _impl_.floats_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.FloatArray floats = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Embedding, _impl_.floats_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FloatArray>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FloatArray_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr Embedding::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        floats_{nullptr} {}

template <typename>
constexpr Embedding::Embedding(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Embedding::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Embedding(arena);
}
constexpr auto Embedding::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Embedding), alignof(Embedding));
}
constexpr auto Embedding::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Embedding::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Embedding>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Embedding::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Embedding>(), &Embedding::ByteSizeLong,
              &Embedding::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Embedding, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Embedding",
  };
}
struct EmbeddingGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr EmbeddingGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Embedding_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Embedding::InternalGenerateClassData_(
            _default, &Embedding_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Embedding>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~EmbeddingGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Embedding _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Embedding>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(EmbeddingGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr DocumentSelection::ParseTableT_ DocumentSelection::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DocumentSelection, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentSelection>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.Selection selection = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(DocumentSelection, _impl_.selection_)}},
      // .optimization_guide.proto.DocumentIdentifier document_identifier = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(DocumentSelection, _impl_.document_identifier_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.DocumentIdentifier document_identifier = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(DocumentSelection, _impl_.document_identifier_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.Selection selection = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(DocumentSelection, _impl_.selection_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentIdentifier>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DocumentIdentifier_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Selection>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Selection_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr DocumentSelection::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        document_identifier_{nullptr},
        selection_{nullptr} {}

template <typename>
constexpr DocumentSelection::DocumentSelection(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL DocumentSelection::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DocumentSelection(arena);
}
constexpr auto DocumentSelection::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DocumentSelection), alignof(DocumentSelection));
}
constexpr auto DocumentSelection::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &DocumentSelection::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DocumentSelection>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DocumentSelection::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DocumentSelection>(), &DocumentSelection::ByteSizeLong,
              &DocumentSelection::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DocumentSelection, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.DocumentSelection",
  };
}
struct DocumentSelectionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DocumentSelectionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DocumentSelection_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DocumentSelection::InternalGenerateClassData_(
            _default, &DocumentSelection_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DocumentSelection>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DocumentSelectionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DocumentSelection _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DocumentSelection>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DocumentSelectionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST DocumentSelectionGlobalsTypeInternal DocumentSelection_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* DocumentSelection_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return DocumentSelection_globals_.GetClassData();
#else
  return DocumentSelection_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class DateTime::_Internal {
 public:
  using HasBits = decltype(::std::declval<DateTime>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(DateTime, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::DateTime, _impl_._oneof_case_);
};

constexpr DateTime::ParseTableT_ DateTime::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(DateTime, _impl_._has_bits_),
      0, // no _extensions_
      9, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966784,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::DateTime>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 year = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(DateTime, _impl_.year_)}},
      // int32 month = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(DateTime, _impl_.month_)}},
      // int32 day = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(DateTime, _impl_.day_)}},
      // int32 hours = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(DateTime, _impl_.hours_)}},
      // int32 minutes = 5 [features = {
      {::_pbi::TcParser::FastV32S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(DateTime, _impl_.minutes_)}},
      // int32 seconds = 6 [features = {
      {::_pbi::TcParser::FastV32S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(DateTime, _impl_.seconds_)}},
      // int32 nanos = 7 [features = {
      {::_pbi::TcParser::FastV32S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(DateTime, _impl_.nanos_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 year = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.year_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 month = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.month_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 day = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.day_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 hours = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.hours_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 minutes = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.minutes_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 seconds = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.seconds_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // int32 nanos = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.nanos_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.TimeDuration utc_offset = 8;
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.time_offset_.utc_offset_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.TimeZone time_zone = 9;
      {PROTOBUF_FIELD_OFFSET(DateTime, _impl_.time_offset_.time_zone_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TimeDuration>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TimeDuration_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TimeZone>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TimeZone_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr DateTime::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        year_{0},
        month_{0},
        day_{0},
        hours_{0},
        minutes_{0},
        seconds_{0},
        nanos_{0},
        time_offset_{},
        _oneof_case_{} {}

template <typename>
constexpr DateTime::DateTime(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL DateTime::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) DateTime(arena);
}
constexpr auto DateTime::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(DateTime), alignof(DateTime));
}
constexpr auto DateTime::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &DateTime::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<DateTime>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &DateTime::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<DateTime>(), &DateTime::ByteSizeLong,
              &DateTime::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(DateTime, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.DateTime",
  };
}
struct DateTimeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr DateTimeGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 DateTime_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(DateTime::InternalGenerateClassData_(
            _default, &DateTime_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<DateTime>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~DateTimeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) DateTime _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<DateTime>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(DateTimeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST DateTimeGlobalsTypeInternal DateTime_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* DateTime_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return DateTime_globals_.GetClassData();
#else
  return DateTime_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class AXAttribute::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXAttribute, _impl_._oneof_case_);
};

constexpr AXAttribute::ParseTableT_ AXAttribute::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AXAttribute,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      14, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294950912,  // skipmap
      offsetof(ParseTableT_, field_entries),
      14,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AXAttribute>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.AXStringAttribute string_type = 1;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_key_.string_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.AXIntAttribute int_type = 2;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_key_.int_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.AXFloatAttribute float_type = 3;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_key_.float_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.AXBoolAttribute bool_type = 4;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_key_.bool_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.AXIntListAttribute intlist_type = 5;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_key_.intlist_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.AXStringListAttribute stringlist_type = 6;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_key_.stringlist_type_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)},
      // string html_attribute_name = 7;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_key_.html_attribute_name_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string string_value = 8;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_value_.string_value_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // int32 int_value = 9;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_value_.int_value_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt32)},
      // float float_value = 10;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_value_.float_value_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kFloat)},
      // bool bool_value = 11;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_value_.bool_value_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)},
      // .optimization_guide.proto.AXIntList int_list_value = 12;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_value_.int_list_value_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AXStringList string_list_value = 13;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_value_.string_list_value_), _Internal::kOneofCaseOffset + 4, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // string html_attribute_value = 14;
      {PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_.attribute_value_.html_attribute_value_), _Internal::kOneofCaseOffset + 4, 0, (0 | ::_fl::kFcOneof | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AXIntList>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AXIntList_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AXStringList>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AXStringList_globals_},
        #endif
    }},
    {{
      "\44\0\0\0\0\0\0\23\14\0\0\0\0\0\24\0"
      "optimization_guide.proto.AXAttribute"
      "html_attribute_name"
      "string_value"
      "html_attribute_value"
    }},
  };
}


inline constexpr AXAttribute::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : attribute_key_{},
        attribute_value_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
constexpr AXAttribute::AXAttribute(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AXAttribute::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AXAttribute(arena);
}
constexpr auto AXAttribute::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AXAttribute), alignof(AXAttribute));
}
constexpr auto AXAttribute::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AXAttribute::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AXAttribute>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AXAttribute::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AXAttribute>(), &AXAttribute::ByteSizeLong,
              &AXAttribute::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AXAttribute, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AXAttribute",
  };
}
struct AXAttributeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AXAttributeGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AXAttribute_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AXAttribute::InternalGenerateClassData_(
            _default, &AXAttribute_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AXAttribute>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AXAttributeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AXAttribute _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AXAttribute>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AXAttributeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScriptToolResult::ParseTableT_ ScriptToolResult::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScriptToolResult, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptToolResult>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int32 index_of_script_tool_action = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 4, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.index_of_script_tool_action_)}},
      // string result = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.result_)}},
      // string tool_name = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.tool_name_)}},
      // string input_arguments = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.input_arguments_)}},
      // .optimization_guide.proto.ScriptTool tool = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.tool_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 index_of_script_tool_action = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.index_of_script_tool_action_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // string result = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.result_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string tool_name = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.tool_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string input_arguments = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.input_arguments_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.ScriptTool tool = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.tool_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptTool>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScriptTool_globals_},
        #endif
    }},
    {{
      "\51\0\6\11\17\0\0\0"
      "optimization_guide.proto.ScriptToolResult"
      "result"
      "tool_name"
      "input_arguments"
    }},
  };
}


inline constexpr ScriptToolResult::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        result_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tool_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        input_arguments_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tool_{nullptr},
        index_of_script_tool_action_{0} {}

template <typename>
constexpr ScriptToolResult::ScriptToolResult(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ScriptToolResult::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScriptToolResult(arena);
}
constexpr auto ScriptToolResult::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ScriptToolResult), alignof(ScriptToolResult));
}
constexpr auto ScriptToolResult::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ScriptToolResult::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScriptToolResult>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScriptToolResult::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScriptToolResult>(), &ScriptToolResult::ByteSizeLong,
              &ScriptToolResult::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScriptToolResult",
  };
}
struct ScriptToolResultGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScriptToolResultGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScriptToolResult_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScriptToolResult::InternalGenerateClassData_(
            _default, &ScriptToolResult_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScriptToolResult>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScriptToolResultGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScriptToolResult _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScriptToolResult>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScriptToolResultGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ScreenshotInfo::ParseTableT_ ScreenshotInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ScreenshotInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // bool has_selection_region_in_screenshot = 1 [features = {
      {::_pbi::TcParser::FastV8S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_.has_selection_region_in_screenshot_)}},
      // repeated .optimization_guide.proto.IframeInfo iframe_info = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_.iframe_info_)}},
      // .optimization_guide.proto.BoundingSize screenshot_size = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 1, 1,
        PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_.screenshot_size_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool has_selection_region_in_screenshot = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_.has_selection_region_in_screenshot_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // repeated .optimization_guide.proto.IframeInfo iframe_info = 2;
      {PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_.iframe_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.BoundingSize screenshot_size = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_.screenshot_size_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::IframeInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::IframeInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingSize>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingSize_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ScreenshotInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        iframe_info_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ScreenshotInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ScreenshotInfo, _impl_.iframe_info_)>()
         }
        ,
        screenshot_size_{nullptr},
        has_selection_region_in_screenshot_{false} {}

template <typename>
constexpr ScreenshotInfo::ScreenshotInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ScreenshotInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ScreenshotInfo(arena);
}
constexpr auto ScreenshotInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ScreenshotInfo), alignof(ScreenshotInfo));
}
constexpr auto ScreenshotInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ScreenshotInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ScreenshotInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ScreenshotInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ScreenshotInfo>(), &ScreenshotInfo::ByteSizeLong,
              &ScreenshotInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ScreenshotInfo",
  };
}
struct ScreenshotInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ScreenshotInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ScreenshotInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ScreenshotInfo::InternalGenerateClassData_(
            _default, &ScreenshotInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ScreenshotInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ScreenshotInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ScreenshotInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ScreenshotInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ScreenshotInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PageMetadata::ParseTableT_ PageMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PageMetadata, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PageMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.FrameMetadata frame_metadata = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PageMetadata, _impl_.frame_metadata_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.FrameMetadata frame_metadata = 1;
      {PROTOBUF_FIELD_OFFSET(PageMetadata, _impl_.frame_metadata_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FrameMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FrameMetadata_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PageMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        frame_metadata_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PageMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PageMetadata, _impl_.frame_metadata_)>()
         }
     {}

template <typename>
constexpr PageMetadata::PageMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PageMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PageMetadata(arena);
}
constexpr auto PageMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PageMetadata), alignof(PageMetadata));
}
constexpr auto PageMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PageMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PageMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PageMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PageMetadata>(), &PageMetadata::ByteSizeLong,
              &PageMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PageMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.PageMetadata",
  };
}
struct PageMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PageMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PageMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PageMetadata::InternalGenerateClassData_(
            _default, &PageMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PageMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PageMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PageMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PageMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PageMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr NavigationSource::ParseTableT_ NavigationSource::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(NavigationSource, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::NavigationSource>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.Location source = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(NavigationSource, _impl_.source_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.Location source = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(NavigationSource, _impl_.source_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Location>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Location_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr NavigationSource::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        source_{nullptr} {}

template <typename>
constexpr NavigationSource::NavigationSource(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL NavigationSource::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) NavigationSource(arena);
}
constexpr auto NavigationSource::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(NavigationSource), alignof(NavigationSource));
}
constexpr auto NavigationSource::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &NavigationSource::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<NavigationSource>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &NavigationSource::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<NavigationSource>(), &NavigationSource::ByteSizeLong,
              &NavigationSource::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(NavigationSource, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.NavigationSource",
  };
}
struct NavigationSourceGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr NavigationSourceGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 NavigationSource_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(NavigationSource::InternalGenerateClassData_(
            _default, &NavigationSource_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<NavigationSource>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~NavigationSourceGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) NavigationSource _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<NavigationSource>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(NavigationSourceGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr InteractionInfo::ParseTableT_ InteractionInfo::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_._has_bits_),
      0, // no _extensions_
      20, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4293919875,  // skipmap
      offsetof(ParseTableT_, field_entries),
      16,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::InteractionInfo>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // bool is_selectable = 3 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {24, 5, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_selectable_)}},
      // bool is_editable = 4 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {32, 6, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_editable_)}},
      // bool can_resize_horizontal = 5 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {40, 7, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.can_resize_horizontal_)}},
      // bool can_resize_vertical = 6 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {48, 8, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.can_resize_vertical_)}},
      // bool is_focusable = 7 [features = {
      {::_pbi::TcParser::FastV8S1,
       {56, 9, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_focusable_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // bool is_draggable = 9 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {72, 10, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_draggable_)}},
      // bool is_clickable = 10 [deprecated = true, features = {
      {::_pbi::TcParser::FastV8S1,
       {80, 11, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_clickable_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ScrollerInfo scroller_info = 12 [features = {
      {::_pbi::TcParser::FastMtS1,
       {98, 4, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.scroller_info_)}},
      // int32 document_scoped_z_order = 13 [features = {
      {::_pbi::TcParser::FastV32S1,
       {104, 13, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.document_scoped_z_order_)}},
      // repeated .optimization_guide.proto.ClickabilityReason debug_clickability_reasons = 14 [deprecated = true];
      {::_pbi::TcParser::FastV32P1,
       {114, 0, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.debug_clickability_reasons_)}},
      // repeated .optimization_guide.proto.ClickabilityReason clickability_reasons = 15;
      {::_pbi::TcParser::FastV32P1,
       {122, 1, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.clickability_reasons_)}},
      // bool is_disabled = 16 [features = {
      {::_pbi::TcParser::FastV8S2,
       {384, 12, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_disabled_)}},
      // repeated .optimization_guide.proto.InteractionDisabledReason interaction_disabled_reasons = 17;
      {::_pbi::TcParser::FastV32P2,
       {394, 2, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.interaction_disabled_reasons_)}},
      // bool is_tabbable = 18 [features = {
      {::_pbi::TcParser::FastV8S2,
       {400, 14, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_tabbable_)}},
      // bool has_aria_activedescendant = 19 [features = {
      {::_pbi::TcParser::FastV8S2,
       {408, 15, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.has_aria_activedescendant_)}},
      // repeated int32 aria_action_target_node_ids = 20;
      {::_pbi::TcParser::FastV32P2,
       {418, 3, 0,
        PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.aria_action_target_node_ids_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // bool is_selectable = 3 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_selectable_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_editable = 4 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_editable_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool can_resize_horizontal = 5 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.can_resize_horizontal_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool can_resize_vertical = 6 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.can_resize_vertical_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_focusable = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_focusable_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_draggable = 9 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_draggable_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool is_clickable = 10 [deprecated = true, features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_clickable_), _Internal::kHasBitsOffset + 11, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.ScrollerInfo scroller_info = 12 [features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.scroller_info_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 document_scoped_z_order = 13 [features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.document_scoped_z_order_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .optimization_guide.proto.ClickabilityReason debug_clickability_reasons = 14 [deprecated = true];
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.debug_clickability_reasons_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
      // repeated .optimization_guide.proto.ClickabilityReason clickability_reasons = 15;
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.clickability_reasons_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
      // bool is_disabled = 16 [features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_disabled_), _Internal::kHasBitsOffset + 12, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // repeated .optimization_guide.proto.InteractionDisabledReason interaction_disabled_reasons = 17;
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.interaction_disabled_reasons_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
      // bool is_tabbable = 18 [features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.is_tabbable_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // bool has_aria_activedescendant = 19 [features = {
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.has_aria_activedescendant_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // repeated int32 aria_action_target_node_ids = 20;
      {PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.aria_action_target_node_ids_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScrollerInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScrollerInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr InteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        debug_clickability_reasons_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::InteractionInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.debug_clickability_reasons_)>()
         }
        ,
        _debug_clickability_reasons_cached_byte_size_{0},
        clickability_reasons_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::InteractionInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.clickability_reasons_)>()
         }
        ,
        _clickability_reasons_cached_byte_size_{0},
        interaction_disabled_reasons_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::InteractionInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.interaction_disabled_reasons_)>()
         }
        ,
        _interaction_disabled_reasons_cached_byte_size_{0},
        aria_action_target_node_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::InteractionInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.aria_action_target_node_ids_)>()
         }
        ,
        _aria_action_target_node_ids_cached_byte_size_{0},
        scroller_info_{nullptr},
        is_selectable_{false},
        is_editable_{false},
        can_resize_horizontal_{false},
        can_resize_vertical_{false},
        is_focusable_{false},
        is_draggable_{false},
        is_clickable_{false},
        is_disabled_{false},
        document_scoped_z_order_{0},
        is_tabbable_{false},
        has_aria_activedescendant_{false} {}

template <typename>
constexpr InteractionInfo::InteractionInfo(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL InteractionInfo::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) InteractionInfo(arena);
}
constexpr auto InteractionInfo::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(InteractionInfo), alignof(InteractionInfo));
}
constexpr auto InteractionInfo::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &InteractionInfo::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<InteractionInfo>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &InteractionInfo::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<InteractionInfo>(), &InteractionInfo::ByteSizeLong,
              &InteractionInfo::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.InteractionInfo",
  };
}
struct InteractionInfoGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr InteractionInfoGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 InteractionInfo_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(InteractionInfo::InternalGenerateClassData_(
            _default, &InteractionInfo_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<InteractionInfo>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~InteractionInfoGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) InteractionInfo _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<InteractionInfo>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(InteractionInfoGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FormData::ParseTableT_ FormData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FormData, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::FormData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string form_name = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(FormData, _impl_.form_name_)}},
      // repeated .optimization_guide.proto.FormFieldData fields = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(FormData, _impl_.fields_)}},
      // .optimization_guide.proto.AutofillGlobalId global_id = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 3, 1,
        PROTOBUF_FIELD_OFFSET(FormData, _impl_.global_id_)}},
      // uint64 form_signature = 4 [features = {
      {::_pbi::TcParser::FastV64S1,
       {32, 4, 0,
        PROTOBUF_FIELD_OFFSET(FormData, _impl_.form_signature_)}},
      // string action_url = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 2, 0,
        PROTOBUF_FIELD_OFFSET(FormData, _impl_.action_url_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string form_name = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(FormData, _impl_.form_name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .optimization_guide.proto.FormFieldData fields = 2;
      {PROTOBUF_FIELD_OFFSET(FormData, _impl_.fields_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AutofillGlobalId global_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(FormData, _impl_.global_id_), _Internal::kHasBitsOffset + 3, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint64 form_signature = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(FormData, _impl_.form_signature_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // string action_url = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(FormData, _impl_.action_url_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FormFieldData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FormFieldData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AutofillGlobalId>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AutofillGlobalId_globals_},
        #endif
    }},
    {{
      "\41\11\0\0\0\12\0\0"
      "optimization_guide.proto.FormData"
      "form_name"
      "action_url"
    }},
  };
}


inline constexpr FormData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        fields_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormData, _impl_.fields_)>()
         }
        ,
        form_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        action_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        global_id_{nullptr},
        form_signature_{::uint64_t{0u}} {}

template <typename>
constexpr FormData::FormData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FormData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FormData(arena);
}
constexpr auto FormData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FormData), alignof(FormData));
}
constexpr auto FormData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FormData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FormData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FormData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FormData>(), &FormData::ByteSizeLong,
              &FormData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FormData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FormData",
  };
}
struct FormDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FormDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FormData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FormData::InternalGenerateClassData_(
            _default, &FormData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FormData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FormDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FormData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FormData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FormDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AXNodeData::ParseTableT_ AXNodeData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // 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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AXNodeData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // uint32 id = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.id_)}},
      // .optimization_guide.proto.AXRole role = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 4, 0,
        PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.role_)}},
      // uint32 state = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 6, 0,
        PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.state_)}},
      // uint64 actions = 4 [features = {
      {::_pbi::TcParser::FastV64S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.actions_)}},
      // repeated .optimization_guide.proto.AXAttribute attributes = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.attributes_)}},
      // repeated int32 child_ids = 6;
      {::_pbi::TcParser::FastV32P1,
       {50, 1, 0,
        PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.child_ids_)}},
      // .optimization_guide.proto.AXRelativeBounds relative_bounds = 7 [features = {
      {::_pbi::TcParser::FastMtS1,
       {58, 2, 1,
        PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.relative_bounds_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint32 id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // .optimization_guide.proto.AXRole role = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.role_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // uint32 state = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.state_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // uint64 actions = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.actions_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // repeated .optimization_guide.proto.AXAttribute attributes = 5;
      {PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.attributes_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated int32 child_ids = 6;
      {PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.child_ids_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt32)},
      // .optimization_guide.proto.AXRelativeBounds relative_bounds = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.relative_bounds_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AXAttribute>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AXAttribute_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AXRelativeBounds>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AXRelativeBounds_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AXNodeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        attributes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXNodeData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXNodeData, _impl_.attributes_)>()
         }
        ,
        child_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXNodeData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXNodeData, _impl_.child_ids_)>()
         }
        ,
        _child_ids_cached_byte_size_{0},
        relative_bounds_{nullptr},
        id_{0u},
        role_{static_cast< ::optimization_guide::proto::AXRole >(0)},
        actions_{::uint64_t{0u}},
        state_{0u} {}

template <typename>
constexpr AXNodeData::AXNodeData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AXNodeData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AXNodeData(arena);
}
constexpr auto AXNodeData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AXNodeData), alignof(AXNodeData));
}
constexpr auto AXNodeData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AXNodeData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AXNodeData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AXNodeData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AXNodeData>(), &AXNodeData::ByteSizeLong,
              &AXNodeData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AXNodeData",
  };
}
struct AXNodeDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AXNodeDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AXNodeData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AXNodeData::InternalGenerateClassData_(
            _default, &AXNodeData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AXNodeData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AXNodeDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AXNodeData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AXNodeData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AXNodeDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr LocationRule::ParseTableT_ LocationRule::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(LocationRule, _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
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::LocationRule>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.Location location = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(LocationRule, _impl_.location_)}},
      // .optimization_guide.proto.RuleMetadata metadata = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 2, 1,
        PROTOBUF_FIELD_OFFSET(LocationRule, _impl_.metadata_)}},
      // repeated .optimization_guide.proto.NavigationSource navigation_sources = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 2,
        PROTOBUF_FIELD_OFFSET(LocationRule, _impl_.navigation_sources_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.Location location = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(LocationRule, _impl_.location_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.RuleMetadata metadata = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(LocationRule, _impl_.metadata_), _Internal::kHasBitsOffset + 2, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.NavigationSource navigation_sources = 3;
      {PROTOBUF_FIELD_OFFSET(LocationRule, _impl_.navigation_sources_), _Internal::kHasBitsOffset + 0, 2, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Location>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Location_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::RuleMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::RuleMetadata_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::NavigationSource>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::NavigationSource_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr LocationRule::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        navigation_sources_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::LocationRule,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::LocationRule, _impl_.navigation_sources_)>()
         }
        ,
        location_{nullptr},
        metadata_{nullptr} {}

template <typename>
constexpr LocationRule::LocationRule(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL LocationRule::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) LocationRule(arena);
}
constexpr auto LocationRule::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(LocationRule), alignof(LocationRule));
}
constexpr auto LocationRule::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &LocationRule::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<LocationRule>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &LocationRule::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<LocationRule>(), &LocationRule::ByteSizeLong,
              &LocationRule::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(LocationRule, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.LocationRule",
  };
}
struct LocationRuleGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr LocationRuleGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 LocationRule_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(LocationRule::InternalGenerateClassData_(
            _default, &LocationRule_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<LocationRule>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~LocationRuleGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) LocationRule _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<LocationRule>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(LocationRuleGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr GeminiInChromePageMetadata::ParseTableT_ GeminiInChromePageMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GeminiInChromePageMetadata, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::GeminiInChromePageMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ScreenshotInfo screenshot_info = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(GeminiInChromePageMetadata, _impl_.screenshot_info_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ScreenshotInfo screenshot_info = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(GeminiInChromePageMetadata, _impl_.screenshot_info_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScreenshotInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScreenshotInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr GeminiInChromePageMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        screenshot_info_{nullptr} {}

template <typename>
constexpr GeminiInChromePageMetadata::GeminiInChromePageMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL GeminiInChromePageMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GeminiInChromePageMetadata(arena);
}
constexpr auto GeminiInChromePageMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(GeminiInChromePageMetadata), alignof(GeminiInChromePageMetadata));
}
constexpr auto GeminiInChromePageMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &GeminiInChromePageMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GeminiInChromePageMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GeminiInChromePageMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GeminiInChromePageMetadata>(), &GeminiInChromePageMetadata::ByteSizeLong,
              &GeminiInChromePageMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GeminiInChromePageMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.GeminiInChromePageMetadata",
  };
}
struct GeminiInChromePageMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GeminiInChromePageMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GeminiInChromePageMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GeminiInChromePageMetadata::InternalGenerateClassData_(
            _default, &GeminiInChromePageMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GeminiInChromePageMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GeminiInChromePageMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GeminiInChromePageMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GeminiInChromePageMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GeminiInChromePageMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr FrameData::ParseTableT_ FrameData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(FrameData, _impl_._has_bits_),
      0, // no _extensions_
      12, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294963776,  // skipmap
      offsetof(ParseTableT_, field_entries),
      10,  // num_field_entries
      7,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::FrameData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.SecurityOrigin security_origin = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 4, 0,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.security_origin_)}},
      // .optimization_guide.proto.FrameInteractionInfo frame_interaction_info = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 5, 1,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.frame_interaction_info_)}},
      // .optimization_guide.proto.DocumentIdentifier document_identifier = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 6, 2,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.document_identifier_)}},
      // string url = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.url_)}},
      // string title = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.title_)}},
      // .optimization_guide.proto.PaidContentMetadata paid_content_metadata = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 7, 3,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.paid_content_metadata_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.MediaData media_data = 8 [features = {
      {::_pbi::TcParser::FastMtS1,
       {66, 8, 4,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.media_data_)}},
      // repeated .optimization_guide.proto.ScriptTool script_tools = 9;
      {::_pbi::TcParser::FastMtR1,
       {74, 0, 5,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.script_tools_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .optimization_guide.proto.ScriptToolResult script_tool_results = 11;
      {::_pbi::TcParser::FastMtR1,
       {90, 1, 6,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.script_tool_results_)}},
      // uint32 default_line_height_px = 12 [features = {
      {::_pbi::TcParser::FastV32S1,
       {96, 9, 0,
        PROTOBUF_FIELD_OFFSET(FrameData, _impl_.default_line_height_px_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.SecurityOrigin security_origin = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.security_origin_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.FrameInteractionInfo frame_interaction_info = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.frame_interaction_info_), _Internal::kHasBitsOffset + 5, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.DocumentIdentifier document_identifier = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.document_identifier_), _Internal::kHasBitsOffset + 6, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string url = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.url_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string title = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.title_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.PaidContentMetadata paid_content_metadata = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.paid_content_metadata_), _Internal::kHasBitsOffset + 7, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.MediaData media_data = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.media_data_), _Internal::kHasBitsOffset + 8, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.ScriptTool script_tools = 9;
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.script_tools_), _Internal::kHasBitsOffset + 0, 5, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.ScriptToolResult script_tool_results = 11;
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.script_tool_results_), _Internal::kHasBitsOffset + 1, 6, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint32 default_line_height_px = 12 [features = {
      {PROTOBUF_FIELD_OFFSET(FrameData, _impl_.default_line_height_px_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SecurityOrigin>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SecurityOrigin_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FrameInteractionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FrameInteractionInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentIdentifier>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DocumentIdentifier_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PaidContentMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PaidContentMetadata_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::MediaData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::MediaData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptTool>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScriptTool_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ScriptToolResult>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ScriptToolResult_globals_},
        #endif
    }},
    {{
      "\42\0\0\0\3\5\0\0\0\0\0\0\0\0\0\0"
      "optimization_guide.proto.FrameData"
      "url"
      "title"
    }},
  };
}


inline constexpr FrameData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        script_tools_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FrameData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameData, _impl_.script_tools_)>()
         }
        ,
        script_tool_results_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FrameData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameData, _impl_.script_tool_results_)>()
         }
        ,
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        security_origin_{nullptr},
        frame_interaction_info_{nullptr},
        document_identifier_{nullptr},
        paid_content_metadata_{nullptr},
        media_data_{nullptr},
        default_line_height_px_{0u} {}

template <typename>
constexpr FrameData::FrameData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL FrameData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) FrameData(arena);
}
constexpr auto FrameData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(FrameData), alignof(FrameData));
}
constexpr auto FrameData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &FrameData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<FrameData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &FrameData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<FrameData>(), &FrameData::ByteSizeLong,
              &FrameData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(FrameData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.FrameData",
  };
}
struct FrameDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr FrameDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 FrameData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(FrameData::InternalGenerateClassData_(
            _default, &FrameData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<FrameData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~FrameDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) FrameData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<FrameData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(FrameDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AXTreeUpdate::ParseTableT_ AXTreeUpdate::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AXTreeUpdate>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.AXTreeData tree_data = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_.tree_data_)}},
      // uint32 root_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_.root_id_)}},
      // repeated .optimization_guide.proto.AXNodeData nodes = 3;
      {::_pbi::TcParser::FastMtR1,
       {26, 0, 1,
        PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_.nodes_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.AXTreeData tree_data = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_.tree_data_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // uint32 root_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_.root_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // repeated .optimization_guide.proto.AXNodeData nodes = 3;
      {PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_.nodes_), _Internal::kHasBitsOffset + 0, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AXTreeData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AXTreeData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AXNodeData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AXNodeData_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AXTreeUpdate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        nodes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXTreeUpdate,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXTreeUpdate, _impl_.nodes_)>()
         }
        ,
        tree_data_{nullptr},
        root_id_{0u} {}

template <typename>
constexpr AXTreeUpdate::AXTreeUpdate(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AXTreeUpdate::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AXTreeUpdate(arena);
}
constexpr auto AXTreeUpdate::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AXTreeUpdate), alignof(AXTreeUpdate));
}
constexpr auto AXTreeUpdate::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AXTreeUpdate::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AXTreeUpdate>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AXTreeUpdate::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AXTreeUpdate>(), &AXTreeUpdate::ByteSizeLong,
              &AXTreeUpdate::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AXTreeUpdate",
  };
}
struct AXTreeUpdateGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AXTreeUpdateGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AXTreeUpdate_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AXTreeUpdate::InternalGenerateClassData_(
            _default, &AXTreeUpdate_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AXTreeUpdate>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AXTreeUpdateGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AXTreeUpdate _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AXTreeUpdate>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AXTreeUpdateGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AXTreeUpdateGlobalsTypeInternal AXTreeUpdate_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AXTreeUpdate_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AXTreeUpdate_globals_.GetClassData();
#else
  return AXTreeUpdate_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class IframeData::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::IframeData, _impl_._oneof_case_);
};

constexpr IframeData::ParseTableT_ IframeData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(IframeData,
                            _impl_._cached_size_),  // no hasbits
      0, // no _extensions_
      4, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967283,  // 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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::IframeData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.FrameData frame_data = 3;
      {PROTOBUF_FIELD_OFFSET(IframeData, _impl_.data_.frame_data_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.IframeData.RedactedFrameMetadata redacted_frame_metadata = 4;
      {PROTOBUF_FIELD_OFFSET(IframeData, _impl_.data_.redacted_frame_metadata_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FrameData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FrameData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::IframeData_RedactedFrameMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::IframeData_RedactedFrameMetadata_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr IframeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : data_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
constexpr IframeData::IframeData(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL IframeData::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) IframeData(arena);
}
constexpr auto IframeData::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(IframeData), alignof(IframeData));
}
constexpr auto IframeData::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &IframeData::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<IframeData>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &IframeData::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<IframeData>(), &IframeData::ByteSizeLong,
              &IframeData::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(IframeData, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.IframeData",
  };
}
struct IframeDataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr IframeDataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 IframeData_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(IframeData::InternalGenerateClassData_(
            _default, &IframeData_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<IframeData>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~IframeDataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) IframeData _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<IframeData>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(IframeDataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AgentContainerConfig::ParseTableT_ AgentContainerConfig::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AgentContainerConfig, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AgentContainerConfig>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.LocationRule location_rules = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(AgentContainerConfig, _impl_.location_rules_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.LocationRule location_rules = 1;
      {PROTOBUF_FIELD_OFFSET(AgentContainerConfig, _impl_.location_rules_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::LocationRule>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::LocationRule_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AgentContainerConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        location_rules_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AgentContainerConfig,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AgentContainerConfig, _impl_.location_rules_)>()
         }
     {}

template <typename>
constexpr AgentContainerConfig::AgentContainerConfig(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AgentContainerConfig::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AgentContainerConfig(arena);
}
constexpr auto AgentContainerConfig::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AgentContainerConfig), alignof(AgentContainerConfig));
}
constexpr auto AgentContainerConfig::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AgentContainerConfig::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AgentContainerConfig>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AgentContainerConfig::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AgentContainerConfig>(), &AgentContainerConfig::ByteSizeLong,
              &AgentContainerConfig::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AgentContainerConfig, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AgentContainerConfig",
  };
}
struct AgentContainerConfigGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AgentContainerConfigGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AgentContainerConfig_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AgentContainerConfig::InternalGenerateClassData_(
            _default, &AgentContainerConfig_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AgentContainerConfig>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AgentContainerConfigGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AgentContainerConfig _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AgentContainerConfig>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AgentContainerConfigGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AgentContainerConfigGlobalsTypeInternal AgentContainerConfig_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AgentContainerConfig_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AgentContainerConfig_globals_.GetClassData();
#else
  return AgentContainerConfig_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class ContentAttributes::_Internal {
 public:
  using HasBits = decltype(::std::declval<ContentAttributes>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_._has_bits_);
  static constexpr ::int32_t kOneofCaseOffset =
      PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentAttributes, _impl_._oneof_case_);
};

constexpr ContentAttributes::ParseTableT_ ContentAttributes::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_._has_bits_),
      0, // no _extensions_
      29, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      3760392305,  // skipmap
      offsetof(ParseTableT_, field_entries),
      21,  // num_field_entries
      13,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentAttributes>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string label = 16 [features = {
      {::_pbi::TcParser::FastUS2,
       {386, 1, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.label_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // int32 common_ancestor_dom_node_id = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 4, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.common_ancestor_dom_node_id_)}},
      // .optimization_guide.proto.ContentAttributeType attribute_type = 3 [features = {
      {::_pbi::TcParser::FastV32S1,
       {24, 5, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.attribute_type_)}},
      // .optimization_guide.proto.Geometry geometry = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.geometry_)}},
      // .optimization_guide.proto.InteractionInfo interaction_info = 21 [features = {
      {::_pbi::TcParser::FastMtS2,
       {426, 3, 9,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.interaction_info_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // int32 label_for_dom_node_id = 25 [features = {
      {::_pbi::TcParser::FastV32S2,
       {456, 6, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.label_for_dom_node_id_)}},
      // .optimization_guide.proto.AXRole aria_role = 26 [features = {
      {::_pbi::TcParser::FastV32S2,
       {464, 7, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.aria_role_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // bool is_ad_related = 28 [features = {
      {::_pbi::TcParser::FastV8S2,
       {480, 8, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.is_ad_related_)}},
      // .optimization_guide.proto.RedactionDecision redaction_decision = 29 [features = {
      {::_pbi::TcParser::FastV32S2,
       {488, 9, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.redaction_decision_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // repeated .optimization_guide.proto.AnnotatedRole annotated_roles = 15;
      {::_pbi::TcParser::FastV32P1,
       {122, 0, 0,
        PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.annotated_roles_)}},
    }}, {{
      65535, 65535
    }}, {{
      // int32 common_ancestor_dom_node_id = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.common_ancestor_dom_node_id_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.ContentAttributeType attribute_type = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.attribute_type_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.Geometry geometry = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.geometry_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.TableData table_data = 8;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.table_data_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.IframeData iframe_data = 9;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.iframe_data_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.TextInfo text_data = 10;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.text_data_), _Internal::kOneofCaseOffset + 0, 3, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ImageInfo image_data = 11;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.image_data_), _Internal::kOneofCaseOffset + 0, 4, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.TableRowData table_row_data = 13;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.table_row_data_), _Internal::kOneofCaseOffset + 0, 5, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AnchorData anchor_data = 14;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.anchor_data_), _Internal::kOneofCaseOffset + 0, 6, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated .optimization_guide.proto.AnnotatedRole annotated_roles = 15;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.annotated_roles_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedOpenEnum)},
      // string label = 16 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.label_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.FormInfo form_data = 19;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.form_data_), _Internal::kOneofCaseOffset + 0, 7, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.FormControlData form_control_data = 20;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.form_control_data_), _Internal::kOneofCaseOffset + 0, 8, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.InteractionInfo interaction_info = 21 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.interaction_info_), _Internal::kHasBitsOffset + 3, 9, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.SVGRootData svg_root_data = 23;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.svg_root_data_), _Internal::kOneofCaseOffset + 0, 10, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.CanvasData canvas_data = 24;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.canvas_data_), _Internal::kOneofCaseOffset + 0, 11, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 label_for_dom_node_id = 25 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.label_for_dom_node_id_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.AXRole aria_role = 26 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.aria_role_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.VideoData video_data = 27;
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.content_data_.video_data_), _Internal::kOneofCaseOffset + 0, 12, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool is_ad_related = 28 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.is_ad_related_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.RedactionDecision redaction_decision = 29 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.redaction_decision_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Geometry>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Geometry_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TableData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TableData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::IframeData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::IframeData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TextInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TextInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ImageInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ImageInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::TableRowData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::TableRowData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AnchorData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AnchorData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FormInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FormInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FormControlData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FormControlData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::InteractionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::InteractionInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::SVGRootData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::SVGRootData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::CanvasData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::CanvasData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::VideoData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::VideoData_globals_},
        #endif
    }},
    {{
      "\52\0\0\0\0\0\0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0\0\0"
      "optimization_guide.proto.ContentAttributes"
      "label"
    }},
  };
}


inline constexpr ContentAttributes::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        annotated_roles_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContentAttributes,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentAttributes, _impl_.annotated_roles_)>()
         }
        ,
        _annotated_roles_cached_byte_size_{0},
        label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        geometry_{nullptr},
        interaction_info_{nullptr},
        common_ancestor_dom_node_id_{0},
        attribute_type_{static_cast< ::optimization_guide::proto::ContentAttributeType >(0)},
        label_for_dom_node_id_{0},
        aria_role_{static_cast< ::optimization_guide::proto::AXRole >(0)},
        is_ad_related_{false},
        redaction_decision_{static_cast< ::optimization_guide::proto::RedactionDecision >(0)},
        content_data_{},
        _oneof_case_{} {}

template <typename>
constexpr ContentAttributes::ContentAttributes(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ContentAttributes::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ContentAttributes(arena);
}
constexpr auto ContentAttributes::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ContentAttributes), alignof(ContentAttributes));
}
constexpr auto ContentAttributes::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ContentAttributes::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ContentAttributes>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ContentAttributes::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ContentAttributes>(), &ContentAttributes::ByteSizeLong,
              &ContentAttributes::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ContentAttributes",
  };
}
struct ContentAttributesGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ContentAttributesGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ContentAttributes_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ContentAttributes::InternalGenerateClassData_(
            _default, &ContentAttributes_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ContentAttributes>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ContentAttributesGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ContentAttributes _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ContentAttributes>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ContentAttributesGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ContentNode::ParseTableT_ ContentNode::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContentNode, _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
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentNode>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ContentAttributes content_attributes = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(ContentNode, _impl_.content_attributes_)}},
      // repeated .optimization_guide.proto.ContentNode children_nodes = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ContentNode, _impl_.children_nodes_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.ContentNode children_nodes = 1;
      {PROTOBUF_FIELD_OFFSET(ContentNode, _impl_.children_nodes_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ContentAttributes content_attributes = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ContentNode, _impl_.content_attributes_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentNode>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentNode_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentAttributes>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentAttributes_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ContentNode::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        children_nodes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContentNode,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentNode, _impl_.children_nodes_)>()
         }
        ,
        content_attributes_{nullptr} {}

template <typename>
constexpr ContentNode::ContentNode(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL ContentNode::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ContentNode(arena);
}
constexpr auto ContentNode::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(ContentNode), alignof(ContentNode));
}
constexpr auto ContentNode::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &ContentNode::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ContentNode>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ContentNode::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ContentNode>(), &ContentNode::ByteSizeLong,
              &ContentNode::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ContentNode, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ContentNode",
  };
}
struct ContentNodeGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ContentNodeGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ContentNode_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ContentNode::InternalGenerateClassData_(
            _default, &ContentNode_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ContentNode>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ContentNodeGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ContentNode _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ContentNode>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ContentNodeGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TableRow::ParseTableT_ TableRow::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TableRow, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TableRow>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .optimization_guide.proto.ContentNode cells = 1;
      {::_pbi::TcParser::FastMtR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(TableRow, _impl_.cells_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated .optimization_guide.proto.ContentNode cells = 1;
      {PROTOBUF_FIELD_OFFSET(TableRow, _impl_.cells_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentNode>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentNode_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr TableRow::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        cells_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::TableRow,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TableRow, _impl_.cells_)>()
         }
     {}

template <typename>
constexpr TableRow::TableRow(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TableRow::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TableRow(arena);
}
constexpr auto TableRow::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TableRow), alignof(TableRow));
}
constexpr auto TableRow::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TableRow::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TableRow>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TableRow::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TableRow>(), &TableRow::ByteSizeLong,
              &TableRow::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TableRow, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TableRow",
  };
}
struct TableRowGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TableRowGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TableRow_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TableRow::InternalGenerateClassData_(
            _default, &TableRow_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TableRow>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TableRowGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TableRow _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TableRow>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TableRowGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PopupWindow::ParseTableT_ PopupWindow::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967266,  // 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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PopupWindow>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ContentNode root_node = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.root_node_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.DocumentIdentifier opener_document_id = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 1, 1,
        PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.opener_document_id_)}},
      // int32 opener_common_ancestor_dom_node_id = 4 [features = {
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.opener_common_ancestor_dom_node_id_)}},
      // .optimization_guide.proto.BoundingRect visible_bounding_box = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 2, 2,
        PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.visible_bounding_box_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ContentNode root_node = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.root_node_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.DocumentIdentifier opener_document_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.opener_document_id_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int32 opener_common_ancestor_dom_node_id = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.opener_common_ancestor_dom_node_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.BoundingRect visible_bounding_box = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.visible_bounding_box_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentNode>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentNode_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::DocumentIdentifier>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::DocumentIdentifier_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingRect>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingRect_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr PopupWindow::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        root_node_{nullptr},
        opener_document_id_{nullptr},
        visible_bounding_box_{nullptr},
        opener_common_ancestor_dom_node_id_{0} {}

template <typename>
constexpr PopupWindow::PopupWindow(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PopupWindow::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PopupWindow(arena);
}
constexpr auto PopupWindow::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PopupWindow), alignof(PopupWindow));
}
constexpr auto PopupWindow::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PopupWindow::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PopupWindow>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PopupWindow::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PopupWindow>(), &PopupWindow::ByteSizeLong,
              &PopupWindow::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.PopupWindow",
  };
}
struct PopupWindowGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PopupWindowGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PopupWindow_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PopupWindow::InternalGenerateClassData_(
            _default, &PopupWindow_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PopupWindow>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PopupWindowGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PopupWindow _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PopupWindow>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PopupWindowGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AnnotatedPageContent::ParseTableT_ AnnotatedPageContent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_._has_bits_),
      0, // no _extensions_
      10, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966272,  // skipmap
      offsetof(ParseTableT_, field_entries),
      10,  // num_field_entries
      7,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::AnnotatedPageContent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.AnnotatedPageContentVersion version = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 7, 0,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.version_)}},
      // .optimization_guide.proto.ContentNode root_node = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.root_node_)}},
      // .optimization_guide.proto.FrameData main_frame_data = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 1, 1,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.main_frame_data_)}},
      // .optimization_guide.proto.PageInteractionInfo page_interaction_info = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 2, 2,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.page_interaction_info_)}},
      // .optimization_guide.proto.BoundingRect viewport_geometry = 5 [features = {
      {::_pbi::TcParser::FastMtS1,
       {42, 3, 3,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.viewport_geometry_)}},
      // .optimization_guide.proto.AnnotatedPageContentMode mode = 6 [features = {
      {::_pbi::TcParser::FastV32S1,
       {48, 8, 0,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.mode_)}},
      // int32 tab_id = 7 [features = {
      {::_pbi::TcParser::FastV32S1,
       {56, 9, 0,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.tab_id_)}},
      // .optimization_guide.proto.PopupWindow popup_window = 8 [features = {
      {::_pbi::TcParser::FastMtS1,
       {66, 4, 4,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.popup_window_)}},
      // .optimization_guide.proto.ProfileInformation profile_information = 9 [features = {
      {::_pbi::TcParser::FastMtS1,
       {74, 5, 5,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.profile_information_)}},
      // .optimization_guide.proto.GeminiInChromePageMetadata gemini_in_chrome_page_metadata = 10 [features = {
      {::_pbi::TcParser::FastMtS1,
       {82, 6, 6,
        PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.gemini_in_chrome_page_metadata_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.AnnotatedPageContentVersion version = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.version_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ContentNode root_node = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.root_node_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.FrameData main_frame_data = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.main_frame_data_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.PageInteractionInfo page_interaction_info = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.page_interaction_info_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.BoundingRect viewport_geometry = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.viewport_geometry_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.AnnotatedPageContentMode mode = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.mode_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // int32 tab_id = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.tab_id_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // .optimization_guide.proto.PopupWindow popup_window = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.popup_window_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ProfileInformation profile_information = 9 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.profile_information_), _Internal::kHasBitsOffset + 5, 5, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.GeminiInChromePageMetadata gemini_in_chrome_page_metadata = 10 [features = {
      {PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.gemini_in_chrome_page_metadata_), _Internal::kHasBitsOffset + 6, 6, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContentNode>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContentNode_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::FrameData>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::FrameData_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PageInteractionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PageInteractionInfo_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::BoundingRect>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::BoundingRect_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PopupWindow>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PopupWindow_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ProfileInformation>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ProfileInformation_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::GeminiInChromePageMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::GeminiInChromePageMetadata_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AnnotatedPageContent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        root_node_{nullptr},
        main_frame_data_{nullptr},
        page_interaction_info_{nullptr},
        viewport_geometry_{nullptr},
        popup_window_{nullptr},
        profile_information_{nullptr},
        gemini_in_chrome_page_metadata_{nullptr},
        version_{static_cast< ::optimization_guide::proto::AnnotatedPageContentVersion >(0)},
        mode_{static_cast< ::optimization_guide::proto::AnnotatedPageContentMode >(0)},
        tab_id_{0} {}

template <typename>
constexpr AnnotatedPageContent::AnnotatedPageContent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AnnotatedPageContent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AnnotatedPageContent(arena);
}
constexpr auto AnnotatedPageContent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AnnotatedPageContent), alignof(AnnotatedPageContent));
}
constexpr auto AnnotatedPageContent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AnnotatedPageContent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AnnotatedPageContent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AnnotatedPageContent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AnnotatedPageContent>(), &AnnotatedPageContent::ByteSizeLong,
              &AnnotatedPageContent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AnnotatedPageContent",
  };
}
struct AnnotatedPageContentGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AnnotatedPageContentGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AnnotatedPageContent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AnnotatedPageContent::InternalGenerateClassData_(
            _default, &AnnotatedPageContent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AnnotatedPageContent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AnnotatedPageContentGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AnnotatedPageContent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AnnotatedPageContent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AnnotatedPageContentGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr PageContext::ParseTableT_ PageContext::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(PageContext, _impl_._has_bits_),
      0, // no _extensions_
      9, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966784,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::PageContext>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string url = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.url_)}},
      // string title = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.title_)}},
      // .optimization_guide.proto.AXTreeUpdate ax_tree_data = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 6, 0,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.ax_tree_data_)}},
      // string inner_text = 4 [features = {
      {::_pbi::TcParser::FastUS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.inner_text_)}},
      // uint64 inner_text_offset = 5 [features = {
      {::_pbi::TcParser::FastV64S1,
       {40, 8, 0,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.inner_text_offset_)}},
      // string tab_screenshot = 6 [features = {
      {::_pbi::TcParser::FastUS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.tab_screenshot_)}},
      // string pdf_data = 7 [features = {
      {::_pbi::TcParser::FastUS1,
       {58, 5, 0,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.pdf_data_)}},
      // .optimization_guide.proto.AnnotatedPageContent annotated_page_content = 8 [features = {
      {::_pbi::TcParser::FastMtS1,
       {66, 7, 1,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.annotated_page_content_)}},
      // repeated string page_passages = 9;
      {::_pbi::TcParser::FastUR1,
       {74, 0, 0,
        PROTOBUF_FIELD_OFFSET(PageContext, _impl_.page_passages_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string url = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string title = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.title_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.AXTreeUpdate ax_tree_data = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.ax_tree_data_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string inner_text = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.inner_text_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // uint64 inner_text_offset = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.inner_text_offset_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // string tab_screenshot = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.tab_screenshot_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string pdf_data = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.pdf_data_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.AnnotatedPageContent annotated_page_content = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.annotated_page_content_), _Internal::kHasBitsOffset + 7, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // repeated string page_passages = 9;
      {PROTOBUF_FIELD_OFFSET(PageContext, _impl_.page_passages_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kUtf8String | ::_fl::kRepSString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AXTreeUpdate>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AXTreeUpdate_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AnnotatedPageContent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AnnotatedPageContent_globals_},
        #endif
    }},
    {{
      "\44\3\5\0\12\0\16\10\0\15\0\0\0\0\0\0"
      "optimization_guide.proto.PageContext"
      "url"
      "title"
      "inner_text"
      "tab_screenshot"
      "pdf_data"
      "page_passages"
    }},
  };
}


inline constexpr PageContext::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        page_passages_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PageContext,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PageContext, _impl_.page_passages_)>()
         }
        ,
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        inner_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tab_screenshot_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        pdf_data_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ax_tree_data_{nullptr},
        annotated_page_content_{nullptr},
        inner_text_offset_{::uint64_t{0u}} {}

template <typename>
constexpr PageContext::PageContext(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL PageContext::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) PageContext(arena);
}
constexpr auto PageContext::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PageContext), alignof(PageContext));
}
constexpr auto PageContext::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &PageContext::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<PageContext>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &PageContext::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<PageContext>(), &PageContext::ByteSizeLong,
              &PageContext::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(PageContext, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.PageContext",
  };
}
struct PageContextGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr PageContextGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 PageContext_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(PageContext::InternalGenerateClassData_(
            _default, &PageContext_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<PageContext>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~PageContextGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) PageContext _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<PageContext>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(PageContextGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr Tab::ParseTableT_ Tab::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Tab, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::Tab>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // int64 tab_id = 1 [features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 3, 0,
        PROTOBUF_FIELD_OFFSET(Tab, _impl_.tab_id_)}},
      // string title = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(Tab, _impl_.title_)}},
      // string url = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(Tab, _impl_.url_)}},
      // .optimization_guide.proto.PageContext page_context = 4 [features = {
      {::_pbi::TcParser::FastMtS1,
       {34, 2, 0,
        PROTOBUF_FIELD_OFFSET(Tab, _impl_.page_context_)}},
      // int64 last_active_timestamp_ms = 5 [features = {
      {::_pbi::TcParser::FastV64S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(Tab, _impl_.last_active_timestamp_ms_)}},
      // int64 last_foreground_duration_ms = 6 [features = {
      {::_pbi::TcParser::FastV64S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(Tab, _impl_.last_foreground_duration_ms_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // int64 tab_id = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Tab, _impl_.tab_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // string title = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Tab, _impl_.title_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string url = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(Tab, _impl_.url_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.PageContext page_context = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(Tab, _impl_.page_context_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // int64 last_active_timestamp_ms = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(Tab, _impl_.last_active_timestamp_ms_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int64 last_foreground_duration_ms = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(Tab, _impl_.last_foreground_duration_ms_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::PageContext>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::PageContext_globals_},
        #endif
    }},
    {{
      "\34\0\5\3\0\0\0\0"
      "optimization_guide.proto.Tab"
      "title"
      "url"
    }},
  };
}


inline constexpr Tab::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        page_context_{nullptr},
        tab_id_{::int64_t{0}},
        last_active_timestamp_ms_{::int64_t{0}},
        last_foreground_duration_ms_{::int64_t{0}} {}

template <typename>
constexpr Tab::Tab(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL Tab::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) Tab(arena);
}
constexpr auto Tab::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(Tab), alignof(Tab));
}
constexpr auto Tab::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &Tab::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<Tab>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &Tab::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<Tab>(), &Tab::ByteSizeLong,
              &Tab::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(Tab, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.Tab",
  };
}
struct TabGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TabGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 Tab_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(Tab::InternalGenerateClassData_(
            _default, &Tab_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<Tab>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TabGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) Tab _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<Tab>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TabGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr TabGroup::ParseTableT_ TabGroup::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(TabGroup, _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::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::TabGroup>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string label = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(TabGroup, _impl_.label_)}},
      // repeated .optimization_guide.proto.Tab tabs = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(TabGroup, _impl_.tabs_)}},
      // string group_id = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(TabGroup, _impl_.group_id_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string label = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(TabGroup, _impl_.label_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // repeated .optimization_guide.proto.Tab tabs = 2;
      {PROTOBUF_FIELD_OFFSET(TabGroup, _impl_.tabs_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // string group_id = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(TabGroup, _impl_.group_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Tab>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Tab_globals_},
        #endif
    }},
    {{
      "\41\5\0\10\0\0\0\0"
      "optimization_guide.proto.TabGroup"
      "label"
      "group_id"
    }},
  };
}


inline constexpr TabGroup::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        tabs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::TabGroup,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TabGroup, _impl_.tabs_)>()
         }
        ,
        label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        group_id_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr TabGroup::TabGroup(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL TabGroup::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) TabGroup(arena);
}
constexpr auto TabGroup::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TabGroup), alignof(TabGroup));
}
constexpr auto TabGroup::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &TabGroup::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<TabGroup>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &TabGroup::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<TabGroup>(), &TabGroup::ByteSizeLong,
              &TabGroup::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(TabGroup, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.TabGroup",
  };
}
struct TabGroupGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr TabGroupGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 TabGroup_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(TabGroup::InternalGenerateClassData_(
            _default, &TabGroup_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<TabGroup>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~TabGroupGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) TabGroup _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<TabGroup>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(TabGroupGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST TabGroupGlobalsTypeInternal TabGroup_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* TabGroup_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return TabGroup_globals_.GetClassData();
#else
  return TabGroup_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace proto
}  // namespace optimization_guide
namespace optimization_guide {
namespace proto {
PROTOBUF_CONSTINIT const uint32_t IframeData_RedactedFrameMetadata_Reason_internal_data_[] = {
    196608u, 0u, };
static const char IframeData_RedactedFrameMetadata_Reason_names[] = {
    "REASON_CROSS_ORIGIN"
    "REASON_CROSS_SITE"
    "REASON_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry IframeData_RedactedFrameMetadata_Reason_entries[] = {
    {{&IframeData_RedactedFrameMetadata_Reason_names[0], 19}, 2},
    {{&IframeData_RedactedFrameMetadata_Reason_names[19], 17}, 1},
    {{&IframeData_RedactedFrameMetadata_Reason_names[36], 18}, 0},
};

static const int IframeData_RedactedFrameMetadata_Reason_entries_by_number[] = {
    2,  // 0 -> REASON_UNSPECIFIED
    1,  // 1 -> REASON_CROSS_SITE
    0,  // 2 -> REASON_CROSS_ORIGIN
};

bool IframeData_RedactedFrameMetadata_Reason_Parse(::absl::string_view name,
                                  IframeData_RedactedFrameMetadata_Reason* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      IframeData_RedactedFrameMetadata_Reason_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<IframeData_RedactedFrameMetadata_Reason>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    IframeData_RedactedFrameMetadata_Reason_strings[3] = {};

const ::std::string& IframeData_RedactedFrameMetadata_Reason_Name(IframeData_RedactedFrameMetadata_Reason value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      IframeData_RedactedFrameMetadata_Reason_entries, IframeData_RedactedFrameMetadata_Reason_entries_by_number, 3,
      IframeData_RedactedFrameMetadata_Reason_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(IframeData_RedactedFrameMetadata_Reason_entries,
                                  IframeData_RedactedFrameMetadata_Reason_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : IframeData_RedactedFrameMetadata_Reason_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AutofillInformation_FillableData_internal_data_[] = {
    131072u, 32u, 16u, };
static const char AutofillInformation_FillableData_names[] = {
    "ADDRESS"
    "CREDIT_CARD"
    "UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry AutofillInformation_FillableData_entries[] = {
    {{&AutofillInformation_FillableData_names[0], 7}, 1},
    {{&AutofillInformation_FillableData_names[7], 11}, 6},
    {{&AutofillInformation_FillableData_names[18], 11}, 0},
};

static const int AutofillInformation_FillableData_entries_by_number[] = {
    2,  // 0 -> UNSPECIFIED
    0,  // 1 -> ADDRESS
    1,  // 6 -> CREDIT_CARD
};

bool AutofillInformation_FillableData_Parse(::absl::string_view name,
                                  AutofillInformation_FillableData* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AutofillInformation_FillableData_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<AutofillInformation_FillableData>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AutofillInformation_FillableData_strings[3] = {};

const ::std::string& AutofillInformation_FillableData_Name(AutofillInformation_FillableData value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AutofillInformation_FillableData_entries, AutofillInformation_FillableData_entries_by_number, 3,
      AutofillInformation_FillableData_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AutofillInformation_FillableData_entries,
                                  AutofillInformation_FillableData_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AutofillInformation_FillableData_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t Coordinate_PixelType_internal_data_[] = {
    196608u, 0u, };
static const char Coordinate_PixelType_names[] = {
    "PIXEL_TYPE_DIPS"
    "PIXEL_TYPE_PHYSICAL_PIXELS"
    "PIXEL_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry Coordinate_PixelType_entries[] = {
    {{&Coordinate_PixelType_names[0], 15}, 1},
    {{&Coordinate_PixelType_names[15], 26}, 2},
    {{&Coordinate_PixelType_names[41], 22}, 0},
};

static const int Coordinate_PixelType_entries_by_number[] = {
    2,  // 0 -> PIXEL_TYPE_UNSPECIFIED
    0,  // 1 -> PIXEL_TYPE_DIPS
    1,  // 2 -> PIXEL_TYPE_PHYSICAL_PIXELS
};

bool Coordinate_PixelType_Parse(::absl::string_view name,
                                  Coordinate_PixelType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      Coordinate_PixelType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<Coordinate_PixelType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    Coordinate_PixelType_strings[3] = {};

const ::std::string& Coordinate_PixelType_Name(Coordinate_PixelType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      Coordinate_PixelType_entries, Coordinate_PixelType_entries_by_number, 3,
      Coordinate_PixelType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(Coordinate_PixelType_entries,
                                  Coordinate_PixelType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : Coordinate_PixelType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t RuleMetadata_AgentResource_internal_data_[] = {
    131072u, 0u, };
static const char RuleMetadata_AgentResource_names[] = {
    "RESOURCE_SESSION"
    "RESOURCE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry RuleMetadata_AgentResource_entries[] = {
    {{&RuleMetadata_AgentResource_names[0], 16}, 1},
    {{&RuleMetadata_AgentResource_names[16], 16}, 0},
};

static const int RuleMetadata_AgentResource_entries_by_number[] = {
    1,  // 0 -> RESOURCE_UNKNOWN
    0,  // 1 -> RESOURCE_SESSION
};

bool RuleMetadata_AgentResource_Parse(::absl::string_view name,
                                  RuleMetadata_AgentResource* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      RuleMetadata_AgentResource_entries, 2, name, &int_value);
  if (success) {
    *value = static_cast<RuleMetadata_AgentResource>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    RuleMetadata_AgentResource_strings[2] = {};

const ::std::string& RuleMetadata_AgentResource_Name(RuleMetadata_AgentResource value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      RuleMetadata_AgentResource_entries, RuleMetadata_AgentResource_entries_by_number, 2,
      RuleMetadata_AgentResource_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(RuleMetadata_AgentResource_entries,
                                  RuleMetadata_AgentResource_entries_by_number,
                                  2, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : RuleMetadata_AgentResource_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t RuleMetadata_ActuationCapability_internal_data_[] = {
    131072u, 0u, };
static const char RuleMetadata_ActuationCapability_names[] = {
    "CAPABILITY_ALL"
    "CAPABILITY_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry RuleMetadata_ActuationCapability_entries[] = {
    {{&RuleMetadata_ActuationCapability_names[0], 14}, 1},
    {{&RuleMetadata_ActuationCapability_names[14], 18}, 0},
};

static const int RuleMetadata_ActuationCapability_entries_by_number[] = {
    1,  // 0 -> CAPABILITY_UNKNOWN
    0,  // 1 -> CAPABILITY_ALL
};

bool RuleMetadata_ActuationCapability_Parse(::absl::string_view name,
                                  RuleMetadata_ActuationCapability* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      RuleMetadata_ActuationCapability_entries, 2, name, &int_value);
  if (success) {
    *value = static_cast<RuleMetadata_ActuationCapability>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    RuleMetadata_ActuationCapability_strings[2] = {};

const ::std::string& RuleMetadata_ActuationCapability_Name(RuleMetadata_ActuationCapability value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      RuleMetadata_ActuationCapability_entries, RuleMetadata_ActuationCapability_entries_by_number, 2,
      RuleMetadata_ActuationCapability_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(RuleMetadata_ActuationCapability_entries,
                                  RuleMetadata_ActuationCapability_entries_by_number,
                                  2, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : RuleMetadata_ActuationCapability_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AXTextAffinity_internal_data_[] = {
    196608u, 0u, };
static const char AXTextAffinity_names[] = {
    "AX_TEXT_AFFINITY_DOWNSTREAM"
    "AX_TEXT_AFFINITY_NONE"
    "AX_TEXT_AFFINITY_UPSTREAM"
};

static const ::google::protobuf::internal::EnumEntry AXTextAffinity_entries[] = {
    {{&AXTextAffinity_names[0], 27}, 1},
    {{&AXTextAffinity_names[27], 21}, 0},
    {{&AXTextAffinity_names[48], 25}, 2},
};

static const int AXTextAffinity_entries_by_number[] = {
    1,  // 0 -> AX_TEXT_AFFINITY_NONE
    0,  // 1 -> AX_TEXT_AFFINITY_DOWNSTREAM
    2,  // 2 -> AX_TEXT_AFFINITY_UPSTREAM
};

bool AXTextAffinity_Parse(::absl::string_view name,
                                  AXTextAffinity* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AXTextAffinity_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<AXTextAffinity>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AXTextAffinity_strings[3] = {};

const ::std::string& AXTextAffinity_Name(AXTextAffinity value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AXTextAffinity_entries, AXTextAffinity_entries_by_number, 3,
      AXTextAffinity_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AXTextAffinity_entries,
                                  AXTextAffinity_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AXTextAffinity_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AXRole_internal_data_[] = {
    14024704u, 0u, };
static const char AXRole_names[] = {
    "AX_ROLE_ABBR"
    "AX_ROLE_ALERT"
    "AX_ROLE_ALERTDIALOG"
    "AX_ROLE_APPLICATION"
    "AX_ROLE_ARTICLE"
    "AX_ROLE_AUDIO"
    "AX_ROLE_BANNER"
    "AX_ROLE_BLOCKQUOTE"
    "AX_ROLE_BUTTON"
    "AX_ROLE_CANVAS"
    "AX_ROLE_CAPTION"
    "AX_ROLE_CARET"
    "AX_ROLE_CELL"
    "AX_ROLE_CHECKBOX"
    "AX_ROLE_CLIENT"
    "AX_ROLE_CODE"
    "AX_ROLE_COLORWELL"
    "AX_ROLE_COLUMN"
    "AX_ROLE_COLUMNHEADER"
    "AX_ROLE_COMBOBOXGROUPING"
    "AX_ROLE_COMBOBOXMENUBUTTON"
    "AX_ROLE_COMBOBOXSELECT"
    "AX_ROLE_COMMENT"
    "AX_ROLE_COMPLEMENTARY"
    "AX_ROLE_CONTENTDELETION"
    "AX_ROLE_CONTENTINFO"
    "AX_ROLE_CONTENTINSERTION"
    "AX_ROLE_DATE"
    "AX_ROLE_DATETIME"
    "AX_ROLE_DEFINITION"
    "AX_ROLE_DESCRIPTIONLIST"
    "AX_ROLE_DESCRIPTIONLISTDETAILDEPRECATED"
    "AX_ROLE_DESCRIPTIONLISTTERMDEPRECATED"
    "AX_ROLE_DESKTOP"
    "AX_ROLE_DETAILS"
    "AX_ROLE_DIALOG"
    "AX_ROLE_DIRECTORYDEPRECATED"
    "AX_ROLE_DISCLOSURETRIANGLE"
    "AX_ROLE_DISCLOSURETRIANGLEGROUPED"
    "AX_ROLE_DOCABSTRACT"
    "AX_ROLE_DOCACKNOWLEDGMENTS"
    "AX_ROLE_DOCAFTERWORD"
    "AX_ROLE_DOCAPPENDIX"
    "AX_ROLE_DOCBACKLINK"
    "AX_ROLE_DOCBIBLIOENTRY"
    "AX_ROLE_DOCBIBLIOGRAPHY"
    "AX_ROLE_DOCBIBLIOREF"
    "AX_ROLE_DOCCHAPTER"
    "AX_ROLE_DOCCOLOPHON"
    "AX_ROLE_DOCCONCLUSION"
    "AX_ROLE_DOCCOVER"
    "AX_ROLE_DOCCREDIT"
    "AX_ROLE_DOCCREDITS"
    "AX_ROLE_DOCDEDICATION"
    "AX_ROLE_DOCENDNOTE"
    "AX_ROLE_DOCENDNOTES"
    "AX_ROLE_DOCEPIGRAPH"
    "AX_ROLE_DOCEPILOGUE"
    "AX_ROLE_DOCERRATA"
    "AX_ROLE_DOCEXAMPLE"
    "AX_ROLE_DOCFOOTNOTE"
    "AX_ROLE_DOCFOREWORD"
    "AX_ROLE_DOCGLOSSARY"
    "AX_ROLE_DOCGLOSSREF"
    "AX_ROLE_DOCINDEX"
    "AX_ROLE_DOCINTRODUCTION"
    "AX_ROLE_DOCNOTEREF"
    "AX_ROLE_DOCNOTICE"
    "AX_ROLE_DOCPAGEBREAK"
    "AX_ROLE_DOCPAGEFOOTER"
    "AX_ROLE_DOCPAGEHEADER"
    "AX_ROLE_DOCPAGELIST"
    "AX_ROLE_DOCPART"
    "AX_ROLE_DOCPREFACE"
    "AX_ROLE_DOCPROLOGUE"
    "AX_ROLE_DOCPULLQUOTE"
    "AX_ROLE_DOCQNA"
    "AX_ROLE_DOCSUBTITLE"
    "AX_ROLE_DOCTIP"
    "AX_ROLE_DOCTOC"
    "AX_ROLE_DOCUMENT"
    "AX_ROLE_EMBEDDEDOBJECT"
    "AX_ROLE_EMPHASIS"
    "AX_ROLE_FEED"
    "AX_ROLE_FIGCAPTION"
    "AX_ROLE_FIGURE"
    "AX_ROLE_FOOTER"
    "AX_ROLE_FORM"
    "AX_ROLE_GENERICCONTAINER"
    "AX_ROLE_GRAPHICSDOCUMENT"
    "AX_ROLE_GRAPHICSOBJECT"
    "AX_ROLE_GRAPHICSSYMBOL"
    "AX_ROLE_GRID"
    "AX_ROLE_GRIDCELL"
    "AX_ROLE_GROUP"
    "AX_ROLE_HEADER"
    "AX_ROLE_HEADING"
    "AX_ROLE_IFRAME"
    "AX_ROLE_IFRAMEPRESENTATIONAL"
    "AX_ROLE_IMAGE"
    "AX_ROLE_IMECANDIDATE"
    "AX_ROLE_INLINETEXTBOX"
    "AX_ROLE_INPUTTIME"
    "AX_ROLE_KEYBOARD"
    "AX_ROLE_LABELTEXT"
    "AX_ROLE_LAYOUTTABLE"
    "AX_ROLE_LAYOUTTABLECELL"
    "AX_ROLE_LAYOUTTABLEROW"
    "AX_ROLE_LEGEND"
    "AX_ROLE_LINEBREAK"
    "AX_ROLE_LINK"
    "AX_ROLE_LIST"
    "AX_ROLE_LISTBOX"
    "AX_ROLE_LISTBOXOPTION"
    "AX_ROLE_LISTGRID"
    "AX_ROLE_LISTITEM"
    "AX_ROLE_LISTMARKER"
    "AX_ROLE_LOG"
    "AX_ROLE_MAIN"
    "AX_ROLE_MARK"
    "AX_ROLE_MARQUEE"
    "AX_ROLE_MATH"
    "AX_ROLE_MATHMLFRACTION"
    "AX_ROLE_MATHMLIDENTIFIER"
    "AX_ROLE_MATHMLMATH"
    "AX_ROLE_MATHMLMULTISCRIPTS"
    "AX_ROLE_MATHMLNONESCRIPT"
    "AX_ROLE_MATHMLNUMBER"
    "AX_ROLE_MATHMLOPERATOR"
    "AX_ROLE_MATHMLOVER"
    "AX_ROLE_MATHMLPRESCRIPTDELIMITER"
    "AX_ROLE_MATHMLROOT"
    "AX_ROLE_MATHMLROW"
    "AX_ROLE_MATHMLSQUAREROOT"
    "AX_ROLE_MATHMLSTRINGLITERAL"
    "AX_ROLE_MATHMLSUB"
    "AX_ROLE_MATHMLSUBSUP"
    "AX_ROLE_MATHMLSUP"
    "AX_ROLE_MATHMLTABLE"
    "AX_ROLE_MATHMLTABLECELL"
    "AX_ROLE_MATHMLTABLEROW"
    "AX_ROLE_MATHMLTEXT"
    "AX_ROLE_MATHMLUNDER"
    "AX_ROLE_MATHMLUNDEROVER"
    "AX_ROLE_MENU"
    "AX_ROLE_MENUBAR"
    "AX_ROLE_MENUITEM"
    "AX_ROLE_MENUITEMCHECKBOX"
    "AX_ROLE_MENUITEMRADIO"
    "AX_ROLE_MENUITEMSEPARATOR"
    "AX_ROLE_MENULISTOPTION"
    "AX_ROLE_MENULISTPOPUP"
    "AX_ROLE_METER"
    "AX_ROLE_NAVIGATION"
    "AX_ROLE_NONE"
    "AX_ROLE_NOTE"
    "AX_ROLE_PANE"
    "AX_ROLE_PARAGRAPH"
    "AX_ROLE_PDFACTIONABLEHIGHLIGHT"
    "AX_ROLE_PDFROOT"
    "AX_ROLE_PLUGINOBJECT"
    "AX_ROLE_POPUPBUTTON"
    "AX_ROLE_PORTALDEPRECATED"
    "AX_ROLE_PREDEPRECATED"
    "AX_ROLE_PROGRESSINDICATOR"
    "AX_ROLE_RADIOBUTTON"
    "AX_ROLE_RADIOGROUP"
    "AX_ROLE_REGION"
    "AX_ROLE_ROOTWEBAREA"
    "AX_ROLE_ROW"
    "AX_ROLE_ROWGROUP"
    "AX_ROLE_ROWHEADER"
    "AX_ROLE_RUBY"
    "AX_ROLE_RUBYANNOTATION"
    "AX_ROLE_SCROLLBAR"
    "AX_ROLE_SCROLLVIEW"
    "AX_ROLE_SEARCH"
    "AX_ROLE_SEARCHBOX"
    "AX_ROLE_SECTION"
    "AX_ROLE_SECTIONFOOTER"
    "AX_ROLE_SECTIONHEADER"
    "AX_ROLE_SECTIONWITHOUTNAME"
    "AX_ROLE_SLIDER"
    "AX_ROLE_SPINBUTTON"
    "AX_ROLE_SPLITTER"
    "AX_ROLE_STATICTEXT"
    "AX_ROLE_STATUS"
    "AX_ROLE_STRONG"
    "AX_ROLE_SUBSCRIPT"
    "AX_ROLE_SUGGESTION"
    "AX_ROLE_SUPERSCRIPT"
    "AX_ROLE_SVGROOT"
    "AX_ROLE_SWITCH"
    "AX_ROLE_TAB"
    "AX_ROLE_TABLE"
    "AX_ROLE_TABLEHEADERCONTAINER"
    "AX_ROLE_TABLIST"
    "AX_ROLE_TABPANEL"
    "AX_ROLE_TERM"
    "AX_ROLE_TEXTFIELD"
    "AX_ROLE_TEXTFIELDWITHCOMBOBOX"
    "AX_ROLE_TIME"
    "AX_ROLE_TIMER"
    "AX_ROLE_TITLEBAR"
    "AX_ROLE_TOGGLEBUTTON"
    "AX_ROLE_TOOLBAR"
    "AX_ROLE_TOOLTIP"
    "AX_ROLE_TREE"
    "AX_ROLE_TREEGRID"
    "AX_ROLE_TREEITEM"
    "AX_ROLE_UNKNOWN"
    "AX_ROLE_VIDEO"
    "AX_ROLE_WEBVIEW"
    "AX_ROLE_WINDOW"
};

static const ::google::protobuf::internal::EnumEntry AXRole_entries[] = {
    {{&AXRole_names[0], 12}, 1},
    {{&AXRole_names[12], 13}, 2},
    {{&AXRole_names[25], 19}, 3},
    {{&AXRole_names[44], 19}, 4},
    {{&AXRole_names[63], 15}, 5},
    {{&AXRole_names[78], 13}, 6},
    {{&AXRole_names[91], 14}, 7},
    {{&AXRole_names[105], 18}, 8},
    {{&AXRole_names[123], 14}, 9},
    {{&AXRole_names[137], 14}, 10},
    {{&AXRole_names[151], 15}, 11},
    {{&AXRole_names[166], 13}, 12},
    {{&AXRole_names[179], 12}, 13},
    {{&AXRole_names[191], 16}, 14},
    {{&AXRole_names[207], 14}, 15},
    {{&AXRole_names[221], 12}, 16},
    {{&AXRole_names[233], 17}, 17},
    {{&AXRole_names[250], 14}, 18},
    {{&AXRole_names[264], 20}, 19},
    {{&AXRole_names[284], 24}, 20},
    {{&AXRole_names[308], 26}, 21},
    {{&AXRole_names[334], 22}, 209},
    {{&AXRole_names[356], 15}, 23},
    {{&AXRole_names[371], 21}, 22},
    {{&AXRole_names[392], 23}, 24},
    {{&AXRole_names[415], 19}, 26},
    {{&AXRole_names[434], 24}, 25},
    {{&AXRole_names[458], 12}, 27},
    {{&AXRole_names[470], 16}, 28},
    {{&AXRole_names[486], 18}, 29},
    {{&AXRole_names[504], 23}, 30},
    {{&AXRole_names[527], 39}, 31},
    {{&AXRole_names[566], 37}, 32},
    {{&AXRole_names[603], 15}, 33},
    {{&AXRole_names[618], 15}, 34},
    {{&AXRole_names[633], 14}, 35},
    {{&AXRole_names[647], 27}, 36},
    {{&AXRole_names[674], 26}, 37},
    {{&AXRole_names[700], 33}, 210},
    {{&AXRole_names[733], 19}, 38},
    {{&AXRole_names[752], 26}, 39},
    {{&AXRole_names[778], 20}, 40},
    {{&AXRole_names[798], 19}, 41},
    {{&AXRole_names[817], 19}, 42},
    {{&AXRole_names[836], 22}, 43},
    {{&AXRole_names[858], 23}, 44},
    {{&AXRole_names[881], 20}, 45},
    {{&AXRole_names[901], 18}, 46},
    {{&AXRole_names[919], 19}, 47},
    {{&AXRole_names[938], 21}, 48},
    {{&AXRole_names[959], 16}, 49},
    {{&AXRole_names[975], 17}, 50},
    {{&AXRole_names[992], 18}, 51},
    {{&AXRole_names[1010], 21}, 52},
    {{&AXRole_names[1031], 18}, 53},
    {{&AXRole_names[1049], 19}, 54},
    {{&AXRole_names[1068], 19}, 55},
    {{&AXRole_names[1087], 19}, 56},
    {{&AXRole_names[1106], 17}, 57},
    {{&AXRole_names[1123], 18}, 58},
    {{&AXRole_names[1141], 19}, 59},
    {{&AXRole_names[1160], 19}, 60},
    {{&AXRole_names[1179], 19}, 61},
    {{&AXRole_names[1198], 19}, 62},
    {{&AXRole_names[1217], 16}, 63},
    {{&AXRole_names[1233], 23}, 64},
    {{&AXRole_names[1256], 18}, 65},
    {{&AXRole_names[1274], 17}, 66},
    {{&AXRole_names[1291], 20}, 67},
    {{&AXRole_names[1311], 21}, 68},
    {{&AXRole_names[1332], 21}, 69},
    {{&AXRole_names[1353], 19}, 70},
    {{&AXRole_names[1372], 15}, 71},
    {{&AXRole_names[1387], 18}, 72},
    {{&AXRole_names[1405], 19}, 73},
    {{&AXRole_names[1424], 20}, 74},
    {{&AXRole_names[1444], 14}, 75},
    {{&AXRole_names[1458], 19}, 76},
    {{&AXRole_names[1477], 14}, 77},
    {{&AXRole_names[1491], 14}, 78},
    {{&AXRole_names[1505], 16}, 79},
    {{&AXRole_names[1521], 22}, 80},
    {{&AXRole_names[1543], 16}, 81},
    {{&AXRole_names[1559], 12}, 82},
    {{&AXRole_names[1571], 18}, 83},
    {{&AXRole_names[1589], 14}, 84},
    {{&AXRole_names[1603], 14}, 85},
    {{&AXRole_names[1617], 12}, 87},
    {{&AXRole_names[1629], 24}, 88},
    {{&AXRole_names[1653], 24}, 89},
    {{&AXRole_names[1677], 22}, 90},
    {{&AXRole_names[1699], 22}, 91},
    {{&AXRole_names[1721], 12}, 92},
    {{&AXRole_names[1733], 16}, 212},
    {{&AXRole_names[1749], 13}, 93},
    {{&AXRole_names[1762], 14}, 94},
    {{&AXRole_names[1776], 15}, 96},
    {{&AXRole_names[1791], 14}, 97},
    {{&AXRole_names[1805], 28}, 98},
    {{&AXRole_names[1833], 13}, 99},
    {{&AXRole_names[1846], 20}, 100},
    {{&AXRole_names[1866], 21}, 101},
    {{&AXRole_names[1887], 17}, 102},
    {{&AXRole_names[1904], 16}, 103},
    {{&AXRole_names[1920], 17}, 104},
    {{&AXRole_names[1937], 19}, 105},
    {{&AXRole_names[1956], 23}, 106},
    {{&AXRole_names[1979], 22}, 107},
    {{&AXRole_names[2001], 14}, 108},
    {{&AXRole_names[2015], 17}, 109},
    {{&AXRole_names[2032], 12}, 110},
    {{&AXRole_names[2044], 12}, 111},
    {{&AXRole_names[2056], 15}, 112},
    {{&AXRole_names[2071], 21}, 113},
    {{&AXRole_names[2092], 16}, 114},
    {{&AXRole_names[2108], 16}, 115},
    {{&AXRole_names[2124], 18}, 116},
    {{&AXRole_names[2142], 11}, 117},
    {{&AXRole_names[2153], 12}, 118},
    {{&AXRole_names[2165], 12}, 119},
    {{&AXRole_names[2177], 15}, 120},
    {{&AXRole_names[2192], 12}, 121},
    {{&AXRole_names[2204], 22}, 188},
    {{&AXRole_names[2226], 24}, 189},
    {{&AXRole_names[2250], 18}, 187},
    {{&AXRole_names[2268], 26}, 190},
    {{&AXRole_names[2294], 24}, 191},
    {{&AXRole_names[2318], 20}, 192},
    {{&AXRole_names[2338], 22}, 193},
    {{&AXRole_names[2360], 18}, 194},
    {{&AXRole_names[2378], 32}, 195},
    {{&AXRole_names[2410], 18}, 196},
    {{&AXRole_names[2428], 17}, 197},
    {{&AXRole_names[2445], 24}, 198},
    {{&AXRole_names[2469], 27}, 199},
    {{&AXRole_names[2496], 17}, 200},
    {{&AXRole_names[2513], 20}, 201},
    {{&AXRole_names[2533], 17}, 202},
    {{&AXRole_names[2550], 19}, 203},
    {{&AXRole_names[2569], 23}, 204},
    {{&AXRole_names[2592], 22}, 205},
    {{&AXRole_names[2614], 18}, 206},
    {{&AXRole_names[2632], 19}, 207},
    {{&AXRole_names[2651], 23}, 208},
    {{&AXRole_names[2674], 12}, 122},
    {{&AXRole_names[2686], 15}, 123},
    {{&AXRole_names[2701], 16}, 124},
    {{&AXRole_names[2717], 24}, 125},
    {{&AXRole_names[2741], 21}, 126},
    {{&AXRole_names[2762], 25}, 213},
    {{&AXRole_names[2787], 22}, 127},
    {{&AXRole_names[2809], 21}, 128},
    {{&AXRole_names[2830], 13}, 129},
    {{&AXRole_names[2843], 18}, 130},
    {{&AXRole_names[2861], 12}, 0},
    {{&AXRole_names[2873], 12}, 131},
    {{&AXRole_names[2885], 12}, 132},
    {{&AXRole_names[2897], 17}, 133},
    {{&AXRole_names[2914], 30}, 134},
    {{&AXRole_names[2944], 15}, 135},
    {{&AXRole_names[2959], 20}, 136},
    {{&AXRole_names[2979], 19}, 137},
    {{&AXRole_names[2998], 24}, 138},
    {{&AXRole_names[3022], 21}, 139},
    {{&AXRole_names[3043], 25}, 140},
    {{&AXRole_names[3068], 19}, 141},
    {{&AXRole_names[3087], 18}, 142},
    {{&AXRole_names[3105], 14}, 143},
    {{&AXRole_names[3119], 19}, 144},
    {{&AXRole_names[3138], 11}, 145},
    {{&AXRole_names[3149], 16}, 146},
    {{&AXRole_names[3165], 17}, 147},
    {{&AXRole_names[3182], 12}, 148},
    {{&AXRole_names[3194], 22}, 149},
    {{&AXRole_names[3216], 17}, 150},
    {{&AXRole_names[3233], 18}, 151},
    {{&AXRole_names[3251], 14}, 152},
    {{&AXRole_names[3265], 17}, 153},
    {{&AXRole_names[3282], 15}, 154},
    {{&AXRole_names[3297], 21}, 86},
    {{&AXRole_names[3318], 21}, 95},
    {{&AXRole_names[3339], 26}, 211},
    {{&AXRole_names[3365], 14}, 155},
    {{&AXRole_names[3379], 18}, 156},
    {{&AXRole_names[3397], 16}, 157},
    {{&AXRole_names[3413], 18}, 158},
    {{&AXRole_names[3431], 14}, 159},
    {{&AXRole_names[3445], 14}, 160},
    {{&AXRole_names[3459], 17}, 185},
    {{&AXRole_names[3476], 18}, 161},
    {{&AXRole_names[3494], 19}, 186},
    {{&AXRole_names[3513], 15}, 162},
    {{&AXRole_names[3528], 14}, 163},
    {{&AXRole_names[3542], 11}, 164},
    {{&AXRole_names[3553], 13}, 167},
    {{&AXRole_names[3566], 28}, 168},
    {{&AXRole_names[3594], 15}, 165},
    {{&AXRole_names[3609], 16}, 166},
    {{&AXRole_names[3625], 12}, 169},
    {{&AXRole_names[3637], 17}, 170},
    {{&AXRole_names[3654], 29}, 171},
    {{&AXRole_names[3683], 12}, 172},
    {{&AXRole_names[3695], 13}, 173},
    {{&AXRole_names[3708], 16}, 174},
    {{&AXRole_names[3724], 20}, 175},
    {{&AXRole_names[3744], 15}, 176},
    {{&AXRole_names[3759], 15}, 177},
    {{&AXRole_names[3774], 12}, 178},
    {{&AXRole_names[3786], 16}, 179},
    {{&AXRole_names[3802], 16}, 180},
    {{&AXRole_names[3818], 15}, 181},
    {{&AXRole_names[3833], 13}, 182},
    {{&AXRole_names[3846], 15}, 183},
    {{&AXRole_names[3861], 14}, 184},
};

static const int AXRole_entries_by_number[] = {
    154,  // 0 -> AX_ROLE_NONE
    0,  // 1 -> AX_ROLE_ABBR
    1,  // 2 -> AX_ROLE_ALERT
    2,  // 3 -> AX_ROLE_ALERTDIALOG
    3,  // 4 -> AX_ROLE_APPLICATION
    4,  // 5 -> AX_ROLE_ARTICLE
    5,  // 6 -> AX_ROLE_AUDIO
    6,  // 7 -> AX_ROLE_BANNER
    7,  // 8 -> AX_ROLE_BLOCKQUOTE
    8,  // 9 -> AX_ROLE_BUTTON
    9,  // 10 -> AX_ROLE_CANVAS
    10,  // 11 -> AX_ROLE_CAPTION
    11,  // 12 -> AX_ROLE_CARET
    12,  // 13 -> AX_ROLE_CELL
    13,  // 14 -> AX_ROLE_CHECKBOX
    14,  // 15 -> AX_ROLE_CLIENT
    15,  // 16 -> AX_ROLE_CODE
    16,  // 17 -> AX_ROLE_COLORWELL
    17,  // 18 -> AX_ROLE_COLUMN
    18,  // 19 -> AX_ROLE_COLUMNHEADER
    19,  // 20 -> AX_ROLE_COMBOBOXGROUPING
    20,  // 21 -> AX_ROLE_COMBOBOXMENUBUTTON
    23,  // 22 -> AX_ROLE_COMPLEMENTARY
    22,  // 23 -> AX_ROLE_COMMENT
    24,  // 24 -> AX_ROLE_CONTENTDELETION
    26,  // 25 -> AX_ROLE_CONTENTINSERTION
    25,  // 26 -> AX_ROLE_CONTENTINFO
    27,  // 27 -> AX_ROLE_DATE
    28,  // 28 -> AX_ROLE_DATETIME
    29,  // 29 -> AX_ROLE_DEFINITION
    30,  // 30 -> AX_ROLE_DESCRIPTIONLIST
    31,  // 31 -> AX_ROLE_DESCRIPTIONLISTDETAILDEPRECATED
    32,  // 32 -> AX_ROLE_DESCRIPTIONLISTTERMDEPRECATED
    33,  // 33 -> AX_ROLE_DESKTOP
    34,  // 34 -> AX_ROLE_DETAILS
    35,  // 35 -> AX_ROLE_DIALOG
    36,  // 36 -> AX_ROLE_DIRECTORYDEPRECATED
    37,  // 37 -> AX_ROLE_DISCLOSURETRIANGLE
    39,  // 38 -> AX_ROLE_DOCABSTRACT
    40,  // 39 -> AX_ROLE_DOCACKNOWLEDGMENTS
    41,  // 40 -> AX_ROLE_DOCAFTERWORD
    42,  // 41 -> AX_ROLE_DOCAPPENDIX
    43,  // 42 -> AX_ROLE_DOCBACKLINK
    44,  // 43 -> AX_ROLE_DOCBIBLIOENTRY
    45,  // 44 -> AX_ROLE_DOCBIBLIOGRAPHY
    46,  // 45 -> AX_ROLE_DOCBIBLIOREF
    47,  // 46 -> AX_ROLE_DOCCHAPTER
    48,  // 47 -> AX_ROLE_DOCCOLOPHON
    49,  // 48 -> AX_ROLE_DOCCONCLUSION
    50,  // 49 -> AX_ROLE_DOCCOVER
    51,  // 50 -> AX_ROLE_DOCCREDIT
    52,  // 51 -> AX_ROLE_DOCCREDITS
    53,  // 52 -> AX_ROLE_DOCDEDICATION
    54,  // 53 -> AX_ROLE_DOCENDNOTE
    55,  // 54 -> AX_ROLE_DOCENDNOTES
    56,  // 55 -> AX_ROLE_DOCEPIGRAPH
    57,  // 56 -> AX_ROLE_DOCEPILOGUE
    58,  // 57 -> AX_ROLE_DOCERRATA
    59,  // 58 -> AX_ROLE_DOCEXAMPLE
    60,  // 59 -> AX_ROLE_DOCFOOTNOTE
    61,  // 60 -> AX_ROLE_DOCFOREWORD
    62,  // 61 -> AX_ROLE_DOCGLOSSARY
    63,  // 62 -> AX_ROLE_DOCGLOSSREF
    64,  // 63 -> AX_ROLE_DOCINDEX
    65,  // 64 -> AX_ROLE_DOCINTRODUCTION
    66,  // 65 -> AX_ROLE_DOCNOTEREF
    67,  // 66 -> AX_ROLE_DOCNOTICE
    68,  // 67 -> AX_ROLE_DOCPAGEBREAK
    69,  // 68 -> AX_ROLE_DOCPAGEFOOTER
    70,  // 69 -> AX_ROLE_DOCPAGEHEADER
    71,  // 70 -> AX_ROLE_DOCPAGELIST
    72,  // 71 -> AX_ROLE_DOCPART
    73,  // 72 -> AX_ROLE_DOCPREFACE
    74,  // 73 -> AX_ROLE_DOCPROLOGUE
    75,  // 74 -> AX_ROLE_DOCPULLQUOTE
    76,  // 75 -> AX_ROLE_DOCQNA
    77,  // 76 -> AX_ROLE_DOCSUBTITLE
    78,  // 77 -> AX_ROLE_DOCTIP
    79,  // 78 -> AX_ROLE_DOCTOC
    80,  // 79 -> AX_ROLE_DOCUMENT
    81,  // 80 -> AX_ROLE_EMBEDDEDOBJECT
    82,  // 81 -> AX_ROLE_EMPHASIS
    83,  // 82 -> AX_ROLE_FEED
    84,  // 83 -> AX_ROLE_FIGCAPTION
    85,  // 84 -> AX_ROLE_FIGURE
    86,  // 85 -> AX_ROLE_FOOTER
    179,  // 86 -> AX_ROLE_SECTIONFOOTER
    87,  // 87 -> AX_ROLE_FORM
    88,  // 88 -> AX_ROLE_GENERICCONTAINER
    89,  // 89 -> AX_ROLE_GRAPHICSDOCUMENT
    90,  // 90 -> AX_ROLE_GRAPHICSOBJECT
    91,  // 91 -> AX_ROLE_GRAPHICSSYMBOL
    92,  // 92 -> AX_ROLE_GRID
    94,  // 93 -> AX_ROLE_GROUP
    95,  // 94 -> AX_ROLE_HEADER
    180,  // 95 -> AX_ROLE_SECTIONHEADER
    96,  // 96 -> AX_ROLE_HEADING
    97,  // 97 -> AX_ROLE_IFRAME
    98,  // 98 -> AX_ROLE_IFRAMEPRESENTATIONAL
    99,  // 99 -> AX_ROLE_IMAGE
    100,  // 100 -> AX_ROLE_IMECANDIDATE
    101,  // 101 -> AX_ROLE_INLINETEXTBOX
    102,  // 102 -> AX_ROLE_INPUTTIME
    103,  // 103 -> AX_ROLE_KEYBOARD
    104,  // 104 -> AX_ROLE_LABELTEXT
    105,  // 105 -> AX_ROLE_LAYOUTTABLE
    106,  // 106 -> AX_ROLE_LAYOUTTABLECELL
    107,  // 107 -> AX_ROLE_LAYOUTTABLEROW
    108,  // 108 -> AX_ROLE_LEGEND
    109,  // 109 -> AX_ROLE_LINEBREAK
    110,  // 110 -> AX_ROLE_LINK
    111,  // 111 -> AX_ROLE_LIST
    112,  // 112 -> AX_ROLE_LISTBOX
    113,  // 113 -> AX_ROLE_LISTBOXOPTION
    114,  // 114 -> AX_ROLE_LISTGRID
    115,  // 115 -> AX_ROLE_LISTITEM
    116,  // 116 -> AX_ROLE_LISTMARKER
    117,  // 117 -> AX_ROLE_LOG
    118,  // 118 -> AX_ROLE_MAIN
    119,  // 119 -> AX_ROLE_MARK
    120,  // 120 -> AX_ROLE_MARQUEE
    121,  // 121 -> AX_ROLE_MATH
    144,  // 122 -> AX_ROLE_MENU
    145,  // 123 -> AX_ROLE_MENUBAR
    146,  // 124 -> AX_ROLE_MENUITEM
    147,  // 125 -> AX_ROLE_MENUITEMCHECKBOX
    148,  // 126 -> AX_ROLE_MENUITEMRADIO
    150,  // 127 -> AX_ROLE_MENULISTOPTION
    151,  // 128 -> AX_ROLE_MENULISTPOPUP
    152,  // 129 -> AX_ROLE_METER
    153,  // 130 -> AX_ROLE_NAVIGATION
    155,  // 131 -> AX_ROLE_NOTE
    156,  // 132 -> AX_ROLE_PANE
    157,  // 133 -> AX_ROLE_PARAGRAPH
    158,  // 134 -> AX_ROLE_PDFACTIONABLEHIGHLIGHT
    159,  // 135 -> AX_ROLE_PDFROOT
    160,  // 136 -> AX_ROLE_PLUGINOBJECT
    161,  // 137 -> AX_ROLE_POPUPBUTTON
    162,  // 138 -> AX_ROLE_PORTALDEPRECATED
    163,  // 139 -> AX_ROLE_PREDEPRECATED
    164,  // 140 -> AX_ROLE_PROGRESSINDICATOR
    165,  // 141 -> AX_ROLE_RADIOBUTTON
    166,  // 142 -> AX_ROLE_RADIOGROUP
    167,  // 143 -> AX_ROLE_REGION
    168,  // 144 -> AX_ROLE_ROOTWEBAREA
    169,  // 145 -> AX_ROLE_ROW
    170,  // 146 -> AX_ROLE_ROWGROUP
    171,  // 147 -> AX_ROLE_ROWHEADER
    172,  // 148 -> AX_ROLE_RUBY
    173,  // 149 -> AX_ROLE_RUBYANNOTATION
    174,  // 150 -> AX_ROLE_SCROLLBAR
    175,  // 151 -> AX_ROLE_SCROLLVIEW
    176,  // 152 -> AX_ROLE_SEARCH
    177,  // 153 -> AX_ROLE_SEARCHBOX
    178,  // 154 -> AX_ROLE_SECTION
    182,  // 155 -> AX_ROLE_SLIDER
    183,  // 156 -> AX_ROLE_SPINBUTTON
    184,  // 157 -> AX_ROLE_SPLITTER
    185,  // 158 -> AX_ROLE_STATICTEXT
    186,  // 159 -> AX_ROLE_STATUS
    187,  // 160 -> AX_ROLE_STRONG
    189,  // 161 -> AX_ROLE_SUGGESTION
    191,  // 162 -> AX_ROLE_SVGROOT
    192,  // 163 -> AX_ROLE_SWITCH
    193,  // 164 -> AX_ROLE_TAB
    196,  // 165 -> AX_ROLE_TABLIST
    197,  // 166 -> AX_ROLE_TABPANEL
    194,  // 167 -> AX_ROLE_TABLE
    195,  // 168 -> AX_ROLE_TABLEHEADERCONTAINER
    198,  // 169 -> AX_ROLE_TERM
    199,  // 170 -> AX_ROLE_TEXTFIELD
    200,  // 171 -> AX_ROLE_TEXTFIELDWITHCOMBOBOX
    201,  // 172 -> AX_ROLE_TIME
    202,  // 173 -> AX_ROLE_TIMER
    203,  // 174 -> AX_ROLE_TITLEBAR
    204,  // 175 -> AX_ROLE_TOGGLEBUTTON
    205,  // 176 -> AX_ROLE_TOOLBAR
    206,  // 177 -> AX_ROLE_TOOLTIP
    207,  // 178 -> AX_ROLE_TREE
    208,  // 179 -> AX_ROLE_TREEGRID
    209,  // 180 -> AX_ROLE_TREEITEM
    210,  // 181 -> AX_ROLE_UNKNOWN
    211,  // 182 -> AX_ROLE_VIDEO
    212,  // 183 -> AX_ROLE_WEBVIEW
    213,  // 184 -> AX_ROLE_WINDOW
    188,  // 185 -> AX_ROLE_SUBSCRIPT
    190,  // 186 -> AX_ROLE_SUPERSCRIPT
    124,  // 187 -> AX_ROLE_MATHMLMATH
    122,  // 188 -> AX_ROLE_MATHMLFRACTION
    123,  // 189 -> AX_ROLE_MATHMLIDENTIFIER
    125,  // 190 -> AX_ROLE_MATHMLMULTISCRIPTS
    126,  // 191 -> AX_ROLE_MATHMLNONESCRIPT
    127,  // 192 -> AX_ROLE_MATHMLNUMBER
    128,  // 193 -> AX_ROLE_MATHMLOPERATOR
    129,  // 194 -> AX_ROLE_MATHMLOVER
    130,  // 195 -> AX_ROLE_MATHMLPRESCRIPTDELIMITER
    131,  // 196 -> AX_ROLE_MATHMLROOT
    132,  // 197 -> AX_ROLE_MATHMLROW
    133,  // 198 -> AX_ROLE_MATHMLSQUAREROOT
    134,  // 199 -> AX_ROLE_MATHMLSTRINGLITERAL
    135,  // 200 -> AX_ROLE_MATHMLSUB
    136,  // 201 -> AX_ROLE_MATHMLSUBSUP
    137,  // 202 -> AX_ROLE_MATHMLSUP
    138,  // 203 -> AX_ROLE_MATHMLTABLE
    139,  // 204 -> AX_ROLE_MATHMLTABLECELL
    140,  // 205 -> AX_ROLE_MATHMLTABLEROW
    141,  // 206 -> AX_ROLE_MATHMLTEXT
    142,  // 207 -> AX_ROLE_MATHMLUNDER
    143,  // 208 -> AX_ROLE_MATHMLUNDEROVER
    21,  // 209 -> AX_ROLE_COMBOBOXSELECT
    38,  // 210 -> AX_ROLE_DISCLOSURETRIANGLEGROUPED
    181,  // 211 -> AX_ROLE_SECTIONWITHOUTNAME
    93,  // 212 -> AX_ROLE_GRIDCELL
    149,  // 213 -> AX_ROLE_MENUITEMSEPARATOR
};

bool AXRole_Parse(::absl::string_view name,
                                  AXRole* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AXRole_entries, 214, name, &int_value);
  if (success) {
    *value = static_cast<AXRole>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AXRole_strings[214] = {};

const ::std::string& AXRole_Name(AXRole value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AXRole_entries, AXRole_entries_by_number, 214,
      AXRole_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AXRole_entries,
                                  AXRole_entries_by_number,
                                  214, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AXRole_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AXStringAttribute_internal_data_[] = {
    3080192u, 0u, };
static const char AXStringAttribute_names[] = {
    "AX_SA_ACCESSKEY"
    "AX_SA_APPID"
    "AX_SA_ARIABRAILLELABEL"
    "AX_SA_ARIABRAILLEROLEDESCRIPTION"
    "AX_SA_ARIACELLCOLUMNINDEXTEXT"
    "AX_SA_ARIACELLROWINDEXTEXT"
    "AX_SA_ARIAINVALIDVALUEDEPRECATED"
    "AX_SA_ARIANOTIFICATIONANNOUNCEMENTDEPRECATED"
    "AX_SA_ARIANOTIFICATIONIDDEPRECATED"
    "AX_SA_ARIAVALUETEXT"
    "AX_SA_AUTOCOMPLETE"
    "AX_SA_CANVASANNOTATION"
    "AX_SA_CHECKEDSTATEDESCRIPTION"
    "AX_SA_CHILDTREEID"
    "AX_SA_CHILDTREENODEAPPID"
    "AX_SA_CLASSNAME"
    "AX_SA_CONTAINERLIVERELEVANT"
    "AX_SA_CONTAINERLIVESTATUS"
    "AX_SA_DATETIME"
    "AX_SA_DESCRIPTION"
    "AX_SA_DISPLAY"
    "AX_SA_DODEFAULTLABEL"
    "AX_SA_FONTFAMILY"
    "AX_SA_HTMLID"
    "AX_SA_HTMLINPUTNAME"
    "AX_SA_HTMLTAG"
    "AX_SA_IMAGEANNOTATION"
    "AX_SA_IMAGEDATAURL"
    "AX_SA_INPUTTYPE"
    "AX_SA_KEYSHORTCUTS"
    "AX_SA_LANGUAGE"
    "AX_SA_LINKTARGET"
    "AX_SA_LIVERELEVANT"
    "AX_SA_LIVESTATUS"
    "AX_SA_LONGCLICKLABEL"
    "AX_SA_MATHARG"
    "AX_SA_MATHCONTENT"
    "AX_SA_MATHINTENT"
    "AX_SA_NAME"
    "AX_SA_NONE"
    "AX_SA_PLACEHOLDER"
    "AX_SA_ROLE"
    "AX_SA_ROLEDESCRIPTION"
    "AX_SA_TOOLTIP"
    "AX_SA_URL"
    "AX_SA_VALUE"
    "AX_SA_VIRTUALCONTENT"
};

static const ::google::protobuf::internal::EnumEntry AXStringAttribute_entries[] = {
    {{&AXStringAttribute_names[0], 15}, 1},
    {{&AXStringAttribute_names[15], 11}, 2},
    {{&AXStringAttribute_names[26], 22}, 33},
    {{&AXStringAttribute_names[48], 32}, 34},
    {{&AXStringAttribute_names[80], 29}, 39},
    {{&AXStringAttribute_names[109], 26}, 40},
    {{&AXStringAttribute_names[135], 32}, 3},
    {{&AXStringAttribute_names[167], 44}, 36},
    {{&AXStringAttribute_names[211], 34}, 37},
    {{&AXStringAttribute_names[245], 19}, 46},
    {{&AXStringAttribute_names[264], 18}, 4},
    {{&AXStringAttribute_names[282], 22}, 45},
    {{&AXStringAttribute_names[304], 29}, 5},
    {{&AXStringAttribute_names[333], 17}, 6},
    {{&AXStringAttribute_names[350], 24}, 7},
    {{&AXStringAttribute_names[374], 15}, 8},
    {{&AXStringAttribute_names[389], 27}, 9},
    {{&AXStringAttribute_names[416], 25}, 10},
    {{&AXStringAttribute_names[441], 14}, 41},
    {{&AXStringAttribute_names[455], 17}, 11},
    {{&AXStringAttribute_names[472], 13}, 12},
    {{&AXStringAttribute_names[485], 20}, 31},
    {{&AXStringAttribute_names[505], 16}, 13},
    {{&AXStringAttribute_names[521], 12}, 38},
    {{&AXStringAttribute_names[533], 19}, 42},
    {{&AXStringAttribute_names[552], 13}, 14},
    {{&AXStringAttribute_names[565], 21}, 15},
    {{&AXStringAttribute_names[586], 18}, 16},
    {{&AXStringAttribute_names[604], 15}, 18},
    {{&AXStringAttribute_names[619], 18}, 19},
    {{&AXStringAttribute_names[637], 14}, 20},
    {{&AXStringAttribute_names[651], 16}, 35},
    {{&AXStringAttribute_names[667], 18}, 22},
    {{&AXStringAttribute_names[685], 16}, 23},
    {{&AXStringAttribute_names[701], 20}, 32},
    {{&AXStringAttribute_names[721], 13}, 43},
    {{&AXStringAttribute_names[734], 17}, 17},
    {{&AXStringAttribute_names[751], 16}, 44},
    {{&AXStringAttribute_names[767], 10}, 21},
    {{&AXStringAttribute_names[777], 10}, 0},
    {{&AXStringAttribute_names[787], 17}, 24},
    {{&AXStringAttribute_names[804], 10}, 25},
    {{&AXStringAttribute_names[814], 21}, 26},
    {{&AXStringAttribute_names[835], 13}, 27},
    {{&AXStringAttribute_names[848], 9}, 28},
    {{&AXStringAttribute_names[857], 11}, 29},
    {{&AXStringAttribute_names[868], 20}, 30},
};

static const int AXStringAttribute_entries_by_number[] = {
    39,  // 0 -> AX_SA_NONE
    0,  // 1 -> AX_SA_ACCESSKEY
    1,  // 2 -> AX_SA_APPID
    6,  // 3 -> AX_SA_ARIAINVALIDVALUEDEPRECATED
    10,  // 4 -> AX_SA_AUTOCOMPLETE
    12,  // 5 -> AX_SA_CHECKEDSTATEDESCRIPTION
    13,  // 6 -> AX_SA_CHILDTREEID
    14,  // 7 -> AX_SA_CHILDTREENODEAPPID
    15,  // 8 -> AX_SA_CLASSNAME
    16,  // 9 -> AX_SA_CONTAINERLIVERELEVANT
    17,  // 10 -> AX_SA_CONTAINERLIVESTATUS
    19,  // 11 -> AX_SA_DESCRIPTION
    20,  // 12 -> AX_SA_DISPLAY
    22,  // 13 -> AX_SA_FONTFAMILY
    25,  // 14 -> AX_SA_HTMLTAG
    26,  // 15 -> AX_SA_IMAGEANNOTATION
    27,  // 16 -> AX_SA_IMAGEDATAURL
    36,  // 17 -> AX_SA_MATHCONTENT
    28,  // 18 -> AX_SA_INPUTTYPE
    29,  // 19 -> AX_SA_KEYSHORTCUTS
    30,  // 20 -> AX_SA_LANGUAGE
    38,  // 21 -> AX_SA_NAME
    32,  // 22 -> AX_SA_LIVERELEVANT
    33,  // 23 -> AX_SA_LIVESTATUS
    40,  // 24 -> AX_SA_PLACEHOLDER
    41,  // 25 -> AX_SA_ROLE
    42,  // 26 -> AX_SA_ROLEDESCRIPTION
    43,  // 27 -> AX_SA_TOOLTIP
    44,  // 28 -> AX_SA_URL
    45,  // 29 -> AX_SA_VALUE
    46,  // 30 -> AX_SA_VIRTUALCONTENT
    21,  // 31 -> AX_SA_DODEFAULTLABEL
    34,  // 32 -> AX_SA_LONGCLICKLABEL
    2,  // 33 -> AX_SA_ARIABRAILLELABEL
    3,  // 34 -> AX_SA_ARIABRAILLEROLEDESCRIPTION
    31,  // 35 -> AX_SA_LINKTARGET
    7,  // 36 -> AX_SA_ARIANOTIFICATIONANNOUNCEMENTDEPRECATED
    8,  // 37 -> AX_SA_ARIANOTIFICATIONIDDEPRECATED
    23,  // 38 -> AX_SA_HTMLID
    4,  // 39 -> AX_SA_ARIACELLCOLUMNINDEXTEXT
    5,  // 40 -> AX_SA_ARIACELLROWINDEXTEXT
    18,  // 41 -> AX_SA_DATETIME
    24,  // 42 -> AX_SA_HTMLINPUTNAME
    35,  // 43 -> AX_SA_MATHARG
    37,  // 44 -> AX_SA_MATHINTENT
    11,  // 45 -> AX_SA_CANVASANNOTATION
    9,  // 46 -> AX_SA_ARIAVALUETEXT
};

bool AXStringAttribute_Parse(::absl::string_view name,
                                  AXStringAttribute* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AXStringAttribute_entries, 47, name, &int_value);
  if (success) {
    *value = static_cast<AXStringAttribute>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AXStringAttribute_strings[47] = {};

const ::std::string& AXStringAttribute_Name(AXStringAttribute value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AXStringAttribute_entries, AXStringAttribute_entries_by_number, 47,
      AXStringAttribute_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AXStringAttribute_entries,
                                  AXStringAttribute_entries_by_number,
                                  47, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AXStringAttribute_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AXIntAttribute_internal_data_[] = {
    4587520u, 0u, };
static const char AXIntAttribute_names[] = {
    "AX_IA_ACTIVEDESCENDANTID"
    "AX_IA_ARIACELLCOLUMNINDEX"
    "AX_IA_ARIACELLCOLUMNSPAN"
    "AX_IA_ARIACELLROWINDEX"
    "AX_IA_ARIACELLROWSPAN"
    "AX_IA_ARIACOLUMNCOUNT"
    "AX_IA_ARIACURRENTSTATE"
    "AX_IA_ARIANOTIFICATIONINTERRUPTDEPRECATED"
    "AX_IA_ARIANOTIFICATIONPRIORITYDEPRECATED"
    "AX_IA_ARIAROWCOUNT"
    "AX_IA_BACKGROUNDCOLOR"
    "AX_IA_CHECKEDSTATE"
    "AX_IA_COLOR"
    "AX_IA_COLORVALUE"
    "AX_IA_COMMITTEDTEXTLENGTH"
    "AX_IA_DEFAULTACTIONVERB"
    "AX_IA_DESCRIPTIONFROM"
    "AX_IA_DETAILSFROM"
    "AX_IA_DOMNODEIDDEPRECATED"
    "AX_IA_DROPEFFECTDEPRECATED"
    "AX_IA_ERRORMESSAGEIDDEPRECATED"
    "AX_IA_HASPOPUP"
    "AX_IA_HIERARCHICALLEVEL"
    "AX_IA_IMAGEANNOTATIONSTATUS"
    "AX_IA_INPAGELINKTARGETID"
    "AX_IA_INVALIDSTATE"
    "AX_IA_ISPOPUP"
    "AX_IA_LISTSTYLE"
    "AX_IA_MAXLENGTH"
    "AX_IA_MEMBEROFID"
    "AX_IA_NAMEFROM"
    "AX_IA_NEXTFOCUSID"
    "AX_IA_NEXTONLINEID"
    "AX_IA_NEXTWINDOWFOCUSID"
    "AX_IA_NONE"
    "AX_IA_PAINTORDER"
    "AX_IA_POPUPFORID"
    "AX_IA_POSINSET"
    "AX_IA_PREVIOUSFOCUSID"
    "AX_IA_PREVIOUSONLINEID"
    "AX_IA_PREVIOUSWINDOWFOCUSID"
    "AX_IA_RESTRICTION"
    "AX_IA_SCROLLX"
    "AX_IA_SCROLLXMAX"
    "AX_IA_SCROLLXMIN"
    "AX_IA_SCROLLY"
    "AX_IA_SCROLLYMAX"
    "AX_IA_SCROLLYMIN"
    "AX_IA_SETSIZE"
    "AX_IA_SORTDIRECTION"
    "AX_IA_TABLECELLCOLUMNINDEX"
    "AX_IA_TABLECELLCOLUMNSPAN"
    "AX_IA_TABLECELLROWINDEX"
    "AX_IA_TABLECELLROWSPAN"
    "AX_IA_TABLECOLUMNCOUNT"
    "AX_IA_TABLECOLUMNHEADERID"
    "AX_IA_TABLECOLUMNINDEX"
    "AX_IA_TABLEHEADERID"
    "AX_IA_TABLEROWCOUNT"
    "AX_IA_TABLEROWHEADERID"
    "AX_IA_TABLEROWINDEX"
    "AX_IA_TEXTALIGN"
    "AX_IA_TEXTDIRECTION"
    "AX_IA_TEXTOVERLINESTYLE"
    "AX_IA_TEXTPOSITION"
    "AX_IA_TEXTSELEND"
    "AX_IA_TEXTSELSTART"
    "AX_IA_TEXTSTRIKETHROUGHSTYLE"
    "AX_IA_TEXTSTYLE"
    "AX_IA_TEXTUNDERLINESTYLE"
};

static const ::google::protobuf::internal::EnumEntry AXIntAttribute_entries[] = {
    {{&AXIntAttribute_names[0], 24}, 31},
    {{&AXIntAttribute_names[24], 25}, 11},
    {{&AXIntAttribute_names[49], 24}, 12},
    {{&AXIntAttribute_names[73], 22}, 14},
    {{&AXIntAttribute_names[95], 21}, 15},
    {{&AXIntAttribute_names[116], 21}, 10},
    {{&AXIntAttribute_names[137], 22}, 42},
    {{&AXIntAttribute_names[159], 41}, 64},
    {{&AXIntAttribute_names[200], 40}, 65},
    {{&AXIntAttribute_names[240], 18}, 13},
    {{&AXIntAttribute_names[258], 21}, 43},
    {{&AXIntAttribute_names[279], 18}, 48},
    {{&AXIntAttribute_names[297], 11}, 44},
    {{&AXIntAttribute_names[308], 16}, 41},
    {{&AXIntAttribute_names[324], 25}, 69},
    {{&AXIntAttribute_names[349], 23}, 1},
    {{&AXIntAttribute_names[372], 21}, 30},
    {{&AXIntAttribute_names[393], 17}, 66},
    {{&AXIntAttribute_names[410], 25}, 60},
    {{&AXIntAttribute_names[435], 26}, 59},
    {{&AXIntAttribute_names[461], 30}, 32},
    {{&AXIntAttribute_names[491], 14}, 45},
    {{&AXIntAttribute_names[505], 23}, 28},
    {{&AXIntAttribute_names[528], 27}, 46},
    {{&AXIntAttribute_names[555], 24}, 33},
    {{&AXIntAttribute_names[579], 18}, 47},
    {{&AXIntAttribute_names[597], 13}, 61},
    {{&AXIntAttribute_names[610], 15}, 49},
    {{&AXIntAttribute_names[625], 15}, 67},
    {{&AXIntAttribute_names[640], 16}, 34},
    {{&AXIntAttribute_names[656], 14}, 29},
    {{&AXIntAttribute_names[670], 17}, 58},
    {{&AXIntAttribute_names[687], 18}, 35},
    {{&AXIntAttribute_names[705], 23}, 62},
    {{&AXIntAttribute_names[728], 10}, 0},
    {{&AXIntAttribute_names[738], 16}, 68},
    {{&AXIntAttribute_names[754], 16}, 36},
    {{&AXIntAttribute_names[770], 14}, 40},
    {{&AXIntAttribute_names[784], 21}, 57},
    {{&AXIntAttribute_names[805], 22}, 37},
    {{&AXIntAttribute_names[827], 27}, 63},
    {{&AXIntAttribute_names[854], 17}, 38},
    {{&AXIntAttribute_names[871], 13}, 2},
    {{&AXIntAttribute_names[884], 16}, 4},
    {{&AXIntAttribute_names[900], 16}, 3},
    {{&AXIntAttribute_names[916], 13}, 5},
    {{&AXIntAttribute_names[929], 16}, 7},
    {{&AXIntAttribute_names[945], 16}, 6},
    {{&AXIntAttribute_names[961], 13}, 39},
    {{&AXIntAttribute_names[974], 19}, 27},
    {{&AXIntAttribute_names[993], 26}, 23},
    {{&AXIntAttribute_names[1019], 25}, 24},
    {{&AXIntAttribute_names[1044], 23}, 25},
    {{&AXIntAttribute_names[1067], 22}, 26},
    {{&AXIntAttribute_names[1089], 22}, 17},
    {{&AXIntAttribute_names[1111], 25}, 22},
    {{&AXIntAttribute_names[1136], 22}, 21},
    {{&AXIntAttribute_names[1158], 19}, 18},
    {{&AXIntAttribute_names[1177], 19}, 16},
    {{&AXIntAttribute_names[1196], 22}, 20},
    {{&AXIntAttribute_names[1218], 19}, 19},
    {{&AXIntAttribute_names[1237], 15}, 50},
    {{&AXIntAttribute_names[1252], 19}, 51},
    {{&AXIntAttribute_names[1271], 23}, 54},
    {{&AXIntAttribute_names[1294], 18}, 52},
    {{&AXIntAttribute_names[1312], 16}, 9},
    {{&AXIntAttribute_names[1328], 18}, 8},
    {{&AXIntAttribute_names[1346], 28}, 55},
    {{&AXIntAttribute_names[1374], 15}, 53},
    {{&AXIntAttribute_names[1389], 24}, 56},
};

static const int AXIntAttribute_entries_by_number[] = {
    34,  // 0 -> AX_IA_NONE
    15,  // 1 -> AX_IA_DEFAULTACTIONVERB
    42,  // 2 -> AX_IA_SCROLLX
    44,  // 3 -> AX_IA_SCROLLXMIN
    43,  // 4 -> AX_IA_SCROLLXMAX
    45,  // 5 -> AX_IA_SCROLLY
    47,  // 6 -> AX_IA_SCROLLYMIN
    46,  // 7 -> AX_IA_SCROLLYMAX
    66,  // 8 -> AX_IA_TEXTSELSTART
    65,  // 9 -> AX_IA_TEXTSELEND
    5,  // 10 -> AX_IA_ARIACOLUMNCOUNT
    1,  // 11 -> AX_IA_ARIACELLCOLUMNINDEX
    2,  // 12 -> AX_IA_ARIACELLCOLUMNSPAN
    9,  // 13 -> AX_IA_ARIAROWCOUNT
    3,  // 14 -> AX_IA_ARIACELLROWINDEX
    4,  // 15 -> AX_IA_ARIACELLROWSPAN
    58,  // 16 -> AX_IA_TABLEROWCOUNT
    54,  // 17 -> AX_IA_TABLECOLUMNCOUNT
    57,  // 18 -> AX_IA_TABLEHEADERID
    60,  // 19 -> AX_IA_TABLEROWINDEX
    59,  // 20 -> AX_IA_TABLEROWHEADERID
    56,  // 21 -> AX_IA_TABLECOLUMNINDEX
    55,  // 22 -> AX_IA_TABLECOLUMNHEADERID
    50,  // 23 -> AX_IA_TABLECELLCOLUMNINDEX
    51,  // 24 -> AX_IA_TABLECELLCOLUMNSPAN
    52,  // 25 -> AX_IA_TABLECELLROWINDEX
    53,  // 26 -> AX_IA_TABLECELLROWSPAN
    49,  // 27 -> AX_IA_SORTDIRECTION
    22,  // 28 -> AX_IA_HIERARCHICALLEVEL
    30,  // 29 -> AX_IA_NAMEFROM
    16,  // 30 -> AX_IA_DESCRIPTIONFROM
    0,  // 31 -> AX_IA_ACTIVEDESCENDANTID
    20,  // 32 -> AX_IA_ERRORMESSAGEIDDEPRECATED
    24,  // 33 -> AX_IA_INPAGELINKTARGETID
    29,  // 34 -> AX_IA_MEMBEROFID
    32,  // 35 -> AX_IA_NEXTONLINEID
    36,  // 36 -> AX_IA_POPUPFORID
    39,  // 37 -> AX_IA_PREVIOUSONLINEID
    41,  // 38 -> AX_IA_RESTRICTION
    48,  // 39 -> AX_IA_SETSIZE
    37,  // 40 -> AX_IA_POSINSET
    13,  // 41 -> AX_IA_COLORVALUE
    6,  // 42 -> AX_IA_ARIACURRENTSTATE
    10,  // 43 -> AX_IA_BACKGROUNDCOLOR
    12,  // 44 -> AX_IA_COLOR
    21,  // 45 -> AX_IA_HASPOPUP
    23,  // 46 -> AX_IA_IMAGEANNOTATIONSTATUS
    25,  // 47 -> AX_IA_INVALIDSTATE
    11,  // 48 -> AX_IA_CHECKEDSTATE
    27,  // 49 -> AX_IA_LISTSTYLE
    61,  // 50 -> AX_IA_TEXTALIGN
    62,  // 51 -> AX_IA_TEXTDIRECTION
    64,  // 52 -> AX_IA_TEXTPOSITION
    68,  // 53 -> AX_IA_TEXTSTYLE
    63,  // 54 -> AX_IA_TEXTOVERLINESTYLE
    67,  // 55 -> AX_IA_TEXTSTRIKETHROUGHSTYLE
    69,  // 56 -> AX_IA_TEXTUNDERLINESTYLE
    38,  // 57 -> AX_IA_PREVIOUSFOCUSID
    31,  // 58 -> AX_IA_NEXTFOCUSID
    19,  // 59 -> AX_IA_DROPEFFECTDEPRECATED
    18,  // 60 -> AX_IA_DOMNODEIDDEPRECATED
    26,  // 61 -> AX_IA_ISPOPUP
    33,  // 62 -> AX_IA_NEXTWINDOWFOCUSID
    40,  // 63 -> AX_IA_PREVIOUSWINDOWFOCUSID
    7,  // 64 -> AX_IA_ARIANOTIFICATIONINTERRUPTDEPRECATED
    8,  // 65 -> AX_IA_ARIANOTIFICATIONPRIORITYDEPRECATED
    17,  // 66 -> AX_IA_DETAILSFROM
    28,  // 67 -> AX_IA_MAXLENGTH
    35,  // 68 -> AX_IA_PAINTORDER
    14,  // 69 -> AX_IA_COMMITTEDTEXTLENGTH
};

bool AXIntAttribute_Parse(::absl::string_view name,
                                  AXIntAttribute* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AXIntAttribute_entries, 70, name, &int_value);
  if (success) {
    *value = static_cast<AXIntAttribute>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AXIntAttribute_strings[70] = {};

const ::std::string& AXIntAttribute_Name(AXIntAttribute value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AXIntAttribute_entries, AXIntAttribute_entries_by_number, 70,
      AXIntAttribute_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AXIntAttribute_entries,
                                  AXIntAttribute_entries_by_number,
                                  70, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AXIntAttribute_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AXFloatAttribute_internal_data_[] = {
    589824u, 0u, };
static const char AXFloatAttribute_names[] = {
    "AX_FA_CHILDTREESCALE"
    "AX_FA_FONTSIZE"
    "AX_FA_FONTWEIGHT"
    "AX_FA_MAXVALUEFORRANGE"
    "AX_FA_MINVALUEFORRANGE"
    "AX_FA_NONE"
    "AX_FA_STEPVALUEFORRANGE"
    "AX_FA_TEXTINDENT"
    "AX_FA_VALUEFORRANGE"
};

static const ::google::protobuf::internal::EnumEntry AXFloatAttribute_entries[] = {
    {{&AXFloatAttribute_names[0], 20}, 8},
    {{&AXFloatAttribute_names[20], 14}, 5},
    {{&AXFloatAttribute_names[34], 16}, 6},
    {{&AXFloatAttribute_names[50], 22}, 3},
    {{&AXFloatAttribute_names[72], 22}, 2},
    {{&AXFloatAttribute_names[94], 10}, 0},
    {{&AXFloatAttribute_names[104], 23}, 4},
    {{&AXFloatAttribute_names[127], 16}, 7},
    {{&AXFloatAttribute_names[143], 19}, 1},
};

static const int AXFloatAttribute_entries_by_number[] = {
    5,  // 0 -> AX_FA_NONE
    8,  // 1 -> AX_FA_VALUEFORRANGE
    4,  // 2 -> AX_FA_MINVALUEFORRANGE
    3,  // 3 -> AX_FA_MAXVALUEFORRANGE
    6,  // 4 -> AX_FA_STEPVALUEFORRANGE
    1,  // 5 -> AX_FA_FONTSIZE
    2,  // 6 -> AX_FA_FONTWEIGHT
    7,  // 7 -> AX_FA_TEXTINDENT
    0,  // 8 -> AX_FA_CHILDTREESCALE
};

bool AXFloatAttribute_Parse(::absl::string_view name,
                                  AXFloatAttribute* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AXFloatAttribute_entries, 9, name, &int_value);
  if (success) {
    *value = static_cast<AXFloatAttribute>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AXFloatAttribute_strings[9] = {};

const ::std::string& AXFloatAttribute_Name(AXFloatAttribute value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AXFloatAttribute_entries, AXFloatAttribute_entries_by_number, 9,
      AXFloatAttribute_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AXFloatAttribute_entries,
                                  AXFloatAttribute_entries_by_number,
                                  9, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AXFloatAttribute_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AXBoolAttribute_internal_data_[] = {
    1703936u, 0u, };
static const char AXBoolAttribute_names[] = {
    "AX_BA_BUSY"
    "AX_BA_CANVASHASFALLBACK"
    "AX_BA_CLICKABLE"
    "AX_BA_CLIPSCHILDREN"
    "AX_BA_COMMITTEDBYIME"
    "AX_BA_CONTAINERLIVEATOMIC"
    "AX_BA_CONTAINERLIVEBUSY"
    "AX_BA_GRABBEDDEPRECATED"
    "AX_BA_HASARIAATTRIBUTE"
    "AX_BA_HASCOMPOSITION"
    "AX_BA_HASHIDDENOFFSCREENNODES"
    "AX_BA_ISLINEBREAKINGOBJECT"
    "AX_BA_ISPAGEBREAKINGOBJECT"
    "AX_BA_LIVEATOMIC"
    "AX_BA_LONGCLICKABLE"
    "AX_BA_MODAL"
    "AX_BA_NONATOMICTEXTFIELDROOT"
    "AX_BA_NONE"
    "AX_BA_NOTUSERSELECTABLESTYLE"
    "AX_BA_SCROLLABLE"
    "AX_BA_SELECTED"
    "AX_BA_SELECTEDFROMFOCUS"
    "AX_BA_SUPPORTSTEXTLOCATION"
    "AX_BA_TEXTSUGGESTIONSELECTEDBYIME"
    "AX_BA_TOUCHPASSTHROUGHDEPRECATED"
    "AX_BA_UPDATELOCATIONONLY"
};

static const ::google::protobuf::internal::EnumEntry AXBoolAttribute_entries[] = {
    {{&AXBoolAttribute_names[0], 10}, 1},
    {{&AXBoolAttribute_names[10], 23}, 8},
    {{&AXBoolAttribute_names[33], 15}, 10},
    {{&AXBoolAttribute_names[48], 19}, 11},
    {{&AXBoolAttribute_names[67], 20}, 24},
    {{&AXBoolAttribute_names[87], 25}, 3},
    {{&AXBoolAttribute_names[112], 23}, 4},
    {{&AXBoolAttribute_names[135], 23}, 16},
    {{&AXBoolAttribute_names[158], 22}, 19},
    {{&AXBoolAttribute_names[180], 20}, 23},
    {{&AXBoolAttribute_names[200], 29}, 22},
    {{&AXBoolAttribute_names[229], 26}, 17},
    {{&AXBoolAttribute_names[255], 26}, 18},
    {{&AXBoolAttribute_names[281], 16}, 5},
    {{&AXBoolAttribute_names[297], 19}, 21},
    {{&AXBoolAttribute_names[316], 11}, 6},
    {{&AXBoolAttribute_names[327], 28}, 2},
    {{&AXBoolAttribute_names[355], 10}, 0},
    {{&AXBoolAttribute_names[365], 28}, 12},
    {{&AXBoolAttribute_names[393], 16}, 9},
    {{&AXBoolAttribute_names[409], 14}, 13},
    {{&AXBoolAttribute_names[423], 23}, 14},
    {{&AXBoolAttribute_names[446], 26}, 15},
    {{&AXBoolAttribute_names[472], 33}, 25},
    {{&AXBoolAttribute_names[505], 32}, 20},
    {{&AXBoolAttribute_names[537], 24}, 7},
};

static const int AXBoolAttribute_entries_by_number[] = {
    17,  // 0 -> AX_BA_NONE
    0,  // 1 -> AX_BA_BUSY
    16,  // 2 -> AX_BA_NONATOMICTEXTFIELDROOT
    5,  // 3 -> AX_BA_CONTAINERLIVEATOMIC
    6,  // 4 -> AX_BA_CONTAINERLIVEBUSY
    13,  // 5 -> AX_BA_LIVEATOMIC
    15,  // 6 -> AX_BA_MODAL
    25,  // 7 -> AX_BA_UPDATELOCATIONONLY
    1,  // 8 -> AX_BA_CANVASHASFALLBACK
    19,  // 9 -> AX_BA_SCROLLABLE
    2,  // 10 -> AX_BA_CLICKABLE
    3,  // 11 -> AX_BA_CLIPSCHILDREN
    18,  // 12 -> AX_BA_NOTUSERSELECTABLESTYLE
    20,  // 13 -> AX_BA_SELECTED
    21,  // 14 -> AX_BA_SELECTEDFROMFOCUS
    22,  // 15 -> AX_BA_SUPPORTSTEXTLOCATION
    7,  // 16 -> AX_BA_GRABBEDDEPRECATED
    11,  // 17 -> AX_BA_ISLINEBREAKINGOBJECT
    12,  // 18 -> AX_BA_ISPAGEBREAKINGOBJECT
    8,  // 19 -> AX_BA_HASARIAATTRIBUTE
    24,  // 20 -> AX_BA_TOUCHPASSTHROUGHDEPRECATED
    14,  // 21 -> AX_BA_LONGCLICKABLE
    10,  // 22 -> AX_BA_HASHIDDENOFFSCREENNODES
    9,  // 23 -> AX_BA_HASCOMPOSITION
    4,  // 24 -> AX_BA_COMMITTEDBYIME
    23,  // 25 -> AX_BA_TEXTSUGGESTIONSELECTEDBYIME
};

bool AXBoolAttribute_Parse(::absl::string_view name,
                                  AXBoolAttribute* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AXBoolAttribute_entries, 26, name, &int_value);
  if (success) {
    *value = static_cast<AXBoolAttribute>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AXBoolAttribute_strings[26] = {};

const ::std::string& AXBoolAttribute_Name(AXBoolAttribute value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AXBoolAttribute_entries, AXBoolAttribute_entries_by_number, 26,
      AXBoolAttribute_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AXBoolAttribute_entries,
                                  AXBoolAttribute_entries_by_number,
                                  26, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AXBoolAttribute_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AXIntListAttribute_internal_data_[] = {
    1966080u, 0u, };
static const char AXIntListAttribute_names[] = {
    "AX_ILA_ACTIONSIDS"
    "AX_ILA_ARIANOTIFICATIONINTERRUPTPROPERTIES"
    "AX_ILA_ARIANOTIFICATIONPRIORITYPROPERTIES"
    "AX_ILA_CARETBOUNDS"
    "AX_ILA_CHARACTEROFFSETS"
    "AX_ILA_CONTROLSIDS"
    "AX_ILA_CUSTOMACTIONIDS"
    "AX_ILA_DESCRIBEDBYIDS"
    "AX_ILA_DETAILSIDS"
    "AX_ILA_ERRORMESSAGEIDS"
    "AX_ILA_FLOWTOIDS"
    "AX_ILA_HIGHLIGHTTYPES"
    "AX_ILA_INDIRECTCHILDIDS"
    "AX_ILA_LABELLEDBYIDS"
    "AX_ILA_LINEENDS"
    "AX_ILA_LINESTARTS"
    "AX_ILA_MARKERENDS"
    "AX_ILA_MARKERSTARTS"
    "AX_ILA_MARKERTYPES"
    "AX_ILA_NONE"
    "AX_ILA_RADIOGROUPIDS"
    "AX_ILA_SENTENCEENDS"
    "AX_ILA_SENTENCESTARTS"
    "AX_ILA_TEXTOPERATIONENDANCHORIDS"
    "AX_ILA_TEXTOPERATIONENDOFFSETS"
    "AX_ILA_TEXTOPERATIONS"
    "AX_ILA_TEXTOPERATIONSTARTANCHORIDS"
    "AX_ILA_TEXTOPERATIONSTARTOFFSETS"
    "AX_ILA_WORDENDS"
    "AX_ILA_WORDSTARTS"
};

static const ::google::protobuf::internal::EnumEntry AXIntListAttribute_entries[] = {
    {{&AXIntListAttribute_names[0], 17}, 29},
    {{&AXIntListAttribute_names[17], 42}, 27},
    {{&AXIntListAttribute_names[59], 41}, 28},
    {{&AXIntListAttribute_names[100], 18}, 16},
    {{&AXIntListAttribute_names[118], 23}, 11},
    {{&AXIntListAttribute_names[141], 18}, 2},
    {{&AXIntListAttribute_names[159], 22}, 15},
    {{&AXIntListAttribute_names[181], 21}, 4},
    {{&AXIntListAttribute_names[202], 17}, 3},
    {{&AXIntListAttribute_names[219], 22}, 26},
    {{&AXIntListAttribute_names[241], 16}, 5},
    {{&AXIntListAttribute_names[257], 21}, 20},
    {{&AXIntListAttribute_names[278], 23}, 1},
    {{&AXIntListAttribute_names[301], 20}, 6},
    {{&AXIntListAttribute_names[321], 15}, 17},
    {{&AXIntListAttribute_names[336], 17}, 12},
    {{&AXIntListAttribute_names[353], 17}, 10},
    {{&AXIntListAttribute_names[370], 19}, 9},
    {{&AXIntListAttribute_names[389], 18}, 8},
    {{&AXIntListAttribute_names[407], 11}, 0},
    {{&AXIntListAttribute_names[418], 20}, 7},
    {{&AXIntListAttribute_names[438], 19}, 19},
    {{&AXIntListAttribute_names[457], 21}, 18},
    {{&AXIntListAttribute_names[478], 32}, 23},
    {{&AXIntListAttribute_names[510], 30}, 24},
    {{&AXIntListAttribute_names[540], 21}, 25},
    {{&AXIntListAttribute_names[561], 34}, 21},
    {{&AXIntListAttribute_names[595], 32}, 22},
    {{&AXIntListAttribute_names[627], 15}, 14},
    {{&AXIntListAttribute_names[642], 17}, 13},
};

static const int AXIntListAttribute_entries_by_number[] = {
    19,  // 0 -> AX_ILA_NONE
    12,  // 1 -> AX_ILA_INDIRECTCHILDIDS
    5,  // 2 -> AX_ILA_CONTROLSIDS
    8,  // 3 -> AX_ILA_DETAILSIDS
    7,  // 4 -> AX_ILA_DESCRIBEDBYIDS
    10,  // 5 -> AX_ILA_FLOWTOIDS
    13,  // 6 -> AX_ILA_LABELLEDBYIDS
    20,  // 7 -> AX_ILA_RADIOGROUPIDS
    18,  // 8 -> AX_ILA_MARKERTYPES
    17,  // 9 -> AX_ILA_MARKERSTARTS
    16,  // 10 -> AX_ILA_MARKERENDS
    4,  // 11 -> AX_ILA_CHARACTEROFFSETS
    15,  // 12 -> AX_ILA_LINESTARTS
    29,  // 13 -> AX_ILA_WORDSTARTS
    28,  // 14 -> AX_ILA_WORDENDS
    6,  // 15 -> AX_ILA_CUSTOMACTIONIDS
    3,  // 16 -> AX_ILA_CARETBOUNDS
    14,  // 17 -> AX_ILA_LINEENDS
    22,  // 18 -> AX_ILA_SENTENCESTARTS
    21,  // 19 -> AX_ILA_SENTENCEENDS
    11,  // 20 -> AX_ILA_HIGHLIGHTTYPES
    26,  // 21 -> AX_ILA_TEXTOPERATIONSTARTANCHORIDS
    27,  // 22 -> AX_ILA_TEXTOPERATIONSTARTOFFSETS
    23,  // 23 -> AX_ILA_TEXTOPERATIONENDANCHORIDS
    24,  // 24 -> AX_ILA_TEXTOPERATIONENDOFFSETS
    25,  // 25 -> AX_ILA_TEXTOPERATIONS
    9,  // 26 -> AX_ILA_ERRORMESSAGEIDS
    1,  // 27 -> AX_ILA_ARIANOTIFICATIONINTERRUPTPROPERTIES
    2,  // 28 -> AX_ILA_ARIANOTIFICATIONPRIORITYPROPERTIES
    0,  // 29 -> AX_ILA_ACTIONSIDS
};

bool AXIntListAttribute_Parse(::absl::string_view name,
                                  AXIntListAttribute* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AXIntListAttribute_entries, 30, name, &int_value);
  if (success) {
    *value = static_cast<AXIntListAttribute>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AXIntListAttribute_strings[30] = {};

const ::std::string& AXIntListAttribute_Name(AXIntListAttribute value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AXIntListAttribute_entries, AXIntListAttribute_entries_by_number, 30,
      AXIntListAttribute_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AXIntListAttribute_entries,
                                  AXIntListAttribute_entries_by_number,
                                  30, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AXIntListAttribute_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AXStringListAttribute_internal_data_[] = {
    327680u, 0u, };
static const char AXStringListAttribute_names[] = {
    "AX_SLA_ARIANOTIFICATIONANNOUNCEMENTS"
    "AX_SLA_ARIANOTIFICATIONTYPES"
    "AX_SLA_CUSTOMACTIONDESCRIPTIONS"
    "AX_SLA_NONE"
    "AX_SLA_TEXTOPERATIONREPLACEMENTSTRINGS"
};

static const ::google::protobuf::internal::EnumEntry AXStringListAttribute_entries[] = {
    {{&AXStringListAttribute_names[0], 36}, 2},
    {{&AXStringListAttribute_names[36], 28}, 3},
    {{&AXStringListAttribute_names[64], 31}, 1},
    {{&AXStringListAttribute_names[95], 11}, 0},
    {{&AXStringListAttribute_names[106], 38}, 4},
};

static const int AXStringListAttribute_entries_by_number[] = {
    3,  // 0 -> AX_SLA_NONE
    2,  // 1 -> AX_SLA_CUSTOMACTIONDESCRIPTIONS
    0,  // 2 -> AX_SLA_ARIANOTIFICATIONANNOUNCEMENTS
    1,  // 3 -> AX_SLA_ARIANOTIFICATIONTYPES
    4,  // 4 -> AX_SLA_TEXTOPERATIONREPLACEMENTSTRINGS
};

bool AXStringListAttribute_Parse(::absl::string_view name,
                                  AXStringListAttribute* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AXStringListAttribute_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<AXStringListAttribute>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AXStringListAttribute_strings[5] = {};

const ::std::string& AXStringListAttribute_Name(AXStringListAttribute value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AXStringListAttribute_entries, AXStringListAttribute_entries_by_number, 5,
      AXStringListAttribute_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AXStringListAttribute_entries,
                                  AXStringListAttribute_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AXStringListAttribute_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AnnotatedPageContentVersion_internal_data_[] = {
    196608u, 0u, };
static const char AnnotatedPageContentVersion_names[] = {
    "ANNOTATED_PAGE_CONTENT_VERSION_1_0"
    "ANNOTATED_PAGE_CONTENT_VERSION_MAX_VALID"
    "ANNOTATED_PAGE_CONTENT_VERSION_ONLY_ACTIONABLE_ELEMENTS_1_0"
    "ANNOTATED_PAGE_CONTENT_VERSION_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry AnnotatedPageContentVersion_entries[] = {
    {{&AnnotatedPageContentVersion_names[0], 34}, 1},
    {{&AnnotatedPageContentVersion_names[34], 40}, 2},
    {{&AnnotatedPageContentVersion_names[74], 59}, 2},
    {{&AnnotatedPageContentVersion_names[133], 38}, 0},
};

static const int AnnotatedPageContentVersion_entries_by_number[] = {
    3,  // 0 -> ANNOTATED_PAGE_CONTENT_VERSION_UNKNOWN
    0,  // 1 -> ANNOTATED_PAGE_CONTENT_VERSION_1_0
    1,  // 2 -> ANNOTATED_PAGE_CONTENT_VERSION_ONLY_ACTIONABLE_ELEMENTS_1_0
};

bool AnnotatedPageContentVersion_Parse(::absl::string_view name,
                                  AnnotatedPageContentVersion* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AnnotatedPageContentVersion_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<AnnotatedPageContentVersion>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AnnotatedPageContentVersion_strings[3] = {};

const ::std::string& AnnotatedPageContentVersion_Name(AnnotatedPageContentVersion value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AnnotatedPageContentVersion_entries, AnnotatedPageContentVersion_entries_by_number, 3,
      AnnotatedPageContentVersion_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AnnotatedPageContentVersion_entries,
                                  AnnotatedPageContentVersion_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AnnotatedPageContentVersion_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AnnotatedPageContentMode_internal_data_[] = {
    131072u, 0u, };
static const char AnnotatedPageContentMode_names[] = {
    "ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS"
    "ANNOTATED_PAGE_CONTENT_MODE_DEFAULT"
};

static const ::google::protobuf::internal::EnumEntry AnnotatedPageContentMode_entries[] = {
    {{&AnnotatedPageContentMode_names[0], 47}, 1},
    {{&AnnotatedPageContentMode_names[47], 35}, 0},
};

static const int AnnotatedPageContentMode_entries_by_number[] = {
    1,  // 0 -> ANNOTATED_PAGE_CONTENT_MODE_DEFAULT
    0,  // 1 -> ANNOTATED_PAGE_CONTENT_MODE_ACTIONABLE_ELEMENTS
};

bool AnnotatedPageContentMode_Parse(::absl::string_view name,
                                  AnnotatedPageContentMode* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AnnotatedPageContentMode_entries, 2, name, &int_value);
  if (success) {
    *value = static_cast<AnnotatedPageContentMode>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AnnotatedPageContentMode_strings[2] = {};

const ::std::string& AnnotatedPageContentMode_Name(AnnotatedPageContentMode value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AnnotatedPageContentMode_entries, AnnotatedPageContentMode_entries_by_number, 2,
      AnnotatedPageContentMode_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AnnotatedPageContentMode_entries,
                                  AnnotatedPageContentMode_entries_by_number,
                                  2, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AnnotatedPageContentMode_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ContentAttributeType_internal_data_[] = {
    786432u, 32u, 261888u, };
static const char ContentAttributeType_names[] = {
    "CONTENT_ATTRIBUTE_ANCHOR"
    "CONTENT_ATTRIBUTE_CANVAS"
    "CONTENT_ATTRIBUTE_CONTAINER"
    "CONTENT_ATTRIBUTE_DIALOG_MODAL"
    "CONTENT_ATTRIBUTE_DIALOG_MODELESS"
    "CONTENT_ATTRIBUTE_FORM"
    "CONTENT_ATTRIBUTE_FORM_CONTROL"
    "CONTENT_ATTRIBUTE_HEADING"
    "CONTENT_ATTRIBUTE_IFRAME"
    "CONTENT_ATTRIBUTE_IMAGE"
    "CONTENT_ATTRIBUTE_LIST_ITEM"
    "CONTENT_ATTRIBUTE_ORDERED_LIST"
    "CONTENT_ATTRIBUTE_PARAGRAPH"
    "CONTENT_ATTRIBUTE_ROOT"
    "CONTENT_ATTRIBUTE_SVG_ROOT"
    "CONTENT_ATTRIBUTE_TABLE"
    "CONTENT_ATTRIBUTE_TABLE_CELL"
    "CONTENT_ATTRIBUTE_TABLE_ROW"
    "CONTENT_ATTRIBUTE_TEXT"
    "CONTENT_ATTRIBUTE_UNKNOWN"
    "CONTENT_ATTRIBUTE_UNORDERED_LIST"
    "CONTENT_ATTRIBUTE_VIDEO"
};

static const ::google::protobuf::internal::EnumEntry ContentAttributeType_entries[] = {
    {{&ContentAttributeType_names[0], 24}, 22},
    {{&ContentAttributeType_names[24], 24}, 26},
    {{&ContentAttributeType_names[48], 27}, 2},
    {{&ContentAttributeType_names[75], 30}, 28},
    {{&ContentAttributeType_names[105], 33}, 29},
    {{&ContentAttributeType_names[138], 22}, 8},
    {{&ContentAttributeType_names[160], 30}, 24},
    {{&ContentAttributeType_names[190], 25}, 5},
    {{&ContentAttributeType_names[215], 24}, 3},
    {{&ContentAttributeType_names[239], 23}, 9},
    {{&ContentAttributeType_names[262], 27}, 23},
    {{&ContentAttributeType_names[289], 30}, 6},
    {{&ContentAttributeType_names[319], 27}, 4},
    {{&ContentAttributeType_names[346], 22}, 1},
    {{&ContentAttributeType_names[368], 26}, 25},
    {{&ContentAttributeType_names[394], 23}, 10},
    {{&ContentAttributeType_names[417], 28}, 11},
    {{&ContentAttributeType_names[445], 27}, 21},
    {{&ContentAttributeType_names[472], 22}, 20},
    {{&ContentAttributeType_names[494], 25}, 0},
    {{&ContentAttributeType_names[519], 32}, 7},
    {{&ContentAttributeType_names[551], 23}, 27},
};

static const int ContentAttributeType_entries_by_number[] = {
    19,  // 0 -> CONTENT_ATTRIBUTE_UNKNOWN
    13,  // 1 -> CONTENT_ATTRIBUTE_ROOT
    2,  // 2 -> CONTENT_ATTRIBUTE_CONTAINER
    8,  // 3 -> CONTENT_ATTRIBUTE_IFRAME
    12,  // 4 -> CONTENT_ATTRIBUTE_PARAGRAPH
    7,  // 5 -> CONTENT_ATTRIBUTE_HEADING
    11,  // 6 -> CONTENT_ATTRIBUTE_ORDERED_LIST
    20,  // 7 -> CONTENT_ATTRIBUTE_UNORDERED_LIST
    5,  // 8 -> CONTENT_ATTRIBUTE_FORM
    9,  // 9 -> CONTENT_ATTRIBUTE_IMAGE
    15,  // 10 -> CONTENT_ATTRIBUTE_TABLE
    16,  // 11 -> CONTENT_ATTRIBUTE_TABLE_CELL
    18,  // 20 -> CONTENT_ATTRIBUTE_TEXT
    17,  // 21 -> CONTENT_ATTRIBUTE_TABLE_ROW
    0,  // 22 -> CONTENT_ATTRIBUTE_ANCHOR
    10,  // 23 -> CONTENT_ATTRIBUTE_LIST_ITEM
    6,  // 24 -> CONTENT_ATTRIBUTE_FORM_CONTROL
    14,  // 25 -> CONTENT_ATTRIBUTE_SVG_ROOT
    1,  // 26 -> CONTENT_ATTRIBUTE_CANVAS
    21,  // 27 -> CONTENT_ATTRIBUTE_VIDEO
    3,  // 28 -> CONTENT_ATTRIBUTE_DIALOG_MODAL
    4,  // 29 -> CONTENT_ATTRIBUTE_DIALOG_MODELESS
};

bool ContentAttributeType_Parse(::absl::string_view name,
                                  ContentAttributeType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ContentAttributeType_entries, 22, name, &int_value);
  if (success) {
    *value = static_cast<ContentAttributeType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ContentAttributeType_strings[22] = {};

const ::std::string& ContentAttributeType_Name(ContentAttributeType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ContentAttributeType_entries, ContentAttributeType_entries_by_number, 22,
      ContentAttributeType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ContentAttributeType_entries,
                                  ContentAttributeType_entries_by_number,
                                  22, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ContentAttributeType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t CssPosition_internal_data_[] = {
    327680u, 0u, };
static const char CssPosition_names[] = {
    "CSS_POSITION_ABSOLUTE"
    "CSS_POSITION_FIXED"
    "CSS_POSITION_RELATIVE"
    "CSS_POSITION_STATIC_DEFAULT"
    "CSS_POSITION_STICKY"
};

static const ::google::protobuf::internal::EnumEntry CssPosition_entries[] = {
    {{&CssPosition_names[0], 21}, 2},
    {{&CssPosition_names[21], 18}, 3},
    {{&CssPosition_names[39], 21}, 1},
    {{&CssPosition_names[60], 27}, 0},
    {{&CssPosition_names[87], 19}, 4},
};

static const int CssPosition_entries_by_number[] = {
    3,  // 0 -> CSS_POSITION_STATIC_DEFAULT
    2,  // 1 -> CSS_POSITION_RELATIVE
    0,  // 2 -> CSS_POSITION_ABSOLUTE
    1,  // 3 -> CSS_POSITION_FIXED
    4,  // 4 -> CSS_POSITION_STICKY
};

bool CssPosition_Parse(::absl::string_view name,
                                  CssPosition* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      CssPosition_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<CssPosition>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    CssPosition_strings[5] = {};

const ::std::string& CssPosition_Name(CssPosition value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      CssPosition_entries, CssPosition_entries_by_number, 5,
      CssPosition_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(CssPosition_entries,
                                  CssPosition_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : CssPosition_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ClickabilityReason_internal_data_[] = {
    1114112u, 0u, };
static const char ClickabilityReason_names[] = {
    "CLICKABILITY_REASON_ARIA_EXPANDED_FALSE"
    "CLICKABILITY_REASON_ARIA_EXPANDED_TRUE"
    "CLICKABILITY_REASON_ARIA_HAS_POPUP"
    "CLICKABILITY_REASON_ARIA_ROLE"
    "CLICKABILITY_REASON_ARIA_SELECTABLE"
    "CLICKABILITY_REASON_ARIA_TOGGLE"
    "CLICKABILITY_REASON_AUTOCOMPLETE"
    "CLICKABILITY_REASON_CLICKABLE_CONTROL"
    "CLICKABILITY_REASON_CLICK_HANDLER"
    "CLICKABILITY_REASON_CURSOR_POINTER"
    "CLICKABILITY_REASON_EDITABLE"
    "CLICKABILITY_REASON_HOVER_PSEUDO_CLASS"
    "CLICKABILITY_REASON_KEY_EVENTS"
    "CLICKABILITY_REASON_MOUSE_CLICK"
    "CLICKABILITY_REASON_MOUSE_EVENTS"
    "CLICKABILITY_REASON_MOUSE_HOVER"
    "CLICKABILITY_REASON_TAB_INDEX"
};

static const ::google::protobuf::internal::EnumEntry ClickabilityReason_entries[] = {
    {{&ClickabilityReason_names[0], 39}, 9},
    {{&ClickabilityReason_names[39], 38}, 8},
    {{&ClickabilityReason_names[77], 34}, 7},
    {{&ClickabilityReason_names[111], 29}, 6},
    {{&ClickabilityReason_names[140], 35}, 16},
    {{&ClickabilityReason_names[175], 31}, 15},
    {{&ClickabilityReason_names[206], 32}, 11},
    {{&ClickabilityReason_names[238], 37}, 0},
    {{&ClickabilityReason_names[275], 33}, 1},
    {{&ClickabilityReason_names[308], 34}, 5},
    {{&ClickabilityReason_names[342], 28}, 4},
    {{&ClickabilityReason_names[370], 38}, 14},
    {{&ClickabilityReason_names[408], 30}, 3},
    {{&ClickabilityReason_names[438], 31}, 12},
    {{&ClickabilityReason_names[469], 32}, 2},
    {{&ClickabilityReason_names[501], 31}, 13},
    {{&ClickabilityReason_names[532], 29}, 10},
};

static const int ClickabilityReason_entries_by_number[] = {
    7,  // 0 -> CLICKABILITY_REASON_CLICKABLE_CONTROL
    8,  // 1 -> CLICKABILITY_REASON_CLICK_HANDLER
    14,  // 2 -> CLICKABILITY_REASON_MOUSE_EVENTS
    12,  // 3 -> CLICKABILITY_REASON_KEY_EVENTS
    10,  // 4 -> CLICKABILITY_REASON_EDITABLE
    9,  // 5 -> CLICKABILITY_REASON_CURSOR_POINTER
    3,  // 6 -> CLICKABILITY_REASON_ARIA_ROLE
    2,  // 7 -> CLICKABILITY_REASON_ARIA_HAS_POPUP
    1,  // 8 -> CLICKABILITY_REASON_ARIA_EXPANDED_TRUE
    0,  // 9 -> CLICKABILITY_REASON_ARIA_EXPANDED_FALSE
    16,  // 10 -> CLICKABILITY_REASON_TAB_INDEX
    6,  // 11 -> CLICKABILITY_REASON_AUTOCOMPLETE
    13,  // 12 -> CLICKABILITY_REASON_MOUSE_CLICK
    15,  // 13 -> CLICKABILITY_REASON_MOUSE_HOVER
    11,  // 14 -> CLICKABILITY_REASON_HOVER_PSEUDO_CLASS
    5,  // 15 -> CLICKABILITY_REASON_ARIA_TOGGLE
    4,  // 16 -> CLICKABILITY_REASON_ARIA_SELECTABLE
};

bool ClickabilityReason_Parse(::absl::string_view name,
                                  ClickabilityReason* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ClickabilityReason_entries, 17, name, &int_value);
  if (success) {
    *value = static_cast<ClickabilityReason>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ClickabilityReason_strings[17] = {};

const ::std::string& ClickabilityReason_Name(ClickabilityReason value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ClickabilityReason_entries, ClickabilityReason_entries_by_number, 17,
      ClickabilityReason_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ClickabilityReason_entries,
                                  ClickabilityReason_entries_by_number,
                                  17, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ClickabilityReason_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t InteractionDisabledReason_internal_data_[] = {
    393216u, 0u, };
static const char InteractionDisabledReason_names[] = {
    "INTERACTION_DISABLED_REASON_ARIA_DISABLED"
    "INTERACTION_DISABLED_REASON_ARIA_HIDDEN"
    "INTERACTION_DISABLED_REASON_ARIA_ROLE_PRESENTATIONAL"
    "INTERACTION_DISABLED_REASON_CURSOR_NOT_ALLOWED"
    "INTERACTION_DISABLED_REASON_DISABLED"
    "INTERACTION_DISABLED_REASON_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry InteractionDisabledReason_entries[] = {
    {{&InteractionDisabledReason_names[0], 41}, 2},
    {{&InteractionDisabledReason_names[41], 39}, 4},
    {{&InteractionDisabledReason_names[80], 52}, 5},
    {{&InteractionDisabledReason_names[132], 46}, 3},
    {{&InteractionDisabledReason_names[178], 36}, 1},
    {{&InteractionDisabledReason_names[214], 39}, 0},
};

static const int InteractionDisabledReason_entries_by_number[] = {
    5,  // 0 -> INTERACTION_DISABLED_REASON_UNSPECIFIED
    4,  // 1 -> INTERACTION_DISABLED_REASON_DISABLED
    0,  // 2 -> INTERACTION_DISABLED_REASON_ARIA_DISABLED
    3,  // 3 -> INTERACTION_DISABLED_REASON_CURSOR_NOT_ALLOWED
    1,  // 4 -> INTERACTION_DISABLED_REASON_ARIA_HIDDEN
    2,  // 5 -> INTERACTION_DISABLED_REASON_ARIA_ROLE_PRESENTATIONAL
};

bool InteractionDisabledReason_Parse(::absl::string_view name,
                                  InteractionDisabledReason* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      InteractionDisabledReason_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<InteractionDisabledReason>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    InteractionDisabledReason_strings[6] = {};

const ::std::string& InteractionDisabledReason_Name(InteractionDisabledReason value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      InteractionDisabledReason_entries, InteractionDisabledReason_entries_by_number, 6,
      InteractionDisabledReason_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(InteractionDisabledReason_entries,
                                  InteractionDisabledReason_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : InteractionDisabledReason_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t TextSize_internal_data_[] = {
    327680u, 0u, };
static const char TextSize_names[] = {
    "TEXT_SIZE_L"
    "TEXT_SIZE_M_DEFAULT"
    "TEXT_SIZE_S"
    "TEXT_SIZE_XL"
    "TEXT_SIZE_XS"
};

static const ::google::protobuf::internal::EnumEntry TextSize_entries[] = {
    {{&TextSize_names[0], 11}, 3},
    {{&TextSize_names[11], 19}, 0},
    {{&TextSize_names[30], 11}, 2},
    {{&TextSize_names[41], 12}, 4},
    {{&TextSize_names[53], 12}, 1},
};

static const int TextSize_entries_by_number[] = {
    1,  // 0 -> TEXT_SIZE_M_DEFAULT
    4,  // 1 -> TEXT_SIZE_XS
    2,  // 2 -> TEXT_SIZE_S
    0,  // 3 -> TEXT_SIZE_L
    3,  // 4 -> TEXT_SIZE_XL
};

bool TextSize_Parse(::absl::string_view name,
                                  TextSize* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      TextSize_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<TextSize>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    TextSize_strings[5] = {};

const ::std::string& TextSize_Name(TextSize value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      TextSize_entries, TextSize_entries_by_number, 5,
      TextSize_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(TextSize_entries,
                                  TextSize_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : TextSize_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AnchorRel_internal_data_[] = {
    393216u, 0u, };
static const char AnchorRel_names[] = {
    "ANCHOR_REL_NO_OPENER"
    "ANCHOR_REL_NO_REFERRER"
    "ANCHOR_REL_OPENER"
    "ANCHOR_REL_PRIVACY_POLICY"
    "ANCHOR_REL_TERMS_OF_SERVICE"
    "ANCHOR_REL_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry AnchorRel_entries[] = {
    {{&AnchorRel_names[0], 20}, 2},
    {{&AnchorRel_names[20], 22}, 1},
    {{&AnchorRel_names[42], 17}, 3},
    {{&AnchorRel_names[59], 25}, 4},
    {{&AnchorRel_names[84], 27}, 5},
    {{&AnchorRel_names[111], 18}, 0},
};

static const int AnchorRel_entries_by_number[] = {
    5,  // 0 -> ANCHOR_REL_UNKNOWN
    1,  // 1 -> ANCHOR_REL_NO_REFERRER
    0,  // 2 -> ANCHOR_REL_NO_OPENER
    2,  // 3 -> ANCHOR_REL_OPENER
    3,  // 4 -> ANCHOR_REL_PRIVACY_POLICY
    4,  // 5 -> ANCHOR_REL_TERMS_OF_SERVICE
};

bool AnchorRel_Parse(::absl::string_view name,
                                  AnchorRel* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AnchorRel_entries, 6, name, &int_value);
  if (success) {
    *value = static_cast<AnchorRel>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AnchorRel_strings[6] = {};

const ::std::string& AnchorRel_Name(AnchorRel value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AnchorRel_entries, AnchorRel_entries_by_number, 6,
      AnchorRel_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AnchorRel_entries,
                                  AnchorRel_entries_by_number,
                                  6, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AnchorRel_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t FormControlType_internal_data_[] = {
    917504u, 32u, 1048574u, };
static const char FormControlType_names[] = {
    "FORM_CONTROL_TYPE_BUTTON_BUTTON"
    "FORM_CONTROL_TYPE_BUTTON_POPOVER"
    "FORM_CONTROL_TYPE_BUTTON_RESET"
    "FORM_CONTROL_TYPE_BUTTON_SUBMIT"
    "FORM_CONTROL_TYPE_CONTENT_EDITABLE"
    "FORM_CONTROL_TYPE_FIELDSET"
    "FORM_CONTROL_TYPE_INPUT_BUTTON"
    "FORM_CONTROL_TYPE_INPUT_CHECKBOX"
    "FORM_CONTROL_TYPE_INPUT_COLOR"
    "FORM_CONTROL_TYPE_INPUT_DATE"
    "FORM_CONTROL_TYPE_INPUT_DATETIME_LOCAL"
    "FORM_CONTROL_TYPE_INPUT_EMAIL"
    "FORM_CONTROL_TYPE_INPUT_FILE"
    "FORM_CONTROL_TYPE_INPUT_HIDDEN"
    "FORM_CONTROL_TYPE_INPUT_IMAGE"
    "FORM_CONTROL_TYPE_INPUT_MONTH"
    "FORM_CONTROL_TYPE_INPUT_NUMBER"
    "FORM_CONTROL_TYPE_INPUT_PASSWORD"
    "FORM_CONTROL_TYPE_INPUT_RADIO"
    "FORM_CONTROL_TYPE_INPUT_RANGE"
    "FORM_CONTROL_TYPE_INPUT_RESET"
    "FORM_CONTROL_TYPE_INPUT_SEARCH"
    "FORM_CONTROL_TYPE_INPUT_SUBMIT"
    "FORM_CONTROL_TYPE_INPUT_TELEPHONE"
    "FORM_CONTROL_TYPE_INPUT_TEXT"
    "FORM_CONTROL_TYPE_INPUT_TIME"
    "FORM_CONTROL_TYPE_INPUT_URL"
    "FORM_CONTROL_TYPE_INPUT_WEEK"
    "FORM_CONTROL_TYPE_OUTPUT"
    "FORM_CONTROL_TYPE_SELECT_MULTIPLE"
    "FORM_CONTROL_TYPE_SELECT_ONE"
    "FORM_CONTROL_TYPE_TEXT_AREA"
    "FORM_CONTROL_TYPE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry FormControlType_entries[] = {
    {{&FormControlType_names[0], 31}, 16},
    {{&FormControlType_names[31], 32}, 19},
    {{&FormControlType_names[63], 30}, 18},
    {{&FormControlType_names[93], 31}, 17},
    {{&FormControlType_names[124], 34}, 1},
    {{&FormControlType_names[158], 26}, 20},
    {{&FormControlType_names[184], 30}, 21},
    {{&FormControlType_names[214], 32}, 2},
    {{&FormControlType_names[246], 29}, 22},
    {{&FormControlType_names[275], 28}, 23},
    {{&FormControlType_names[303], 38}, 24},
    {{&FormControlType_names[341], 29}, 3},
    {{&FormControlType_names[370], 28}, 25},
    {{&FormControlType_names[398], 30}, 26},
    {{&FormControlType_names[428], 29}, 27},
    {{&FormControlType_names[457], 29}, 4},
    {{&FormControlType_names[486], 30}, 5},
    {{&FormControlType_names[516], 32}, 6},
    {{&FormControlType_names[548], 29}, 7},
    {{&FormControlType_names[577], 29}, 28},
    {{&FormControlType_names[606], 29}, 29},
    {{&FormControlType_names[635], 30}, 8},
    {{&FormControlType_names[665], 30}, 30},
    {{&FormControlType_names[695], 33}, 9},
    {{&FormControlType_names[728], 28}, 10},
    {{&FormControlType_names[756], 28}, 31},
    {{&FormControlType_names[784], 27}, 11},
    {{&FormControlType_names[811], 28}, 32},
    {{&FormControlType_names[839], 24}, 33},
    {{&FormControlType_names[863], 33}, 13},
    {{&FormControlType_names[896], 28}, 12},
    {{&FormControlType_names[924], 27}, 15},
    {{&FormControlType_names[951], 29}, 0},
};

static const int FormControlType_entries_by_number[] = {
    32,  // 0 -> FORM_CONTROL_TYPE_UNSPECIFIED
    4,  // 1 -> FORM_CONTROL_TYPE_CONTENT_EDITABLE
    7,  // 2 -> FORM_CONTROL_TYPE_INPUT_CHECKBOX
    11,  // 3 -> FORM_CONTROL_TYPE_INPUT_EMAIL
    15,  // 4 -> FORM_CONTROL_TYPE_INPUT_MONTH
    16,  // 5 -> FORM_CONTROL_TYPE_INPUT_NUMBER
    17,  // 6 -> FORM_CONTROL_TYPE_INPUT_PASSWORD
    18,  // 7 -> FORM_CONTROL_TYPE_INPUT_RADIO
    21,  // 8 -> FORM_CONTROL_TYPE_INPUT_SEARCH
    23,  // 9 -> FORM_CONTROL_TYPE_INPUT_TELEPHONE
    24,  // 10 -> FORM_CONTROL_TYPE_INPUT_TEXT
    26,  // 11 -> FORM_CONTROL_TYPE_INPUT_URL
    30,  // 12 -> FORM_CONTROL_TYPE_SELECT_ONE
    29,  // 13 -> FORM_CONTROL_TYPE_SELECT_MULTIPLE
    31,  // 15 -> FORM_CONTROL_TYPE_TEXT_AREA
    0,  // 16 -> FORM_CONTROL_TYPE_BUTTON_BUTTON
    3,  // 17 -> FORM_CONTROL_TYPE_BUTTON_SUBMIT
    2,  // 18 -> FORM_CONTROL_TYPE_BUTTON_RESET
    1,  // 19 -> FORM_CONTROL_TYPE_BUTTON_POPOVER
    5,  // 20 -> FORM_CONTROL_TYPE_FIELDSET
    6,  // 21 -> FORM_CONTROL_TYPE_INPUT_BUTTON
    8,  // 22 -> FORM_CONTROL_TYPE_INPUT_COLOR
    9,  // 23 -> FORM_CONTROL_TYPE_INPUT_DATE
    10,  // 24 -> FORM_CONTROL_TYPE_INPUT_DATETIME_LOCAL
    12,  // 25 -> FORM_CONTROL_TYPE_INPUT_FILE
    13,  // 26 -> FORM_CONTROL_TYPE_INPUT_HIDDEN
    14,  // 27 -> FORM_CONTROL_TYPE_INPUT_IMAGE
    19,  // 28 -> FORM_CONTROL_TYPE_INPUT_RANGE
    20,  // 29 -> FORM_CONTROL_TYPE_INPUT_RESET
    22,  // 30 -> FORM_CONTROL_TYPE_INPUT_SUBMIT
    25,  // 31 -> FORM_CONTROL_TYPE_INPUT_TIME
    27,  // 32 -> FORM_CONTROL_TYPE_INPUT_WEEK
    28,  // 33 -> FORM_CONTROL_TYPE_OUTPUT
};

bool FormControlType_Parse(::absl::string_view name,
                                  FormControlType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      FormControlType_entries, 33, name, &int_value);
  if (success) {
    *value = static_cast<FormControlType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    FormControlType_strings[33] = {};

const ::std::string& FormControlType_Name(FormControlType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      FormControlType_entries, FormControlType_entries_by_number, 33,
      FormControlType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(FormControlType_entries,
                                  FormControlType_entries_by_number,
                                  33, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : FormControlType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t RedactionDecision_internal_data_[] = {
    655360u, 0u, };
static const char RedactionDecision_names[] = {
    "REDACTION_DECISION_NO_REDACTION_NECESSARY"
    "REDACTION_DECISION_REDACTED_CUSTOM_PASSWORD_CSS"
    "REDACTION_DECISION_REDACTED_CUSTOM_PASSWORD_JS"
    "REDACTION_DECISION_REDACTED_HAS_BEEN_PASSWORD"
    "REDACTION_DECISION_REDACTED_IS_OTP"
    "REDACTION_DECISION_REDACTED_IS_SENSITIVE_PAYMENT_FIELD"
    "REDACTION_DECISION_UNREDACTED_EMPTY_CUSTOM_PASSWORD"
    "REDACTION_DECISION_UNREDACTED_EMPTY_OTP_FIELD"
    "REDACTION_DECISION_UNREDACTED_EMPTY_PASSWORD"
    "REDACTION_DECISION_UNREDACTED_EMPTY_PAYMENT_FIELD"
};

static const ::google::protobuf::internal::EnumEntry RedactionDecision_entries[] = {
    {{&RedactionDecision_names[0], 41}, 0},
    {{&RedactionDecision_names[41], 47}, 6},
    {{&RedactionDecision_names[88], 46}, 7},
    {{&RedactionDecision_names[134], 45}, 2},
    {{&RedactionDecision_names[179], 34}, 8},
    {{&RedactionDecision_names[213], 54}, 4},
    {{&RedactionDecision_names[267], 51}, 5},
    {{&RedactionDecision_names[318], 45}, 9},
    {{&RedactionDecision_names[363], 44}, 1},
    {{&RedactionDecision_names[407], 49}, 3},
};

static const int RedactionDecision_entries_by_number[] = {
    0,  // 0 -> REDACTION_DECISION_NO_REDACTION_NECESSARY
    8,  // 1 -> REDACTION_DECISION_UNREDACTED_EMPTY_PASSWORD
    3,  // 2 -> REDACTION_DECISION_REDACTED_HAS_BEEN_PASSWORD
    9,  // 3 -> REDACTION_DECISION_UNREDACTED_EMPTY_PAYMENT_FIELD
    5,  // 4 -> REDACTION_DECISION_REDACTED_IS_SENSITIVE_PAYMENT_FIELD
    6,  // 5 -> REDACTION_DECISION_UNREDACTED_EMPTY_CUSTOM_PASSWORD
    1,  // 6 -> REDACTION_DECISION_REDACTED_CUSTOM_PASSWORD_CSS
    2,  // 7 -> REDACTION_DECISION_REDACTED_CUSTOM_PASSWORD_JS
    4,  // 8 -> REDACTION_DECISION_REDACTED_IS_OTP
    7,  // 9 -> REDACTION_DECISION_UNREDACTED_EMPTY_OTP_FIELD
};

bool RedactionDecision_Parse(::absl::string_view name,
                                  RedactionDecision* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      RedactionDecision_entries, 10, name, &int_value);
  if (success) {
    *value = static_cast<RedactionDecision>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    RedactionDecision_strings[10] = {};

const ::std::string& RedactionDecision_Name(RedactionDecision value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      RedactionDecision_entries, RedactionDecision_entries_by_number, 10,
      RedactionDecision_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(RedactionDecision_entries,
                                  RedactionDecision_entries_by_number,
                                  10, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : RedactionDecision_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t CoarseAutofillFieldType_internal_data_[] = {
    262144u, 0u, };
static const char CoarseAutofillFieldType_names[] = {
    "COARSE_AUTOFILL_FIELD_TYPE_ADDRESS"
    "COARSE_AUTOFILL_FIELD_TYPE_CREDIT_CARD"
    "COARSE_AUTOFILL_FIELD_TYPE_OTP"
    "COARSE_AUTOFILL_FIELD_TYPE_UNSUPPORTED"
};

static const ::google::protobuf::internal::EnumEntry CoarseAutofillFieldType_entries[] = {
    {{&CoarseAutofillFieldType_names[0], 34}, 1},
    {{&CoarseAutofillFieldType_names[34], 38}, 2},
    {{&CoarseAutofillFieldType_names[72], 30}, 3},
    {{&CoarseAutofillFieldType_names[102], 38}, 0},
};

static const int CoarseAutofillFieldType_entries_by_number[] = {
    3,  // 0 -> COARSE_AUTOFILL_FIELD_TYPE_UNSUPPORTED
    0,  // 1 -> COARSE_AUTOFILL_FIELD_TYPE_ADDRESS
    1,  // 2 -> COARSE_AUTOFILL_FIELD_TYPE_CREDIT_CARD
    2,  // 3 -> COARSE_AUTOFILL_FIELD_TYPE_OTP
};

bool CoarseAutofillFieldType_Parse(::absl::string_view name,
                                  CoarseAutofillFieldType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      CoarseAutofillFieldType_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<CoarseAutofillFieldType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    CoarseAutofillFieldType_strings[4] = {};

const ::std::string& CoarseAutofillFieldType_Name(CoarseAutofillFieldType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      CoarseAutofillFieldType_entries, CoarseAutofillFieldType_entries_by_number, 4,
      CoarseAutofillFieldType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(CoarseAutofillFieldType_entries,
                                  CoarseAutofillFieldType_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : CoarseAutofillFieldType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t MediaDataType_internal_data_[] = {
    196608u, 0u, };
static const char MediaDataType_names[] = {
    "MEDIA_DATA_TYPE_AUDIO"
    "MEDIA_DATA_TYPE_UNKNOWN"
    "MEDIA_DATA_TYPE_VIDEO"
};

static const ::google::protobuf::internal::EnumEntry MediaDataType_entries[] = {
    {{&MediaDataType_names[0], 21}, 2},
    {{&MediaDataType_names[21], 23}, 0},
    {{&MediaDataType_names[44], 21}, 1},
};

static const int MediaDataType_entries_by_number[] = {
    1,  // 0 -> MEDIA_DATA_TYPE_UNKNOWN
    2,  // 1 -> MEDIA_DATA_TYPE_VIDEO
    0,  // 2 -> MEDIA_DATA_TYPE_AUDIO
};

bool MediaDataType_Parse(::absl::string_view name,
                                  MediaDataType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      MediaDataType_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<MediaDataType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    MediaDataType_strings[3] = {};

const ::std::string& MediaDataType_Name(MediaDataType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      MediaDataType_entries, MediaDataType_entries_by_number, 3,
      MediaDataType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(MediaDataType_entries,
                                  MediaDataType_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : MediaDataType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t TableRowType_internal_data_[] = {
    262144u, 0u, };
static const char TableRowType_names[] = {
    "TABLE_ROW_TYPE_BODY"
    "TABLE_ROW_TYPE_FOOTER"
    "TABLE_ROW_TYPE_HEADER"
    "TABLE_ROW_TYPE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry TableRowType_entries[] = {
    {{&TableRowType_names[0], 19}, 2},
    {{&TableRowType_names[19], 21}, 3},
    {{&TableRowType_names[40], 21}, 1},
    {{&TableRowType_names[61], 22}, 0},
};

static const int TableRowType_entries_by_number[] = {
    3,  // 0 -> TABLE_ROW_TYPE_UNKNOWN
    2,  // 1 -> TABLE_ROW_TYPE_HEADER
    0,  // 2 -> TABLE_ROW_TYPE_BODY
    1,  // 3 -> TABLE_ROW_TYPE_FOOTER
};

bool TableRowType_Parse(::absl::string_view name,
                                  TableRowType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      TableRowType_entries, 4, name, &int_value);
  if (success) {
    *value = static_cast<TableRowType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    TableRowType_strings[4] = {};

const ::std::string& TableRowType_Name(TableRowType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      TableRowType_entries, TableRowType_entries_by_number, 4,
      TableRowType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(TableRowType_entries,
                                  TableRowType_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : TableRowType_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t AnnotatedRole_internal_data_[] = {
    65536u, 32u, 16368u, };
static const char AnnotatedRole_names[] = {
    "ANNOTATED_ROLE_ARTICLE"
    "ANNOTATED_ROLE_ASIDE"
    "ANNOTATED_ROLE_CONTENT_HIDDEN"
    "ANNOTATED_ROLE_FOOTER"
    "ANNOTATED_ROLE_HEADER"
    "ANNOTATED_ROLE_MAIN"
    "ANNOTATED_ROLE_NAV"
    "ANNOTATED_ROLE_PAID_CONTENT"
    "ANNOTATED_ROLE_SEARCH"
    "ANNOTATED_ROLE_SECTION"
    "ANNOTATED_ROLE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry AnnotatedRole_entries[] = {
    {{&AnnotatedRole_names[0], 22}, 9},
    {{&AnnotatedRole_names[22], 20}, 11},
    {{&AnnotatedRole_names[42], 29}, 13},
    {{&AnnotatedRole_names[71], 21}, 12},
    {{&AnnotatedRole_names[92], 21}, 5},
    {{&AnnotatedRole_names[113], 19}, 8},
    {{&AnnotatedRole_names[132], 18}, 6},
    {{&AnnotatedRole_names[150], 27}, 14},
    {{&AnnotatedRole_names[177], 21}, 7},
    {{&AnnotatedRole_names[198], 22}, 10},
    {{&AnnotatedRole_names[220], 22}, 0},
};

static const int AnnotatedRole_entries_by_number[] = {
    10,  // 0 -> ANNOTATED_ROLE_UNKNOWN
    4,  // 5 -> ANNOTATED_ROLE_HEADER
    6,  // 6 -> ANNOTATED_ROLE_NAV
    8,  // 7 -> ANNOTATED_ROLE_SEARCH
    5,  // 8 -> ANNOTATED_ROLE_MAIN
    0,  // 9 -> ANNOTATED_ROLE_ARTICLE
    9,  // 10 -> ANNOTATED_ROLE_SECTION
    1,  // 11 -> ANNOTATED_ROLE_ASIDE
    3,  // 12 -> ANNOTATED_ROLE_FOOTER
    2,  // 13 -> ANNOTATED_ROLE_CONTENT_HIDDEN
    7,  // 14 -> ANNOTATED_ROLE_PAID_CONTENT
};

bool AnnotatedRole_Parse(::absl::string_view name,
                                  AnnotatedRole* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      AnnotatedRole_entries, 11, name, &int_value);
  if (success) {
    *value = static_cast<AnnotatedRole>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    AnnotatedRole_strings[11] = {};

const ::std::string& AnnotatedRole_Name(AnnotatedRole value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      AnnotatedRole_entries, AnnotatedRole_entries_by_number, 11,
      AnnotatedRole_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(AnnotatedRole_entries,
                                  AnnotatedRole_entries_by_number,
                                  11, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : AnnotatedRole_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t Protocol_internal_data_[] = {
    327680u, 0u, };
static const char Protocol_names[] = {
    "PROTOCOL_HTTP"
    "PROTOCOL_HTTPS"
    "PROTOCOL_UNKNOWN"
    "PROTOCOL_WS"
    "PROTOCOL_WSS"
};

static const ::google::protobuf::internal::EnumEntry Protocol_entries[] = {
    {{&Protocol_names[0], 13}, 1},
    {{&Protocol_names[13], 14}, 2},
    {{&Protocol_names[27], 16}, 0},
    {{&Protocol_names[43], 11}, 3},
    {{&Protocol_names[54], 12}, 4},
};

static const int Protocol_entries_by_number[] = {
    2,  // 0 -> PROTOCOL_UNKNOWN
    0,  // 1 -> PROTOCOL_HTTP
    1,  // 2 -> PROTOCOL_HTTPS
    3,  // 3 -> PROTOCOL_WS
    4,  // 4 -> PROTOCOL_WSS
};

bool Protocol_Parse(::absl::string_view name,
                                  Protocol* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      Protocol_entries, 5, name, &int_value);
  if (success) {
    *value = static_cast<Protocol>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    Protocol_strings[5] = {};

const ::std::string& Protocol_Name(Protocol value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      Protocol_entries, Protocol_entries_by_number, 5,
      Protocol_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(Protocol_entries,
                                  Protocol_entries_by_number,
                                  5, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : Protocol_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t FinalModelStatus_internal_data_[] = {
    196608u, 0u, };
static const char FinalModelStatus_names[] = {
    "FINAL_MODEL_STATUS_FAILURE"
    "FINAL_MODEL_STATUS_SUCCESS"
    "FINAL_MODEL_STATUS_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry FinalModelStatus_entries[] = {
    {{&FinalModelStatus_names[0], 26}, 2},
    {{&FinalModelStatus_names[26], 26}, 1},
    {{&FinalModelStatus_names[52], 30}, 0},
};

static const int FinalModelStatus_entries_by_number[] = {
    2,  // 0 -> FINAL_MODEL_STATUS_UNSPECIFIED
    1,  // 1 -> FINAL_MODEL_STATUS_SUCCESS
    0,  // 2 -> FINAL_MODEL_STATUS_FAILURE
};

bool FinalModelStatus_Parse(::absl::string_view name,
                                  FinalModelStatus* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      FinalModelStatus_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<FinalModelStatus>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    FinalModelStatus_strings[3] = {};

const ::std::string& FinalModelStatus_Name(FinalModelStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      FinalModelStatus_entries, FinalModelStatus_entries_by_number, 3,
      FinalModelStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(FinalModelStatus_entries,
                                  FinalModelStatus_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : FinalModelStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t UserFeedback_internal_data_[] = {
    196608u, 0u, };
static const char UserFeedback_names[] = {
    "USER_FEEDBACK_THUMBS_DOWN"
    "USER_FEEDBACK_THUMBS_UP"
    "USER_FEEDBACK_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry UserFeedback_entries[] = {
    {{&UserFeedback_names[0], 25}, 1},
    {{&UserFeedback_names[25], 23}, 2},
    {{&UserFeedback_names[48], 25}, 0},
};

static const int UserFeedback_entries_by_number[] = {
    2,  // 0 -> USER_FEEDBACK_UNSPECIFIED
    0,  // 1 -> USER_FEEDBACK_THUMBS_DOWN
    1,  // 2 -> USER_FEEDBACK_THUMBS_UP
};

bool UserFeedback_Parse(::absl::string_view name,
                                  UserFeedback* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      UserFeedback_entries, 3, name, &int_value);
  if (success) {
    *value = static_cast<UserFeedback>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    UserFeedback_strings[3] = {};

const ::std::string& UserFeedback_Name(UserFeedback value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      UserFeedback_entries, UserFeedback_entries_by_number, 3,
      UserFeedback_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(UserFeedback_entries,
                                  UserFeedback_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : UserFeedback_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ChromePlatform_internal_data_[] = {
    458752u, 0u, };
static const char ChromePlatform_names[] = {
    "CHROME_PLATFORM_ANDROID"
    "CHROME_PLATFORM_CHROMEOS"
    "CHROME_PLATFORM_IOS"
    "CHROME_PLATFORM_LINUX"
    "CHROME_PLATFORM_MAC"
    "CHROME_PLATFORM_UNKNOWN"
    "CHROME_PLATFORM_WINDOWS"
};

static const ::google::protobuf::internal::EnumEntry ChromePlatform_entries[] = {
    {{&ChromePlatform_names[0], 23}, 1},
    {{&ChromePlatform_names[23], 24}, 2},
    {{&ChromePlatform_names[47], 19}, 3},
    {{&ChromePlatform_names[66], 21}, 4},
    {{&ChromePlatform_names[87], 19}, 5},
    {{&ChromePlatform_names[106], 23}, 0},
    {{&ChromePlatform_names[129], 23}, 6},
};

static const int ChromePlatform_entries_by_number[] = {
    5,  // 0 -> CHROME_PLATFORM_UNKNOWN
    0,  // 1 -> CHROME_PLATFORM_ANDROID
    1,  // 2 -> CHROME_PLATFORM_CHROMEOS
    2,  // 3 -> CHROME_PLATFORM_IOS
    3,  // 4 -> CHROME_PLATFORM_LINUX
    4,  // 5 -> CHROME_PLATFORM_MAC
    6,  // 6 -> CHROME_PLATFORM_WINDOWS
};

bool ChromePlatform_Parse(::absl::string_view name,
                                  ChromePlatform* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      ChromePlatform_entries, 7, name, &int_value);
  if (success) {
    *value = static_cast<ChromePlatform>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    ChromePlatform_strings[7] = {};

const ::std::string& ChromePlatform_Name(ChromePlatform value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ChromePlatform_entries, ChromePlatform_entries_by_number, 7,
      ChromePlatform_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ChromePlatform_entries,
                                  ChromePlatform_entries_by_number,
                                  7, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ChromePlatform_strings[idx].get();
}
// ===================================================================

FloatArray::FloatArray(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FloatArray_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FloatArray)
}
PROTOBUF_NDEBUG_INLINE FloatArray::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FloatArray& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        values_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FloatArray,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FloatArray, _impl_.values_)>()
          , from.values_
        }
     {}

FloatArray::FloatArray(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FloatArray& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FloatArray_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FloatArray* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FloatArray)
}
PROTOBUF_NDEBUG_INLINE FloatArray::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        values_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FloatArray,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FloatArray, _impl_.values_)>()
         }
     {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FloatArray_class_data_ =
    FloatArray::InternalGenerateClassData_(FloatArray_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FloatArray::GetClassData() const {
  return FloatArray_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FloatArray::GetClassData() const {
  return FloatArray_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FloatArray::ParseTableT_
    FloatArray::_table_ =
        FloatArray::InternalGenerateParseTable_(FloatArray_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FloatArray::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FloatArray)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.values_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated float values = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    if (this_._internal_values_size() > 0) {
      target = stream->WriteFixedPacked(1, this_._internal_values(), target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.FloatArray)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FloatArray::ByteSizeLong(const MessageLite& base) {
  const FloatArray& this_ = static_cast<const FloatArray&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FloatArray::ByteSizeLong() const {
  const FloatArray& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FloatArray)
  ::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_);
   {
    // repeated float values = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::size_t{4} *
          ::_pbi::FromIntSize(this_._internal_values_size());
      ::size_t tag_size = data_size == 0
          ? 0
          : 1 + ::_pbi::WireFormatLite::Int32Size(
                              static_cast<::int32_t>(data_size));
      total_size += tag_size + data_size;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void FloatArray::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FloatArray*>(&to_msg);
  auto& from = static_cast<const FloatArray&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FloatArray)
  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_values()->MergeFrom(from._internal_values());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FloatArray::InternalSwap(FloatArray* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.values_.InternalSwap(&other->_impl_.values_);
}

// ===================================================================

Embedding::Embedding(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Embedding_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Embedding)
}
PROTOBUF_NDEBUG_INLINE Embedding::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::Embedding& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

Embedding::Embedding(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Embedding& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Embedding_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Embedding* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.floats_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.floats_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.Embedding)
}
PROTOBUF_NDEBUG_INLINE Embedding::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void Embedding::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.floats_ = {};
}
Embedding::~Embedding() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Embedding)
  SharedDtor(*this);
}
inline void Embedding::SharedDtor(MessageLite& self) {
  Embedding& this_ = static_cast<Embedding&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.floats_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Embedding_class_data_ =
    Embedding::InternalGenerateClassData_(Embedding_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Embedding::GetClassData() const {
  return Embedding_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Embedding::GetClassData() const {
  return Embedding_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Embedding::ParseTableT_
    Embedding::_table_ =
        Embedding::InternalGenerateParseTable_(Embedding_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Embedding::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Embedding)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.floats_ != nullptr);
    _impl_.floats_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.FloatArray floats = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.floats_, this_._impl_.floats_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Embedding)
  return target;
}

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

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

   {
    // .optimization_guide.proto.FloatArray floats = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.floats_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Embedding::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Embedding*>(&to_msg);
  auto& from = static_cast<const Embedding&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Embedding)
  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)) {
    ABSL_DCHECK(from._impl_.floats_ != nullptr);
    if (_this->_impl_.floats_ == nullptr) {
      _this->_impl_.floats_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.floats_);
    } else {
      _this->_impl_.floats_->MergeFrom(*from._impl_.floats_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Embedding::InternalSwap(Embedding* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.floats_, other->_impl_.floats_);
}

// ===================================================================

AXTreeUpdate::AXTreeUpdate(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXTreeUpdate_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AXTreeUpdate)
}
PROTOBUF_NDEBUG_INLINE AXTreeUpdate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AXTreeUpdate& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        nodes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AXTreeUpdate,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXTreeUpdate, _impl_.nodes_)>()
          , from.nodes_
        }
     {}

AXTreeUpdate::AXTreeUpdate(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AXTreeUpdate& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXTreeUpdate_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AXTreeUpdate)
}
PROTOBUF_NDEBUG_INLINE AXTreeUpdate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        nodes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXTreeUpdate,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXTreeUpdate, _impl_.nodes_)>()
         }
     {}

inline void AXTreeUpdate::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, tree_data_),
           0,
           offsetof(Impl_, root_id_) -
               offsetof(Impl_, tree_data_) +
               sizeof(Impl_::root_id_));
}
AXTreeUpdate::~AXTreeUpdate() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AXTreeUpdate)
  SharedDtor(*this);
}
inline void AXTreeUpdate::SharedDtor(MessageLite& self) {
  AXTreeUpdate& this_ = static_cast<AXTreeUpdate&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.tree_data_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AXTreeUpdate_class_data_ =
    AXTreeUpdate::InternalGenerateClassData_(AXTreeUpdate_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXTreeUpdate::GetClassData() const {
  return AXTreeUpdate_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXTreeUpdate::GetClassData() const {
  return AXTreeUpdate_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AXTreeUpdate::ParseTableT_
    AXTreeUpdate::_table_ =
        AXTreeUpdate::InternalGenerateParseTable_(AXTreeUpdate_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AXTreeUpdate::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AXTreeUpdate)
  ::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_.nodes_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.tree_data_ != nullptr);
      _impl_.tree_data_->Clear();
    }
  }
  _impl_.root_id_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // uint32 root_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_root_id(), target);
  }

  // repeated .optimization_guide.proto.AXNodeData nodes = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_nodes_size());
         i < n; i++) {
      const auto& repfield = this_._internal_nodes().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 = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AXTreeUpdate)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AXTreeUpdate::ByteSizeLong(const MessageLite& base) {
  const AXTreeUpdate& this_ = static_cast<const AXTreeUpdate&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AXTreeUpdate::ByteSizeLong() const {
  const AXTreeUpdate& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AXTreeUpdate)
  ::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 .optimization_guide.proto.AXNodeData nodes = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_nodes_size();
      for (const auto& msg : this_._internal_nodes()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // .optimization_guide.proto.AXTreeData tree_data = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.tree_data_);
    }
    // uint32 root_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_root_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AXTreeUpdate::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AXTreeUpdate*>(&to_msg);
  auto& from = static_cast<const AXTreeUpdate&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AXTreeUpdate)
  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_nodes()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_nodes());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.tree_data_ != nullptr);
      if (_this->_impl_.tree_data_ == nullptr) {
        _this->_impl_.tree_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.tree_data_);
      } else {
        _this->_impl_.tree_data_->MergeFrom(*from._impl_.tree_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.root_id_ = from._impl_.root_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AXTreeUpdate::InternalSwap(AXTreeUpdate* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.nodes_.InternalSwap(&other->_impl_.nodes_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_.root_id_)
      + sizeof(AXTreeUpdate::_impl_.root_id_)
      - PROTOBUF_FIELD_OFFSET(AXTreeUpdate, _impl_.tree_data_)>(
          reinterpret_cast<char*>(&_impl_.tree_data_),
          reinterpret_cast<char*>(&other->_impl_.tree_data_));
}

// ===================================================================

AXTreeData::AXTreeData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXTreeData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AXTreeData)
}
PROTOBUF_NDEBUG_INLINE AXTreeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AXTreeData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        metadata_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AXTreeData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXTreeData, _impl_.metadata_)>()
          , from.metadata_
        }
        ,
        doctype_(arena, from.doctype_),
        mimetype_(arena, from.mimetype_),
        title_(arena, from.title_) {}

AXTreeData::AXTreeData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AXTreeData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXTreeData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AXTreeData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, loading_progress_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, loading_progress_),
           offsetof(Impl_, root_scroller_id_) -
               offsetof(Impl_, loading_progress_) +
               sizeof(Impl_::root_scroller_id_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AXTreeData)
}
PROTOBUF_NDEBUG_INLINE AXTreeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        metadata_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXTreeData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXTreeData, _impl_.metadata_)>()
         }
        ,
        doctype_(arena),
        mimetype_(arena),
        title_(arena) {}

inline void AXTreeData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, loading_progress_),
           0,
           offsetof(Impl_, root_scroller_id_) -
               offsetof(Impl_, loading_progress_) +
               sizeof(Impl_::root_scroller_id_));
}
AXTreeData::~AXTreeData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AXTreeData)
  SharedDtor(*this);
}
inline void AXTreeData::SharedDtor(MessageLite& self) {
  AXTreeData& this_ = static_cast<AXTreeData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.doctype_.Destroy();
  this_._impl_.mimetype_.Destroy();
  this_._impl_.title_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AXTreeData_class_data_ =
    AXTreeData::InternalGenerateClassData_(AXTreeData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXTreeData::GetClassData() const {
  return AXTreeData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXTreeData::GetClassData() const {
  return AXTreeData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AXTreeData::ParseTableT_
    AXTreeData::_table_ =
        AXTreeData::InternalGenerateParseTable_(AXTreeData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AXTreeData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AXTreeData)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.metadata_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.doctype_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.mimetype_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.title_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
    ::memset(&_impl_.loading_progress_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.focus_id_) -
        reinterpret_cast<char*>(&_impl_.loading_progress_)) + sizeof(_impl_.focus_id_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    ::memset(&_impl_.sel_anchor_object_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.root_scroller_id_) -
        reinterpret_cast<char*>(&_impl_.sel_anchor_object_id_)) + sizeof(_impl_.root_scroller_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string doctype = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_doctype();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AXTreeData.doctype");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool loaded = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_loaded(), target);
  }

  // float loading_progress = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        3, this_._internal_loading_progress(), target);
  }

  // string mimetype = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_mimetype();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AXTreeData.mimetype");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // string title = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AXTreeData.title");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // uint32 focus_id = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this_._internal_focus_id(), target);
  }

  // bool sel_is_backward = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this_._internal_sel_is_backward(), target);
  }

  // uint32 sel_anchor_object_id = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this_._internal_sel_anchor_object_id(), target);
  }

  // uint32 sel_anchor_offset = 9 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this_._internal_sel_anchor_offset(), target);
  }

  // .optimization_guide.proto.AXTextAffinity sel_anchor_affinity = 10 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        10, this_._internal_sel_anchor_affinity(), target);
  }

  // uint32 sel_focus_object_id = 11 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        11, this_._internal_sel_focus_object_id(), target);
  }

  // uint32 sel_focus_offset = 12 [features = {
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        12, this_._internal_sel_focus_offset(), target);
  }

  // .optimization_guide.proto.AXTextAffinity sel_focus_affinity = 13 [features = {
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        13, this_._internal_sel_focus_affinity(), target);
  }

  // uint32 root_scroller_id = 14 [features = {
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        14, this_._internal_root_scroller_id(), target);
  }

  // repeated string metadata = 15;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_metadata_size(); i < n; ++i) {
      const auto& s = this_._internal_metadata().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AXTreeData.metadata");
      target = stream->WriteString(15, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AXTreeData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AXTreeData::ByteSizeLong(const MessageLite& base) {
  const AXTreeData& this_ = static_cast<const AXTreeData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AXTreeData::ByteSizeLong() const {
  const AXTreeData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AXTreeData)
  ::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>(0x00000010U & cached_has_bits) * 5;
  total_size += ::absl::popcount(0x00000060U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000008fU)) {
    // repeated string metadata = 15;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_metadata().size());
      for (int i = 0, n = this_._internal_metadata().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_metadata().Get(i));
      }
    }
    // string doctype = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_doctype());
    }
    // string mimetype = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_mimetype());
    }
    // string title = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // uint32 focus_id = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_focus_id());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    // uint32 sel_anchor_object_id = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_sel_anchor_object_id());
    }
    // uint32 sel_anchor_offset = 9 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_sel_anchor_offset());
    }
    // .optimization_guide.proto.AXTextAffinity sel_anchor_affinity = 10 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_sel_anchor_affinity());
    }
    // uint32 sel_focus_object_id = 11 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_sel_focus_object_id());
    }
    // uint32 sel_focus_offset = 12 [features = {
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_sel_focus_offset());
    }
    // .optimization_guide.proto.AXTextAffinity sel_focus_affinity = 13 [features = {
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_sel_focus_affinity());
    }
    // uint32 root_scroller_id = 14 [features = {
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_root_scroller_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AXTreeData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AXTreeData*>(&to_msg);
  auto& from = static_cast<const AXTreeData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AXTreeData)
  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_metadata()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_metadata());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_doctype(from._internal_doctype());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_mimetype(from._internal_mimetype());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.loading_progress_ = from._impl_.loading_progress_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.loaded_ = from._impl_.loaded_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.sel_is_backward_ = from._impl_.sel_is_backward_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.focus_id_ = from._impl_.focus_id_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00007f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.sel_anchor_object_id_ = from._impl_.sel_anchor_object_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.sel_anchor_offset_ = from._impl_.sel_anchor_offset_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.sel_anchor_affinity_ = from._impl_.sel_anchor_affinity_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.sel_focus_object_id_ = from._impl_.sel_focus_object_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.sel_focus_offset_ = from._impl_.sel_focus_offset_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.sel_focus_affinity_ = from._impl_.sel_focus_affinity_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.root_scroller_id_ = from._impl_.root_scroller_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AXTreeData::InternalSwap(AXTreeData* 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_.metadata_.InternalSwap(&other->_impl_.metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.doctype_, &other->_impl_.doctype_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.mimetype_, &other->_impl_.mimetype_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.root_scroller_id_)
      + sizeof(AXTreeData::_impl_.root_scroller_id_)
      - PROTOBUF_FIELD_OFFSET(AXTreeData, _impl_.loading_progress_)>(
          reinterpret_cast<char*>(&_impl_.loading_progress_),
          reinterpret_cast<char*>(&other->_impl_.loading_progress_));
}

// ===================================================================

AXNodeData::AXNodeData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXNodeData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AXNodeData)
}
PROTOBUF_NDEBUG_INLINE AXNodeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AXNodeData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        attributes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AXNodeData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXNodeData, _impl_.attributes_)>()
          , from.attributes_
        }
        ,
        child_ids_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AXNodeData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXNodeData, _impl_.child_ids_)>()
          , from.child_ids_
        }
        ,
        _child_ids_cached_byte_size_{0} {}

AXNodeData::AXNodeData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AXNodeData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXNodeData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AXNodeData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relative_bounds_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.relative_bounds_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, id_),
           offsetof(Impl_, state_) -
               offsetof(Impl_, id_) +
               sizeof(Impl_::state_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AXNodeData)
}
PROTOBUF_NDEBUG_INLINE AXNodeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        attributes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXNodeData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXNodeData, _impl_.attributes_)>()
         }
        ,
        child_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXNodeData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXNodeData, _impl_.child_ids_)>()
         }
        ,
        _child_ids_cached_byte_size_{0} {}

inline void AXNodeData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, relative_bounds_),
           0,
           offsetof(Impl_, state_) -
               offsetof(Impl_, relative_bounds_) +
               sizeof(Impl_::state_));
}
AXNodeData::~AXNodeData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AXNodeData)
  SharedDtor(*this);
}
inline void AXNodeData::SharedDtor(MessageLite& self) {
  AXNodeData& this_ = static_cast<AXNodeData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.relative_bounds_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AXNodeData_class_data_ =
    AXNodeData::InternalGenerateClassData_(AXNodeData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXNodeData::GetClassData() const {
  return AXNodeData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXNodeData::GetClassData() const {
  return AXNodeData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AXNodeData::ParseTableT_
    AXNodeData::_table_ =
        AXNodeData::InternalGenerateParseTable_(AXNodeData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AXNodeData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AXNodeData)
  ::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_.attributes_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.child_ids_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.relative_bounds_ != nullptr);
      _impl_.relative_bounds_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000078U)) {
    ::memset(&_impl_.id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.state_) -
        reinterpret_cast<char*>(&_impl_.id_)) + sizeof(_impl_.state_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint32 id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_id(), target);
  }

  // .optimization_guide.proto.AXRole role = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_role(), target);
  }

  // uint32 state = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_state(), target);
  }

  // uint64 actions = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_actions(), target);
  }

  // repeated .optimization_guide.proto.AXAttribute attributes = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_attributes_size());
         i < n; i++) {
      const auto& repfield = this_._internal_attributes().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated int32 child_ids = 6;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    {
      int byte_size = this_._impl_._child_ids_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            6, this_._internal_child_ids(), byte_size, target);
      }
    }
  }

  // .optimization_guide.proto.AXRelativeBounds relative_bounds = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.relative_bounds_, this_._impl_.relative_bounds_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AXNodeData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AXNodeData::ByteSizeLong(const MessageLite& base) {
  const AXNodeData& this_ = static_cast<const AXNodeData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AXNodeData::ByteSizeLong() const {
  const AXNodeData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AXNodeData)
  ::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, 0x0000007fU)) {
    // repeated .optimization_guide.proto.AXAttribute attributes = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_attributes_size();
      for (const auto& msg : this_._internal_attributes()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated int32 child_ids = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_child_ids(), 1,
              this_._impl_._child_ids_cached_byte_size_);
    }
    // .optimization_guide.proto.AXRelativeBounds relative_bounds = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.relative_bounds_);
    }
    // uint32 id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_id());
    }
    // .optimization_guide.proto.AXRole role = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_role());
    }
    // uint64 actions = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_actions());
    }
    // uint32 state = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_state());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AXNodeData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AXNodeData*>(&to_msg);
  auto& from = static_cast<const AXNodeData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AXNodeData)
  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_attributes()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_attributes());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_child_ids()->MergeFrom(from._internal_child_ids());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.relative_bounds_ != nullptr);
      if (_this->_impl_.relative_bounds_ == nullptr) {
        _this->_impl_.relative_bounds_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.relative_bounds_);
      } else {
        _this->_impl_.relative_bounds_->MergeFrom(*from._impl_.relative_bounds_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.id_ = from._impl_.id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.role_ = from._impl_.role_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.actions_ = from._impl_.actions_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.state_ = from._impl_.state_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AXNodeData::InternalSwap(AXNodeData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.attributes_.InternalSwap(&other->_impl_.attributes_);
  _impl_.child_ids_.InternalSwap(&other->_impl_.child_ids_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.state_)
      + sizeof(AXNodeData::_impl_.state_)
      - PROTOBUF_FIELD_OFFSET(AXNodeData, _impl_.relative_bounds_)>(
          reinterpret_cast<char*>(&_impl_.relative_bounds_),
          reinterpret_cast<char*>(&other->_impl_.relative_bounds_));
}

// ===================================================================

void AXAttribute::set_allocated_int_list_value(::optimization_guide::proto::AXIntList* PROTOBUF_NULLABLE int_list_value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_attribute_value();
  if (int_list_value) {
    ::google::protobuf::Arena* submessage_arena = int_list_value->GetArena();
    if (message_arena != submessage_arena) {
      int_list_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, int_list_value, submessage_arena);
    }
    set_has_int_list_value();
    _impl_.attribute_value_.int_list_value_ = int_list_value;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.AXAttribute.int_list_value)
}
void AXAttribute::set_allocated_string_list_value(::optimization_guide::proto::AXStringList* PROTOBUF_NULLABLE string_list_value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_attribute_value();
  if (string_list_value) {
    ::google::protobuf::Arena* submessage_arena = string_list_value->GetArena();
    if (message_arena != submessage_arena) {
      string_list_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, string_list_value, submessage_arena);
    }
    set_has_string_list_value();
    _impl_.attribute_value_.string_list_value_ = string_list_value;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.AXAttribute.string_list_value)
}
AXAttribute::AXAttribute(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXAttribute_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AXAttribute)
}
PROTOBUF_NDEBUG_INLINE AXAttribute::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AXAttribute& from_msg)
      : attribute_key_{},
        attribute_value_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0], from._oneof_case_[1]} {}

AXAttribute::AXAttribute(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AXAttribute& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXAttribute_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AXAttribute* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (attribute_key_case()) {
    case ATTRIBUTE_KEY_NOT_SET:
      break;
      case kStringType:
        _impl_.attribute_key_.string_type_ = from._impl_.attribute_key_.string_type_;
        break;
      case kIntType:
        _impl_.attribute_key_.int_type_ = from._impl_.attribute_key_.int_type_;
        break;
      case kFloatType:
        _impl_.attribute_key_.float_type_ = from._impl_.attribute_key_.float_type_;
        break;
      case kBoolType:
        _impl_.attribute_key_.bool_type_ = from._impl_.attribute_key_.bool_type_;
        break;
      case kIntlistType:
        _impl_.attribute_key_.intlist_type_ = from._impl_.attribute_key_.intlist_type_;
        break;
      case kStringlistType:
        _impl_.attribute_key_.stringlist_type_ = from._impl_.attribute_key_.stringlist_type_;
        break;
      case kHtmlAttributeName:
        new (&_impl_.attribute_key_.html_attribute_name_) decltype(_impl_.attribute_key_.html_attribute_name_){arena, from._impl_.attribute_key_.html_attribute_name_};
        break;
  }
  switch (attribute_value_case()) {
    case ATTRIBUTE_VALUE_NOT_SET:
      break;
      case kStringValue:
        new (&_impl_.attribute_value_.string_value_) decltype(_impl_.attribute_value_.string_value_){arena, from._impl_.attribute_value_.string_value_};
        break;
      case kIntValue:
        _impl_.attribute_value_.int_value_ = from._impl_.attribute_value_.int_value_;
        break;
      case kFloatValue:
        _impl_.attribute_value_.float_value_ = from._impl_.attribute_value_.float_value_;
        break;
      case kBoolValue:
        _impl_.attribute_value_.bool_value_ = from._impl_.attribute_value_.bool_value_;
        break;
      case kIntListValue:
        _impl_.attribute_value_.int_list_value_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.attribute_value_.int_list_value_);
        break;
      case kStringListValue:
        _impl_.attribute_value_.string_list_value_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.attribute_value_.string_list_value_);
        break;
      case kHtmlAttributeValue:
        new (&_impl_.attribute_value_.html_attribute_value_) decltype(_impl_.attribute_value_.html_attribute_value_){arena, from._impl_.attribute_value_.html_attribute_value_};
        break;
  }

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AXAttribute)
}
PROTOBUF_NDEBUG_INLINE AXAttribute::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : attribute_key_{},
        attribute_value_{},
        _cached_size_{0},
        _oneof_case_{} {}

inline void AXAttribute::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AXAttribute::~AXAttribute() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AXAttribute)
  SharedDtor(*this);
}
inline void AXAttribute::SharedDtor(MessageLite& self) {
  AXAttribute& this_ = static_cast<AXAttribute&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_attribute_key()) {
    this_.clear_attribute_key();
  }
  if (this_.has_attribute_value()) {
    this_.clear_attribute_value();
  }
  this_._impl_.~Impl_();
}

void AXAttribute::clear_attribute_key() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.AXAttribute)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (attribute_key_case()) {
    case kStringType: {
      // No need to clear
      break;
    }
    case kIntType: {
      // No need to clear
      break;
    }
    case kFloatType: {
      // No need to clear
      break;
    }
    case kBoolType: {
      // No need to clear
      break;
    }
    case kIntlistType: {
      // No need to clear
      break;
    }
    case kStringlistType: {
      // No need to clear
      break;
    }
    case kHtmlAttributeName: {
      _impl_.attribute_key_.html_attribute_name_.Destroy();
      break;
    }
    case ATTRIBUTE_KEY_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = ATTRIBUTE_KEY_NOT_SET;
}

void AXAttribute::clear_attribute_value() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.AXAttribute)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (attribute_value_case()) {
    case kStringValue: {
      _impl_.attribute_value_.string_value_.Destroy();
      break;
    }
    case kIntValue: {
      // No need to clear
      break;
    }
    case kFloatValue: {
      // No need to clear
      break;
    }
    case kBoolValue: {
      // No need to clear
      break;
    }
    case kIntListValue: {
      if (GetArena() == nullptr) {
        delete _impl_.attribute_value_.int_list_value_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.attribute_value_.int_list_value_ != nullptr) {
          _impl_.attribute_value_.int_list_value_->Clear();
        }
      }
      break;
    }
    case kStringListValue: {
      if (GetArena() == nullptr) {
        delete _impl_.attribute_value_.string_list_value_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.attribute_value_.string_list_value_ != nullptr) {
          _impl_.attribute_value_.string_list_value_->Clear();
        }
      }
      break;
    }
    case kHtmlAttributeValue: {
      _impl_.attribute_value_.html_attribute_value_.Destroy();
      break;
    }
    case ATTRIBUTE_VALUE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[1] = ATTRIBUTE_VALUE_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AXAttribute_class_data_ =
    AXAttribute::InternalGenerateClassData_(AXAttribute_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXAttribute::GetClassData() const {
  return AXAttribute_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXAttribute::GetClassData() const {
  return AXAttribute_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AXAttribute::ParseTableT_
    AXAttribute::_table_ =
        AXAttribute::InternalGenerateParseTable_(AXAttribute_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AXAttribute::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AXAttribute)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_attribute_key();
  clear_attribute_value();
  _internal_metadata_.Clear<::std::string>();
}

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

  switch (this_.attribute_key_case()) {
    case kStringType: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          1, this_._internal_string_type(), target);
      break;
    }
    case kIntType: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          2, this_._internal_int_type(), target);
      break;
    }
    case kFloatType: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          3, this_._internal_float_type(), target);
      break;
    }
    case kBoolType: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          4, this_._internal_bool_type(), target);
      break;
    }
    case kIntlistType: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          5, this_._internal_intlist_type(), target);
      break;
    }
    case kStringlistType: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          6, this_._internal_stringlist_type(), target);
      break;
    }
    case kHtmlAttributeName: {
      const ::std::string& _s = this_._internal_html_attribute_name();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AXAttribute.html_attribute_name");
      target = stream->WriteStringMaybeAliased(7, _s, target);
      break;
    }
    default:
      break;
  }
  switch (this_.attribute_value_case()) {
    case kStringValue: {
      const ::std::string& _s = this_._internal_string_value();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AXAttribute.string_value");
      target = stream->WriteStringMaybeAliased(8, _s, target);
      break;
    }
    case kIntValue: {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<9>(
              stream, this_._internal_int_value(), target);
      break;
    }
    case kFloatValue: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteFloatToArray(
          10, this_._internal_float_value(), target);
      break;
    }
    case kBoolValue: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteBoolToArray(
          11, this_._internal_bool_value(), target);
      break;
    }
    case kIntListValue: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          12, *this_._impl_.attribute_value_.int_list_value_, this_._impl_.attribute_value_.int_list_value_->GetCachedSize(), target,
          stream);
      break;
    }
    case kStringListValue: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          13, *this_._impl_.attribute_value_.string_list_value_, this_._impl_.attribute_value_.string_list_value_->GetCachedSize(), target,
          stream);
      break;
    }
    case kHtmlAttributeValue: {
      const ::std::string& _s = this_._internal_html_attribute_value();
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AXAttribute.html_attribute_value");
      target = stream->WriteStringMaybeAliased(14, _s, target);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AXAttribute)
  return target;
}

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

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

  switch (this_.attribute_key_case()) {
    // .optimization_guide.proto.AXStringAttribute string_type = 1;
    case kStringType: {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_string_type());
      break;
    }
    // .optimization_guide.proto.AXIntAttribute int_type = 2;
    case kIntType: {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_int_type());
      break;
    }
    // .optimization_guide.proto.AXFloatAttribute float_type = 3;
    case kFloatType: {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_float_type());
      break;
    }
    // .optimization_guide.proto.AXBoolAttribute bool_type = 4;
    case kBoolType: {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_bool_type());
      break;
    }
    // .optimization_guide.proto.AXIntListAttribute intlist_type = 5;
    case kIntlistType: {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_intlist_type());
      break;
    }
    // .optimization_guide.proto.AXStringListAttribute stringlist_type = 6;
    case kStringlistType: {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_stringlist_type());
      break;
    }
    // string html_attribute_name = 7;
    case kHtmlAttributeName: {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_html_attribute_name());
      break;
    }
    case ATTRIBUTE_KEY_NOT_SET: {
      break;
    }
  }
  switch (this_.attribute_value_case()) {
    // string string_value = 8;
    case kStringValue: {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_string_value());
      break;
    }
    // int32 int_value = 9;
    case kIntValue: {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_int_value());
      break;
    }
    // float float_value = 10;
    case kFloatValue: {
      total_size += 5;
      break;
    }
    // bool bool_value = 11;
    case kBoolValue: {
      total_size += 2;
      break;
    }
    // .optimization_guide.proto.AXIntList int_list_value = 12;
    case kIntListValue: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.attribute_value_.int_list_value_);
      break;
    }
    // .optimization_guide.proto.AXStringList string_list_value = 13;
    case kStringListValue: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.attribute_value_.string_list_value_);
      break;
    }
    // string html_attribute_value = 14;
    case kHtmlAttributeValue: {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_html_attribute_value());
      break;
    }
    case ATTRIBUTE_VALUE_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_attribute_key();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kStringType: {
        _this->_impl_.attribute_key_.string_type_ = from._impl_.attribute_key_.string_type_;
        break;
      }
      case kIntType: {
        _this->_impl_.attribute_key_.int_type_ = from._impl_.attribute_key_.int_type_;
        break;
      }
      case kFloatType: {
        _this->_impl_.attribute_key_.float_type_ = from._impl_.attribute_key_.float_type_;
        break;
      }
      case kBoolType: {
        _this->_impl_.attribute_key_.bool_type_ = from._impl_.attribute_key_.bool_type_;
        break;
      }
      case kIntlistType: {
        _this->_impl_.attribute_key_.intlist_type_ = from._impl_.attribute_key_.intlist_type_;
        break;
      }
      case kStringlistType: {
        _this->_impl_.attribute_key_.stringlist_type_ = from._impl_.attribute_key_.stringlist_type_;
        break;
      }
      case kHtmlAttributeName: {
        if (oneof_needs_init) {
          _this->_impl_.attribute_key_.html_attribute_name_.InitDefault();
        }
        _this->_impl_.attribute_key_.html_attribute_name_.Set(from._internal_html_attribute_name(), arena);
        break;
      }
      case ATTRIBUTE_KEY_NOT_SET:
        break;
    }
  }
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[1]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[1];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_attribute_value();
      }
      _this->_impl_._oneof_case_[1] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kStringValue: {
        if (oneof_needs_init) {
          _this->_impl_.attribute_value_.string_value_.InitDefault();
        }
        _this->_impl_.attribute_value_.string_value_.Set(from._internal_string_value(), arena);
        break;
      }
      case kIntValue: {
        _this->_impl_.attribute_value_.int_value_ = from._impl_.attribute_value_.int_value_;
        break;
      }
      case kFloatValue: {
        _this->_impl_.attribute_value_.float_value_ = from._impl_.attribute_value_.float_value_;
        break;
      }
      case kBoolValue: {
        _this->_impl_.attribute_value_.bool_value_ = from._impl_.attribute_value_.bool_value_;
        break;
      }
      case kIntListValue: {
        if (oneof_needs_init) {
          _this->_impl_.attribute_value_.int_list_value_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.attribute_value_.int_list_value_);
        } else {
          _this->_impl_.attribute_value_.int_list_value_->MergeFrom(*from._impl_.attribute_value_.int_list_value_);
        }
        break;
      }
      case kStringListValue: {
        if (oneof_needs_init) {
          _this->_impl_.attribute_value_.string_list_value_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.attribute_value_.string_list_value_);
        } else {
          _this->_impl_.attribute_value_.string_list_value_->MergeFrom(*from._impl_.attribute_value_.string_list_value_);
        }
        break;
      }
      case kHtmlAttributeValue: {
        if (oneof_needs_init) {
          _this->_impl_.attribute_value_.html_attribute_value_.InitDefault();
        }
        _this->_impl_.attribute_value_.html_attribute_value_.Set(from._internal_html_attribute_value(), arena);
        break;
      }
      case ATTRIBUTE_VALUE_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AXAttribute::InternalSwap(AXAttribute* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.attribute_key_, other->_impl_.attribute_key_);
  swap(_impl_.attribute_value_, other->_impl_.attribute_value_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
  swap(_impl_._oneof_case_[1], other->_impl_._oneof_case_[1]);
}

// ===================================================================

AXIntList::AXIntList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXIntList_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AXIntList)
}
PROTOBUF_NDEBUG_INLINE AXIntList::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AXIntList& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        value_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AXIntList,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXIntList, _impl_.value_)>()
          , from.value_
        }
        ,
        _value_cached_byte_size_{0} {}

AXIntList::AXIntList(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AXIntList& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXIntList_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AXIntList* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AXIntList)
}
PROTOBUF_NDEBUG_INLINE AXIntList::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        value_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXIntList,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXIntList, _impl_.value_)>()
         }
        ,
        _value_cached_byte_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AXIntList_class_data_ =
    AXIntList::InternalGenerateClassData_(AXIntList_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXIntList::GetClassData() const {
  return AXIntList_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXIntList::GetClassData() const {
  return AXIntList_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AXIntList::ParseTableT_
    AXIntList::_table_ =
        AXIntList::InternalGenerateParseTable_(AXIntList_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AXIntList::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AXIntList)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.value_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated int32 value = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._value_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            1, this_._internal_value(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AXIntList)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AXIntList::ByteSizeLong(const MessageLite& base) {
  const AXIntList& this_ = static_cast<const AXIntList&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AXIntList::ByteSizeLong() const {
  const AXIntList& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AXIntList)
  ::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_);
   {
    // repeated int32 value = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_value(), 1,
              this_._impl_._value_cached_byte_size_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AXIntList::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AXIntList*>(&to_msg);
  auto& from = static_cast<const AXIntList&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AXIntList)
  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_value()->MergeFrom(from._internal_value());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AXIntList::InternalSwap(AXIntList* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.value_.InternalSwap(&other->_impl_.value_);
}

// ===================================================================

AXStringList::AXStringList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXStringList_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AXStringList)
}
PROTOBUF_NDEBUG_INLINE AXStringList::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AXStringList& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        value_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AXStringList,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXStringList, _impl_.value_)>()
          , from.value_
        }
     {}

AXStringList::AXStringList(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AXStringList& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXStringList_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AXStringList* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AXStringList)
}
PROTOBUF_NDEBUG_INLINE AXStringList::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        value_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXStringList,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXStringList, _impl_.value_)>()
         }
     {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AXStringList_class_data_ =
    AXStringList::InternalGenerateClassData_(AXStringList_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXStringList::GetClassData() const {
  return AXStringList_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXStringList::GetClassData() const {
  return AXStringList_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AXStringList::ParseTableT_
    AXStringList::_table_ =
        AXStringList::InternalGenerateParseTable_(AXStringList_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AXStringList::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AXStringList)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.value_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated string value = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_value_size(); i < n; ++i) {
      const auto& s = this_._internal_value().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AXStringList.value");
      target = stream->WriteString(1, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AXStringList)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AXStringList::ByteSizeLong(const MessageLite& base) {
  const AXStringList& this_ = static_cast<const AXStringList&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AXStringList::ByteSizeLong() const {
  const AXStringList& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AXStringList)
  ::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_);
   {
    // repeated string value = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_value().size());
      for (int i = 0, n = this_._internal_value().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_value().Get(i));
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AXStringList::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AXStringList*>(&to_msg);
  auto& from = static_cast<const AXStringList&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AXStringList)
  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_value()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_value());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AXStringList::InternalSwap(AXStringList* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.value_.InternalSwap(&other->_impl_.value_);
}

// ===================================================================

AXRelativeBounds::AXRelativeBounds(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXRelativeBounds_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AXRelativeBounds)
}
PROTOBUF_NDEBUG_INLINE AXRelativeBounds::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AXRelativeBounds& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        transform_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AXRelativeBounds,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXRelativeBounds, _impl_.transform_)>()
          , from.transform_
        }
     {}

AXRelativeBounds::AXRelativeBounds(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AXRelativeBounds& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AXRelativeBounds_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AXRelativeBounds* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, offset_container_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, offset_container_id_),
           offsetof(Impl_, height_) -
               offsetof(Impl_, offset_container_id_) +
               sizeof(Impl_::height_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AXRelativeBounds)
}
PROTOBUF_NDEBUG_INLINE AXRelativeBounds::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        transform_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AXRelativeBounds,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AXRelativeBounds, _impl_.transform_)>()
         }
     {}

inline void AXRelativeBounds::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, offset_container_id_),
           0,
           offsetof(Impl_, height_) -
               offsetof(Impl_, offset_container_id_) +
               sizeof(Impl_::height_));
}
AXRelativeBounds::~AXRelativeBounds() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AXRelativeBounds)
  SharedDtor(*this);
}
inline void AXRelativeBounds::SharedDtor(MessageLite& self) {
  AXRelativeBounds& this_ = static_cast<AXRelativeBounds&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AXRelativeBounds_class_data_ =
    AXRelativeBounds::InternalGenerateClassData_(AXRelativeBounds_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXRelativeBounds::GetClassData() const {
  return AXRelativeBounds_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AXRelativeBounds::GetClassData() const {
  return AXRelativeBounds_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AXRelativeBounds::ParseTableT_
    AXRelativeBounds::_table_ =
        AXRelativeBounds::InternalGenerateParseTable_(AXRelativeBounds_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AXRelativeBounds::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AXRelativeBounds)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.transform_.Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000003eU)) {
    ::memset(&_impl_.offset_container_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.height_) -
        reinterpret_cast<char*>(&_impl_.offset_container_id_)) + sizeof(_impl_.height_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // float x = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        2, this_._internal_x(), target);
  }

  // float y = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        3, this_._internal_y(), target);
  }

  // float width = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        4, this_._internal_width(), target);
  }

  // float height = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        5, this_._internal_height(), target);
  }

  // repeated float transform = 6;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    if (this_._internal_transform_size() > 0) {
      target = stream->WriteFixedPacked(6, this_._internal_transform(), target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AXRelativeBounds)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AXRelativeBounds::ByteSizeLong(const MessageLite& base) {
  const AXRelativeBounds& this_ = static_cast<const AXRelativeBounds&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AXRelativeBounds::ByteSizeLong() const {
  const AXRelativeBounds& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AXRelativeBounds)
  ::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 += ::absl::popcount(0x0000003cU & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated float transform = 6;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ::size_t data_size = ::size_t{4} *
          ::_pbi::FromIntSize(this_._internal_transform_size());
      ::size_t tag_size = data_size == 0
          ? 0
          : 1 + ::_pbi::WireFormatLite::Int32Size(
                              static_cast<::int32_t>(data_size));
      total_size += tag_size + data_size;
    }
    // int32 offset_container_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_offset_container_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AXRelativeBounds::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AXRelativeBounds*>(&to_msg);
  auto& from = static_cast<const AXRelativeBounds&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AXRelativeBounds)
  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_transform()->MergeFrom(from._internal_transform());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.offset_container_id_ = from._impl_.offset_container_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.x_ = from._impl_.x_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.y_ = from._impl_.y_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.width_ = from._impl_.width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.height_ = from._impl_.height_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AXRelativeBounds::InternalSwap(AXRelativeBounds* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.transform_.InternalSwap(&other->_impl_.transform_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.height_)
      + sizeof(AXRelativeBounds::_impl_.height_)
      - PROTOBUF_FIELD_OFFSET(AXRelativeBounds, _impl_.offset_container_id_)>(
          reinterpret_cast<char*>(&_impl_.offset_container_id_),
          reinterpret_cast<char*>(&other->_impl_.offset_container_id_));
}

// ===================================================================

PageContext::PageContext(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PageContext_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.PageContext)
}
PROTOBUF_NDEBUG_INLINE PageContext::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::PageContext& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        page_passages_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::PageContext,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PageContext, _impl_.page_passages_)>()
          , from.page_passages_
        }
        ,
        url_(arena, from.url_),
        title_(arena, from.title_),
        inner_text_(arena, from.inner_text_),
        tab_screenshot_(arena, from.tab_screenshot_),
        pdf_data_(arena, from.pdf_data_) {}

PageContext::PageContext(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PageContext& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PageContext_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PageContext* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.ax_tree_data_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.ax_tree_data_)
                : nullptr;
  _impl_.annotated_page_content_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.annotated_page_content_)
                : nullptr;
  _impl_.inner_text_offset_ = from._impl_.inner_text_offset_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.PageContext)
}
PROTOBUF_NDEBUG_INLINE PageContext::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        page_passages_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PageContext,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PageContext, _impl_.page_passages_)>()
         }
        ,
        url_(arena),
        title_(arena),
        inner_text_(arena),
        tab_screenshot_(arena),
        pdf_data_(arena) {}

inline void PageContext::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, ax_tree_data_),
           0,
           offsetof(Impl_, inner_text_offset_) -
               offsetof(Impl_, ax_tree_data_) +
               sizeof(Impl_::inner_text_offset_));
}
PageContext::~PageContext() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.PageContext)
  SharedDtor(*this);
}
inline void PageContext::SharedDtor(MessageLite& self) {
  PageContext& this_ = static_cast<PageContext&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  this_._impl_.title_.Destroy();
  this_._impl_.inner_text_.Destroy();
  this_._impl_.tab_screenshot_.Destroy();
  this_._impl_.pdf_data_.Destroy();
  delete this_._impl_.ax_tree_data_;
  delete this_._impl_.annotated_page_content_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PageContext_class_data_ =
    PageContext::InternalGenerateClassData_(PageContext_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PageContext::GetClassData() const {
  return PageContext_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PageContext::GetClassData() const {
  return PageContext_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PageContext::ParseTableT_
    PageContext::_table_ =
        PageContext::InternalGenerateParseTable_(PageContext_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PageContext::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PageContext)
  ::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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.page_passages_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.inner_text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.tab_screenshot_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.pdf_data_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.ax_tree_data_ != nullptr);
      _impl_.ax_tree_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.annotated_page_content_ != nullptr);
      _impl_.annotated_page_content_->Clear();
    }
  }
  _impl_.inner_text_offset_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string url = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.PageContext.url");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string title = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.PageContext.title");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // .optimization_guide.proto.AXTreeUpdate ax_tree_data = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.ax_tree_data_, this_._impl_.ax_tree_data_->GetCachedSize(), target,
        stream);
  }

  // string inner_text = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_inner_text();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.PageContext.inner_text");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // uint64 inner_text_offset = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        5, this_._internal_inner_text_offset(), target);
  }

  // string tab_screenshot = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_tab_screenshot();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.PageContext.tab_screenshot");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // string pdf_data = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_pdf_data();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.PageContext.pdf_data");
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // .optimization_guide.proto.AnnotatedPageContent annotated_page_content = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.annotated_page_content_, this_._impl_.annotated_page_content_->GetCachedSize(), target,
        stream);
  }

  // repeated string page_passages = 9;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (int i = 0, n = this_._internal_page_passages_size(); i < n; ++i) {
      const auto& s = this_._internal_page_passages().Get(i);
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
          s.data(), static_cast<int>(s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.PageContext.page_passages");
      target = stream->WriteString(9, s, target);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.PageContext)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PageContext::ByteSizeLong(const MessageLite& base) {
  const PageContext& this_ = static_cast<const PageContext&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PageContext::ByteSizeLong() const {
  const PageContext& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PageContext)
  ::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, 0x000000ffU)) {
    // repeated string page_passages = 9;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_page_passages().size());
      for (int i = 0, n = this_._internal_page_passages().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_page_passages().Get(i));
      }
    }
    // string url = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // string title = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // string inner_text = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_inner_text());
    }
    // string tab_screenshot = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tab_screenshot());
    }
    // string pdf_data = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_pdf_data());
    }
    // .optimization_guide.proto.AXTreeUpdate ax_tree_data = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.ax_tree_data_);
    }
    // .optimization_guide.proto.AnnotatedPageContent annotated_page_content = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.annotated_page_content_);
    }
  }
   {
    // uint64 inner_text_offset = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_inner_text_offset());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PageContext::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PageContext*>(&to_msg);
  auto& from = static_cast<const PageContext&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.PageContext)
  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_page_passages()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_page_passages());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_inner_text(from._internal_inner_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_tab_screenshot(from._internal_tab_screenshot());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_pdf_data(from._internal_pdf_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.ax_tree_data_ != nullptr);
      if (_this->_impl_.ax_tree_data_ == nullptr) {
        _this->_impl_.ax_tree_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.ax_tree_data_);
      } else {
        _this->_impl_.ax_tree_data_->MergeFrom(*from._impl_.ax_tree_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.annotated_page_content_ != nullptr);
      if (_this->_impl_.annotated_page_content_ == nullptr) {
        _this->_impl_.annotated_page_content_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.annotated_page_content_);
      } else {
        _this->_impl_.annotated_page_content_->MergeFrom(*from._impl_.annotated_page_content_);
      }
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.inner_text_offset_ = from._impl_.inner_text_offset_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PageContext::InternalSwap(PageContext* 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_.page_passages_.InternalSwap(&other->_impl_.page_passages_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.inner_text_, &other->_impl_.inner_text_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tab_screenshot_, &other->_impl_.tab_screenshot_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pdf_data_, &other->_impl_.pdf_data_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PageContext, _impl_.inner_text_offset_)
      + sizeof(PageContext::_impl_.inner_text_offset_)
      - PROTOBUF_FIELD_OFFSET(PageContext, _impl_.ax_tree_data_)>(
          reinterpret_cast<char*>(&_impl_.ax_tree_data_),
          reinterpret_cast<char*>(&other->_impl_.ax_tree_data_));
}

// ===================================================================

AnnotatedPageContent::AnnotatedPageContent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AnnotatedPageContent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AnnotatedPageContent)
}
PROTOBUF_NDEBUG_INLINE AnnotatedPageContent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AnnotatedPageContent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

AnnotatedPageContent::AnnotatedPageContent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AnnotatedPageContent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AnnotatedPageContent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AnnotatedPageContent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.root_node_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.root_node_)
                : nullptr;
  _impl_.main_frame_data_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.main_frame_data_)
                : nullptr;
  _impl_.page_interaction_info_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.page_interaction_info_)
                : nullptr;
  _impl_.viewport_geometry_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.viewport_geometry_)
                : nullptr;
  _impl_.popup_window_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.popup_window_)
                : nullptr;
  _impl_.profile_information_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.profile_information_)
                : nullptr;
  _impl_.gemini_in_chrome_page_metadata_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.gemini_in_chrome_page_metadata_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, version_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, version_),
           offsetof(Impl_, tab_id_) -
               offsetof(Impl_, version_) +
               sizeof(Impl_::tab_id_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AnnotatedPageContent)
}
PROTOBUF_NDEBUG_INLINE AnnotatedPageContent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void AnnotatedPageContent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, root_node_),
           0,
           offsetof(Impl_, tab_id_) -
               offsetof(Impl_, root_node_) +
               sizeof(Impl_::tab_id_));
}
AnnotatedPageContent::~AnnotatedPageContent() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AnnotatedPageContent)
  SharedDtor(*this);
}
inline void AnnotatedPageContent::SharedDtor(MessageLite& self) {
  AnnotatedPageContent& this_ = static_cast<AnnotatedPageContent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.root_node_;
  delete this_._impl_.main_frame_data_;
  delete this_._impl_.page_interaction_info_;
  delete this_._impl_.viewport_geometry_;
  delete this_._impl_.popup_window_;
  delete this_._impl_.profile_information_;
  delete this_._impl_.gemini_in_chrome_page_metadata_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AnnotatedPageContent_class_data_ =
    AnnotatedPageContent::InternalGenerateClassData_(AnnotatedPageContent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AnnotatedPageContent::GetClassData() const {
  return AnnotatedPageContent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AnnotatedPageContent::GetClassData() const {
  return AnnotatedPageContent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AnnotatedPageContent::ParseTableT_
    AnnotatedPageContent::_table_ =
        AnnotatedPageContent::InternalGenerateParseTable_(AnnotatedPageContent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AnnotatedPageContent::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AnnotatedPageContent)
  ::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)) {
      ABSL_DCHECK(_impl_.root_node_ != nullptr);
      _impl_.root_node_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.main_frame_data_ != nullptr);
      _impl_.main_frame_data_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.page_interaction_info_ != nullptr);
      _impl_.page_interaction_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.viewport_geometry_ != nullptr);
      _impl_.viewport_geometry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.popup_window_ != nullptr);
      _impl_.popup_window_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.profile_information_ != nullptr);
      _impl_.profile_information_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.gemini_in_chrome_page_metadata_ != nullptr);
      _impl_.gemini_in_chrome_page_metadata_->Clear();
    }
  }
  _impl_.version_ = 0;
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    ::memset(&_impl_.mode_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.tab_id_) -
        reinterpret_cast<char*>(&_impl_.mode_)) + sizeof(_impl_.tab_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.AnnotatedPageContentVersion version = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_version(), target);
  }

  // .optimization_guide.proto.ContentNode root_node = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.root_node_, this_._impl_.root_node_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.FrameData main_frame_data = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.main_frame_data_, this_._impl_.main_frame_data_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.PageInteractionInfo page_interaction_info = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.page_interaction_info_, this_._impl_.page_interaction_info_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.BoundingRect viewport_geometry = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.viewport_geometry_, this_._impl_.viewport_geometry_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.AnnotatedPageContentMode mode = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_mode(), target);
  }

  // int32 tab_id = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_tab_id(), target);
  }

  // .optimization_guide.proto.PopupWindow popup_window = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.popup_window_, this_._impl_.popup_window_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.ProfileInformation profile_information = 9 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, *this_._impl_.profile_information_, this_._impl_.profile_information_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.GeminiInChromePageMetadata gemini_in_chrome_page_metadata = 10 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, *this_._impl_.gemini_in_chrome_page_metadata_, this_._impl_.gemini_in_chrome_page_metadata_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AnnotatedPageContent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AnnotatedPageContent::ByteSizeLong(const MessageLite& base) {
  const AnnotatedPageContent& this_ = static_cast<const AnnotatedPageContent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AnnotatedPageContent::ByteSizeLong() const {
  const AnnotatedPageContent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AnnotatedPageContent)
  ::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, 0x000000ffU)) {
    // .optimization_guide.proto.ContentNode root_node = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.root_node_);
    }
    // .optimization_guide.proto.FrameData main_frame_data = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.main_frame_data_);
    }
    // .optimization_guide.proto.PageInteractionInfo page_interaction_info = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.page_interaction_info_);
    }
    // .optimization_guide.proto.BoundingRect viewport_geometry = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.viewport_geometry_);
    }
    // .optimization_guide.proto.PopupWindow popup_window = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.popup_window_);
    }
    // .optimization_guide.proto.ProfileInformation profile_information = 9 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.profile_information_);
    }
    // .optimization_guide.proto.GeminiInChromePageMetadata gemini_in_chrome_page_metadata = 10 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.gemini_in_chrome_page_metadata_);
    }
    // .optimization_guide.proto.AnnotatedPageContentVersion version = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_version());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    // .optimization_guide.proto.AnnotatedPageContentMode mode = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_mode());
    }
    // int32 tab_id = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_tab_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AnnotatedPageContent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AnnotatedPageContent*>(&to_msg);
  auto& from = static_cast<const AnnotatedPageContent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AnnotatedPageContent)
  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)) {
      ABSL_DCHECK(from._impl_.root_node_ != nullptr);
      if (_this->_impl_.root_node_ == nullptr) {
        _this->_impl_.root_node_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.root_node_);
      } else {
        _this->_impl_.root_node_->MergeFrom(*from._impl_.root_node_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.main_frame_data_ != nullptr);
      if (_this->_impl_.main_frame_data_ == nullptr) {
        _this->_impl_.main_frame_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.main_frame_data_);
      } else {
        _this->_impl_.main_frame_data_->MergeFrom(*from._impl_.main_frame_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.page_interaction_info_ != nullptr);
      if (_this->_impl_.page_interaction_info_ == nullptr) {
        _this->_impl_.page_interaction_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.page_interaction_info_);
      } else {
        _this->_impl_.page_interaction_info_->MergeFrom(*from._impl_.page_interaction_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.viewport_geometry_ != nullptr);
      if (_this->_impl_.viewport_geometry_ == nullptr) {
        _this->_impl_.viewport_geometry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.viewport_geometry_);
      } else {
        _this->_impl_.viewport_geometry_->MergeFrom(*from._impl_.viewport_geometry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.popup_window_ != nullptr);
      if (_this->_impl_.popup_window_ == nullptr) {
        _this->_impl_.popup_window_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.popup_window_);
      } else {
        _this->_impl_.popup_window_->MergeFrom(*from._impl_.popup_window_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.profile_information_ != nullptr);
      if (_this->_impl_.profile_information_ == nullptr) {
        _this->_impl_.profile_information_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.profile_information_);
      } else {
        _this->_impl_.profile_information_->MergeFrom(*from._impl_.profile_information_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.gemini_in_chrome_page_metadata_ != nullptr);
      if (_this->_impl_.gemini_in_chrome_page_metadata_ == nullptr) {
        _this->_impl_.gemini_in_chrome_page_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.gemini_in_chrome_page_metadata_);
      } else {
        _this->_impl_.gemini_in_chrome_page_metadata_->MergeFrom(*from._impl_.gemini_in_chrome_page_metadata_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.version_ = from._impl_.version_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.mode_ = from._impl_.mode_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AnnotatedPageContent::InternalSwap(AnnotatedPageContent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.tab_id_)
      + sizeof(AnnotatedPageContent::_impl_.tab_id_)
      - PROTOBUF_FIELD_OFFSET(AnnotatedPageContent, _impl_.root_node_)>(
          reinterpret_cast<char*>(&_impl_.root_node_),
          reinterpret_cast<char*>(&other->_impl_.root_node_));
}

// ===================================================================

ContentNode::ContentNode(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContentNode_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ContentNode)
}
PROTOBUF_NDEBUG_INLINE ContentNode::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ContentNode& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        children_nodes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ContentNode,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentNode, _impl_.children_nodes_)>()
          , from.children_nodes_
        }
     {}

ContentNode::ContentNode(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ContentNode& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContentNode_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ContentNode)
}
PROTOBUF_NDEBUG_INLINE ContentNode::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        children_nodes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContentNode,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentNode, _impl_.children_nodes_)>()
         }
     {}

inline void ContentNode::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.content_attributes_ = {};
}
ContentNode::~ContentNode() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ContentNode)
  SharedDtor(*this);
}
inline void ContentNode::SharedDtor(MessageLite& self) {
  ContentNode& this_ = static_cast<ContentNode&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.content_attributes_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContentNode_class_data_ =
    ContentNode::InternalGenerateClassData_(ContentNode_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContentNode::GetClassData() const {
  return ContentNode_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContentNode::GetClassData() const {
  return ContentNode_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ContentNode::ParseTableT_
    ContentNode::_table_ =
        ContentNode::InternalGenerateParseTable_(ContentNode_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ContentNode::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ContentNode)
  ::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_.children_nodes_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.content_attributes_ != nullptr);
      _impl_.content_attributes_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .optimization_guide.proto.ContentAttributes content_attributes = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.content_attributes_, this_._impl_.content_attributes_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ContentNode)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContentNode::ByteSizeLong(const MessageLite& base) {
  const ContentNode& this_ = static_cast<const ContentNode&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContentNode::ByteSizeLong() const {
  const ContentNode& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContentNode)
  ::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)) {
    // repeated .optimization_guide.proto.ContentNode children_nodes = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_children_nodes_size();
      for (const auto& msg : this_._internal_children_nodes()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // .optimization_guide.proto.ContentAttributes content_attributes = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_attributes_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ContentNode::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContentNode*>(&to_msg);
  auto& from = static_cast<const ContentNode&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContentNode)
  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_children_nodes()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_children_nodes());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.content_attributes_ != nullptr);
      if (_this->_impl_.content_attributes_ == nullptr) {
        _this->_impl_.content_attributes_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_attributes_);
      } else {
        _this->_impl_.content_attributes_->MergeFrom(*from._impl_.content_attributes_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ContentNode::InternalSwap(ContentNode* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.children_nodes_.InternalSwap(&other->_impl_.children_nodes_);
  swap(_impl_.content_attributes_, other->_impl_.content_attributes_);
}

// ===================================================================

void ContentAttributes::set_allocated_text_data(::optimization_guide::proto::TextInfo* PROTOBUF_NULLABLE text_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (text_data) {
    ::google::protobuf::Arena* submessage_arena = text_data->GetArena();
    if (message_arena != submessage_arena) {
      text_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, text_data, submessage_arena);
    }
    set_has_text_data();
    _impl_.content_data_.text_data_ = text_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.text_data)
}
void ContentAttributes::set_allocated_image_data(::optimization_guide::proto::ImageInfo* PROTOBUF_NULLABLE image_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (image_data) {
    ::google::protobuf::Arena* submessage_arena = image_data->GetArena();
    if (message_arena != submessage_arena) {
      image_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, image_data, submessage_arena);
    }
    set_has_image_data();
    _impl_.content_data_.image_data_ = image_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.image_data)
}
void ContentAttributes::set_allocated_svg_root_data(::optimization_guide::proto::SVGRootData* PROTOBUF_NULLABLE svg_root_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (svg_root_data) {
    ::google::protobuf::Arena* submessage_arena = svg_root_data->GetArena();
    if (message_arena != submessage_arena) {
      svg_root_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, svg_root_data, submessage_arena);
    }
    set_has_svg_root_data();
    _impl_.content_data_.svg_root_data_ = svg_root_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.svg_root_data)
}
void ContentAttributes::set_allocated_canvas_data(::optimization_guide::proto::CanvasData* PROTOBUF_NULLABLE canvas_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (canvas_data) {
    ::google::protobuf::Arena* submessage_arena = canvas_data->GetArena();
    if (message_arena != submessage_arena) {
      canvas_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, canvas_data, submessage_arena);
    }
    set_has_canvas_data();
    _impl_.content_data_.canvas_data_ = canvas_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.canvas_data)
}
void ContentAttributes::set_allocated_video_data(::optimization_guide::proto::VideoData* PROTOBUF_NULLABLE video_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (video_data) {
    ::google::protobuf::Arena* submessage_arena = video_data->GetArena();
    if (message_arena != submessage_arena) {
      video_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, video_data, submessage_arena);
    }
    set_has_video_data();
    _impl_.content_data_.video_data_ = video_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.video_data)
}
void ContentAttributes::set_allocated_anchor_data(::optimization_guide::proto::AnchorData* PROTOBUF_NULLABLE anchor_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (anchor_data) {
    ::google::protobuf::Arena* submessage_arena = anchor_data->GetArena();
    if (message_arena != submessage_arena) {
      anchor_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, anchor_data, submessage_arena);
    }
    set_has_anchor_data();
    _impl_.content_data_.anchor_data_ = anchor_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.anchor_data)
}
void ContentAttributes::set_allocated_form_data(::optimization_guide::proto::FormInfo* PROTOBUF_NULLABLE form_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (form_data) {
    ::google::protobuf::Arena* submessage_arena = form_data->GetArena();
    if (message_arena != submessage_arena) {
      form_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, form_data, submessage_arena);
    }
    set_has_form_data();
    _impl_.content_data_.form_data_ = form_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.form_data)
}
void ContentAttributes::set_allocated_form_control_data(::optimization_guide::proto::FormControlData* PROTOBUF_NULLABLE form_control_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (form_control_data) {
    ::google::protobuf::Arena* submessage_arena = form_control_data->GetArena();
    if (message_arena != submessage_arena) {
      form_control_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, form_control_data, submessage_arena);
    }
    set_has_form_control_data();
    _impl_.content_data_.form_control_data_ = form_control_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.form_control_data)
}
void ContentAttributes::set_allocated_table_data(::optimization_guide::proto::TableData* PROTOBUF_NULLABLE table_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (table_data) {
    ::google::protobuf::Arena* submessage_arena = table_data->GetArena();
    if (message_arena != submessage_arena) {
      table_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, table_data, submessage_arena);
    }
    set_has_table_data();
    _impl_.content_data_.table_data_ = table_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.table_data)
}
void ContentAttributes::set_allocated_iframe_data(::optimization_guide::proto::IframeData* PROTOBUF_NULLABLE iframe_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (iframe_data) {
    ::google::protobuf::Arena* submessage_arena = iframe_data->GetArena();
    if (message_arena != submessage_arena) {
      iframe_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, iframe_data, submessage_arena);
    }
    set_has_iframe_data();
    _impl_.content_data_.iframe_data_ = iframe_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.iframe_data)
}
void ContentAttributes::set_allocated_table_row_data(::optimization_guide::proto::TableRowData* PROTOBUF_NULLABLE table_row_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_content_data();
  if (table_row_data) {
    ::google::protobuf::Arena* submessage_arena = table_row_data->GetArena();
    if (message_arena != submessage_arena) {
      table_row_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, table_row_data, submessage_arena);
    }
    set_has_table_row_data();
    _impl_.content_data_.table_row_data_ = table_row_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ContentAttributes.table_row_data)
}
ContentAttributes::ContentAttributes(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContentAttributes_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ContentAttributes)
}
PROTOBUF_NDEBUG_INLINE ContentAttributes::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ContentAttributes& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        annotated_roles_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ContentAttributes,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentAttributes, _impl_.annotated_roles_)>()
          , from.annotated_roles_
        }
        ,
        _annotated_roles_cached_byte_size_{0},
        label_(arena, from.label_),
        content_data_{},
        _oneof_case_{from._oneof_case_[0]} {}

ContentAttributes::ContentAttributes(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ContentAttributes& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContentAttributes_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ContentAttributes* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.geometry_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.geometry_)
                : nullptr;
  _impl_.interaction_info_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.interaction_info_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, common_ancestor_dom_node_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, common_ancestor_dom_node_id_),
           offsetof(Impl_, redaction_decision_) -
               offsetof(Impl_, common_ancestor_dom_node_id_) +
               sizeof(Impl_::redaction_decision_));
  switch (content_data_case()) {
    case CONTENT_DATA_NOT_SET:
      break;
      case kTextData:
        _impl_.content_data_.text_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.text_data_);
        break;
      case kImageData:
        _impl_.content_data_.image_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.image_data_);
        break;
      case kSvgRootData:
        _impl_.content_data_.svg_root_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.svg_root_data_);
        break;
      case kCanvasData:
        _impl_.content_data_.canvas_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.canvas_data_);
        break;
      case kVideoData:
        _impl_.content_data_.video_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.video_data_);
        break;
      case kAnchorData:
        _impl_.content_data_.anchor_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.anchor_data_);
        break;
      case kFormData:
        _impl_.content_data_.form_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.form_data_);
        break;
      case kFormControlData:
        _impl_.content_data_.form_control_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.form_control_data_);
        break;
      case kTableData:
        _impl_.content_data_.table_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.table_data_);
        break;
      case kIframeData:
        _impl_.content_data_.iframe_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.iframe_data_);
        break;
      case kTableRowData:
        _impl_.content_data_.table_row_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.table_row_data_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ContentAttributes)
}
PROTOBUF_NDEBUG_INLINE ContentAttributes::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        annotated_roles_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ContentAttributes,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ContentAttributes, _impl_.annotated_roles_)>()
         }
        ,
        _annotated_roles_cached_byte_size_{0},
        label_(arena),
        content_data_{},
        _oneof_case_{} {}

inline void ContentAttributes::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, geometry_),
           0,
           offsetof(Impl_, redaction_decision_) -
               offsetof(Impl_, geometry_) +
               sizeof(Impl_::redaction_decision_));
}
ContentAttributes::~ContentAttributes() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ContentAttributes)
  SharedDtor(*this);
}
inline void ContentAttributes::SharedDtor(MessageLite& self) {
  ContentAttributes& this_ = static_cast<ContentAttributes&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.label_.Destroy();
  delete this_._impl_.geometry_;
  delete this_._impl_.interaction_info_;
  if (this_.has_content_data()) {
    this_.clear_content_data();
  }
  this_._impl_.~Impl_();
}

void ContentAttributes::clear_content_data() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.ContentAttributes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (content_data_case()) {
    case kTextData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.text_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.text_data_ != nullptr) {
          _impl_.content_data_.text_data_->Clear();
        }
      }
      break;
    }
    case kImageData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.image_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.image_data_ != nullptr) {
          _impl_.content_data_.image_data_->Clear();
        }
      }
      break;
    }
    case kSvgRootData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.svg_root_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.svg_root_data_ != nullptr) {
          _impl_.content_data_.svg_root_data_->Clear();
        }
      }
      break;
    }
    case kCanvasData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.canvas_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.canvas_data_ != nullptr) {
          _impl_.content_data_.canvas_data_->Clear();
        }
      }
      break;
    }
    case kVideoData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.video_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.video_data_ != nullptr) {
          _impl_.content_data_.video_data_->Clear();
        }
      }
      break;
    }
    case kAnchorData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.anchor_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.anchor_data_ != nullptr) {
          _impl_.content_data_.anchor_data_->Clear();
        }
      }
      break;
    }
    case kFormData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.form_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.form_data_ != nullptr) {
          _impl_.content_data_.form_data_->Clear();
        }
      }
      break;
    }
    case kFormControlData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.form_control_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.form_control_data_ != nullptr) {
          _impl_.content_data_.form_control_data_->Clear();
        }
      }
      break;
    }
    case kTableData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.table_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.table_data_ != nullptr) {
          _impl_.content_data_.table_data_->Clear();
        }
      }
      break;
    }
    case kIframeData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.iframe_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.iframe_data_ != nullptr) {
          _impl_.content_data_.iframe_data_->Clear();
        }
      }
      break;
    }
    case kTableRowData: {
      if (GetArena() == nullptr) {
        delete _impl_.content_data_.table_row_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.content_data_.table_row_data_ != nullptr) {
          _impl_.content_data_.table_row_data_->Clear();
        }
      }
      break;
    }
    case CONTENT_DATA_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = CONTENT_DATA_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContentAttributes_class_data_ =
    ContentAttributes::InternalGenerateClassData_(ContentAttributes_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContentAttributes::GetClassData() const {
  return ContentAttributes_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ContentAttributes::GetClassData() const {
  return ContentAttributes_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ContentAttributes::ParseTableT_
    ContentAttributes::_table_ =
        ContentAttributes::InternalGenerateParseTable_(ContentAttributes_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ContentAttributes::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ContentAttributes)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.annotated_roles_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.geometry_ != nullptr);
      _impl_.geometry_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.interaction_info_ != nullptr);
      _impl_.interaction_info_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
    ::memset(&_impl_.common_ancestor_dom_node_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.aria_role_) -
        reinterpret_cast<char*>(&_impl_.common_ancestor_dom_node_id_)) + sizeof(_impl_.aria_role_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    ::memset(&_impl_.is_ad_related_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.redaction_decision_) -
        reinterpret_cast<char*>(&_impl_.is_ad_related_)) + sizeof(_impl_.redaction_decision_));
  }
  clear_content_data();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 common_ancestor_dom_node_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_common_ancestor_dom_node_id(), target);
  }

  // .optimization_guide.proto.ContentAttributeType attribute_type = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_attribute_type(), target);
  }

  // .optimization_guide.proto.Geometry geometry = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.geometry_, this_._impl_.geometry_->GetCachedSize(), target,
        stream);
  }

  switch (this_.content_data_case()) {
    case kTableData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, *this_._impl_.content_data_.table_data_, this_._impl_.content_data_.table_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kIframeData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          9, *this_._impl_.content_data_.iframe_data_, this_._impl_.content_data_.iframe_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kTextData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          10, *this_._impl_.content_data_.text_data_, this_._impl_.content_data_.text_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kImageData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          11, *this_._impl_.content_data_.image_data_, this_._impl_.content_data_.image_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kTableRowData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          13, *this_._impl_.content_data_.table_row_data_, this_._impl_.content_data_.table_row_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kAnchorData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          14, *this_._impl_.content_data_.anchor_data_, this_._impl_.content_data_.anchor_data_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  // repeated .optimization_guide.proto.AnnotatedRole annotated_roles = 15;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._annotated_roles_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            15, this_._internal_annotated_roles(), byte_size, target);
      }
    }
  }

  // string label = 16 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_label();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ContentAttributes.label");
    target = stream->WriteStringMaybeAliased(16, _s, target);
  }

  switch (this_.content_data_case()) {
    case kFormData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          19, *this_._impl_.content_data_.form_data_, this_._impl_.content_data_.form_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kFormControlData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          20, *this_._impl_.content_data_.form_control_data_, this_._impl_.content_data_.form_control_data_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  // .optimization_guide.proto.InteractionInfo interaction_info = 21 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        21, *this_._impl_.interaction_info_, this_._impl_.interaction_info_->GetCachedSize(), target,
        stream);
  }

  switch (this_.content_data_case()) {
    case kSvgRootData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          23, *this_._impl_.content_data_.svg_root_data_, this_._impl_.content_data_.svg_root_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kCanvasData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          24, *this_._impl_.content_data_.canvas_data_, this_._impl_.content_data_.canvas_data_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  // int32 label_for_dom_node_id = 25 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        25, this_._internal_label_for_dom_node_id(), target);
  }

  // .optimization_guide.proto.AXRole aria_role = 26 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        26, this_._internal_aria_role(), target);
  }

  // .optimization_guide.proto.VideoData video_data = 27;
  if (this_.content_data_case() == kVideoData) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        27, *this_._impl_.content_data_.video_data_, this_._impl_.content_data_.video_data_->GetCachedSize(), target,
        stream);
  }

  // bool is_ad_related = 28 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        28, this_._internal_is_ad_related(), target);
  }

  // .optimization_guide.proto.RedactionDecision redaction_decision = 29 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        29, this_._internal_redaction_decision(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ContentAttributes)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContentAttributes::ByteSizeLong(const MessageLite& base) {
  const ContentAttributes& this_ = static_cast<const ContentAttributes&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContentAttributes::ByteSizeLong() const {
  const ContentAttributes& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContentAttributes)
  ::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>(0x00000100U & cached_has_bits) * 3;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .optimization_guide.proto.AnnotatedRole annotated_roles = 15;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_annotated_roles(), 1, this_._impl_._annotated_roles_cached_byte_size_);
    }
    // string label = 16 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_label());
    }
    // .optimization_guide.proto.Geometry geometry = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.geometry_);
    }
    // .optimization_guide.proto.InteractionInfo interaction_info = 21 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.interaction_info_);
    }
    // int32 common_ancestor_dom_node_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_common_ancestor_dom_node_id());
    }
    // .optimization_guide.proto.ContentAttributeType attribute_type = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_attribute_type());
    }
    // int32 label_for_dom_node_id = 25 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                      this_._internal_label_for_dom_node_id());
    }
    // .optimization_guide.proto.AXRole aria_role = 26 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_aria_role());
    }
  }
   {
    // .optimization_guide.proto.RedactionDecision redaction_decision = 29 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_redaction_decision());
    }
  }
  switch (this_.content_data_case()) {
    // .optimization_guide.proto.TextInfo text_data = 10;
    case kTextData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.text_data_);
      break;
    }
    // .optimization_guide.proto.ImageInfo image_data = 11;
    case kImageData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.image_data_);
      break;
    }
    // .optimization_guide.proto.SVGRootData svg_root_data = 23;
    case kSvgRootData: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.svg_root_data_);
      break;
    }
    // .optimization_guide.proto.CanvasData canvas_data = 24;
    case kCanvasData: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.canvas_data_);
      break;
    }
    // .optimization_guide.proto.VideoData video_data = 27;
    case kVideoData: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.video_data_);
      break;
    }
    // .optimization_guide.proto.AnchorData anchor_data = 14;
    case kAnchorData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.anchor_data_);
      break;
    }
    // .optimization_guide.proto.FormInfo form_data = 19;
    case kFormData: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.form_data_);
      break;
    }
    // .optimization_guide.proto.FormControlData form_control_data = 20;
    case kFormControlData: {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.form_control_data_);
      break;
    }
    // .optimization_guide.proto.TableData table_data = 8;
    case kTableData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.table_data_);
      break;
    }
    // .optimization_guide.proto.IframeData iframe_data = 9;
    case kIframeData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.iframe_data_);
      break;
    }
    // .optimization_guide.proto.TableRowData table_row_data = 13;
    case kTableRowData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.content_data_.table_row_data_);
      break;
    }
    case CONTENT_DATA_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ContentAttributes::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContentAttributes*>(&to_msg);
  auto& from = static_cast<const ContentAttributes&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContentAttributes)
  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_annotated_roles()->MergeFrom(from._internal_annotated_roles());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_label(from._internal_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.geometry_ != nullptr);
      if (_this->_impl_.geometry_ == nullptr) {
        _this->_impl_.geometry_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.geometry_);
      } else {
        _this->_impl_.geometry_->MergeFrom(*from._impl_.geometry_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.interaction_info_ != nullptr);
      if (_this->_impl_.interaction_info_ == nullptr) {
        _this->_impl_.interaction_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.interaction_info_);
      } else {
        _this->_impl_.interaction_info_->MergeFrom(*from._impl_.interaction_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.common_ancestor_dom_node_id_ = from._impl_.common_ancestor_dom_node_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.attribute_type_ = from._impl_.attribute_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.label_for_dom_node_id_ = from._impl_.label_for_dom_node_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.aria_role_ = from._impl_.aria_role_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.is_ad_related_ = from._impl_.is_ad_related_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.redaction_decision_ = from._impl_.redaction_decision_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_content_data();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kTextData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.text_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.text_data_);
        } else {
          _this->_impl_.content_data_.text_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.text_data_);
        }
        break;
      }
      case kImageData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.image_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.image_data_);
        } else {
          _this->_impl_.content_data_.image_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.image_data_);
        }
        break;
      }
      case kSvgRootData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.svg_root_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.svg_root_data_);
        } else {
          _this->_impl_.content_data_.svg_root_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.svg_root_data_);
        }
        break;
      }
      case kCanvasData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.canvas_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.canvas_data_);
        } else {
          _this->_impl_.content_data_.canvas_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.canvas_data_);
        }
        break;
      }
      case kVideoData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.video_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.video_data_);
        } else {
          _this->_impl_.content_data_.video_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.video_data_);
        }
        break;
      }
      case kAnchorData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.anchor_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.anchor_data_);
        } else {
          _this->_impl_.content_data_.anchor_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.anchor_data_);
        }
        break;
      }
      case kFormData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.form_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.form_data_);
        } else {
          _this->_impl_.content_data_.form_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.form_data_);
        }
        break;
      }
      case kFormControlData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.form_control_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.form_control_data_);
        } else {
          _this->_impl_.content_data_.form_control_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.form_control_data_);
        }
        break;
      }
      case kTableData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.table_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.table_data_);
        } else {
          _this->_impl_.content_data_.table_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.table_data_);
        }
        break;
      }
      case kIframeData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.iframe_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.iframe_data_);
        } else {
          _this->_impl_.content_data_.iframe_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.iframe_data_);
        }
        break;
      }
      case kTableRowData: {
        if (oneof_needs_init) {
          _this->_impl_.content_data_.table_row_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.content_data_.table_row_data_);
        } else {
          _this->_impl_.content_data_.table_row_data_->CheckTypeAndMergeFrom(*from._impl_.content_data_.table_row_data_);
        }
        break;
      }
      case CONTENT_DATA_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ContentAttributes::InternalSwap(ContentAttributes* 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_.annotated_roles_.InternalSwap(&other->_impl_.annotated_roles_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.label_, &other->_impl_.label_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.redaction_decision_)
      + sizeof(ContentAttributes::_impl_.redaction_decision_)
      - PROTOBUF_FIELD_OFFSET(ContentAttributes, _impl_.geometry_)>(
          reinterpret_cast<char*>(&_impl_.geometry_),
          reinterpret_cast<char*>(&other->_impl_.geometry_));
  swap(_impl_.content_data_, other->_impl_.content_data_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

// ===================================================================

Geometry::Geometry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Geometry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Geometry)
}
PROTOBUF_NDEBUG_INLINE Geometry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::Geometry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        fragment_visible_bounding_boxes_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::Geometry,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::Geometry, _impl_.fragment_visible_bounding_boxes_)>()
          , from.fragment_visible_bounding_boxes_
        }
     {}

Geometry::Geometry(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Geometry& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Geometry_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Geometry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.outer_bounding_box_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.outer_bounding_box_)
                : nullptr;
  _impl_.visible_bounding_box_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.visible_bounding_box_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, is_fixed_or_sticky_position_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, is_fixed_or_sticky_position_),
           offsetof(Impl_, css_position_) -
               offsetof(Impl_, is_fixed_or_sticky_position_) +
               sizeof(Impl_::css_position_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.Geometry)
}
PROTOBUF_NDEBUG_INLINE Geometry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        fragment_visible_bounding_boxes_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::Geometry,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::Geometry, _impl_.fragment_visible_bounding_boxes_)>()
         }
     {}

inline void Geometry::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, outer_bounding_box_),
           0,
           offsetof(Impl_, css_position_) -
               offsetof(Impl_, outer_bounding_box_) +
               sizeof(Impl_::css_position_));
}
Geometry::~Geometry() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Geometry)
  SharedDtor(*this);
}
inline void Geometry::SharedDtor(MessageLite& self) {
  Geometry& this_ = static_cast<Geometry&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.outer_bounding_box_;
  delete this_._impl_.visible_bounding_box_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Geometry_class_data_ =
    Geometry::InternalGenerateClassData_(Geometry_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Geometry::GetClassData() const {
  return Geometry_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Geometry::GetClassData() const {
  return Geometry_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Geometry::ParseTableT_
    Geometry::_table_ =
        Geometry::InternalGenerateParseTable_(Geometry_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Geometry::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Geometry)
  ::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_.fragment_visible_bounding_boxes_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.outer_bounding_box_ != nullptr);
      _impl_.outer_bounding_box_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.visible_bounding_box_ != nullptr);
      _impl_.visible_bounding_box_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.is_fixed_or_sticky_position_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.css_position_) -
        reinterpret_cast<char*>(&_impl_.is_fixed_or_sticky_position_)) + sizeof(_impl_.css_position_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .optimization_guide.proto.BoundingRect visible_bounding_box = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.visible_bounding_box_, this_._impl_.visible_bounding_box_->GetCachedSize(), target,
        stream);
  }

  // bool is_fixed_or_sticky_position = 3 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_is_fixed_or_sticky_position(), target);
  }

  // repeated .optimization_guide.proto.BoundingRect fragment_visible_bounding_boxes = 6;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_fragment_visible_bounding_boxes_size());
         i < n; i++) {
      const auto& repfield = this_._internal_fragment_visible_bounding_boxes().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              6, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .optimization_guide.proto.CssPosition css_position = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this_._internal_css_position(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Geometry)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Geometry::ByteSizeLong(const MessageLite& base) {
  const Geometry& this_ = static_cast<const Geometry&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Geometry::ByteSizeLong() const {
  const Geometry& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Geometry)
  ::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>(0x00000008U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000017U)) {
    // repeated .optimization_guide.proto.BoundingRect fragment_visible_bounding_boxes = 6;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_fragment_visible_bounding_boxes_size();
      for (const auto& msg : this_._internal_fragment_visible_bounding_boxes()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // .optimization_guide.proto.BoundingRect outer_bounding_box = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.outer_bounding_box_);
    }
    // .optimization_guide.proto.BoundingRect visible_bounding_box = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.visible_bounding_box_);
    }
    // .optimization_guide.proto.CssPosition css_position = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_css_position());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Geometry::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Geometry*>(&to_msg);
  auto& from = static_cast<const Geometry&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Geometry)
  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_fragment_visible_bounding_boxes()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_fragment_visible_bounding_boxes());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.outer_bounding_box_ != nullptr);
      if (_this->_impl_.outer_bounding_box_ == nullptr) {
        _this->_impl_.outer_bounding_box_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.outer_bounding_box_);
      } else {
        _this->_impl_.outer_bounding_box_->MergeFrom(*from._impl_.outer_bounding_box_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.visible_bounding_box_ != nullptr);
      if (_this->_impl_.visible_bounding_box_ == nullptr) {
        _this->_impl_.visible_bounding_box_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.visible_bounding_box_);
      } else {
        _this->_impl_.visible_bounding_box_->MergeFrom(*from._impl_.visible_bounding_box_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.is_fixed_or_sticky_position_ = from._impl_.is_fixed_or_sticky_position_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.css_position_ = from._impl_.css_position_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Geometry::InternalSwap(Geometry* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.fragment_visible_bounding_boxes_.InternalSwap(&other->_impl_.fragment_visible_bounding_boxes_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Geometry, _impl_.css_position_)
      + sizeof(Geometry::_impl_.css_position_)
      - PROTOBUF_FIELD_OFFSET(Geometry, _impl_.outer_bounding_box_)>(
          reinterpret_cast<char*>(&_impl_.outer_bounding_box_),
          reinterpret_cast<char*>(&other->_impl_.outer_bounding_box_));
}

// ===================================================================

BoundingRect::BoundingRect(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BoundingRect_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.BoundingRect)
}
BoundingRect::BoundingRect(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BoundingRect& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BoundingRect_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE BoundingRect::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void BoundingRect::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, x_),
           0,
           offsetof(Impl_, is_screenshot_relative_) -
               offsetof(Impl_, x_) +
               sizeof(Impl_::is_screenshot_relative_));
}
BoundingRect::~BoundingRect() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.BoundingRect)
  SharedDtor(*this);
}
inline void BoundingRect::SharedDtor(MessageLite& self) {
  BoundingRect& this_ = static_cast<BoundingRect&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BoundingRect_class_data_ =
    BoundingRect::InternalGenerateClassData_(BoundingRect_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BoundingRect::GetClassData() const {
  return BoundingRect_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BoundingRect::GetClassData() const {
  return BoundingRect_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BoundingRect::ParseTableT_
    BoundingRect::_table_ =
        BoundingRect::InternalGenerateParseTable_(BoundingRect_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BoundingRect::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.BoundingRect)
  ::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, 0x0000001fU)) {
    ::memset(&_impl_.x_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.is_screenshot_relative_) -
        reinterpret_cast<char*>(&_impl_.x_)) + sizeof(_impl_.is_screenshot_relative_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 y = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_y(), target);
  }

  // int32 width = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_width(), target);
  }

  // int32 height = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_height(), target);
  }

  // bool is_screenshot_relative = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_is_screenshot_relative(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.BoundingRect)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BoundingRect::ByteSizeLong(const MessageLite& base) {
  const BoundingRect& this_ = static_cast<const BoundingRect&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BoundingRect::ByteSizeLong() const {
  const BoundingRect& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.BoundingRect)
  ::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>(0x00000010U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // int32 x = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_x());
    }
    // int32 y = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_y());
    }
    // int32 width = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_width());
    }
    // int32 height = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_height());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void BoundingRect::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BoundingRect*>(&to_msg);
  auto& from = static_cast<const BoundingRect&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.BoundingRect)
  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->_impl_.x_ = from._impl_.x_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.y_ = from._impl_.y_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.width_ = from._impl_.width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.height_ = from._impl_.height_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.is_screenshot_relative_ = from._impl_.is_screenshot_relative_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BoundingRect::InternalSwap(BoundingRect* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.is_screenshot_relative_)
      + sizeof(BoundingRect::_impl_.is_screenshot_relative_)
      - PROTOBUF_FIELD_OFFSET(BoundingRect, _impl_.x_)>(
          reinterpret_cast<char*>(&_impl_.x_),
          reinterpret_cast<char*>(&other->_impl_.x_));
}

// ===================================================================

InteractionInfo::InteractionInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, InteractionInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.InteractionInfo)
}
PROTOBUF_NDEBUG_INLINE InteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::InteractionInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        debug_clickability_reasons_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::InteractionInfo,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.debug_clickability_reasons_)>()
          , from.debug_clickability_reasons_
        }
        ,
        _debug_clickability_reasons_cached_byte_size_{0},
        clickability_reasons_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::InteractionInfo,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.clickability_reasons_)>()
          , from.clickability_reasons_
        }
        ,
        _clickability_reasons_cached_byte_size_{0},
        interaction_disabled_reasons_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::InteractionInfo,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.interaction_disabled_reasons_)>()
          , from.interaction_disabled_reasons_
        }
        ,
        _interaction_disabled_reasons_cached_byte_size_{0},
        aria_action_target_node_ids_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::InteractionInfo,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.aria_action_target_node_ids_)>()
          , from.aria_action_target_node_ids_
        }
        ,
        _aria_action_target_node_ids_cached_byte_size_{0} {}

InteractionInfo::InteractionInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const InteractionInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, InteractionInfo_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  InteractionInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.scroller_info_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.scroller_info_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, is_selectable_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, is_selectable_),
           offsetof(Impl_, has_aria_activedescendant_) -
               offsetof(Impl_, is_selectable_) +
               sizeof(Impl_::has_aria_activedescendant_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.InteractionInfo)
}
PROTOBUF_NDEBUG_INLINE InteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        debug_clickability_reasons_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::InteractionInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.debug_clickability_reasons_)>()
         }
        ,
        _debug_clickability_reasons_cached_byte_size_{0},
        clickability_reasons_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::InteractionInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.clickability_reasons_)>()
         }
        ,
        _clickability_reasons_cached_byte_size_{0},
        interaction_disabled_reasons_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::InteractionInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.interaction_disabled_reasons_)>()
         }
        ,
        _interaction_disabled_reasons_cached_byte_size_{0},
        aria_action_target_node_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::InteractionInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::InteractionInfo, _impl_.aria_action_target_node_ids_)>()
         }
        ,
        _aria_action_target_node_ids_cached_byte_size_{0} {}

inline void InteractionInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, scroller_info_),
           0,
           offsetof(Impl_, has_aria_activedescendant_) -
               offsetof(Impl_, scroller_info_) +
               sizeof(Impl_::has_aria_activedescendant_));
}
InteractionInfo::~InteractionInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.InteractionInfo)
  SharedDtor(*this);
}
inline void InteractionInfo::SharedDtor(MessageLite& self) {
  InteractionInfo& this_ = static_cast<InteractionInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.scroller_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite InteractionInfo_class_data_ =
    InteractionInfo::InternalGenerateClassData_(InteractionInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
InteractionInfo::GetClassData() const {
  return InteractionInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
InteractionInfo::GetClassData() const {
  return InteractionInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const InteractionInfo::ParseTableT_
    InteractionInfo::_table_ =
        InteractionInfo::InternalGenerateParseTable_(InteractionInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void InteractionInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.InteractionInfo)
  ::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, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.debug_clickability_reasons_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.clickability_reasons_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.interaction_disabled_reasons_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.aria_action_target_node_ids_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.scroller_info_ != nullptr);
      _impl_.scroller_info_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000e0U)) {
    ::memset(&_impl_.is_selectable_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.can_resize_horizontal_) -
        reinterpret_cast<char*>(&_impl_.is_selectable_)) + sizeof(_impl_.can_resize_horizontal_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    ::memset(&_impl_.can_resize_vertical_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.has_aria_activedescendant_) -
        reinterpret_cast<char*>(&_impl_.can_resize_vertical_)) + sizeof(_impl_.has_aria_activedescendant_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool is_selectable = 3 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_is_selectable(), target);
  }

  // bool is_editable = 4 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_is_editable(), target);
  }

  // bool can_resize_horizontal = 5 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_can_resize_horizontal(), target);
  }

  // bool can_resize_vertical = 6 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_can_resize_vertical(), target);
  }

  // bool is_focusable = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this_._internal_is_focusable(), target);
  }

  // bool is_draggable = 9 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        9, this_._internal_is_draggable(), target);
  }

  // bool is_clickable = 10 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this_._internal_is_clickable(), target);
  }

  // .optimization_guide.proto.ScrollerInfo scroller_info = 12 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        12, *this_._impl_.scroller_info_, this_._impl_.scroller_info_->GetCachedSize(), target,
        stream);
  }

  // int32 document_scoped_z_order = 13 [features = {
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<13>(
            stream, this_._internal_document_scoped_z_order(), target);
  }

  // repeated .optimization_guide.proto.ClickabilityReason debug_clickability_reasons = 14 [deprecated = true];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._debug_clickability_reasons_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            14, this_._internal_debug_clickability_reasons(), byte_size, target);
      }
    }
  }

  // repeated .optimization_guide.proto.ClickabilityReason clickability_reasons = 15;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    {
      ::size_t byte_size = this_._impl_._clickability_reasons_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            15, this_._internal_clickability_reasons(), byte_size, target);
      }
    }
  }

  // bool is_disabled = 16 [features = {
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        16, this_._internal_is_disabled(), target);
  }

  // repeated .optimization_guide.proto.InteractionDisabledReason interaction_disabled_reasons = 17;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    {
      ::size_t byte_size = this_._impl_._interaction_disabled_reasons_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            17, this_._internal_interaction_disabled_reasons(), byte_size, target);
      }
    }
  }

  // bool is_tabbable = 18 [features = {
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        18, this_._internal_is_tabbable(), target);
  }

  // bool has_aria_activedescendant = 19 [features = {
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        19, this_._internal_has_aria_activedescendant(), target);
  }

  // repeated int32 aria_action_target_node_ids = 20;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    {
      int byte_size = this_._impl_._aria_action_target_node_ids_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt32Packed(
            20, this_._internal_aria_action_target_node_ids(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.InteractionInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t InteractionInfo::ByteSizeLong(const MessageLite& base) {
  const InteractionInfo& this_ = static_cast<const InteractionInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t InteractionInfo::ByteSizeLong() const {
  const InteractionInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.InteractionInfo)
  ::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 += ::absl::popcount(0x0000d000U & cached_has_bits) * 3;
  total_size += ::absl::popcount(0x00000fe0U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // repeated .optimization_guide.proto.ClickabilityReason debug_clickability_reasons = 14 [deprecated = true];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_debug_clickability_reasons(), 1, this_._impl_._debug_clickability_reasons_cached_byte_size_);
    }
    // repeated .optimization_guide.proto.ClickabilityReason clickability_reasons = 15;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_clickability_reasons(), 1, this_._impl_._clickability_reasons_cached_byte_size_);
    }
    // repeated .optimization_guide.proto.InteractionDisabledReason interaction_disabled_reasons = 17;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_interaction_disabled_reasons(), 2, this_._impl_._interaction_disabled_reasons_cached_byte_size_);
    }
    // repeated int32 aria_action_target_node_ids = 20;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int32SizeWithPackedTagSize(
              this_._internal_aria_action_target_node_ids(), 2,
              this_._impl_._aria_action_target_node_ids_cached_byte_size_);
    }
    // .optimization_guide.proto.ScrollerInfo scroller_info = 12 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.scroller_info_);
    }
  }
   {
    // int32 document_scoped_z_order = 13 [features = {
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_document_scoped_z_order());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void InteractionInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<InteractionInfo*>(&to_msg);
  auto& from = static_cast<const InteractionInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.InteractionInfo)
  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_debug_clickability_reasons()->MergeFrom(from._internal_debug_clickability_reasons());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_clickability_reasons()->MergeFrom(from._internal_clickability_reasons());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_interaction_disabled_reasons()->MergeFrom(from._internal_interaction_disabled_reasons());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_aria_action_target_node_ids()->MergeFrom(from._internal_aria_action_target_node_ids());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.scroller_info_ != nullptr);
      if (_this->_impl_.scroller_info_ == nullptr) {
        _this->_impl_.scroller_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.scroller_info_);
      } else {
        _this->_impl_.scroller_info_->MergeFrom(*from._impl_.scroller_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.is_selectable_ = from._impl_.is_selectable_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.is_editable_ = from._impl_.is_editable_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.can_resize_horizontal_ = from._impl_.can_resize_horizontal_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.can_resize_vertical_ = from._impl_.can_resize_vertical_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.is_focusable_ = from._impl_.is_focusable_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.is_draggable_ = from._impl_.is_draggable_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.is_clickable_ = from._impl_.is_clickable_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.is_disabled_ = from._impl_.is_disabled_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.document_scoped_z_order_ = from._impl_.document_scoped_z_order_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.is_tabbable_ = from._impl_.is_tabbable_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.has_aria_activedescendant_ = from._impl_.has_aria_activedescendant_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void InteractionInfo::InternalSwap(InteractionInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.debug_clickability_reasons_.InternalSwap(&other->_impl_.debug_clickability_reasons_);
  _impl_.clickability_reasons_.InternalSwap(&other->_impl_.clickability_reasons_);
  _impl_.interaction_disabled_reasons_.InternalSwap(&other->_impl_.interaction_disabled_reasons_);
  _impl_.aria_action_target_node_ids_.InternalSwap(&other->_impl_.aria_action_target_node_ids_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.has_aria_activedescendant_)
      + sizeof(InteractionInfo::_impl_.has_aria_activedescendant_)
      - PROTOBUF_FIELD_OFFSET(InteractionInfo, _impl_.scroller_info_)>(
          reinterpret_cast<char*>(&_impl_.scroller_info_),
          reinterpret_cast<char*>(&other->_impl_.scroller_info_));
}

// ===================================================================

ScrollerInfo::ScrollerInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScrollerInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ScrollerInfo)
}
PROTOBUF_NDEBUG_INLINE ScrollerInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ScrollerInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

ScrollerInfo::ScrollerInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ScrollerInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScrollerInfo_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ScrollerInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.scrolling_bounds_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.scrolling_bounds_)
                : nullptr;
  _impl_.visible_area_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.visible_area_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, user_scrollable_horizontal_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, user_scrollable_horizontal_),
           offsetof(Impl_, user_scrollable_vertical_) -
               offsetof(Impl_, user_scrollable_horizontal_) +
               sizeof(Impl_::user_scrollable_vertical_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ScrollerInfo)
}
PROTOBUF_NDEBUG_INLINE ScrollerInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ScrollerInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, scrolling_bounds_),
           0,
           offsetof(Impl_, user_scrollable_vertical_) -
               offsetof(Impl_, scrolling_bounds_) +
               sizeof(Impl_::user_scrollable_vertical_));
}
ScrollerInfo::~ScrollerInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ScrollerInfo)
  SharedDtor(*this);
}
inline void ScrollerInfo::SharedDtor(MessageLite& self) {
  ScrollerInfo& this_ = static_cast<ScrollerInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.scrolling_bounds_;
  delete this_._impl_.visible_area_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScrollerInfo_class_data_ =
    ScrollerInfo::InternalGenerateClassData_(ScrollerInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScrollerInfo::GetClassData() const {
  return ScrollerInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScrollerInfo::GetClassData() const {
  return ScrollerInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScrollerInfo::ParseTableT_
    ScrollerInfo::_table_ =
        ScrollerInfo::InternalGenerateParseTable_(ScrollerInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScrollerInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScrollerInfo)
  ::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)) {
      ABSL_DCHECK(_impl_.scrolling_bounds_ != nullptr);
      _impl_.scrolling_bounds_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.visible_area_ != nullptr);
      _impl_.visible_area_->Clear();
    }
  }
  ::memset(&_impl_.user_scrollable_horizontal_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.user_scrollable_vertical_) -
      reinterpret_cast<char*>(&_impl_.user_scrollable_horizontal_)) + sizeof(_impl_.user_scrollable_vertical_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.BoundingSize scrolling_bounds = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.scrolling_bounds_, this_._impl_.scrolling_bounds_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.BoundingRect visible_area = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.visible_area_, this_._impl_.visible_area_->GetCachedSize(), target,
        stream);
  }

  // bool user_scrollable_horizontal = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_user_scrollable_horizontal(), target);
  }

  // bool user_scrollable_vertical = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_user_scrollable_vertical(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ScrollerInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScrollerInfo::ByteSizeLong(const MessageLite& base) {
  const ScrollerInfo& this_ = static_cast<const ScrollerInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScrollerInfo::ByteSizeLong() const {
  const ScrollerInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ScrollerInfo)
  ::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 += ::absl::popcount(0x0000000cU & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // .optimization_guide.proto.BoundingSize scrolling_bounds = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.scrolling_bounds_);
    }
    // .optimization_guide.proto.BoundingRect visible_area = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.visible_area_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ScrollerInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScrollerInfo*>(&to_msg);
  auto& from = static_cast<const ScrollerInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ScrollerInfo)
  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)) {
      ABSL_DCHECK(from._impl_.scrolling_bounds_ != nullptr);
      if (_this->_impl_.scrolling_bounds_ == nullptr) {
        _this->_impl_.scrolling_bounds_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.scrolling_bounds_);
      } else {
        _this->_impl_.scrolling_bounds_->MergeFrom(*from._impl_.scrolling_bounds_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.visible_area_ != nullptr);
      if (_this->_impl_.visible_area_ == nullptr) {
        _this->_impl_.visible_area_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.visible_area_);
      } else {
        _this->_impl_.visible_area_->MergeFrom(*from._impl_.visible_area_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.user_scrollable_horizontal_ = from._impl_.user_scrollable_horizontal_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.user_scrollable_vertical_ = from._impl_.user_scrollable_vertical_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScrollerInfo::InternalSwap(ScrollerInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.user_scrollable_vertical_)
      + sizeof(ScrollerInfo::_impl_.user_scrollable_vertical_)
      - PROTOBUF_FIELD_OFFSET(ScrollerInfo, _impl_.scrolling_bounds_)>(
          reinterpret_cast<char*>(&_impl_.scrolling_bounds_),
          reinterpret_cast<char*>(&other->_impl_.scrolling_bounds_));
}

// ===================================================================

BoundingSize::BoundingSize(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BoundingSize_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.BoundingSize)
}
BoundingSize::BoundingSize(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BoundingSize& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BoundingSize_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE BoundingSize::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void BoundingSize::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, width_),
           0,
           offsetof(Impl_, height_) -
               offsetof(Impl_, width_) +
               sizeof(Impl_::height_));
}
BoundingSize::~BoundingSize() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.BoundingSize)
  SharedDtor(*this);
}
inline void BoundingSize::SharedDtor(MessageLite& self) {
  BoundingSize& this_ = static_cast<BoundingSize&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BoundingSize_class_data_ =
    BoundingSize::InternalGenerateClassData_(BoundingSize_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BoundingSize::GetClassData() const {
  return BoundingSize_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BoundingSize::GetClassData() const {
  return BoundingSize_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BoundingSize::ParseTableT_
    BoundingSize::_table_ =
        BoundingSize::InternalGenerateParseTable_(BoundingSize_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BoundingSize::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.BoundingSize)
  ::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)) {
    ::memset(&_impl_.width_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.height_) -
        reinterpret_cast<char*>(&_impl_.width_)) + sizeof(_impl_.height_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 height = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_height(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.BoundingSize)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BoundingSize::ByteSizeLong(const MessageLite& base) {
  const BoundingSize& this_ = static_cast<const BoundingSize&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BoundingSize::ByteSizeLong() const {
  const BoundingSize& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.BoundingSize)
  ::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)) {
    // int32 width = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_width());
    }
    // int32 height = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_height());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void BoundingSize::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BoundingSize*>(&to_msg);
  auto& from = static_cast<const BoundingSize&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.BoundingSize)
  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_.width_ = from._impl_.width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.height_ = from._impl_.height_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void BoundingSize::InternalSwap(BoundingSize* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BoundingSize, _impl_.height_)
      + sizeof(BoundingSize::_impl_.height_)
      - PROTOBUF_FIELD_OFFSET(BoundingSize, _impl_.width_)>(
          reinterpret_cast<char*>(&_impl_.width_),
          reinterpret_cast<char*>(&other->_impl_.width_));
}

// ===================================================================

TextInfo::TextInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TextInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TextInfo)
}
PROTOBUF_NDEBUG_INLINE TextInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::TextInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        text_content_(arena, from.text_content_) {}

TextInfo::TextInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TextInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TextInfo_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.TextInfo)
}
PROTOBUF_NDEBUG_INLINE TextInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        text_content_(arena) {}

inline void TextInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.text_style_ = {};
}
TextInfo::~TextInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.TextInfo)
  SharedDtor(*this);
}
inline void TextInfo::SharedDtor(MessageLite& self) {
  TextInfo& this_ = static_cast<TextInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.text_content_.Destroy();
  delete this_._impl_.text_style_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TextInfo_class_data_ =
    TextInfo::InternalGenerateClassData_(TextInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TextInfo::GetClassData() const {
  return TextInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TextInfo::GetClassData() const {
  return TextInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TextInfo::ParseTableT_
    TextInfo::_table_ =
        TextInfo::InternalGenerateParseTable_(TextInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TextInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TextInfo)
  ::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_.text_content_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.text_style_ != nullptr);
      _impl_.text_style_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string text_content = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_text_content();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TextInfo.text_content");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // .optimization_guide.proto.TextStyle text_style = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.text_style_, this_._impl_.text_style_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TextInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TextInfo::ByteSizeLong(const MessageLite& base) {
  const TextInfo& this_ = static_cast<const TextInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TextInfo::ByteSizeLong() const {
  const TextInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TextInfo)
  ::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)) {
    // string text_content = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text_content());
    }
    // .optimization_guide.proto.TextStyle text_style = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.text_style_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TextInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TextInfo*>(&to_msg);
  auto& from = static_cast<const TextInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TextInfo)
  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_text_content(from._internal_text_content());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.text_style_ != nullptr);
      if (_this->_impl_.text_style_ == nullptr) {
        _this->_impl_.text_style_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.text_style_);
      } else {
        _this->_impl_.text_style_->MergeFrom(*from._impl_.text_style_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TextInfo::InternalSwap(TextInfo* 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_.text_content_, &other->_impl_.text_content_, arena);
  swap(_impl_.text_style_, other->_impl_.text_style_);
}

// ===================================================================

TextStyle::TextStyle(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TextStyle_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TextStyle)
}
TextStyle::TextStyle(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TextStyle& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TextStyle_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE TextStyle::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void TextStyle::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, text_size_),
           0,
           offsetof(Impl_, color_) -
               offsetof(Impl_, text_size_) +
               sizeof(Impl_::color_));
}
TextStyle::~TextStyle() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.TextStyle)
  SharedDtor(*this);
}
inline void TextStyle::SharedDtor(MessageLite& self) {
  TextStyle& this_ = static_cast<TextStyle&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TextStyle_class_data_ =
    TextStyle::InternalGenerateClassData_(TextStyle_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TextStyle::GetClassData() const {
  return TextStyle_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TextStyle::GetClassData() const {
  return TextStyle_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TextStyle::ParseTableT_
    TextStyle::_table_ =
        TextStyle::InternalGenerateParseTable_(TextStyle_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TextStyle::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TextStyle)
  ::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)) {
    ::memset(&_impl_.text_size_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.color_) -
        reinterpret_cast<char*>(&_impl_.text_size_)) + sizeof(_impl_.color_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.TextSize text_size = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_text_size(), target);
  }

  // bool has_emphasis = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_has_emphasis(), target);
  }

  // uint32 color = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this_._internal_color(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TextStyle)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TextStyle::ByteSizeLong(const MessageLite& base) {
  const TextStyle& this_ = static_cast<const TextStyle&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TextStyle::ByteSizeLong() const {
  const TextStyle& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TextStyle)
  ::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>(0x00000002U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000005U)) {
    // .optimization_guide.proto.TextSize text_size = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_text_size());
    }
    // uint32 color = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_color());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TextStyle::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TextStyle*>(&to_msg);
  auto& from = static_cast<const TextStyle&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TextStyle)
  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->_impl_.text_size_ = from._impl_.text_size_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.has_emphasis_ = from._impl_.has_emphasis_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.color_ = from._impl_.color_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TextStyle::InternalSwap(TextStyle* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TextStyle, _impl_.color_)
      + sizeof(TextStyle::_impl_.color_)
      - PROTOBUF_FIELD_OFFSET(TextStyle, _impl_.text_size_)>(
          reinterpret_cast<char*>(&_impl_.text_size_),
          reinterpret_cast<char*>(&other->_impl_.text_size_));
}

// ===================================================================

ImageInfo::ImageInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ImageInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ImageInfo)
}
PROTOBUF_NDEBUG_INLINE ImageInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ImageInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        image_caption_(arena, from.image_caption_),
        url_(arena, from.url_) {}

ImageInfo::ImageInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ImageInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ImageInfo_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ImageInfo)
}
PROTOBUF_NDEBUG_INLINE ImageInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        image_caption_(arena),
        url_(arena) {}

inline void ImageInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.security_origin_ = {};
}
ImageInfo::~ImageInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ImageInfo)
  SharedDtor(*this);
}
inline void ImageInfo::SharedDtor(MessageLite& self) {
  ImageInfo& this_ = static_cast<ImageInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.image_caption_.Destroy();
  this_._impl_.url_.Destroy();
  delete this_._impl_.security_origin_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ImageInfo_class_data_ =
    ImageInfo::InternalGenerateClassData_(ImageInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ImageInfo::GetClassData() const {
  return ImageInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ImageInfo::GetClassData() const {
  return ImageInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ImageInfo::ParseTableT_
    ImageInfo::_table_ =
        ImageInfo::InternalGenerateParseTable_(ImageInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ImageInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ImageInfo)
  ::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_.image_caption_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.security_origin_ != nullptr);
      _impl_.security_origin_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string image_caption = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_image_caption();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ImageInfo.image_caption");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // .optimization_guide.proto.SecurityOrigin security_origin = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.security_origin_, this_._impl_.security_origin_->GetCachedSize(), target,
        stream);
  }

  // string url = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ImageInfo.url");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ImageInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ImageInfo::ByteSizeLong(const MessageLite& base) {
  const ImageInfo& this_ = static_cast<const ImageInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ImageInfo::ByteSizeLong() const {
  const ImageInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ImageInfo)
  ::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)) {
    // string image_caption = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_image_caption());
    }
    // string url = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // .optimization_guide.proto.SecurityOrigin security_origin = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.security_origin_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ImageInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ImageInfo*>(&to_msg);
  auto& from = static_cast<const ImageInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ImageInfo)
  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_image_caption(from._internal_image_caption());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.security_origin_ != nullptr);
      if (_this->_impl_.security_origin_ == nullptr) {
        _this->_impl_.security_origin_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.security_origin_);
      } else {
        _this->_impl_.security_origin_->MergeFrom(*from._impl_.security_origin_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ImageInfo::InternalSwap(ImageInfo* 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_.image_caption_, &other->_impl_.image_caption_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  swap(_impl_.security_origin_, other->_impl_.security_origin_);
}

// ===================================================================

SecurityOrigin::SecurityOrigin(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SecurityOrigin_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.SecurityOrigin)
}
PROTOBUF_NDEBUG_INLINE SecurityOrigin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::SecurityOrigin& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        value_(arena, from.value_) {}

SecurityOrigin::SecurityOrigin(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SecurityOrigin& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SecurityOrigin_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SecurityOrigin* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.opaque_ = from._impl_.opaque_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.SecurityOrigin)
}
PROTOBUF_NDEBUG_INLINE SecurityOrigin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        value_(arena) {}

inline void SecurityOrigin::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.opaque_ = {};
}
SecurityOrigin::~SecurityOrigin() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.SecurityOrigin)
  SharedDtor(*this);
}
inline void SecurityOrigin::SharedDtor(MessageLite& self) {
  SecurityOrigin& this_ = static_cast<SecurityOrigin&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.value_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SecurityOrigin_class_data_ =
    SecurityOrigin::InternalGenerateClassData_(SecurityOrigin_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SecurityOrigin::GetClassData() const {
  return SecurityOrigin_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SecurityOrigin::GetClassData() const {
  return SecurityOrigin_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SecurityOrigin::ParseTableT_
    SecurityOrigin::_table_ =
        SecurityOrigin::InternalGenerateParseTable_(SecurityOrigin_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SecurityOrigin::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.SecurityOrigin)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.value_.ClearNonDefaultToEmpty();
  }
  _impl_.opaque_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool opaque = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_opaque(), target);
  }

  // string value = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_value();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.SecurityOrigin.value");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.SecurityOrigin)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SecurityOrigin::ByteSizeLong(const MessageLite& base) {
  const SecurityOrigin& this_ = static_cast<const SecurityOrigin&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SecurityOrigin::ByteSizeLong() const {
  const SecurityOrigin& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.SecurityOrigin)
  ::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>(0x00000002U & cached_has_bits) * 2;
   {
    // string value = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_value());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SecurityOrigin::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SecurityOrigin*>(&to_msg);
  auto& from = static_cast<const SecurityOrigin&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.SecurityOrigin)
  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_.opaque_ = from._impl_.opaque_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SecurityOrigin::InternalSwap(SecurityOrigin* 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_.value_, &other->_impl_.value_, arena);
  swap(_impl_.opaque_, other->_impl_.opaque_);
}

// ===================================================================

SVGRootData::SVGRootData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SVGRootData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.SVGRootData)
}
PROTOBUF_NDEBUG_INLINE SVGRootData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::SVGRootData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        inner_text_(arena, from.inner_text_) {}

SVGRootData::SVGRootData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SVGRootData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SVGRootData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SVGRootData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.SVGRootData)
}
PROTOBUF_NDEBUG_INLINE SVGRootData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        inner_text_(arena) {}

inline void SVGRootData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
SVGRootData::~SVGRootData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.SVGRootData)
  SharedDtor(*this);
}
inline void SVGRootData::SharedDtor(MessageLite& self) {
  SVGRootData& this_ = static_cast<SVGRootData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.inner_text_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SVGRootData_class_data_ =
    SVGRootData::InternalGenerateClassData_(SVGRootData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SVGRootData::GetClassData() const {
  return SVGRootData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SVGRootData::GetClassData() const {
  return SVGRootData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SVGRootData::ParseTableT_
    SVGRootData::_table_ =
        SVGRootData::InternalGenerateParseTable_(SVGRootData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SVGRootData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.SVGRootData)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.inner_text_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string inner_text = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_inner_text();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.SVGRootData.inner_text");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.SVGRootData)
  return target;
}

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

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

   {
    // string inner_text = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_inner_text());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SVGRootData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SVGRootData*>(&to_msg);
  auto& from = static_cast<const SVGRootData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.SVGRootData)
  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_set_inner_text(from._internal_inner_text());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SVGRootData::InternalSwap(SVGRootData* 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_.inner_text_, &other->_impl_.inner_text_, arena);
}

// ===================================================================

CanvasData::CanvasData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CanvasData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.CanvasData)
}
CanvasData::CanvasData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CanvasData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, CanvasData_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE CanvasData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void CanvasData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, layout_width_),
           0,
           offsetof(Impl_, layout_height_) -
               offsetof(Impl_, layout_width_) +
               sizeof(Impl_::layout_height_));
}
CanvasData::~CanvasData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.CanvasData)
  SharedDtor(*this);
}
inline void CanvasData::SharedDtor(MessageLite& self) {
  CanvasData& this_ = static_cast<CanvasData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite CanvasData_class_data_ =
    CanvasData::InternalGenerateClassData_(CanvasData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CanvasData::GetClassData() const {
  return CanvasData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
CanvasData::GetClassData() const {
  return CanvasData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const CanvasData::ParseTableT_
    CanvasData::_table_ =
        CanvasData::InternalGenerateParseTable_(CanvasData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void CanvasData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.CanvasData)
  ::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)) {
    ::memset(&_impl_.layout_width_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.layout_height_) -
        reinterpret_cast<char*>(&_impl_.layout_width_)) + sizeof(_impl_.layout_height_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 layout_height = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_layout_height(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.CanvasData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t CanvasData::ByteSizeLong(const MessageLite& base) {
  const CanvasData& this_ = static_cast<const CanvasData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t CanvasData::ByteSizeLong() const {
  const CanvasData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.CanvasData)
  ::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)) {
    // int32 layout_width = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_layout_width());
    }
    // int32 layout_height = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_layout_height());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void CanvasData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<CanvasData*>(&to_msg);
  auto& from = static_cast<const CanvasData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.CanvasData)
  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_.layout_width_ = from._impl_.layout_width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.layout_height_ = from._impl_.layout_height_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void CanvasData::InternalSwap(CanvasData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CanvasData, _impl_.layout_height_)
      + sizeof(CanvasData::_impl_.layout_height_)
      - PROTOBUF_FIELD_OFFSET(CanvasData, _impl_.layout_width_)>(
          reinterpret_cast<char*>(&_impl_.layout_width_),
          reinterpret_cast<char*>(&other->_impl_.layout_width_));
}

// ===================================================================

VideoData::VideoData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, VideoData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.VideoData)
}
PROTOBUF_NDEBUG_INLINE VideoData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::VideoData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        url_(arena, from.url_) {}

VideoData::VideoData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const VideoData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, VideoData_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.VideoData)
}
PROTOBUF_NDEBUG_INLINE VideoData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        url_(arena) {}

inline void VideoData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.security_origin_ = {};
}
VideoData::~VideoData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.VideoData)
  SharedDtor(*this);
}
inline void VideoData::SharedDtor(MessageLite& self) {
  VideoData& this_ = static_cast<VideoData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  delete this_._impl_.security_origin_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite VideoData_class_data_ =
    VideoData::InternalGenerateClassData_(VideoData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
VideoData::GetClassData() const {
  return VideoData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
VideoData::GetClassData() const {
  return VideoData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const VideoData::ParseTableT_
    VideoData::_table_ =
        VideoData::InternalGenerateParseTable_(VideoData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void VideoData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.VideoData)
  ::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_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.security_origin_ != nullptr);
      _impl_.security_origin_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string url = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.VideoData.url");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // .optimization_guide.proto.SecurityOrigin security_origin = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.security_origin_, this_._impl_.security_origin_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.VideoData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t VideoData::ByteSizeLong(const MessageLite& base) {
  const VideoData& this_ = static_cast<const VideoData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t VideoData::ByteSizeLong() const {
  const VideoData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.VideoData)
  ::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)) {
    // string url = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // .optimization_guide.proto.SecurityOrigin security_origin = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.security_origin_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void VideoData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<VideoData*>(&to_msg);
  auto& from = static_cast<const VideoData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.VideoData)
  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_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.security_origin_ != nullptr);
      if (_this->_impl_.security_origin_ == nullptr) {
        _this->_impl_.security_origin_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.security_origin_);
      } else {
        _this->_impl_.security_origin_->MergeFrom(*from._impl_.security_origin_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void VideoData::InternalSwap(VideoData* 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_.url_, &other->_impl_.url_, arena);
  swap(_impl_.security_origin_, other->_impl_.security_origin_);
}

// ===================================================================

AnchorData::AnchorData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AnchorData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AnchorData)
}
PROTOBUF_NDEBUG_INLINE AnchorData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AnchorData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        rel_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AnchorData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AnchorData, _impl_.rel_)>()
          , from.rel_
        }
        ,
        _rel_cached_byte_size_{0},
        url_(arena, from.url_) {}

AnchorData::AnchorData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AnchorData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AnchorData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AnchorData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AnchorData)
}
PROTOBUF_NDEBUG_INLINE AnchorData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        rel_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AnchorData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AnchorData, _impl_.rel_)>()
         }
        ,
        _rel_cached_byte_size_{0},
        url_(arena) {}

inline void AnchorData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AnchorData::~AnchorData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AnchorData)
  SharedDtor(*this);
}
inline void AnchorData::SharedDtor(MessageLite& self) {
  AnchorData& this_ = static_cast<AnchorData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AnchorData_class_data_ =
    AnchorData::InternalGenerateClassData_(AnchorData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AnchorData::GetClassData() const {
  return AnchorData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AnchorData::GetClassData() const {
  return AnchorData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AnchorData::ParseTableT_
    AnchorData::_table_ =
        AnchorData::InternalGenerateParseTable_(AnchorData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AnchorData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AnchorData)
  ::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_.rel_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string url = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AnchorData.url");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .optimization_guide.proto.AnchorRel rel = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._rel_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            2, this_._internal_rel(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AnchorData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AnchorData::ByteSizeLong(const MessageLite& base) {
  const AnchorData& this_ = static_cast<const AnchorData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AnchorData::ByteSizeLong() const {
  const AnchorData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AnchorData)
  ::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)) {
    // repeated .optimization_guide.proto.AnchorRel rel = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_rel(), 1, this_._impl_._rel_cached_byte_size_);
    }
    // string url = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AnchorData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AnchorData*>(&to_msg);
  auto& from = static_cast<const AnchorData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AnchorData)
  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_rel()->MergeFrom(from._internal_rel());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_url(from._internal_url());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AnchorData::InternalSwap(AnchorData* 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_.rel_.InternalSwap(&other->_impl_.rel_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
}

// ===================================================================

FormInfo::FormInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FormInfo)
}
PROTOBUF_NDEBUG_INLINE FormInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FormInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        form_name_(arena, from.form_name_),
        action_url_(arena, from.action_url_) {}

FormInfo::FormInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FormInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormInfo_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FormInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FormInfo)
}
PROTOBUF_NDEBUG_INLINE FormInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        form_name_(arena),
        action_url_(arena) {}

inline void FormInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
FormInfo::~FormInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.FormInfo)
  SharedDtor(*this);
}
inline void FormInfo::SharedDtor(MessageLite& self) {
  FormInfo& this_ = static_cast<FormInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.form_name_.Destroy();
  this_._impl_.action_url_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FormInfo_class_data_ =
    FormInfo::InternalGenerateClassData_(FormInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormInfo::GetClassData() const {
  return FormInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormInfo::GetClassData() const {
  return FormInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FormInfo::ParseTableT_
    FormInfo::_table_ =
        FormInfo::InternalGenerateParseTable_(FormInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FormInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FormInfo)
  ::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_.form_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.action_url_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string form_name = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_form_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormInfo.form_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string action_url = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_action_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormInfo.action_url");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.FormInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FormInfo::ByteSizeLong(const MessageLite& base) {
  const FormInfo& this_ = static_cast<const FormInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FormInfo::ByteSizeLong() const {
  const FormInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FormInfo)
  ::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)) {
    // string form_name = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_form_name());
    }
    // string action_url = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_action_url());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void FormInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FormInfo*>(&to_msg);
  auto& from = static_cast<const FormInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FormInfo)
  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_form_name(from._internal_form_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_action_url(from._internal_action_url());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FormInfo::InternalSwap(FormInfo* 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_.form_name_, &other->_impl_.form_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.action_url_, &other->_impl_.action_url_, arena);
}

// ===================================================================

FormControlData::FormControlData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormControlData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FormControlData)
}
PROTOBUF_NDEBUG_INLINE FormControlData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FormControlData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        select_options_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FormControlData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormControlData, _impl_.select_options_)>()
          , from.select_options_
        }
        ,
        coarse_autofill_field_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FormControlData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormControlData, _impl_.coarse_autofill_field_type_)>()
          , from.coarse_autofill_field_type_
        }
        ,
        _coarse_autofill_field_type_cached_byte_size_{0},
        field_name_(arena, from.field_name_),
        field_value_(arena, from.field_value_),
        placeholder_(arena, from.placeholder_) {}

FormControlData::FormControlData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FormControlData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormControlData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FormControlData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, form_control_type_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, form_control_type_),
           offsetof(Impl_, autofill_section_id_) -
               offsetof(Impl_, form_control_type_) +
               sizeof(Impl_::autofill_section_id_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FormControlData)
}
PROTOBUF_NDEBUG_INLINE FormControlData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        select_options_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormControlData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormControlData, _impl_.select_options_)>()
         }
        ,
        coarse_autofill_field_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormControlData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormControlData, _impl_.coarse_autofill_field_type_)>()
         }
        ,
        _coarse_autofill_field_type_cached_byte_size_{0},
        field_name_(arena),
        field_value_(arena),
        placeholder_(arena) {}

inline void FormControlData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, form_control_type_),
           0,
           offsetof(Impl_, autofill_section_id_) -
               offsetof(Impl_, form_control_type_) +
               sizeof(Impl_::autofill_section_id_));
}
FormControlData::~FormControlData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.FormControlData)
  SharedDtor(*this);
}
inline void FormControlData::SharedDtor(MessageLite& self) {
  FormControlData& this_ = static_cast<FormControlData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.field_name_.Destroy();
  this_._impl_.field_value_.Destroy();
  this_._impl_.placeholder_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FormControlData_class_data_ =
    FormControlData::InternalGenerateClassData_(FormControlData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormControlData::GetClassData() const {
  return FormControlData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormControlData::GetClassData() const {
  return FormControlData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FormControlData::ParseTableT_
    FormControlData::_table_ =
        FormControlData::InternalGenerateParseTable_(FormControlData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FormControlData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FormControlData)
  ::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, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.select_options_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.coarse_autofill_field_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.field_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.field_value_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.placeholder_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000e0U)) {
    ::memset(&_impl_.form_control_type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.is_checked_) -
        reinterpret_cast<char*>(&_impl_.form_control_type_)) + sizeof(_impl_.is_checked_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    ::memset(&_impl_.is_required_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.autofill_section_id_) -
        reinterpret_cast<char*>(&_impl_.is_required_)) + sizeof(_impl_.autofill_section_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string field_name = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_field_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormControlData.field_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string field_value = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_field_value();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormControlData.field_value");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // .optimization_guide.proto.FormControlType form_control_type = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_form_control_type(), target);
  }

  // repeated .optimization_guide.proto.SelectOption select_options = 4;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_select_options_size());
         i < n; i++) {
      const auto& repfield = this_._internal_select_options().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              4, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // string placeholder = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_placeholder();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormControlData.placeholder");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // bool is_checked = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_is_checked(), target);
  }

  // bool is_required = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this_._internal_is_required(), target);
  }

  // .optimization_guide.proto.RedactionDecision redaction_decision = 8 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this_._internal_redaction_decision(), target);
  }

  // repeated .optimization_guide.proto.CoarseAutofillFieldType coarse_autofill_field_type = 9;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    {
      ::size_t byte_size = this_._impl_._coarse_autofill_field_type_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            9, this_._internal_coarse_autofill_field_type(), byte_size, target);
      }
    }
  }

  // uint32 autofill_section_id = 10 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        10, this_._internal_autofill_section_id(), target);
  }

  // bool is_readonly = 11 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this_._internal_is_readonly(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.FormControlData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FormControlData::ByteSizeLong(const MessageLite& base) {
  const FormControlData& this_ = static_cast<const FormControlData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FormControlData::ByteSizeLong() const {
  const FormControlData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FormControlData)
  ::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 += ::absl::popcount(0x00000380U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    // repeated .optimization_guide.proto.SelectOption select_options = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_select_options_size();
      for (const auto& msg : this_._internal_select_options()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.CoarseAutofillFieldType coarse_autofill_field_type = 9;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_coarse_autofill_field_type(), 1, this_._impl_._coarse_autofill_field_type_cached_byte_size_);
    }
    // string field_name = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_field_name());
    }
    // string field_value = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_field_value());
    }
    // string placeholder = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_placeholder());
    }
    // .optimization_guide.proto.FormControlType form_control_type = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_form_control_type());
    }
    // .optimization_guide.proto.RedactionDecision redaction_decision = 8 [deprecated = true, features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_redaction_decision());
    }
  }
   {
    // uint32 autofill_section_id = 10 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_autofill_section_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void FormControlData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FormControlData*>(&to_msg);
  auto& from = static_cast<const FormControlData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FormControlData)
  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_select_options()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_select_options());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_coarse_autofill_field_type()->MergeFrom(from._internal_coarse_autofill_field_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_field_name(from._internal_field_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_field_value(from._internal_field_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_placeholder(from._internal_placeholder());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.form_control_type_ = from._impl_.form_control_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.redaction_decision_ = from._impl_.redaction_decision_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.is_checked_ = from._impl_.is_checked_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.is_required_ = from._impl_.is_required_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.is_readonly_ = from._impl_.is_readonly_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.autofill_section_id_ = from._impl_.autofill_section_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FormControlData::InternalSwap(FormControlData* 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_.select_options_.InternalSwap(&other->_impl_.select_options_);
  _impl_.coarse_autofill_field_type_.InternalSwap(&other->_impl_.coarse_autofill_field_type_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.field_name_, &other->_impl_.field_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.field_value_, &other->_impl_.field_value_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.placeholder_, &other->_impl_.placeholder_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.autofill_section_id_)
      + sizeof(FormControlData::_impl_.autofill_section_id_)
      - PROTOBUF_FIELD_OFFSET(FormControlData, _impl_.form_control_type_)>(
          reinterpret_cast<char*>(&_impl_.form_control_type_),
          reinterpret_cast<char*>(&other->_impl_.form_control_type_));
}

// ===================================================================

SelectOption::SelectOption(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SelectOption_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.SelectOption)
}
PROTOBUF_NDEBUG_INLINE SelectOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::SelectOption& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        value_(arena, from.value_),
        text_(arena, from.text_) {}

SelectOption::SelectOption(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SelectOption& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SelectOption_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SelectOption* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, is_selected_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, is_selected_),
           offsetof(Impl_, is_disabled_) -
               offsetof(Impl_, is_selected_) +
               sizeof(Impl_::is_disabled_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.SelectOption)
}
PROTOBUF_NDEBUG_INLINE SelectOption::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        value_(arena),
        text_(arena) {}

inline void SelectOption::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, is_selected_),
           0,
           offsetof(Impl_, is_disabled_) -
               offsetof(Impl_, is_selected_) +
               sizeof(Impl_::is_disabled_));
}
SelectOption::~SelectOption() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.SelectOption)
  SharedDtor(*this);
}
inline void SelectOption::SharedDtor(MessageLite& self) {
  SelectOption& this_ = static_cast<SelectOption&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.value_.Destroy();
  this_._impl_.text_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SelectOption_class_data_ =
    SelectOption::InternalGenerateClassData_(SelectOption_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SelectOption::GetClassData() const {
  return SelectOption_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SelectOption::GetClassData() const {
  return SelectOption_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SelectOption::ParseTableT_
    SelectOption::_table_ =
        SelectOption::InternalGenerateParseTable_(SelectOption_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SelectOption::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.SelectOption)
  ::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_.value_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.text_.ClearNonDefaultToEmpty();
    }
  }
  ::memset(&_impl_.is_selected_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.is_disabled_) -
      reinterpret_cast<char*>(&_impl_.is_selected_)) + sizeof(_impl_.is_disabled_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string value = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_value();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.SelectOption.value");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string text = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_text();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.SelectOption.text");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // bool is_selected = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_is_selected(), target);
  }

  // bool is_disabled = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_is_disabled(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.SelectOption)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SelectOption::ByteSizeLong(const MessageLite& base) {
  const SelectOption& this_ = static_cast<const SelectOption&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SelectOption::ByteSizeLong() const {
  const SelectOption& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.SelectOption)
  ::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 += ::absl::popcount(0x0000000cU & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string value = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_value());
    }
    // string text = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SelectOption::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SelectOption*>(&to_msg);
  auto& from = static_cast<const SelectOption&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.SelectOption)
  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_set_value(from._internal_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_text(from._internal_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.is_selected_ = from._impl_.is_selected_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.is_disabled_ = from._impl_.is_disabled_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SelectOption::InternalSwap(SelectOption* 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_.value_, &other->_impl_.value_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.text_, &other->_impl_.text_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.is_disabled_)
      + sizeof(SelectOption::_impl_.is_disabled_)
      - PROTOBUF_FIELD_OFFSET(SelectOption, _impl_.is_selected_)>(
          reinterpret_cast<char*>(&_impl_.is_selected_),
          reinterpret_cast<char*>(&other->_impl_.is_selected_));
}

// ===================================================================

TableData::TableData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TableData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TableData)
}
PROTOBUF_NDEBUG_INLINE TableData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::TableData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        table_name_(arena, from.table_name_) {}

TableData::TableData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TableData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TableData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TableData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.TableData)
}
PROTOBUF_NDEBUG_INLINE TableData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        table_name_(arena) {}

inline void TableData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TableData::~TableData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.TableData)
  SharedDtor(*this);
}
inline void TableData::SharedDtor(MessageLite& self) {
  TableData& this_ = static_cast<TableData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.table_name_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TableData_class_data_ =
    TableData::InternalGenerateClassData_(TableData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TableData::GetClassData() const {
  return TableData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TableData::GetClassData() const {
  return TableData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TableData::ParseTableT_
    TableData::_table_ =
        TableData::InternalGenerateParseTable_(TableData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TableData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TableData)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.table_name_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string table_name = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_table_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TableData.table_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TableData)
  return target;
}

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

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

   {
    // string table_name = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_table_name());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TableData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TableData*>(&to_msg);
  auto& from = static_cast<const TableData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TableData)
  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_set_table_name(from._internal_table_name());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TableData::InternalSwap(TableData* 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_.table_name_, &other->_impl_.table_name_, arena);
}

// ===================================================================

IframeData_RedactedFrameMetadata::IframeData_RedactedFrameMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IframeData_RedactedFrameMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.IframeData.RedactedFrameMetadata)
}
IframeData_RedactedFrameMetadata::IframeData_RedactedFrameMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IframeData_RedactedFrameMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IframeData_RedactedFrameMetadata_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE IframeData_RedactedFrameMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void IframeData_RedactedFrameMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.reason_ = {};
}
IframeData_RedactedFrameMetadata::~IframeData_RedactedFrameMetadata() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.IframeData.RedactedFrameMetadata)
  SharedDtor(*this);
}
inline void IframeData_RedactedFrameMetadata::SharedDtor(MessageLite& self) {
  IframeData_RedactedFrameMetadata& this_ = static_cast<IframeData_RedactedFrameMetadata&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite IframeData_RedactedFrameMetadata_class_data_ =
    IframeData_RedactedFrameMetadata::InternalGenerateClassData_(IframeData_RedactedFrameMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IframeData_RedactedFrameMetadata::GetClassData() const {
  return IframeData_RedactedFrameMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IframeData_RedactedFrameMetadata::GetClassData() const {
  return IframeData_RedactedFrameMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const IframeData_RedactedFrameMetadata::ParseTableT_
    IframeData_RedactedFrameMetadata::_table_ =
        IframeData_RedactedFrameMetadata::InternalGenerateParseTable_(IframeData_RedactedFrameMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void IframeData_RedactedFrameMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.IframeData.RedactedFrameMetadata)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.reason_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.IframeData.RedactedFrameMetadata.Reason reason = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_reason(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.IframeData.RedactedFrameMetadata)
  return target;
}

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

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

   {
    // .optimization_guide.proto.IframeData.RedactedFrameMetadata.Reason reason = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_reason());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void IframeData_RedactedFrameMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<IframeData_RedactedFrameMetadata*>(&to_msg);
  auto& from = static_cast<const IframeData_RedactedFrameMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.IframeData.RedactedFrameMetadata)
  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->_impl_.reason_ = from._impl_.reason_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void IframeData_RedactedFrameMetadata::CopyFrom(const IframeData_RedactedFrameMetadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:optimization_guide.proto.IframeData.RedactedFrameMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void IframeData_RedactedFrameMetadata::InternalSwap(IframeData_RedactedFrameMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.reason_, other->_impl_.reason_);
}

// ===================================================================

void IframeData::set_allocated_frame_data(::optimization_guide::proto::FrameData* PROTOBUF_NULLABLE frame_data) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_data();
  if (frame_data) {
    ::google::protobuf::Arena* submessage_arena = frame_data->GetArena();
    if (message_arena != submessage_arena) {
      frame_data = ::google::protobuf::internal::GetOwnedMessage(message_arena, frame_data, submessage_arena);
    }
    set_has_frame_data();
    _impl_.data_.frame_data_ = frame_data;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.IframeData.frame_data)
}
void IframeData::set_allocated_redacted_frame_metadata(::optimization_guide::proto::IframeData_RedactedFrameMetadata* PROTOBUF_NULLABLE redacted_frame_metadata) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_data();
  if (redacted_frame_metadata) {
    ::google::protobuf::Arena* submessage_arena = redacted_frame_metadata->GetArena();
    if (message_arena != submessage_arena) {
      redacted_frame_metadata = ::google::protobuf::internal::GetOwnedMessage(message_arena, redacted_frame_metadata, submessage_arena);
    }
    set_has_redacted_frame_metadata();
    _impl_.data_.redacted_frame_metadata_ = redacted_frame_metadata;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.IframeData.redacted_frame_metadata)
}
IframeData::IframeData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IframeData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.IframeData)
}
PROTOBUF_NDEBUG_INLINE IframeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::IframeData& from_msg)
      : data_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

IframeData::IframeData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const IframeData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IframeData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  IframeData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (data_case()) {
    case DATA_NOT_SET:
      break;
      case kFrameData:
        _impl_.data_.frame_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.data_.frame_data_);
        break;
      case kRedactedFrameMetadata:
        _impl_.data_.redacted_frame_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.data_.redacted_frame_metadata_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.IframeData)
}
PROTOBUF_NDEBUG_INLINE IframeData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : data_{},
        _cached_size_{0},
        _oneof_case_{} {}

inline void IframeData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
IframeData::~IframeData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.IframeData)
  SharedDtor(*this);
}
inline void IframeData::SharedDtor(MessageLite& self) {
  IframeData& this_ = static_cast<IframeData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_data()) {
    this_.clear_data();
  }
  this_._impl_.~Impl_();
}

void IframeData::clear_data() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.IframeData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (data_case()) {
    case kFrameData: {
      if (GetArena() == nullptr) {
        delete _impl_.data_.frame_data_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.data_.frame_data_ != nullptr) {
          _impl_.data_.frame_data_->Clear();
        }
      }
      break;
    }
    case kRedactedFrameMetadata: {
      if (GetArena() == nullptr) {
        delete _impl_.data_.redacted_frame_metadata_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.data_.redacted_frame_metadata_ != nullptr) {
          _impl_.data_.redacted_frame_metadata_->Clear();
        }
      }
      break;
    }
    case DATA_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = DATA_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite IframeData_class_data_ =
    IframeData::InternalGenerateClassData_(IframeData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IframeData::GetClassData() const {
  return IframeData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IframeData::GetClassData() const {
  return IframeData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const IframeData::ParseTableT_
    IframeData::_table_ =
        IframeData::InternalGenerateParseTable_(IframeData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void IframeData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.IframeData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_data();
  _internal_metadata_.Clear<::std::string>();
}

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

  switch (this_.data_case()) {
    case kFrameData: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.data_.frame_data_, this_._impl_.data_.frame_data_->GetCachedSize(), target,
          stream);
      break;
    }
    case kRedactedFrameMetadata: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, *this_._impl_.data_.redacted_frame_metadata_, this_._impl_.data_.redacted_frame_metadata_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.IframeData)
  return target;
}

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

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

  switch (this_.data_case()) {
    // .optimization_guide.proto.FrameData frame_data = 3;
    case kFrameData: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.data_.frame_data_);
      break;
    }
    // .optimization_guide.proto.IframeData.RedactedFrameMetadata redacted_frame_metadata = 4;
    case kRedactedFrameMetadata: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.data_.redacted_frame_metadata_);
      break;
    }
    case DATA_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_data();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kFrameData: {
        if (oneof_needs_init) {
          _this->_impl_.data_.frame_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.data_.frame_data_);
        } else {
          _this->_impl_.data_.frame_data_->MergeFrom(*from._impl_.data_.frame_data_);
        }
        break;
      }
      case kRedactedFrameMetadata: {
        if (oneof_needs_init) {
          _this->_impl_.data_.redacted_frame_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.data_.redacted_frame_metadata_);
        } else {
          _this->_impl_.data_.redacted_frame_metadata_->MergeFrom(*from._impl_.data_.redacted_frame_metadata_);
        }
        break;
      }
      case DATA_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void IframeData::InternalSwap(IframeData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.data_, other->_impl_.data_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

// ===================================================================

FrameData::FrameData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FrameData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FrameData)
}
PROTOBUF_NDEBUG_INLINE FrameData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FrameData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        script_tools_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FrameData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameData, _impl_.script_tools_)>()
          , from.script_tools_
        }
        ,
        script_tool_results_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FrameData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameData, _impl_.script_tool_results_)>()
          , from.script_tool_results_
        }
        ,
        url_(arena, from.url_),
        title_(arena, from.title_) {}

FrameData::FrameData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FrameData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FrameData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FrameData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.security_origin_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.security_origin_)
                : nullptr;
  _impl_.frame_interaction_info_ = (CheckHasBit(cached_has_bits, 0x00000020U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.frame_interaction_info_)
                : nullptr;
  _impl_.document_identifier_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.document_identifier_)
                : nullptr;
  _impl_.paid_content_metadata_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.paid_content_metadata_)
                : nullptr;
  _impl_.media_data_ = (CheckHasBit(cached_has_bits, 0x00000100U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.media_data_)
                : nullptr;
  _impl_.default_line_height_px_ = from._impl_.default_line_height_px_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FrameData)
}
PROTOBUF_NDEBUG_INLINE FrameData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        script_tools_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FrameData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameData, _impl_.script_tools_)>()
         }
        ,
        script_tool_results_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FrameData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameData, _impl_.script_tool_results_)>()
         }
        ,
        url_(arena),
        title_(arena) {}

inline void FrameData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, security_origin_),
           0,
           offsetof(Impl_, default_line_height_px_) -
               offsetof(Impl_, security_origin_) +
               sizeof(Impl_::default_line_height_px_));
}
FrameData::~FrameData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.FrameData)
  SharedDtor(*this);
}
inline void FrameData::SharedDtor(MessageLite& self) {
  FrameData& this_ = static_cast<FrameData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  this_._impl_.title_.Destroy();
  delete this_._impl_.security_origin_;
  delete this_._impl_.frame_interaction_info_;
  delete this_._impl_.document_identifier_;
  delete this_._impl_.paid_content_metadata_;
  delete this_._impl_.media_data_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FrameData_class_data_ =
    FrameData::InternalGenerateClassData_(FrameData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FrameData::GetClassData() const {
  return FrameData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FrameData::GetClassData() const {
  return FrameData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FrameData::ParseTableT_
    FrameData::_table_ =
        FrameData::InternalGenerateParseTable_(FrameData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FrameData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FrameData)
  ::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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.script_tools_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.script_tool_results_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.security_origin_ != nullptr);
      _impl_.security_origin_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(_impl_.frame_interaction_info_ != nullptr);
      _impl_.frame_interaction_info_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.document_identifier_ != nullptr);
      _impl_.document_identifier_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.paid_content_metadata_ != nullptr);
      _impl_.paid_content_metadata_->Clear();
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    ABSL_DCHECK(_impl_.media_data_ != nullptr);
    _impl_.media_data_->Clear();
  }
  _impl_.default_line_height_px_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.SecurityOrigin security_origin = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.security_origin_, this_._impl_.security_origin_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.FrameInteractionInfo frame_interaction_info = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.frame_interaction_info_, this_._impl_.frame_interaction_info_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.DocumentIdentifier document_identifier = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.document_identifier_, this_._impl_.document_identifier_->GetCachedSize(), target,
        stream);
  }

  // string url = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FrameData.url");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // string title = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FrameData.title");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // .optimization_guide.proto.PaidContentMetadata paid_content_metadata = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.paid_content_metadata_, this_._impl_.paid_content_metadata_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.MediaData media_data = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, *this_._impl_.media_data_, this_._impl_.media_data_->GetCachedSize(), target,
        stream);
  }

  // repeated .optimization_guide.proto.ScriptTool script_tools = 9;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_script_tools_size());
         i < n; i++) {
      const auto& repfield = this_._internal_script_tools().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              9, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // repeated .optimization_guide.proto.ScriptToolResult script_tool_results = 11;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_script_tool_results_size());
         i < n; i++) {
      const auto& repfield = this_._internal_script_tool_results().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              11, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // uint32 default_line_height_px = 12 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        12, this_._internal_default_line_height_px(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.FrameData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FrameData::ByteSizeLong(const MessageLite& base) {
  const FrameData& this_ = static_cast<const FrameData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FrameData::ByteSizeLong() const {
  const FrameData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FrameData)
  ::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, 0x000000ffU)) {
    // repeated .optimization_guide.proto.ScriptTool script_tools = 9;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_script_tools_size();
      for (const auto& msg : this_._internal_script_tools()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated .optimization_guide.proto.ScriptToolResult script_tool_results = 11;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_script_tool_results_size();
      for (const auto& msg : this_._internal_script_tool_results()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string url = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // string title = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // .optimization_guide.proto.SecurityOrigin security_origin = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.security_origin_);
    }
    // .optimization_guide.proto.FrameInteractionInfo frame_interaction_info = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.frame_interaction_info_);
    }
    // .optimization_guide.proto.DocumentIdentifier document_identifier = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.document_identifier_);
    }
    // .optimization_guide.proto.PaidContentMetadata paid_content_metadata = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.paid_content_metadata_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    // .optimization_guide.proto.MediaData media_data = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.media_data_);
    }
    // uint32 default_line_height_px = 12 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_default_line_height_px());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void FrameData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FrameData*>(&to_msg);
  auto& from = static_cast<const FrameData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FrameData)
  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_script_tools()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_script_tools());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_script_tool_results()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_script_tool_results());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.security_origin_ != nullptr);
      if (_this->_impl_.security_origin_ == nullptr) {
        _this->_impl_.security_origin_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.security_origin_);
      } else {
        _this->_impl_.security_origin_->MergeFrom(*from._impl_.security_origin_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      ABSL_DCHECK(from._impl_.frame_interaction_info_ != nullptr);
      if (_this->_impl_.frame_interaction_info_ == nullptr) {
        _this->_impl_.frame_interaction_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.frame_interaction_info_);
      } else {
        _this->_impl_.frame_interaction_info_->MergeFrom(*from._impl_.frame_interaction_info_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.document_identifier_ != nullptr);
      if (_this->_impl_.document_identifier_ == nullptr) {
        _this->_impl_.document_identifier_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.document_identifier_);
      } else {
        _this->_impl_.document_identifier_->MergeFrom(*from._impl_.document_identifier_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.paid_content_metadata_ != nullptr);
      if (_this->_impl_.paid_content_metadata_ == nullptr) {
        _this->_impl_.paid_content_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.paid_content_metadata_);
      } else {
        _this->_impl_.paid_content_metadata_->MergeFrom(*from._impl_.paid_content_metadata_);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000300U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      ABSL_DCHECK(from._impl_.media_data_ != nullptr);
      if (_this->_impl_.media_data_ == nullptr) {
        _this->_impl_.media_data_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.media_data_);
      } else {
        _this->_impl_.media_data_->MergeFrom(*from._impl_.media_data_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.default_line_height_px_ = from._impl_.default_line_height_px_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FrameData::InternalSwap(FrameData* 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_.script_tools_.InternalSwap(&other->_impl_.script_tools_);
  _impl_.script_tool_results_.InternalSwap(&other->_impl_.script_tool_results_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FrameData, _impl_.default_line_height_px_)
      + sizeof(FrameData::_impl_.default_line_height_px_)
      - PROTOBUF_FIELD_OFFSET(FrameData, _impl_.security_origin_)>(
          reinterpret_cast<char*>(&_impl_.security_origin_),
          reinterpret_cast<char*>(&other->_impl_.security_origin_));
}

// ===================================================================

FrameInteractionInfo::FrameInteractionInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FrameInteractionInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FrameInteractionInfo)
}
PROTOBUF_NDEBUG_INLINE FrameInteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FrameInteractionInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

FrameInteractionInfo::FrameInteractionInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FrameInteractionInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FrameInteractionInfo_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FrameInteractionInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.selection_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.selection_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, focused_node_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, focused_node_id_),
           offsetof(Impl_, accessibility_focused_node_id_) -
               offsetof(Impl_, focused_node_id_) +
               sizeof(Impl_::accessibility_focused_node_id_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FrameInteractionInfo)
}
PROTOBUF_NDEBUG_INLINE FrameInteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void FrameInteractionInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, selection_),
           0,
           offsetof(Impl_, accessibility_focused_node_id_) -
               offsetof(Impl_, selection_) +
               sizeof(Impl_::accessibility_focused_node_id_));
}
FrameInteractionInfo::~FrameInteractionInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.FrameInteractionInfo)
  SharedDtor(*this);
}
inline void FrameInteractionInfo::SharedDtor(MessageLite& self) {
  FrameInteractionInfo& this_ = static_cast<FrameInteractionInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.selection_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FrameInteractionInfo_class_data_ =
    FrameInteractionInfo::InternalGenerateClassData_(FrameInteractionInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FrameInteractionInfo::GetClassData() const {
  return FrameInteractionInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FrameInteractionInfo::GetClassData() const {
  return FrameInteractionInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FrameInteractionInfo::ParseTableT_
    FrameInteractionInfo::_table_ =
        FrameInteractionInfo::InternalGenerateParseTable_(FrameInteractionInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FrameInteractionInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FrameInteractionInfo)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.selection_ != nullptr);
    _impl_.selection_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.focused_node_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.accessibility_focused_node_id_) -
        reinterpret_cast<char*>(&_impl_.focused_node_id_)) + sizeof(_impl_.accessibility_focused_node_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.Selection selection = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.selection_, this_._impl_.selection_->GetCachedSize(), target,
        stream);
  }

  // int32 focused_node_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_focused_node_id(), target);
  }

  // int32 accessibility_focused_node_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_accessibility_focused_node_id(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.FrameInteractionInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FrameInteractionInfo::ByteSizeLong(const MessageLite& base) {
  const FrameInteractionInfo& this_ = static_cast<const FrameInteractionInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FrameInteractionInfo::ByteSizeLong() const {
  const FrameInteractionInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FrameInteractionInfo)
  ::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)) {
    // .optimization_guide.proto.Selection selection = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.selection_);
    }
    // int32 focused_node_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_focused_node_id());
    }
    // int32 accessibility_focused_node_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_accessibility_focused_node_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void FrameInteractionInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FrameInteractionInfo*>(&to_msg);
  auto& from = static_cast<const FrameInteractionInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FrameInteractionInfo)
  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_.selection_ != nullptr);
      if (_this->_impl_.selection_ == nullptr) {
        _this->_impl_.selection_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.selection_);
      } else {
        _this->_impl_.selection_->MergeFrom(*from._impl_.selection_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.focused_node_id_ = from._impl_.focused_node_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.accessibility_focused_node_id_ = from._impl_.accessibility_focused_node_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FrameInteractionInfo::InternalSwap(FrameInteractionInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_.accessibility_focused_node_id_)
      + sizeof(FrameInteractionInfo::_impl_.accessibility_focused_node_id_)
      - PROTOBUF_FIELD_OFFSET(FrameInteractionInfo, _impl_.selection_)>(
          reinterpret_cast<char*>(&_impl_.selection_),
          reinterpret_cast<char*>(&other->_impl_.selection_));
}

// ===================================================================

Selection::Selection(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Selection_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Selection)
}
PROTOBUF_NDEBUG_INLINE Selection::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::Selection& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        selected_text_(arena, from.selected_text_) {}

Selection::Selection(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Selection& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Selection_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Selection* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, start_node_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, start_node_id_),
           offsetof(Impl_, end_offset_) -
               offsetof(Impl_, start_node_id_) +
               sizeof(Impl_::end_offset_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.Selection)
}
PROTOBUF_NDEBUG_INLINE Selection::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        selected_text_(arena) {}

inline void Selection::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, start_node_id_),
           0,
           offsetof(Impl_, end_offset_) -
               offsetof(Impl_, start_node_id_) +
               sizeof(Impl_::end_offset_));
}
Selection::~Selection() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Selection)
  SharedDtor(*this);
}
inline void Selection::SharedDtor(MessageLite& self) {
  Selection& this_ = static_cast<Selection&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.selected_text_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Selection_class_data_ =
    Selection::InternalGenerateClassData_(Selection_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Selection::GetClassData() const {
  return Selection_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Selection::GetClassData() const {
  return Selection_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Selection::ParseTableT_
    Selection::_table_ =
        Selection::InternalGenerateParseTable_(Selection_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Selection::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Selection)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.selected_text_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000001eU)) {
    ::memset(&_impl_.start_node_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.end_offset_) -
        reinterpret_cast<char*>(&_impl_.start_node_id_)) + sizeof(_impl_.end_offset_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 start_offset = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_start_offset(), target);
  }

  // int32 end_node_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_end_node_id(), target);
  }

  // int32 end_offset = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_end_offset(), target);
  }

  // string selected_text = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_selected_text();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Selection.selected_text");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Selection)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Selection::ByteSizeLong(const MessageLite& base) {
  const Selection& this_ = static_cast<const Selection&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Selection::ByteSizeLong() const {
  const Selection& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Selection)
  ::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, 0x0000001fU)) {
    // string selected_text = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_selected_text());
    }
    // int32 start_node_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_start_node_id());
    }
    // int32 start_offset = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_start_offset());
    }
    // int32 end_node_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_end_node_id());
    }
    // int32 end_offset = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_end_offset());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Selection::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Selection*>(&to_msg);
  auto& from = static_cast<const Selection&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Selection)
  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_selected_text(from._internal_selected_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.start_node_id_ = from._impl_.start_node_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.start_offset_ = from._impl_.start_offset_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.end_node_id_ = from._impl_.end_node_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.end_offset_ = from._impl_.end_offset_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Selection::InternalSwap(Selection* 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_.selected_text_, &other->_impl_.selected_text_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Selection, _impl_.end_offset_)
      + sizeof(Selection::_impl_.end_offset_)
      - PROTOBUF_FIELD_OFFSET(Selection, _impl_.start_node_id_)>(
          reinterpret_cast<char*>(&_impl_.start_node_id_),
          reinterpret_cast<char*>(&other->_impl_.start_node_id_));
}

// ===================================================================

DocumentIdentifier::DocumentIdentifier(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DocumentIdentifier_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.DocumentIdentifier)
}
PROTOBUF_NDEBUG_INLINE DocumentIdentifier::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::DocumentIdentifier& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        serialized_token_(arena, from.serialized_token_) {}

DocumentIdentifier::DocumentIdentifier(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const DocumentIdentifier& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DocumentIdentifier_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DocumentIdentifier* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.DocumentIdentifier)
}
PROTOBUF_NDEBUG_INLINE DocumentIdentifier::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        serialized_token_(arena) {}

inline void DocumentIdentifier::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
DocumentIdentifier::~DocumentIdentifier() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.DocumentIdentifier)
  SharedDtor(*this);
}
inline void DocumentIdentifier::SharedDtor(MessageLite& self) {
  DocumentIdentifier& this_ = static_cast<DocumentIdentifier&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.serialized_token_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DocumentIdentifier_class_data_ =
    DocumentIdentifier::InternalGenerateClassData_(DocumentIdentifier_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DocumentIdentifier::GetClassData() const {
  return DocumentIdentifier_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DocumentIdentifier::GetClassData() const {
  return DocumentIdentifier_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DocumentIdentifier::ParseTableT_
    DocumentIdentifier::_table_ =
        DocumentIdentifier::InternalGenerateParseTable_(DocumentIdentifier_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DocumentIdentifier::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.DocumentIdentifier)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.serialized_token_.ClearNonDefaultToEmpty();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string serialized_token = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_serialized_token();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.DocumentIdentifier.serialized_token");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.DocumentIdentifier)
  return target;
}

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

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

   {
    // string serialized_token = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_serialized_token());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void DocumentIdentifier::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DocumentIdentifier*>(&to_msg);
  auto& from = static_cast<const DocumentIdentifier&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.DocumentIdentifier)
  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_set_serialized_token(from._internal_serialized_token());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DocumentIdentifier::InternalSwap(DocumentIdentifier* 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_.serialized_token_, &other->_impl_.serialized_token_, arena);
}

// ===================================================================

PaidContentMetadata::PaidContentMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PaidContentMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.PaidContentMetadata)
}
PaidContentMetadata::PaidContentMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const PaidContentMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PaidContentMetadata_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE PaidContentMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PaidContentMetadata_class_data_ =
    PaidContentMetadata::InternalGenerateClassData_(PaidContentMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaidContentMetadata::GetClassData() const {
  return PaidContentMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PaidContentMetadata::GetClassData() const {
  return PaidContentMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PaidContentMetadata::ParseTableT_
    PaidContentMetadata::_table_ =
        PaidContentMetadata::InternalGenerateParseTable_(PaidContentMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PaidContentMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PaidContentMetadata)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.contains_paid_content_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool contains_paid_content = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_contains_paid_content(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.PaidContentMetadata)
  return target;
}

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000001U & cached_has_bits) * 2;
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PaidContentMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PaidContentMetadata*>(&to_msg);
  auto& from = static_cast<const PaidContentMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.PaidContentMetadata)
  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->_impl_.contains_paid_content_ = from._impl_.contains_paid_content_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PaidContentMetadata::InternalSwap(PaidContentMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.contains_paid_content_, other->_impl_.contains_paid_content_);
}

// ===================================================================

MediaData::MediaData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MediaData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.MediaData)
}
PROTOBUF_NDEBUG_INLINE MediaData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::MediaData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        transcripts_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::MediaData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::MediaData, _impl_.transcripts_)>()
          , from.transcripts_
        }
        ,
        title_(arena, from.title_),
        artist_(arena, from.artist_),
        album_(arena, from.album_) {}

MediaData::MediaData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MediaData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MediaData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MediaData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, duration_milliseconds_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, duration_milliseconds_),
           offsetof(Impl_, current_position_milliseconds_) -
               offsetof(Impl_, duration_milliseconds_) +
               sizeof(Impl_::current_position_milliseconds_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.MediaData)
}
PROTOBUF_NDEBUG_INLINE MediaData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        transcripts_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::MediaData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::MediaData, _impl_.transcripts_)>()
         }
        ,
        title_(arena),
        artist_(arena),
        album_(arena) {}

inline void MediaData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, duration_milliseconds_),
           0,
           offsetof(Impl_, current_position_milliseconds_) -
               offsetof(Impl_, duration_milliseconds_) +
               sizeof(Impl_::current_position_milliseconds_));
}
MediaData::~MediaData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.MediaData)
  SharedDtor(*this);
}
inline void MediaData::SharedDtor(MessageLite& self) {
  MediaData& this_ = static_cast<MediaData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.title_.Destroy();
  this_._impl_.artist_.Destroy();
  this_._impl_.album_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MediaData_class_data_ =
    MediaData::InternalGenerateClassData_(MediaData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MediaData::GetClassData() const {
  return MediaData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MediaData::GetClassData() const {
  return MediaData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const MediaData::ParseTableT_
    MediaData::_table_ =
        MediaData::InternalGenerateParseTable_(MediaData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void MediaData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.MediaData)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.transcripts_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.artist_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.album_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000f0U)) {
    ::memset(&_impl_.duration_milliseconds_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.current_position_milliseconds_) -
        reinterpret_cast<char*>(&_impl_.duration_milliseconds_)) + sizeof(_impl_.current_position_milliseconds_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.MediaDataType media_data_type = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_media_data_type(), target);
  }

  // repeated .optimization_guide.proto.MediaTranscript transcripts = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_transcripts_size());
         i < n; i++) {
      const auto& repfield = this_._internal_transcripts().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // int64 duration_milliseconds = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_duration_milliseconds(), target);
  }

  // int64 current_position_milliseconds = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
            stream, this_._internal_current_position_milliseconds(), target);
  }

  // bool is_playing = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_is_playing(), target);
  }

  // string title = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MediaData.title");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // string artist = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_artist();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MediaData.artist");
    target = stream->WriteStringMaybeAliased(7, _s, target);
  }

  // string album = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_album();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MediaData.album");
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.MediaData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MediaData::ByteSizeLong(const MessageLite& base) {
  const MediaData& this_ = static_cast<const MediaData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MediaData::ByteSizeLong() const {
  const MediaData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.MediaData)
  ::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>(0x00000040U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000bfU)) {
    // repeated .optimization_guide.proto.MediaTranscript transcripts = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_transcripts_size();
      for (const auto& msg : this_._internal_transcripts()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string title = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // string artist = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_artist());
    }
    // string album = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_album());
    }
    // int64 duration_milliseconds = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_duration_milliseconds());
    }
    // .optimization_guide.proto.MediaDataType media_data_type = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_media_data_type());
    }
    // int64 current_position_milliseconds = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_current_position_milliseconds());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void MediaData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MediaData*>(&to_msg);
  auto& from = static_cast<const MediaData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.MediaData)
  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_transcripts()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_transcripts());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_artist(from._internal_artist());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_album(from._internal_album());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.duration_milliseconds_ = from._impl_.duration_milliseconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.media_data_type_ = from._impl_.media_data_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.is_playing_ = from._impl_.is_playing_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.current_position_milliseconds_ = from._impl_.current_position_milliseconds_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void MediaData::InternalSwap(MediaData* 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_.transcripts_.InternalSwap(&other->_impl_.transcripts_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.artist_, &other->_impl_.artist_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.album_, &other->_impl_.album_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MediaData, _impl_.current_position_milliseconds_)
      + sizeof(MediaData::_impl_.current_position_milliseconds_)
      - PROTOBUF_FIELD_OFFSET(MediaData, _impl_.duration_milliseconds_)>(
          reinterpret_cast<char*>(&_impl_.duration_milliseconds_),
          reinterpret_cast<char*>(&other->_impl_.duration_milliseconds_));
}

// ===================================================================

MediaTranscript::MediaTranscript(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MediaTranscript_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.MediaTranscript)
}
PROTOBUF_NDEBUG_INLINE MediaTranscript::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::MediaTranscript& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        text_(arena, from.text_) {}

MediaTranscript::MediaTranscript(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MediaTranscript& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MediaTranscript_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MediaTranscript* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.start_timestamp_milliseconds_ = from._impl_.start_timestamp_milliseconds_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.MediaTranscript)
}
PROTOBUF_NDEBUG_INLINE MediaTranscript::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        text_(arena) {}

inline void MediaTranscript::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.start_timestamp_milliseconds_ = {};
}
MediaTranscript::~MediaTranscript() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.MediaTranscript)
  SharedDtor(*this);
}
inline void MediaTranscript::SharedDtor(MessageLite& self) {
  MediaTranscript& this_ = static_cast<MediaTranscript&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.text_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MediaTranscript_class_data_ =
    MediaTranscript::InternalGenerateClassData_(MediaTranscript_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MediaTranscript::GetClassData() const {
  return MediaTranscript_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MediaTranscript::GetClassData() const {
  return MediaTranscript_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const MediaTranscript::ParseTableT_
    MediaTranscript::_table_ =
        MediaTranscript::InternalGenerateParseTable_(MediaTranscript_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void MediaTranscript::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.MediaTranscript)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.text_.ClearNonDefaultToEmpty();
  }
  _impl_.start_timestamp_milliseconds_ = ::int64_t{0};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string text = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_text();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MediaTranscript.text");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // int64 start_timestamp_milliseconds = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<2>(
            stream, this_._internal_start_timestamp_milliseconds(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.MediaTranscript)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MediaTranscript::ByteSizeLong(const MessageLite& base) {
  const MediaTranscript& this_ = static_cast<const MediaTranscript&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MediaTranscript::ByteSizeLong() const {
  const MediaTranscript& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.MediaTranscript)
  ::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)) {
    // string text = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_text());
    }
    // int64 start_timestamp_milliseconds = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_start_timestamp_milliseconds());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void MediaTranscript::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MediaTranscript*>(&to_msg);
  auto& from = static_cast<const MediaTranscript&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.MediaTranscript)
  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_text(from._internal_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.start_timestamp_milliseconds_ = from._impl_.start_timestamp_milliseconds_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void MediaTranscript::InternalSwap(MediaTranscript* 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_.text_, &other->_impl_.text_, arena);
  swap(_impl_.start_timestamp_milliseconds_, other->_impl_.start_timestamp_milliseconds_);
}

// ===================================================================

ScriptTool::ScriptTool(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScriptTool_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ScriptTool)
}
PROTOBUF_NDEBUG_INLINE ScriptTool::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ScriptTool& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_),
        description_(arena, from.description_),
        input_schema_(arena, from.input_schema_) {}

ScriptTool::ScriptTool(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ScriptTool& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScriptTool_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ScriptTool* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.annotations_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.annotations_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ScriptTool)
}
PROTOBUF_NDEBUG_INLINE ScriptTool::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        name_(arena),
        description_(arena),
        input_schema_(arena) {}

inline void ScriptTool::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.annotations_ = {};
}
ScriptTool::~ScriptTool() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ScriptTool)
  SharedDtor(*this);
}
inline void ScriptTool::SharedDtor(MessageLite& self) {
  ScriptTool& this_ = static_cast<ScriptTool&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.description_.Destroy();
  this_._impl_.input_schema_.Destroy();
  delete this_._impl_.annotations_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScriptTool_class_data_ =
    ScriptTool::InternalGenerateClassData_(ScriptTool_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScriptTool::GetClassData() const {
  return ScriptTool_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScriptTool::GetClassData() const {
  return ScriptTool_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScriptTool::ParseTableT_
    ScriptTool::_table_ =
        ScriptTool::InternalGenerateParseTable_(ScriptTool_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScriptTool::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScriptTool)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.description_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.input_schema_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.annotations_ != nullptr);
      _impl_.annotations_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string name = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ScriptTool.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string description = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ScriptTool.description");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string input_schema = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_input_schema();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ScriptTool.input_schema");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // .optimization_guide.proto.ScriptToolAnnotations annotations = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.annotations_, this_._impl_.annotations_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ScriptTool)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScriptTool::ByteSizeLong(const MessageLite& base) {
  const ScriptTool& this_ = static_cast<const ScriptTool&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScriptTool::ByteSizeLong() const {
  const ScriptTool& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ScriptTool)
  ::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, 0x0000000fU)) {
    // string name = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // string description = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_description());
    }
    // string input_schema = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_input_schema());
    }
    // .optimization_guide.proto.ScriptToolAnnotations annotations = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.annotations_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ScriptTool::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScriptTool*>(&to_msg);
  auto& from = static_cast<const ScriptTool&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ScriptTool)
  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_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_description(from._internal_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_input_schema(from._internal_input_schema());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.annotations_ != nullptr);
      if (_this->_impl_.annotations_ == nullptr) {
        _this->_impl_.annotations_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.annotations_);
      } else {
        _this->_impl_.annotations_->MergeFrom(*from._impl_.annotations_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScriptTool::InternalSwap(ScriptTool* 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_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.description_, &other->_impl_.description_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.input_schema_, &other->_impl_.input_schema_, arena);
  swap(_impl_.annotations_, other->_impl_.annotations_);
}

// ===================================================================

ScriptToolAnnotations::ScriptToolAnnotations(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScriptToolAnnotations_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ScriptToolAnnotations)
}
ScriptToolAnnotations::ScriptToolAnnotations(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ScriptToolAnnotations& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScriptToolAnnotations_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE ScriptToolAnnotations::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScriptToolAnnotations_class_data_ =
    ScriptToolAnnotations::InternalGenerateClassData_(ScriptToolAnnotations_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScriptToolAnnotations::GetClassData() const {
  return ScriptToolAnnotations_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScriptToolAnnotations::GetClassData() const {
  return ScriptToolAnnotations_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScriptToolAnnotations::ParseTableT_
    ScriptToolAnnotations::_table_ =
        ScriptToolAnnotations::InternalGenerateParseTable_(ScriptToolAnnotations_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScriptToolAnnotations::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScriptToolAnnotations)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.read_only_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool read_only = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_read_only(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ScriptToolAnnotations)
  return target;
}

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000001U & cached_has_bits) * 2;
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ScriptToolAnnotations::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScriptToolAnnotations*>(&to_msg);
  auto& from = static_cast<const ScriptToolAnnotations&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ScriptToolAnnotations)
  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->_impl_.read_only_ = from._impl_.read_only_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScriptToolAnnotations::InternalSwap(ScriptToolAnnotations* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.read_only_, other->_impl_.read_only_);
}

// ===================================================================

ScriptToolResult::ScriptToolResult(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScriptToolResult_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ScriptToolResult)
}
PROTOBUF_NDEBUG_INLINE ScriptToolResult::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ScriptToolResult& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        result_(arena, from.result_),
        tool_name_(arena, from.tool_name_),
        input_arguments_(arena, from.input_arguments_) {}

ScriptToolResult::ScriptToolResult(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ScriptToolResult& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScriptToolResult_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ScriptToolResult* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.tool_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.tool_)
                : nullptr;
  _impl_.index_of_script_tool_action_ = from._impl_.index_of_script_tool_action_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ScriptToolResult)
}
PROTOBUF_NDEBUG_INLINE ScriptToolResult::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        result_(arena),
        tool_name_(arena),
        input_arguments_(arena) {}

inline void ScriptToolResult::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, tool_),
           0,
           offsetof(Impl_, index_of_script_tool_action_) -
               offsetof(Impl_, tool_) +
               sizeof(Impl_::index_of_script_tool_action_));
}
ScriptToolResult::~ScriptToolResult() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ScriptToolResult)
  SharedDtor(*this);
}
inline void ScriptToolResult::SharedDtor(MessageLite& self) {
  ScriptToolResult& this_ = static_cast<ScriptToolResult&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.result_.Destroy();
  this_._impl_.tool_name_.Destroy();
  this_._impl_.input_arguments_.Destroy();
  delete this_._impl_.tool_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScriptToolResult_class_data_ =
    ScriptToolResult::InternalGenerateClassData_(ScriptToolResult_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScriptToolResult::GetClassData() const {
  return ScriptToolResult_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScriptToolResult::GetClassData() const {
  return ScriptToolResult_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScriptToolResult::ParseTableT_
    ScriptToolResult::_table_ =
        ScriptToolResult::InternalGenerateParseTable_(ScriptToolResult_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScriptToolResult::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScriptToolResult)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.result_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.tool_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.input_arguments_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.tool_ != nullptr);
      _impl_.tool_->Clear();
    }
  }
  _impl_.index_of_script_tool_action_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 index_of_script_tool_action = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_index_of_script_tool_action(), target);
  }

  // string result = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_result();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ScriptToolResult.result");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string tool_name = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_tool_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ScriptToolResult.tool_name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string input_arguments = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_input_arguments();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.ScriptToolResult.input_arguments");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // .optimization_guide.proto.ScriptTool tool = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.tool_, this_._impl_.tool_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ScriptToolResult)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScriptToolResult::ByteSizeLong(const MessageLite& base) {
  const ScriptToolResult& this_ = static_cast<const ScriptToolResult&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScriptToolResult::ByteSizeLong() const {
  const ScriptToolResult& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ScriptToolResult)
  ::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, 0x0000001fU)) {
    // string result = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_result());
    }
    // string tool_name = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_tool_name());
    }
    // string input_arguments = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_input_arguments());
    }
    // .optimization_guide.proto.ScriptTool tool = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.tool_);
    }
    // int32 index_of_script_tool_action = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_index_of_script_tool_action());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ScriptToolResult::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScriptToolResult*>(&to_msg);
  auto& from = static_cast<const ScriptToolResult&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ScriptToolResult)
  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_result(from._internal_result());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_tool_name(from._internal_tool_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_input_arguments(from._internal_input_arguments());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.tool_ != nullptr);
      if (_this->_impl_.tool_ == nullptr) {
        _this->_impl_.tool_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.tool_);
      } else {
        _this->_impl_.tool_->MergeFrom(*from._impl_.tool_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.index_of_script_tool_action_ = from._impl_.index_of_script_tool_action_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScriptToolResult::InternalSwap(ScriptToolResult* 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_.result_, &other->_impl_.result_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tool_name_, &other->_impl_.tool_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.input_arguments_, &other->_impl_.input_arguments_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.index_of_script_tool_action_)
      + sizeof(ScriptToolResult::_impl_.index_of_script_tool_action_)
      - PROTOBUF_FIELD_OFFSET(ScriptToolResult, _impl_.tool_)>(
          reinterpret_cast<char*>(&_impl_.tool_),
          reinterpret_cast<char*>(&other->_impl_.tool_));
}

// ===================================================================

TableRowData::TableRowData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TableRowData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TableRowData)
}
TableRowData::TableRowData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TableRowData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TableRowData_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE TableRowData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TableRowData_class_data_ =
    TableRowData::InternalGenerateClassData_(TableRowData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TableRowData::GetClassData() const {
  return TableRowData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TableRowData::GetClassData() const {
  return TableRowData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TableRowData::ParseTableT_
    TableRowData::_table_ =
        TableRowData::InternalGenerateParseTable_(TableRowData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TableRowData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TableRowData)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.TableRowType type = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_type(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TableRowData)
  return target;
}

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

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

   {
    // .optimization_guide.proto.TableRowType type = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TableRowData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TableRowData*>(&to_msg);
  auto& from = static_cast<const TableRowData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TableRowData)
  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->_impl_.type_ = from._impl_.type_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TableRowData::InternalSwap(TableRowData* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.type_, other->_impl_.type_);
}

// ===================================================================

PageInteractionInfo::PageInteractionInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PageInteractionInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.PageInteractionInfo)
}
PROTOBUF_NDEBUG_INLINE PageInteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::PageInteractionInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PageInteractionInfo::PageInteractionInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PageInteractionInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PageInteractionInfo_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PageInteractionInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.mouse_position_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.mouse_position_)
                : nullptr;
  _impl_.focused_frame_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.focused_frame_)
                : nullptr;
  _impl_.accessibility_focused_frame_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.accessibility_focused_frame_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, focused_node_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, focused_node_id_),
           offsetof(Impl_, accessibility_focused_node_id_) -
               offsetof(Impl_, focused_node_id_) +
               sizeof(Impl_::accessibility_focused_node_id_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.PageInteractionInfo)
}
PROTOBUF_NDEBUG_INLINE PageInteractionInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PageInteractionInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, mouse_position_),
           0,
           offsetof(Impl_, accessibility_focused_node_id_) -
               offsetof(Impl_, mouse_position_) +
               sizeof(Impl_::accessibility_focused_node_id_));
}
PageInteractionInfo::~PageInteractionInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.PageInteractionInfo)
  SharedDtor(*this);
}
inline void PageInteractionInfo::SharedDtor(MessageLite& self) {
  PageInteractionInfo& this_ = static_cast<PageInteractionInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.mouse_position_;
  delete this_._impl_.focused_frame_;
  delete this_._impl_.accessibility_focused_frame_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PageInteractionInfo_class_data_ =
    PageInteractionInfo::InternalGenerateClassData_(PageInteractionInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PageInteractionInfo::GetClassData() const {
  return PageInteractionInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PageInteractionInfo::GetClassData() const {
  return PageInteractionInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PageInteractionInfo::ParseTableT_
    PageInteractionInfo::_table_ =
        PageInteractionInfo::InternalGenerateParseTable_(PageInteractionInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PageInteractionInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PageInteractionInfo)
  ::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)) {
      ABSL_DCHECK(_impl_.mouse_position_ != nullptr);
      _impl_.mouse_position_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.focused_frame_ != nullptr);
      _impl_.focused_frame_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.accessibility_focused_frame_ != nullptr);
      _impl_.accessibility_focused_frame_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000018U)) {
    ::memset(&_impl_.focused_node_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.accessibility_focused_node_id_) -
        reinterpret_cast<char*>(&_impl_.focused_node_id_)) + sizeof(_impl_.accessibility_focused_node_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int32 focused_node_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_focused_node_id(), target);
  }

  // int32 accessibility_focused_node_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_accessibility_focused_node_id(), target);
  }

  // .optimization_guide.proto.Point mouse_position = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.mouse_position_, this_._impl_.mouse_position_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.DocumentIdentifier focused_frame = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.focused_frame_, this_._impl_.focused_frame_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.DocumentIdentifier accessibility_focused_frame = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.accessibility_focused_frame_, this_._impl_.accessibility_focused_frame_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.PageInteractionInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PageInteractionInfo::ByteSizeLong(const MessageLite& base) {
  const PageInteractionInfo& this_ = static_cast<const PageInteractionInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PageInteractionInfo::ByteSizeLong() const {
  const PageInteractionInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PageInteractionInfo)
  ::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, 0x0000001fU)) {
    // .optimization_guide.proto.Point mouse_position = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.mouse_position_);
    }
    // .optimization_guide.proto.DocumentIdentifier focused_frame = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.focused_frame_);
    }
    // .optimization_guide.proto.DocumentIdentifier accessibility_focused_frame = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.accessibility_focused_frame_);
    }
    // int32 focused_node_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_focused_node_id());
    }
    // int32 accessibility_focused_node_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_accessibility_focused_node_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PageInteractionInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PageInteractionInfo*>(&to_msg);
  auto& from = static_cast<const PageInteractionInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.PageInteractionInfo)
  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_.mouse_position_ != nullptr);
      if (_this->_impl_.mouse_position_ == nullptr) {
        _this->_impl_.mouse_position_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.mouse_position_);
      } else {
        _this->_impl_.mouse_position_->MergeFrom(*from._impl_.mouse_position_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.focused_frame_ != nullptr);
      if (_this->_impl_.focused_frame_ == nullptr) {
        _this->_impl_.focused_frame_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.focused_frame_);
      } else {
        _this->_impl_.focused_frame_->MergeFrom(*from._impl_.focused_frame_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.accessibility_focused_frame_ != nullptr);
      if (_this->_impl_.accessibility_focused_frame_ == nullptr) {
        _this->_impl_.accessibility_focused_frame_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.accessibility_focused_frame_);
      } else {
        _this->_impl_.accessibility_focused_frame_->MergeFrom(*from._impl_.accessibility_focused_frame_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.focused_node_id_ = from._impl_.focused_node_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.accessibility_focused_node_id_ = from._impl_.accessibility_focused_node_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PageInteractionInfo::InternalSwap(PageInteractionInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.accessibility_focused_node_id_)
      + sizeof(PageInteractionInfo::_impl_.accessibility_focused_node_id_)
      - PROTOBUF_FIELD_OFFSET(PageInteractionInfo, _impl_.mouse_position_)>(
          reinterpret_cast<char*>(&_impl_.mouse_position_),
          reinterpret_cast<char*>(&other->_impl_.mouse_position_));
}

// ===================================================================

Point::Point(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Point_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Point)
}
Point::Point(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Point& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Point_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE Point::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void Point::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, x_),
           0,
           offsetof(Impl_, y_) -
               offsetof(Impl_, x_) +
               sizeof(Impl_::y_));
}
Point::~Point() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Point)
  SharedDtor(*this);
}
inline void Point::SharedDtor(MessageLite& self) {
  Point& this_ = static_cast<Point&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Point_class_data_ =
    Point::InternalGenerateClassData_(Point_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Point::GetClassData() const {
  return Point_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Point::GetClassData() const {
  return Point_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Point::ParseTableT_
    Point::_table_ =
        Point::InternalGenerateParseTable_(Point_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Point::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Point)
  ::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)) {
    ::memset(&_impl_.x_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.y_) -
        reinterpret_cast<char*>(&_impl_.x_)) + sizeof(_impl_.y_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 y = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_y(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Point)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Point::ByteSizeLong(const MessageLite& base) {
  const Point& this_ = static_cast<const Point&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Point::ByteSizeLong() const {
  const Point& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Point)
  ::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)) {
    // int32 x = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_x());
    }
    // int32 y = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_y());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Point::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Point*>(&to_msg);
  auto& from = static_cast<const Point&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Point)
  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_.x_ = from._impl_.x_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.y_ = from._impl_.y_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Point::InternalSwap(Point* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Point, _impl_.y_)
      + sizeof(Point::_impl_.y_)
      - PROTOBUF_FIELD_OFFSET(Point, _impl_.x_)>(
          reinterpret_cast<char*>(&_impl_.x_),
          reinterpret_cast<char*>(&other->_impl_.x_));
}

// ===================================================================

PopupWindow::PopupWindow(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PopupWindow_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.PopupWindow)
}
PROTOBUF_NDEBUG_INLINE PopupWindow::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::PopupWindow& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PopupWindow::PopupWindow(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PopupWindow& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PopupWindow_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PopupWindow* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.root_node_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.root_node_)
                : nullptr;
  _impl_.opener_document_id_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.opener_document_id_)
                : nullptr;
  _impl_.visible_bounding_box_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.visible_bounding_box_)
                : nullptr;
  _impl_.opener_common_ancestor_dom_node_id_ = from._impl_.opener_common_ancestor_dom_node_id_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.PopupWindow)
}
PROTOBUF_NDEBUG_INLINE PopupWindow::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void PopupWindow::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, root_node_),
           0,
           offsetof(Impl_, opener_common_ancestor_dom_node_id_) -
               offsetof(Impl_, root_node_) +
               sizeof(Impl_::opener_common_ancestor_dom_node_id_));
}
PopupWindow::~PopupWindow() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.PopupWindow)
  SharedDtor(*this);
}
inline void PopupWindow::SharedDtor(MessageLite& self) {
  PopupWindow& this_ = static_cast<PopupWindow&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.root_node_;
  delete this_._impl_.opener_document_id_;
  delete this_._impl_.visible_bounding_box_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PopupWindow_class_data_ =
    PopupWindow::InternalGenerateClassData_(PopupWindow_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PopupWindow::GetClassData() const {
  return PopupWindow_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PopupWindow::GetClassData() const {
  return PopupWindow_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PopupWindow::ParseTableT_
    PopupWindow::_table_ =
        PopupWindow::InternalGenerateParseTable_(PopupWindow_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PopupWindow::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PopupWindow)
  ::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)) {
      ABSL_DCHECK(_impl_.root_node_ != nullptr);
      _impl_.root_node_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.opener_document_id_ != nullptr);
      _impl_.opener_document_id_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.visible_bounding_box_ != nullptr);
      _impl_.visible_bounding_box_->Clear();
    }
  }
  _impl_.opener_common_ancestor_dom_node_id_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ContentNode root_node = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.root_node_, this_._impl_.root_node_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.DocumentIdentifier opener_document_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.opener_document_id_, this_._impl_.opener_document_id_->GetCachedSize(), target,
        stream);
  }

  // int32 opener_common_ancestor_dom_node_id = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_opener_common_ancestor_dom_node_id(), target);
  }

  // .optimization_guide.proto.BoundingRect visible_bounding_box = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.visible_bounding_box_, this_._impl_.visible_bounding_box_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.PopupWindow)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PopupWindow::ByteSizeLong(const MessageLite& base) {
  const PopupWindow& this_ = static_cast<const PopupWindow&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PopupWindow::ByteSizeLong() const {
  const PopupWindow& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PopupWindow)
  ::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, 0x0000000fU)) {
    // .optimization_guide.proto.ContentNode root_node = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.root_node_);
    }
    // .optimization_guide.proto.DocumentIdentifier opener_document_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.opener_document_id_);
    }
    // .optimization_guide.proto.BoundingRect visible_bounding_box = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.visible_bounding_box_);
    }
    // int32 opener_common_ancestor_dom_node_id = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_opener_common_ancestor_dom_node_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PopupWindow::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PopupWindow*>(&to_msg);
  auto& from = static_cast<const PopupWindow&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.PopupWindow)
  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)) {
      ABSL_DCHECK(from._impl_.root_node_ != nullptr);
      if (_this->_impl_.root_node_ == nullptr) {
        _this->_impl_.root_node_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.root_node_);
      } else {
        _this->_impl_.root_node_->MergeFrom(*from._impl_.root_node_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.opener_document_id_ != nullptr);
      if (_this->_impl_.opener_document_id_ == nullptr) {
        _this->_impl_.opener_document_id_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.opener_document_id_);
      } else {
        _this->_impl_.opener_document_id_->MergeFrom(*from._impl_.opener_document_id_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.visible_bounding_box_ != nullptr);
      if (_this->_impl_.visible_bounding_box_ == nullptr) {
        _this->_impl_.visible_bounding_box_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.visible_bounding_box_);
      } else {
        _this->_impl_.visible_bounding_box_->MergeFrom(*from._impl_.visible_bounding_box_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.opener_common_ancestor_dom_node_id_ = from._impl_.opener_common_ancestor_dom_node_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PopupWindow::InternalSwap(PopupWindow* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.opener_common_ancestor_dom_node_id_)
      + sizeof(PopupWindow::_impl_.opener_common_ancestor_dom_node_id_)
      - PROTOBUF_FIELD_OFFSET(PopupWindow, _impl_.root_node_)>(
          reinterpret_cast<char*>(&_impl_.root_node_),
          reinterpret_cast<char*>(&other->_impl_.root_node_));
}

// ===================================================================

ProfileInformation::ProfileInformation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ProfileInformation_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ProfileInformation)
}
PROTOBUF_NDEBUG_INLINE ProfileInformation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ProfileInformation& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

ProfileInformation::ProfileInformation(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ProfileInformation& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ProfileInformation_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ProfileInformation* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.autofill_information_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.autofill_information_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ProfileInformation)
}
PROTOBUF_NDEBUG_INLINE ProfileInformation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void ProfileInformation::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.autofill_information_ = {};
}
ProfileInformation::~ProfileInformation() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ProfileInformation)
  SharedDtor(*this);
}
inline void ProfileInformation::SharedDtor(MessageLite& self) {
  ProfileInformation& this_ = static_cast<ProfileInformation&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.autofill_information_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ProfileInformation_class_data_ =
    ProfileInformation::InternalGenerateClassData_(ProfileInformation_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ProfileInformation::GetClassData() const {
  return ProfileInformation_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ProfileInformation::GetClassData() const {
  return ProfileInformation_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ProfileInformation::ParseTableT_
    ProfileInformation::_table_ =
        ProfileInformation::InternalGenerateParseTable_(ProfileInformation_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ProfileInformation::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ProfileInformation)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.autofill_information_ != nullptr);
    _impl_.autofill_information_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.AutofillInformation autofill_information = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.autofill_information_, this_._impl_.autofill_information_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ProfileInformation)
  return target;
}

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

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

   {
    // .optimization_guide.proto.AutofillInformation autofill_information = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.autofill_information_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ProfileInformation::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ProfileInformation*>(&to_msg);
  auto& from = static_cast<const ProfileInformation&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ProfileInformation)
  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)) {
    ABSL_DCHECK(from._impl_.autofill_information_ != nullptr);
    if (_this->_impl_.autofill_information_ == nullptr) {
      _this->_impl_.autofill_information_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.autofill_information_);
    } else {
      _this->_impl_.autofill_information_->MergeFrom(*from._impl_.autofill_information_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ProfileInformation::InternalSwap(ProfileInformation* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.autofill_information_, other->_impl_.autofill_information_);
}

// ===================================================================

AutofillInformation::AutofillInformation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutofillInformation_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AutofillInformation)
}
PROTOBUF_NDEBUG_INLINE AutofillInformation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AutofillInformation& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        fillable_data_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AutofillInformation,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutofillInformation, _impl_.fillable_data_)>()
          , from.fillable_data_
        }
        ,
        _fillable_data_cached_byte_size_{0} {}

AutofillInformation::AutofillInformation(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AutofillInformation& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutofillInformation_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AutofillInformation* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AutofillInformation)
}
PROTOBUF_NDEBUG_INLINE AutofillInformation::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        fillable_data_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AutofillInformation,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AutofillInformation, _impl_.fillable_data_)>()
         }
        ,
        _fillable_data_cached_byte_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AutofillInformation_class_data_ =
    AutofillInformation::InternalGenerateClassData_(AutofillInformation_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillInformation::GetClassData() const {
  return AutofillInformation_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillInformation::GetClassData() const {
  return AutofillInformation_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AutofillInformation::ParseTableT_
    AutofillInformation::_table_ =
        AutofillInformation::InternalGenerateParseTable_(AutofillInformation_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AutofillInformation::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AutofillInformation)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.fillable_data_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.AutofillInformation.FillableData fillable_data = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._fillable_data_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            1, this_._internal_fillable_data(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AutofillInformation)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AutofillInformation::ByteSizeLong(const MessageLite& base) {
  const AutofillInformation& this_ = static_cast<const AutofillInformation&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AutofillInformation::ByteSizeLong() const {
  const AutofillInformation& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AutofillInformation)
  ::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_);
   {
    // repeated .optimization_guide.proto.AutofillInformation.FillableData fillable_data = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_fillable_data(), 1, this_._impl_._fillable_data_cached_byte_size_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AutofillInformation::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AutofillInformation*>(&to_msg);
  auto& from = static_cast<const AutofillInformation&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AutofillInformation)
  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_fillable_data()->MergeFrom(from._internal_fillable_data());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AutofillInformation::InternalSwap(AutofillInformation* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.fillable_data_.InternalSwap(&other->_impl_.fillable_data_);
}

// ===================================================================

GeminiInChromePageMetadata::GeminiInChromePageMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GeminiInChromePageMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.GeminiInChromePageMetadata)
}
PROTOBUF_NDEBUG_INLINE GeminiInChromePageMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::GeminiInChromePageMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

GeminiInChromePageMetadata::GeminiInChromePageMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const GeminiInChromePageMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GeminiInChromePageMetadata_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GeminiInChromePageMetadata* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.screenshot_info_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screenshot_info_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.GeminiInChromePageMetadata)
}
PROTOBUF_NDEBUG_INLINE GeminiInChromePageMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void GeminiInChromePageMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.screenshot_info_ = {};
}
GeminiInChromePageMetadata::~GeminiInChromePageMetadata() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.GeminiInChromePageMetadata)
  SharedDtor(*this);
}
inline void GeminiInChromePageMetadata::SharedDtor(MessageLite& self) {
  GeminiInChromePageMetadata& this_ = static_cast<GeminiInChromePageMetadata&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.screenshot_info_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite GeminiInChromePageMetadata_class_data_ =
    GeminiInChromePageMetadata::InternalGenerateClassData_(GeminiInChromePageMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GeminiInChromePageMetadata::GetClassData() const {
  return GeminiInChromePageMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GeminiInChromePageMetadata::GetClassData() const {
  return GeminiInChromePageMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GeminiInChromePageMetadata::ParseTableT_
    GeminiInChromePageMetadata::_table_ =
        GeminiInChromePageMetadata::InternalGenerateParseTable_(GeminiInChromePageMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GeminiInChromePageMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.GeminiInChromePageMetadata)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.screenshot_info_ != nullptr);
    _impl_.screenshot_info_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ScreenshotInfo screenshot_info = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.screenshot_info_, this_._impl_.screenshot_info_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.GeminiInChromePageMetadata)
  return target;
}

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

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

   {
    // .optimization_guide.proto.ScreenshotInfo screenshot_info = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.screenshot_info_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void GeminiInChromePageMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GeminiInChromePageMetadata*>(&to_msg);
  auto& from = static_cast<const GeminiInChromePageMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.GeminiInChromePageMetadata)
  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)) {
    ABSL_DCHECK(from._impl_.screenshot_info_ != nullptr);
    if (_this->_impl_.screenshot_info_ == nullptr) {
      _this->_impl_.screenshot_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screenshot_info_);
    } else {
      _this->_impl_.screenshot_info_->MergeFrom(*from._impl_.screenshot_info_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GeminiInChromePageMetadata::InternalSwap(GeminiInChromePageMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.screenshot_info_, other->_impl_.screenshot_info_);
}

// ===================================================================

ScreenshotInfo::ScreenshotInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScreenshotInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.ScreenshotInfo)
}
PROTOBUF_NDEBUG_INLINE ScreenshotInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::ScreenshotInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        iframe_info_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::ScreenshotInfo,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ScreenshotInfo, _impl_.iframe_info_)>()
          , from.iframe_info_
        }
     {}

ScreenshotInfo::ScreenshotInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const ScreenshotInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ScreenshotInfo_get_class_data()) {

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

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.ScreenshotInfo)
}
PROTOBUF_NDEBUG_INLINE ScreenshotInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        iframe_info_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::ScreenshotInfo,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::ScreenshotInfo, _impl_.iframe_info_)>()
         }
     {}

inline void ScreenshotInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, screenshot_size_),
           0,
           offsetof(Impl_, has_selection_region_in_screenshot_) -
               offsetof(Impl_, screenshot_size_) +
               sizeof(Impl_::has_selection_region_in_screenshot_));
}
ScreenshotInfo::~ScreenshotInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.ScreenshotInfo)
  SharedDtor(*this);
}
inline void ScreenshotInfo::SharedDtor(MessageLite& self) {
  ScreenshotInfo& this_ = static_cast<ScreenshotInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.screenshot_size_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ScreenshotInfo_class_data_ =
    ScreenshotInfo::InternalGenerateClassData_(ScreenshotInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScreenshotInfo::GetClassData() const {
  return ScreenshotInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
ScreenshotInfo::GetClassData() const {
  return ScreenshotInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const ScreenshotInfo::ParseTableT_
    ScreenshotInfo::_table_ =
        ScreenshotInfo::InternalGenerateParseTable_(ScreenshotInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void ScreenshotInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.ScreenshotInfo)
  ::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_.iframe_info_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.screenshot_size_ != nullptr);
      _impl_.screenshot_size_->Clear();
    }
  }
  _impl_.has_selection_region_in_screenshot_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool has_selection_region_in_screenshot = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_has_selection_region_in_screenshot(), target);
  }

  // repeated .optimization_guide.proto.IframeInfo iframe_info = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_iframe_info_size());
         i < n; i++) {
      const auto& repfield = this_._internal_iframe_info().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .optimization_guide.proto.BoundingSize screenshot_size = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.screenshot_size_, this_._impl_.screenshot_size_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ScreenshotInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ScreenshotInfo::ByteSizeLong(const MessageLite& base) {
  const ScreenshotInfo& this_ = static_cast<const ScreenshotInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ScreenshotInfo::ByteSizeLong() const {
  const ScreenshotInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ScreenshotInfo)
  ::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>(0x00000004U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .optimization_guide.proto.IframeInfo iframe_info = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_iframe_info_size();
      for (const auto& msg : this_._internal_iframe_info()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // .optimization_guide.proto.BoundingSize screenshot_size = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.screenshot_size_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ScreenshotInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ScreenshotInfo*>(&to_msg);
  auto& from = static_cast<const ScreenshotInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ScreenshotInfo)
  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_iframe_info()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_iframe_info());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.screenshot_size_ != nullptr);
      if (_this->_impl_.screenshot_size_ == nullptr) {
        _this->_impl_.screenshot_size_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screenshot_size_);
      } else {
        _this->_impl_.screenshot_size_->MergeFrom(*from._impl_.screenshot_size_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.has_selection_region_in_screenshot_ = from._impl_.has_selection_region_in_screenshot_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ScreenshotInfo::InternalSwap(ScreenshotInfo* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.iframe_info_.InternalSwap(&other->_impl_.iframe_info_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_.has_selection_region_in_screenshot_)
      + sizeof(ScreenshotInfo::_impl_.has_selection_region_in_screenshot_)
      - PROTOBUF_FIELD_OFFSET(ScreenshotInfo, _impl_.screenshot_size_)>(
          reinterpret_cast<char*>(&_impl_.screenshot_size_),
          reinterpret_cast<char*>(&other->_impl_.screenshot_size_));
}

// ===================================================================

IframeInfo::IframeInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IframeInfo_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.IframeInfo)
}
PROTOBUF_NDEBUG_INLINE IframeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::IframeInfo& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        url_(arena, from.url_) {}

IframeInfo::IframeInfo(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const IframeInfo& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, IframeInfo_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  IframeInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.security_origin_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.security_origin_)
                : nullptr;
  _impl_.bounding_box_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.bounding_box_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.IframeInfo)
}
PROTOBUF_NDEBUG_INLINE IframeInfo::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        url_(arena) {}

inline void IframeInfo::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, security_origin_),
           0,
           offsetof(Impl_, bounding_box_) -
               offsetof(Impl_, security_origin_) +
               sizeof(Impl_::bounding_box_));
}
IframeInfo::~IframeInfo() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.IframeInfo)
  SharedDtor(*this);
}
inline void IframeInfo::SharedDtor(MessageLite& self) {
  IframeInfo& this_ = static_cast<IframeInfo&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  delete this_._impl_.security_origin_;
  delete this_._impl_.bounding_box_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite IframeInfo_class_data_ =
    IframeInfo::InternalGenerateClassData_(IframeInfo_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IframeInfo::GetClassData() const {
  return IframeInfo_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
IframeInfo::GetClassData() const {
  return IframeInfo_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const IframeInfo::ParseTableT_
    IframeInfo::_table_ =
        IframeInfo::InternalGenerateParseTable_(IframeInfo_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void IframeInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.IframeInfo)
  ::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_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.security_origin_ != nullptr);
      _impl_.security_origin_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.bounding_box_ != nullptr);
      _impl_.bounding_box_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // string url = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.IframeInfo.url");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // .optimization_guide.proto.BoundingRect bounding_box = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.bounding_box_, this_._impl_.bounding_box_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.IframeInfo)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t IframeInfo::ByteSizeLong(const MessageLite& base) {
  const IframeInfo& this_ = static_cast<const IframeInfo&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t IframeInfo::ByteSizeLong() const {
  const IframeInfo& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.IframeInfo)
  ::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)) {
    // string url = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // .optimization_guide.proto.SecurityOrigin security_origin = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.security_origin_);
    }
    // .optimization_guide.proto.BoundingRect bounding_box = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.bounding_box_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void IframeInfo::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<IframeInfo*>(&to_msg);
  auto& from = static_cast<const IframeInfo&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.IframeInfo)
  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_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.security_origin_ != nullptr);
      if (_this->_impl_.security_origin_ == nullptr) {
        _this->_impl_.security_origin_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.security_origin_);
      } else {
        _this->_impl_.security_origin_->MergeFrom(*from._impl_.security_origin_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.bounding_box_ != nullptr);
      if (_this->_impl_.bounding_box_ == nullptr) {
        _this->_impl_.bounding_box_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.bounding_box_);
      } else {
        _this->_impl_.bounding_box_->MergeFrom(*from._impl_.bounding_box_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void IframeInfo::InternalSwap(IframeInfo* 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_.url_, &other->_impl_.url_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_.bounding_box_)
      + sizeof(IframeInfo::_impl_.bounding_box_)
      - PROTOBUF_FIELD_OFFSET(IframeInfo, _impl_.security_origin_)>(
          reinterpret_cast<char*>(&_impl_.security_origin_),
          reinterpret_cast<char*>(&other->_impl_.security_origin_));
}

// ===================================================================

AutofillGlobalId::AutofillGlobalId(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutofillGlobalId_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AutofillGlobalId)
}
PROTOBUF_NDEBUG_INLINE AutofillGlobalId::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AutofillGlobalId& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        frame_token_(arena, from.frame_token_) {}

AutofillGlobalId::AutofillGlobalId(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AutofillGlobalId& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutofillGlobalId_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AutofillGlobalId* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.renderer_id_ = from._impl_.renderer_id_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AutofillGlobalId)
}
PROTOBUF_NDEBUG_INLINE AutofillGlobalId::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        frame_token_(arena) {}

inline void AutofillGlobalId::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.renderer_id_ = {};
}
AutofillGlobalId::~AutofillGlobalId() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AutofillGlobalId)
  SharedDtor(*this);
}
inline void AutofillGlobalId::SharedDtor(MessageLite& self) {
  AutofillGlobalId& this_ = static_cast<AutofillGlobalId&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.frame_token_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AutofillGlobalId_class_data_ =
    AutofillGlobalId::InternalGenerateClassData_(AutofillGlobalId_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillGlobalId::GetClassData() const {
  return AutofillGlobalId_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutofillGlobalId::GetClassData() const {
  return AutofillGlobalId_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AutofillGlobalId::ParseTableT_
    AutofillGlobalId::_table_ =
        AutofillGlobalId::InternalGenerateParseTable_(AutofillGlobalId_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AutofillGlobalId::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AutofillGlobalId)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.frame_token_.ClearNonDefaultToEmpty();
  }
  _impl_.renderer_id_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string frame_token = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_frame_token();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.AutofillGlobalId.frame_token");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // uint64 renderer_id = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_renderer_id(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AutofillGlobalId)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AutofillGlobalId::ByteSizeLong(const MessageLite& base) {
  const AutofillGlobalId& this_ = static_cast<const AutofillGlobalId&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AutofillGlobalId::ByteSizeLong() const {
  const AutofillGlobalId& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AutofillGlobalId)
  ::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)) {
    // string frame_token = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_frame_token());
    }
    // uint64 renderer_id = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_renderer_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AutofillGlobalId::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AutofillGlobalId*>(&to_msg);
  auto& from = static_cast<const AutofillGlobalId&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AutofillGlobalId)
  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_frame_token(from._internal_frame_token());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.renderer_id_ = from._impl_.renderer_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AutofillGlobalId::InternalSwap(AutofillGlobalId* 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_.frame_token_, &other->_impl_.frame_token_, arena);
  swap(_impl_.renderer_id_, other->_impl_.renderer_id_);
}

// ===================================================================

FormData::FormData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FormData)
}
PROTOBUF_NDEBUG_INLINE FormData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FormData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        fields_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FormData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormData, _impl_.fields_)>()
          , from.fields_
        }
        ,
        form_name_(arena, from.form_name_),
        action_url_(arena, from.action_url_) {}

FormData::FormData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FormData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FormData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.global_id_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.global_id_)
                : nullptr;
  _impl_.form_signature_ = from._impl_.form_signature_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FormData)
}
PROTOBUF_NDEBUG_INLINE FormData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        fields_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormData, _impl_.fields_)>()
         }
        ,
        form_name_(arena),
        action_url_(arena) {}

inline void FormData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, global_id_),
           0,
           offsetof(Impl_, form_signature_) -
               offsetof(Impl_, global_id_) +
               sizeof(Impl_::form_signature_));
}
FormData::~FormData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.FormData)
  SharedDtor(*this);
}
inline void FormData::SharedDtor(MessageLite& self) {
  FormData& this_ = static_cast<FormData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.form_name_.Destroy();
  this_._impl_.action_url_.Destroy();
  delete this_._impl_.global_id_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FormData_class_data_ =
    FormData::InternalGenerateClassData_(FormData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormData::GetClassData() const {
  return FormData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormData::GetClassData() const {
  return FormData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FormData::ParseTableT_
    FormData::_table_ =
        FormData::InternalGenerateParseTable_(FormData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FormData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FormData)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.fields_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.form_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.action_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.global_id_ != nullptr);
      _impl_.global_id_->Clear();
    }
  }
  _impl_.form_signature_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string form_name = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_form_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormData.form_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .optimization_guide.proto.FormFieldData fields = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_fields_size());
         i < n; i++) {
      const auto& repfield = this_._internal_fields().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // .optimization_guide.proto.AutofillGlobalId global_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.global_id_, this_._impl_.global_id_->GetCachedSize(), target,
        stream);
  }

  // uint64 form_signature = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        4, this_._internal_form_signature(), target);
  }

  // string action_url = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_action_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormData.action_url");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.FormData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FormData::ByteSizeLong(const MessageLite& base) {
  const FormData& this_ = static_cast<const FormData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FormData::ByteSizeLong() const {
  const FormData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FormData)
  ::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, 0x0000001fU)) {
    // repeated .optimization_guide.proto.FormFieldData fields = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_fields_size();
      for (const auto& msg : this_._internal_fields()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string form_name = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_form_name());
    }
    // string action_url = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_action_url());
    }
    // .optimization_guide.proto.AutofillGlobalId global_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.global_id_);
    }
    // uint64 form_signature = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_form_signature());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void FormData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FormData*>(&to_msg);
  auto& from = static_cast<const FormData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FormData)
  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_fields()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_fields());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_form_name(from._internal_form_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_action_url(from._internal_action_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.global_id_ != nullptr);
      if (_this->_impl_.global_id_ == nullptr) {
        _this->_impl_.global_id_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.global_id_);
      } else {
        _this->_impl_.global_id_->MergeFrom(*from._impl_.global_id_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.form_signature_ = from._impl_.form_signature_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FormData::InternalSwap(FormData* 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_.fields_.InternalSwap(&other->_impl_.fields_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.form_name_, &other->_impl_.form_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.action_url_, &other->_impl_.action_url_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FormData, _impl_.form_signature_)
      + sizeof(FormData::_impl_.form_signature_)
      - PROTOBUF_FIELD_OFFSET(FormData, _impl_.global_id_)>(
          reinterpret_cast<char*>(&_impl_.global_id_),
          reinterpret_cast<char*>(&other->_impl_.global_id_));
}

// ===================================================================

FormFieldData::FormFieldData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormFieldData_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FormFieldData)
}
PROTOBUF_NDEBUG_INLINE FormFieldData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FormFieldData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        select_options_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FormFieldData,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormFieldData, _impl_.select_options_)>()
          , from.select_options_
        }
        ,
        field_name_(arena, from.field_name_),
        field_label_(arena, from.field_label_),
        field_value_(arena, from.field_value_),
        placeholder_(arena, from.placeholder_),
        aria_label_(arena, from.aria_label_),
        aria_description_(arena, from.aria_description_) {}

FormFieldData::FormFieldData(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FormFieldData& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FormFieldData_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FormFieldData* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.global_id_ = (CheckHasBit(cached_has_bits, 0x00000080U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.global_id_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, form_control_type_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, form_control_type_),
           offsetof(Impl_, field_signature_) -
               offsetof(Impl_, form_control_type_) +
               sizeof(Impl_::field_signature_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FormFieldData)
}
PROTOBUF_NDEBUG_INLINE FormFieldData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        select_options_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FormFieldData,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FormFieldData, _impl_.select_options_)>()
         }
        ,
        field_name_(arena),
        field_label_(arena),
        field_value_(arena),
        placeholder_(arena),
        aria_label_(arena),
        aria_description_(arena) {}

inline void FormFieldData::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, global_id_),
           0,
           offsetof(Impl_, field_signature_) -
               offsetof(Impl_, global_id_) +
               sizeof(Impl_::field_signature_));
}
FormFieldData::~FormFieldData() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.FormFieldData)
  SharedDtor(*this);
}
inline void FormFieldData::SharedDtor(MessageLite& self) {
  FormFieldData& this_ = static_cast<FormFieldData&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.field_name_.Destroy();
  this_._impl_.field_label_.Destroy();
  this_._impl_.field_value_.Destroy();
  this_._impl_.placeholder_.Destroy();
  this_._impl_.aria_label_.Destroy();
  this_._impl_.aria_description_.Destroy();
  delete this_._impl_.global_id_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FormFieldData_class_data_ =
    FormFieldData::InternalGenerateClassData_(FormFieldData_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormFieldData::GetClassData() const {
  return FormFieldData_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FormFieldData::GetClassData() const {
  return FormFieldData_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FormFieldData::ParseTableT_
    FormFieldData::_table_ =
        FormFieldData::InternalGenerateParseTable_(FormFieldData_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FormFieldData::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FormFieldData)
  ::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, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.select_options_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.field_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.field_label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.field_value_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.placeholder_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.aria_label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.aria_description_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(_impl_.global_id_ != nullptr);
      _impl_.global_id_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    ::memset(&_impl_.form_control_type_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.field_signature_) -
        reinterpret_cast<char*>(&_impl_.form_control_type_)) + sizeof(_impl_.field_signature_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string field_name = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_field_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormFieldData.field_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string field_label = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_field_label();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormFieldData.field_label");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string field_value = 3 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_field_value();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormFieldData.field_value");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // bool is_visible = 4 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this_._internal_is_visible(), target);
  }

  // bool is_focusable = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this_._internal_is_focusable(), target);
  }

  // .optimization_guide.proto.FormControlType form_control_type = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this_._internal_form_control_type(), target);
  }

  // repeated .optimization_guide.proto.SelectOption select_options = 7;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_select_options_size());
         i < n; i++) {
      const auto& repfield = this_._internal_select_options().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              7, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // string placeholder = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_placeholder();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormFieldData.placeholder");
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // int32 form_control_ax_node_id = 9 [features = {
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<9>(
            stream, this_._internal_form_control_ax_node_id(), target);
  }

  // bool is_eligible = 10 [deprecated = true, features = {
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this_._internal_is_eligible(), target);
  }

  // .optimization_guide.proto.AutofillGlobalId global_id = 11 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, *this_._impl_.global_id_, this_._impl_.global_id_->GetCachedSize(), target,
        stream);
  }

  // uint32 field_signature = 12 [features = {
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        12, this_._internal_field_signature(), target);
  }

  // string aria_label = 13 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_aria_label();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormFieldData.aria_label");
    target = stream->WriteStringMaybeAliased(13, _s, target);
  }

  // string aria_description = 14 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    const ::std::string& _s = this_._internal_aria_description();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FormFieldData.aria_description");
    target = stream->WriteStringMaybeAliased(14, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.FormFieldData)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FormFieldData::ByteSizeLong(const MessageLite& base) {
  const FormFieldData& this_ = static_cast<const FormFieldData&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FormFieldData::ByteSizeLong() const {
  const FormFieldData& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FormFieldData)
  ::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 += ::absl::popcount(0x00000e00U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .optimization_guide.proto.SelectOption select_options = 7;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_select_options_size();
      for (const auto& msg : this_._internal_select_options()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string field_name = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_field_name());
    }
    // string field_label = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_field_label());
    }
    // string field_value = 3 [deprecated = true, features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_field_value());
    }
    // string placeholder = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_placeholder());
    }
    // string aria_label = 13 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_aria_label());
    }
    // string aria_description = 14 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_aria_description());
    }
    // .optimization_guide.proto.AutofillGlobalId global_id = 11 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.global_id_);
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003100U)) {
    // .optimization_guide.proto.FormControlType form_control_type = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_form_control_type());
    }
    // int32 form_control_ax_node_id = 9 [features = {
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_form_control_ax_node_id());
    }
    // uint32 field_signature = 12 [features = {
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_field_signature());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void FormFieldData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FormFieldData*>(&to_msg);
  auto& from = static_cast<const FormFieldData&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FormFieldData)
  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_select_options()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_select_options());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_field_name(from._internal_field_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_field_label(from._internal_field_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_field_value(from._internal_field_value());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_placeholder(from._internal_placeholder());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_aria_label(from._internal_aria_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_aria_description(from._internal_aria_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      ABSL_DCHECK(from._impl_.global_id_ != nullptr);
      if (_this->_impl_.global_id_ == nullptr) {
        _this->_impl_.global_id_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.global_id_);
      } else {
        _this->_impl_.global_id_->MergeFrom(*from._impl_.global_id_);
      }
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00003f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.form_control_type_ = from._impl_.form_control_type_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.is_visible_ = from._impl_.is_visible_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.is_focusable_ = from._impl_.is_focusable_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      _this->_impl_.is_eligible_ = from._impl_.is_eligible_;
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      _this->_impl_.form_control_ax_node_id_ = from._impl_.form_control_ax_node_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.field_signature_ = from._impl_.field_signature_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FormFieldData::InternalSwap(FormFieldData* 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_.select_options_.InternalSwap(&other->_impl_.select_options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.field_name_, &other->_impl_.field_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.field_label_, &other->_impl_.field_label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.field_value_, &other->_impl_.field_value_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.placeholder_, &other->_impl_.placeholder_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.aria_label_, &other->_impl_.aria_label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.aria_description_, &other->_impl_.aria_description_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.field_signature_)
      + sizeof(FormFieldData::_impl_.field_signature_)
      - PROTOBUF_FIELD_OFFSET(FormFieldData, _impl_.global_id_)>(
          reinterpret_cast<char*>(&_impl_.global_id_),
          reinterpret_cast<char*>(&other->_impl_.global_id_));
}

// ===================================================================

TableRow::TableRow(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TableRow_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TableRow)
}
PROTOBUF_NDEBUG_INLINE TableRow::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::TableRow& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        cells_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::TableRow,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TableRow, _impl_.cells_)>()
          , from.cells_
        }
     {}

TableRow::TableRow(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TableRow& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TableRow_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TableRow* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.TableRow)
}
PROTOBUF_NDEBUG_INLINE TableRow::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        cells_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::TableRow,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TableRow, _impl_.cells_)>()
         }
     {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TableRow_class_data_ =
    TableRow::InternalGenerateClassData_(TableRow_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TableRow::GetClassData() const {
  return TableRow_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TableRow::GetClassData() const {
  return TableRow_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TableRow::ParseTableT_
    TableRow::_table_ =
        TableRow::InternalGenerateParseTable_(TableRow_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TableRow::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TableRow)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.cells_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.ContentNode cells = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_cells_size());
         i < n; i++) {
      const auto& repfield = this_._internal_cells().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 = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TableRow)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TableRow::ByteSizeLong(const MessageLite& base) {
  const TableRow& this_ = static_cast<const TableRow&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TableRow::ByteSizeLong() const {
  const TableRow& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TableRow)
  ::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_);
   {
    // repeated .optimization_guide.proto.ContentNode cells = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_cells_size();
      for (const auto& msg : this_._internal_cells()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TableRow::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TableRow*>(&to_msg);
  auto& from = static_cast<const TableRow&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TableRow)
  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_cells()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_cells());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TableRow::InternalSwap(TableRow* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.cells_.InternalSwap(&other->_impl_.cells_);
}

// ===================================================================

TabGroupMinimal::TabGroupMinimal(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TabGroupMinimal_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TabGroupMinimal)
}
PROTOBUF_NDEBUG_INLINE TabGroupMinimal::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::TabGroupMinimal& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        tab_ids_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::TabGroupMinimal,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TabGroupMinimal, _impl_.tab_ids_)>()
          , from.tab_ids_
        }
        ,
        _tab_ids_cached_byte_size_{0},
        label_(arena, from.label_),
        group_id_(arena, from.group_id_),
        emoji_(arena, from.emoji_) {}

TabGroupMinimal::TabGroupMinimal(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TabGroupMinimal& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TabGroupMinimal_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TabGroupMinimal* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.TabGroupMinimal)
}
PROTOBUF_NDEBUG_INLINE TabGroupMinimal::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        tab_ids_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::TabGroupMinimal,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TabGroupMinimal, _impl_.tab_ids_)>()
         }
        ,
        _tab_ids_cached_byte_size_{0},
        label_(arena),
        group_id_(arena),
        emoji_(arena) {}

inline void TabGroupMinimal::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TabGroupMinimal::~TabGroupMinimal() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.TabGroupMinimal)
  SharedDtor(*this);
}
inline void TabGroupMinimal::SharedDtor(MessageLite& self) {
  TabGroupMinimal& this_ = static_cast<TabGroupMinimal&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.label_.Destroy();
  this_._impl_.group_id_.Destroy();
  this_._impl_.emoji_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TabGroupMinimal_class_data_ =
    TabGroupMinimal::InternalGenerateClassData_(TabGroupMinimal_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TabGroupMinimal::GetClassData() const {
  return TabGroupMinimal_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TabGroupMinimal::GetClassData() const {
  return TabGroupMinimal_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TabGroupMinimal::ParseTableT_
    TabGroupMinimal::_table_ =
        TabGroupMinimal::InternalGenerateParseTable_(TabGroupMinimal_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TabGroupMinimal::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TabGroupMinimal)
  ::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, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.tab_ids_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.group_id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.emoji_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string label = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_label();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TabGroupMinimal.label");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated int64 tab_ids = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      int byte_size = this_._impl_._tab_ids_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt64Packed(
            2, this_._internal_tab_ids(), byte_size, target);
      }
    }
  }

  // string group_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_group_id();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TabGroupMinimal.group_id");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string emoji = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_emoji();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TabGroupMinimal.emoji");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TabGroupMinimal)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TabGroupMinimal::ByteSizeLong(const MessageLite& base) {
  const TabGroupMinimal& this_ = static_cast<const TabGroupMinimal&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TabGroupMinimal::ByteSizeLong() const {
  const TabGroupMinimal& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TabGroupMinimal)
  ::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, 0x0000000fU)) {
    // repeated int64 tab_ids = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
              this_._internal_tab_ids(), 1,
              this_._impl_._tab_ids_cached_byte_size_);
    }
    // string label = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_label());
    }
    // string group_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_group_id());
    }
    // string emoji = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_emoji());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TabGroupMinimal::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TabGroupMinimal*>(&to_msg);
  auto& from = static_cast<const TabGroupMinimal&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TabGroupMinimal)
  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_tab_ids()->MergeFrom(from._internal_tab_ids());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_label(from._internal_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_group_id(from._internal_group_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_emoji(from._internal_emoji());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TabGroupMinimal::InternalSwap(TabGroupMinimal* 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_.tab_ids_.InternalSwap(&other->_impl_.tab_ids_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.label_, &other->_impl_.label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.group_id_, &other->_impl_.group_id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.emoji_, &other->_impl_.emoji_, arena);
}

// ===================================================================

TabGroup::TabGroup(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TabGroup_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TabGroup)
}
PROTOBUF_NDEBUG_INLINE TabGroup::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::TabGroup& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        tabs_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::TabGroup,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TabGroup, _impl_.tabs_)>()
          , from.tabs_
        }
        ,
        label_(arena, from.label_),
        group_id_(arena, from.group_id_) {}

TabGroup::TabGroup(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TabGroup& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TabGroup_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TabGroup* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.TabGroup)
}
PROTOBUF_NDEBUG_INLINE TabGroup::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        tabs_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::TabGroup,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::TabGroup, _impl_.tabs_)>()
         }
        ,
        label_(arena),
        group_id_(arena) {}

inline void TabGroup::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TabGroup::~TabGroup() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.TabGroup)
  SharedDtor(*this);
}
inline void TabGroup::SharedDtor(MessageLite& self) {
  TabGroup& this_ = static_cast<TabGroup&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.label_.Destroy();
  this_._impl_.group_id_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TabGroup_class_data_ =
    TabGroup::InternalGenerateClassData_(TabGroup_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TabGroup::GetClassData() const {
  return TabGroup_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TabGroup::GetClassData() const {
  return TabGroup_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TabGroup::ParseTableT_
    TabGroup::_table_ =
        TabGroup::InternalGenerateParseTable_(TabGroup_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TabGroup::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TabGroup)
  ::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_.tabs_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.group_id_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string label = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_label();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TabGroup.label");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .optimization_guide.proto.Tab tabs = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_tabs_size());
         i < n; i++) {
      const auto& repfield = this_._internal_tabs().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // string group_id = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_group_id();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TabGroup.group_id");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TabGroup)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TabGroup::ByteSizeLong(const MessageLite& base) {
  const TabGroup& this_ = static_cast<const TabGroup&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TabGroup::ByteSizeLong() const {
  const TabGroup& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TabGroup)
  ::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 .optimization_guide.proto.Tab tabs = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_tabs_size();
      for (const auto& msg : this_._internal_tabs()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string label = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_label());
    }
    // string group_id = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_group_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TabGroup::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TabGroup*>(&to_msg);
  auto& from = static_cast<const TabGroup&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TabGroup)
  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_tabs()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_tabs());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_label(from._internal_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_group_id(from._internal_group_id());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TabGroup::InternalSwap(TabGroup* 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_.tabs_.InternalSwap(&other->_impl_.tabs_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.label_, &other->_impl_.label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.group_id_, &other->_impl_.group_id_, arena);
}

// ===================================================================

Tab::Tab(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Tab_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Tab)
}
PROTOBUF_NDEBUG_INLINE Tab::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::Tab& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        title_(arena, from.title_),
        url_(arena, from.url_) {}

Tab::Tab(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Tab& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Tab_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Tab* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.page_context_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.page_context_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, tab_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, tab_id_),
           offsetof(Impl_, last_foreground_duration_ms_) -
               offsetof(Impl_, tab_id_) +
               sizeof(Impl_::last_foreground_duration_ms_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.Tab)
}
PROTOBUF_NDEBUG_INLINE Tab::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        title_(arena),
        url_(arena) {}

inline void Tab::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, page_context_),
           0,
           offsetof(Impl_, last_foreground_duration_ms_) -
               offsetof(Impl_, page_context_) +
               sizeof(Impl_::last_foreground_duration_ms_));
}
Tab::~Tab() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Tab)
  SharedDtor(*this);
}
inline void Tab::SharedDtor(MessageLite& self) {
  Tab& this_ = static_cast<Tab&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.title_.Destroy();
  this_._impl_.url_.Destroy();
  delete this_._impl_.page_context_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Tab_class_data_ =
    Tab::InternalGenerateClassData_(Tab_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Tab::GetClassData() const {
  return Tab_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Tab::GetClassData() const {
  return Tab_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Tab::ParseTableT_
    Tab::_table_ =
        Tab::InternalGenerateParseTable_(Tab_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Tab::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Tab)
  ::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_.title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.page_context_ != nullptr);
      _impl_.page_context_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000038U)) {
    ::memset(&_impl_.tab_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.last_foreground_duration_ms_) -
        reinterpret_cast<char*>(&_impl_.tab_id_)) + sizeof(_impl_.last_foreground_duration_ms_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 tab_id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_tab_id(), target);
  }

  // string title = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_title();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Tab.title");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string url = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Tab.url");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // .optimization_guide.proto.PageContext page_context = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.page_context_, this_._impl_.page_context_->GetCachedSize(), target,
        stream);
  }

  // int64 last_active_timestamp_ms = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
            stream, this_._internal_last_active_timestamp_ms(), target);
  }

  // int64 last_foreground_duration_ms = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<6>(
            stream, this_._internal_last_foreground_duration_ms(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Tab)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Tab::ByteSizeLong(const MessageLite& base) {
  const Tab& this_ = static_cast<const Tab&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Tab::ByteSizeLong() const {
  const Tab& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Tab)
  ::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, 0x0000003fU)) {
    // string title = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_title());
    }
    // string url = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
    // .optimization_guide.proto.PageContext page_context = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.page_context_);
    }
    // int64 tab_id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_tab_id());
    }
    // int64 last_active_timestamp_ms = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_last_active_timestamp_ms());
    }
    // int64 last_foreground_duration_ms = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_last_foreground_duration_ms());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Tab::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Tab*>(&to_msg);
  auto& from = static_cast<const Tab&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Tab)
  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_title(from._internal_title());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.page_context_ != nullptr);
      if (_this->_impl_.page_context_ == nullptr) {
        _this->_impl_.page_context_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.page_context_);
      } else {
        _this->_impl_.page_context_->MergeFrom(*from._impl_.page_context_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.tab_id_ = from._impl_.tab_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.last_active_timestamp_ms_ = from._impl_.last_active_timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.last_foreground_duration_ms_ = from._impl_.last_foreground_duration_ms_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Tab::InternalSwap(Tab* 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_.title_, &other->_impl_.title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Tab, _impl_.last_foreground_duration_ms_)
      + sizeof(Tab::_impl_.last_foreground_duration_ms_)
      - PROTOBUF_FIELD_OFFSET(Tab, _impl_.page_context_)>(
          reinterpret_cast<char*>(&_impl_.page_context_),
          reinterpret_cast<char*>(&other->_impl_.page_context_));
}

// ===================================================================

SiteEngagementEntry::SiteEngagementEntry(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SiteEngagementEntry_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.SiteEngagementEntry)
}
PROTOBUF_NDEBUG_INLINE SiteEngagementEntry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::SiteEngagementEntry& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        url_(arena, from.url_) {}

SiteEngagementEntry::SiteEngagementEntry(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SiteEngagementEntry& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SiteEngagementEntry_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SiteEngagementEntry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.score_ = from._impl_.score_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.SiteEngagementEntry)
}
PROTOBUF_NDEBUG_INLINE SiteEngagementEntry::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        url_(arena) {}

inline void SiteEngagementEntry::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.score_ = {};
}
SiteEngagementEntry::~SiteEngagementEntry() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.SiteEngagementEntry)
  SharedDtor(*this);
}
inline void SiteEngagementEntry::SharedDtor(MessageLite& self) {
  SiteEngagementEntry& this_ = static_cast<SiteEngagementEntry&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SiteEngagementEntry_class_data_ =
    SiteEngagementEntry::InternalGenerateClassData_(SiteEngagementEntry_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SiteEngagementEntry::GetClassData() const {
  return SiteEngagementEntry_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SiteEngagementEntry::GetClassData() const {
  return SiteEngagementEntry_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SiteEngagementEntry::ParseTableT_
    SiteEngagementEntry::_table_ =
        SiteEngagementEntry::InternalGenerateParseTable_(SiteEngagementEntry_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SiteEngagementEntry::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.SiteEngagementEntry)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.url_.ClearNonDefaultToEmpty();
  }
  _impl_.score_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string url = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.SiteEngagementEntry.url");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // float score = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        2, this_._internal_score(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.SiteEngagementEntry)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SiteEngagementEntry::ByteSizeLong(const MessageLite& base) {
  const SiteEngagementEntry& this_ = static_cast<const SiteEngagementEntry&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SiteEngagementEntry::ByteSizeLong() const {
  const SiteEngagementEntry& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.SiteEngagementEntry)
  ::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>(0x00000002U & cached_has_bits) * 5;
   {
    // string url = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SiteEngagementEntry::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SiteEngagementEntry*>(&to_msg);
  auto& from = static_cast<const SiteEngagementEntry&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.SiteEngagementEntry)
  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_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.score_ = from._impl_.score_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SiteEngagementEntry::InternalSwap(SiteEngagementEntry* 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_.url_, &other->_impl_.url_, arena);
  swap(_impl_.score_, other->_impl_.score_);
}

// ===================================================================

SiteEngagement::SiteEngagement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SiteEngagement_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.SiteEngagement)
}
PROTOBUF_NDEBUG_INLINE SiteEngagement::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::SiteEngagement& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        entries_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::SiteEngagement,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::SiteEngagement, _impl_.entries_)>()
          , from.entries_
        }
     {}

SiteEngagement::SiteEngagement(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const SiteEngagement& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, SiteEngagement_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SiteEngagement* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.SiteEngagement)
}
PROTOBUF_NDEBUG_INLINE SiteEngagement::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        entries_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::SiteEngagement,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::SiteEngagement, _impl_.entries_)>()
         }
     {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite SiteEngagement_class_data_ =
    SiteEngagement::InternalGenerateClassData_(SiteEngagement_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SiteEngagement::GetClassData() const {
  return SiteEngagement_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
SiteEngagement::GetClassData() const {
  return SiteEngagement_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const SiteEngagement::ParseTableT_
    SiteEngagement::_table_ =
        SiteEngagement::InternalGenerateParseTable_(SiteEngagement_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void SiteEngagement::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.SiteEngagement)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.entries_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.SiteEngagementEntry entries = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_entries_size());
         i < n; i++) {
      const auto& repfield = this_._internal_entries().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 = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.SiteEngagement)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t SiteEngagement::ByteSizeLong(const MessageLite& base) {
  const SiteEngagement& this_ = static_cast<const SiteEngagement&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t SiteEngagement::ByteSizeLong() const {
  const SiteEngagement& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.SiteEngagement)
  ::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_);
   {
    // repeated .optimization_guide.proto.SiteEngagementEntry entries = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_entries_size();
      for (const auto& msg : this_._internal_entries()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void SiteEngagement::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<SiteEngagement*>(&to_msg);
  auto& from = static_cast<const SiteEngagement&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.SiteEngagement)
  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_entries()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_entries());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void SiteEngagement::InternalSwap(SiteEngagement* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.entries_.InternalSwap(&other->_impl_.entries_);
}

// ===================================================================

Coordinate::Coordinate(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Coordinate_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Coordinate)
}
Coordinate::Coordinate(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Coordinate& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Coordinate_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE Coordinate::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void Coordinate::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, x_),
           0,
           offsetof(Impl_, pixel_type_) -
               offsetof(Impl_, x_) +
               sizeof(Impl_::pixel_type_));
}
Coordinate::~Coordinate() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Coordinate)
  SharedDtor(*this);
}
inline void Coordinate::SharedDtor(MessageLite& self) {
  Coordinate& this_ = static_cast<Coordinate&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Coordinate_class_data_ =
    Coordinate::InternalGenerateClassData_(Coordinate_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Coordinate::GetClassData() const {
  return Coordinate_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Coordinate::GetClassData() const {
  return Coordinate_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Coordinate::ParseTableT_
    Coordinate::_table_ =
        Coordinate::InternalGenerateParseTable_(Coordinate_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Coordinate::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Coordinate)
  ::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)) {
    ::memset(&_impl_.x_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.pixel_type_) -
        reinterpret_cast<char*>(&_impl_.x_)) + sizeof(_impl_.pixel_type_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 y = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_y(), target);
  }

  // .optimization_guide.proto.Coordinate.PixelType pixel_type = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_pixel_type(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Coordinate)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Coordinate::ByteSizeLong(const MessageLite& base) {
  const Coordinate& this_ = static_cast<const Coordinate&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Coordinate::ByteSizeLong() const {
  const Coordinate& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Coordinate)
  ::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)) {
    // int32 x = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_x());
    }
    // int32 y = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_y());
    }
    // .optimization_guide.proto.Coordinate.PixelType pixel_type = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_pixel_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Coordinate::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Coordinate*>(&to_msg);
  auto& from = static_cast<const Coordinate&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Coordinate)
  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->_impl_.x_ = from._impl_.x_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.y_ = from._impl_.y_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.pixel_type_ = from._impl_.pixel_type_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Coordinate::InternalSwap(Coordinate* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.pixel_type_)
      + sizeof(Coordinate::_impl_.pixel_type_)
      - PROTOBUF_FIELD_OFFSET(Coordinate, _impl_.x_)>(
          reinterpret_cast<char*>(&_impl_.x_),
          reinterpret_cast<char*>(&other->_impl_.x_));
}

// ===================================================================

TimeDuration::TimeDuration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TimeDuration_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TimeDuration)
}
TimeDuration::TimeDuration(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const TimeDuration& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TimeDuration_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE TimeDuration::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void TimeDuration::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, seconds_),
           0,
           offsetof(Impl_, nanos_) -
               offsetof(Impl_, seconds_) +
               sizeof(Impl_::nanos_));
}
TimeDuration::~TimeDuration() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.TimeDuration)
  SharedDtor(*this);
}
inline void TimeDuration::SharedDtor(MessageLite& self) {
  TimeDuration& this_ = static_cast<TimeDuration&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TimeDuration_class_data_ =
    TimeDuration::InternalGenerateClassData_(TimeDuration_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TimeDuration::GetClassData() const {
  return TimeDuration_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TimeDuration::GetClassData() const {
  return TimeDuration_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TimeDuration::ParseTableT_
    TimeDuration::_table_ =
        TimeDuration::InternalGenerateParseTable_(TimeDuration_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TimeDuration::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TimeDuration)
  ::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)) {
    ::memset(&_impl_.seconds_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.nanos_) -
        reinterpret_cast<char*>(&_impl_.seconds_)) + sizeof(_impl_.nanos_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // int64 seconds = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_seconds(), target);
  }

  // int32 nanos = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_nanos(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TimeDuration)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TimeDuration::ByteSizeLong(const MessageLite& base) {
  const TimeDuration& this_ = static_cast<const TimeDuration&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TimeDuration::ByteSizeLong() const {
  const TimeDuration& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TimeDuration)
  ::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)) {
    // int64 seconds = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_seconds());
    }
    // int32 nanos = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_nanos());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TimeDuration::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TimeDuration*>(&to_msg);
  auto& from = static_cast<const TimeDuration&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TimeDuration)
  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_.seconds_ = from._impl_.seconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.nanos_ = from._impl_.nanos_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TimeDuration::InternalSwap(TimeDuration* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TimeDuration, _impl_.nanos_)
      + sizeof(TimeDuration::_impl_.nanos_)
      - PROTOBUF_FIELD_OFFSET(TimeDuration, _impl_.seconds_)>(
          reinterpret_cast<char*>(&_impl_.seconds_),
          reinterpret_cast<char*>(&other->_impl_.seconds_));
}

// ===================================================================

TimeZone::TimeZone(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TimeZone_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.TimeZone)
}
PROTOBUF_NDEBUG_INLINE TimeZone::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::TimeZone& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        id_(arena, from.id_),
        version_(arena, from.version_) {}

TimeZone::TimeZone(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const TimeZone& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, TimeZone_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  TimeZone* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.TimeZone)
}
PROTOBUF_NDEBUG_INLINE TimeZone::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        id_(arena),
        version_(arena) {}

inline void TimeZone::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
TimeZone::~TimeZone() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.TimeZone)
  SharedDtor(*this);
}
inline void TimeZone::SharedDtor(MessageLite& self) {
  TimeZone& this_ = static_cast<TimeZone&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.id_.Destroy();
  this_._impl_.version_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite TimeZone_class_data_ =
    TimeZone::InternalGenerateClassData_(TimeZone_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TimeZone::GetClassData() const {
  return TimeZone_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
TimeZone::GetClassData() const {
  return TimeZone_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const TimeZone::ParseTableT_
    TimeZone::_table_ =
        TimeZone::InternalGenerateParseTable_(TimeZone_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void TimeZone::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.TimeZone)
  ::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_.id_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.version_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string id = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_id();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TimeZone.id");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string version = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_version();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.TimeZone.version");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.TimeZone)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t TimeZone::ByteSizeLong(const MessageLite& base) {
  const TimeZone& this_ = static_cast<const TimeZone&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t TimeZone::ByteSizeLong() const {
  const TimeZone& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.TimeZone)
  ::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)) {
    // string id = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_id());
    }
    // string version = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_version());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void TimeZone::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<TimeZone*>(&to_msg);
  auto& from = static_cast<const TimeZone&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.TimeZone)
  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_id(from._internal_id());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_version(from._internal_version());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void TimeZone::InternalSwap(TimeZone* 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_.id_, &other->_impl_.id_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.version_, &other->_impl_.version_, arena);
}

// ===================================================================

void DateTime::set_allocated_utc_offset(::optimization_guide::proto::TimeDuration* PROTOBUF_NULLABLE utc_offset) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_time_offset();
  if (utc_offset) {
    ::google::protobuf::Arena* submessage_arena = utc_offset->GetArena();
    if (message_arena != submessage_arena) {
      utc_offset = ::google::protobuf::internal::GetOwnedMessage(message_arena, utc_offset, submessage_arena);
    }
    set_has_utc_offset();
    _impl_.time_offset_.utc_offset_ = utc_offset;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.DateTime.utc_offset)
}
void DateTime::set_allocated_time_zone(::optimization_guide::proto::TimeZone* PROTOBUF_NULLABLE time_zone) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_time_offset();
  if (time_zone) {
    ::google::protobuf::Arena* submessage_arena = time_zone->GetArena();
    if (message_arena != submessage_arena) {
      time_zone = ::google::protobuf::internal::GetOwnedMessage(message_arena, time_zone, submessage_arena);
    }
    set_has_time_zone();
    _impl_.time_offset_.time_zone_ = time_zone;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.DateTime.time_zone)
}
DateTime::DateTime(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DateTime_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.DateTime)
}
PROTOBUF_NDEBUG_INLINE DateTime::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::DateTime& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        time_offset_{},
        _oneof_case_{from._oneof_case_[0]} {}

DateTime::DateTime(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const DateTime& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DateTime_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DateTime* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, year_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, year_),
           offsetof(Impl_, nanos_) -
               offsetof(Impl_, year_) +
               sizeof(Impl_::nanos_));
  switch (time_offset_case()) {
    case TIME_OFFSET_NOT_SET:
      break;
      case kUtcOffset:
        _impl_.time_offset_.utc_offset_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.time_offset_.utc_offset_);
        break;
      case kTimeZone:
        _impl_.time_offset_.time_zone_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.time_offset_.time_zone_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.DateTime)
}
PROTOBUF_NDEBUG_INLINE DateTime::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        time_offset_{},
        _oneof_case_{} {}

inline void DateTime::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, year_),
           0,
           offsetof(Impl_, nanos_) -
               offsetof(Impl_, year_) +
               sizeof(Impl_::nanos_));
}
DateTime::~DateTime() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.DateTime)
  SharedDtor(*this);
}
inline void DateTime::SharedDtor(MessageLite& self) {
  DateTime& this_ = static_cast<DateTime&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_time_offset()) {
    this_.clear_time_offset();
  }
  this_._impl_.~Impl_();
}

void DateTime::clear_time_offset() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.DateTime)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (time_offset_case()) {
    case kUtcOffset: {
      if (GetArena() == nullptr) {
        delete _impl_.time_offset_.utc_offset_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.time_offset_.utc_offset_ != nullptr) {
          _impl_.time_offset_.utc_offset_->Clear();
        }
      }
      break;
    }
    case kTimeZone: {
      if (GetArena() == nullptr) {
        delete _impl_.time_offset_.time_zone_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.time_offset_.time_zone_ != nullptr) {
          _impl_.time_offset_.time_zone_->Clear();
        }
      }
      break;
    }
    case TIME_OFFSET_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = TIME_OFFSET_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DateTime_class_data_ =
    DateTime::InternalGenerateClassData_(DateTime_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DateTime::GetClassData() const {
  return DateTime_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DateTime::GetClassData() const {
  return DateTime_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DateTime::ParseTableT_
    DateTime::_table_ =
        DateTime::InternalGenerateParseTable_(DateTime_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DateTime::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.DateTime)
  ::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)) {
    ::memset(&_impl_.year_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.nanos_) -
        reinterpret_cast<char*>(&_impl_.year_)) + sizeof(_impl_.nanos_));
  }
  clear_time_offset();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // int32 month = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<2>(
            stream, this_._internal_month(), target);
  }

  // int32 day = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_day(), target);
  }

  // int32 hours = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_hours(), target);
  }

  // int32 minutes = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<5>(
            stream, this_._internal_minutes(), target);
  }

  // int32 seconds = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<6>(
            stream, this_._internal_seconds(), target);
  }

  // int32 nanos = 7 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_nanos(), target);
  }

  switch (this_.time_offset_case()) {
    case kUtcOffset: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, *this_._impl_.time_offset_.utc_offset_, this_._impl_.time_offset_.utc_offset_->GetCachedSize(), target,
          stream);
      break;
    }
    case kTimeZone: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          9, *this_._impl_.time_offset_.time_zone_, this_._impl_.time_offset_.time_zone_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.DateTime)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DateTime::ByteSizeLong(const MessageLite& base) {
  const DateTime& this_ = static_cast<const DateTime&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DateTime::ByteSizeLong() const {
  const DateTime& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.DateTime)
  ::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, 0x0000007fU)) {
    // int32 year = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_year());
    }
    // int32 month = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_month());
    }
    // int32 day = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_day());
    }
    // int32 hours = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_hours());
    }
    // int32 minutes = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_minutes());
    }
    // int32 seconds = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_seconds());
    }
    // int32 nanos = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_nanos());
    }
  }
  switch (this_.time_offset_case()) {
    // .optimization_guide.proto.TimeDuration utc_offset = 8;
    case kUtcOffset: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.time_offset_.utc_offset_);
      break;
    }
    // .optimization_guide.proto.TimeZone time_zone = 9;
    case kTimeZone: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.time_offset_.time_zone_);
      break;
    }
    case TIME_OFFSET_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void DateTime::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DateTime*>(&to_msg);
  auto& from = static_cast<const DateTime&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.DateTime)
  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->_impl_.year_ = from._impl_.year_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.month_ = from._impl_.month_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.day_ = from._impl_.day_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.hours_ = from._impl_.hours_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.minutes_ = from._impl_.minutes_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.seconds_ = from._impl_.seconds_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.nanos_ = from._impl_.nanos_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_time_offset();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kUtcOffset: {
        if (oneof_needs_init) {
          _this->_impl_.time_offset_.utc_offset_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.time_offset_.utc_offset_);
        } else {
          _this->_impl_.time_offset_.utc_offset_->MergeFrom(*from._impl_.time_offset_.utc_offset_);
        }
        break;
      }
      case kTimeZone: {
        if (oneof_needs_init) {
          _this->_impl_.time_offset_.time_zone_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.time_offset_.time_zone_);
        } else {
          _this->_impl_.time_offset_.time_zone_->MergeFrom(*from._impl_.time_offset_.time_zone_);
        }
        break;
      }
      case TIME_OFFSET_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DateTime::InternalSwap(DateTime* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DateTime, _impl_.nanos_)
      + sizeof(DateTime::_impl_.nanos_)
      - PROTOBUF_FIELD_OFFSET(DateTime, _impl_.year_)>(
          reinterpret_cast<char*>(&_impl_.year_),
          reinterpret_cast<char*>(&other->_impl_.year_));
  swap(_impl_.time_offset_, other->_impl_.time_offset_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

// ===================================================================

MetaTag::MetaTag(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MetaTag_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.MetaTag)
}
PROTOBUF_NDEBUG_INLINE MetaTag::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::MetaTag& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_),
        content_(arena, from.content_) {}

MetaTag::MetaTag(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const MetaTag& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, MetaTag_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  MetaTag* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.MetaTag)
}
PROTOBUF_NDEBUG_INLINE MetaTag::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        name_(arena),
        content_(arena) {}

inline void MetaTag::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
MetaTag::~MetaTag() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.MetaTag)
  SharedDtor(*this);
}
inline void MetaTag::SharedDtor(MessageLite& self) {
  MetaTag& this_ = static_cast<MetaTag&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.content_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite MetaTag_class_data_ =
    MetaTag::InternalGenerateClassData_(MetaTag_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MetaTag::GetClassData() const {
  return MetaTag_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
MetaTag::GetClassData() const {
  return MetaTag_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const MetaTag::ParseTableT_
    MetaTag::_table_ =
        MetaTag::InternalGenerateParseTable_(MetaTag_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void MetaTag::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.MetaTag)
  ::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_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.content_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string name = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MetaTag.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string content = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_content();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.MetaTag.content");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.MetaTag)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t MetaTag::ByteSizeLong(const MessageLite& base) {
  const MetaTag& this_ = static_cast<const MetaTag&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t MetaTag::ByteSizeLong() const {
  const MetaTag& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.MetaTag)
  ::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)) {
    // string name = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // string content = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_content());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void MetaTag::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<MetaTag*>(&to_msg);
  auto& from = static_cast<const MetaTag&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.MetaTag)
  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)) {
      _this->_internal_set_content(from._internal_content());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void MetaTag::InternalSwap(MetaTag* 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_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.content_, &other->_impl_.content_, arena);
}

// ===================================================================

FrameMetadata::FrameMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FrameMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.FrameMetadata)
}
PROTOBUF_NDEBUG_INLINE FrameMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::FrameMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        meta_tags_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::FrameMetadata,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameMetadata, _impl_.meta_tags_)>()
          , from.meta_tags_
        }
        ,
        url_(arena, from.url_) {}

FrameMetadata::FrameMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const FrameMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, FrameMetadata_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  FrameMetadata* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.has_media_transcripts_ = from._impl_.has_media_transcripts_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.FrameMetadata)
}
PROTOBUF_NDEBUG_INLINE FrameMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        meta_tags_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::FrameMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::FrameMetadata, _impl_.meta_tags_)>()
         }
        ,
        url_(arena) {}

inline void FrameMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.has_media_transcripts_ = {};
}
FrameMetadata::~FrameMetadata() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.FrameMetadata)
  SharedDtor(*this);
}
inline void FrameMetadata::SharedDtor(MessageLite& self) {
  FrameMetadata& this_ = static_cast<FrameMetadata&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.url_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite FrameMetadata_class_data_ =
    FrameMetadata::InternalGenerateClassData_(FrameMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FrameMetadata::GetClassData() const {
  return FrameMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
FrameMetadata::GetClassData() const {
  return FrameMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const FrameMetadata::ParseTableT_
    FrameMetadata::_table_ =
        FrameMetadata::InternalGenerateParseTable_(FrameMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void FrameMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.FrameMetadata)
  ::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_.meta_tags_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.url_.ClearNonDefaultToEmpty();
    }
  }
  _impl_.has_media_transcripts_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // string url = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_url();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.FrameMetadata.url");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .optimization_guide.proto.MetaTag meta_tags = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_meta_tags_size());
         i < n; i++) {
      const auto& repfield = this_._internal_meta_tags().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // bool has_media_transcripts = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this_._internal_has_media_transcripts(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.FrameMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t FrameMetadata::ByteSizeLong(const MessageLite& base) {
  const FrameMetadata& this_ = static_cast<const FrameMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t FrameMetadata::ByteSizeLong() const {
  const FrameMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.FrameMetadata)
  ::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>(0x00000004U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .optimization_guide.proto.MetaTag meta_tags = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_meta_tags_size();
      for (const auto& msg : this_._internal_meta_tags()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // string url = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_url());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void FrameMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<FrameMetadata*>(&to_msg);
  auto& from = static_cast<const FrameMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.FrameMetadata)
  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_meta_tags()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_meta_tags());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_url(from._internal_url());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.has_media_transcripts_ = from._impl_.has_media_transcripts_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void FrameMetadata::InternalSwap(FrameMetadata* 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_.meta_tags_.InternalSwap(&other->_impl_.meta_tags_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.url_, &other->_impl_.url_, arena);
  swap(_impl_.has_media_transcripts_, other->_impl_.has_media_transcripts_);
}

// ===================================================================

PageMetadata::PageMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PageMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.PageMetadata)
}
PROTOBUF_NDEBUG_INLINE PageMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::PageMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        frame_metadata_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::PageMetadata,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PageMetadata, _impl_.frame_metadata_)>()
          , from.frame_metadata_
        }
     {}

PageMetadata::PageMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const PageMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, PageMetadata_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  PageMetadata* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.PageMetadata)
}
PROTOBUF_NDEBUG_INLINE PageMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        frame_metadata_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::PageMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::PageMetadata, _impl_.frame_metadata_)>()
         }
     {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite PageMetadata_class_data_ =
    PageMetadata::InternalGenerateClassData_(PageMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PageMetadata::GetClassData() const {
  return PageMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
PageMetadata::GetClassData() const {
  return PageMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const PageMetadata::ParseTableT_
    PageMetadata::_table_ =
        PageMetadata::InternalGenerateParseTable_(PageMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void PageMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.PageMetadata)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.frame_metadata_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.FrameMetadata frame_metadata = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_frame_metadata_size());
         i < n; i++) {
      const auto& repfield = this_._internal_frame_metadata().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 = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.PageMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t PageMetadata::ByteSizeLong(const MessageLite& base) {
  const PageMetadata& this_ = static_cast<const PageMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t PageMetadata::ByteSizeLong() const {
  const PageMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.PageMetadata)
  ::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_);
   {
    // repeated .optimization_guide.proto.FrameMetadata frame_metadata = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_frame_metadata_size();
      for (const auto& msg : this_._internal_frame_metadata()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void PageMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<PageMetadata*>(&to_msg);
  auto& from = static_cast<const PageMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.PageMetadata)
  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_frame_metadata()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_frame_metadata());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void PageMetadata::InternalSwap(PageMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.frame_metadata_.InternalSwap(&other->_impl_.frame_metadata_);
}

// ===================================================================

DocumentSelection::DocumentSelection(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DocumentSelection_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.DocumentSelection)
}
PROTOBUF_NDEBUG_INLINE DocumentSelection::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::DocumentSelection& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

DocumentSelection::DocumentSelection(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const DocumentSelection& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, DocumentSelection_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  DocumentSelection* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.document_identifier_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.document_identifier_)
                : nullptr;
  _impl_.selection_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.selection_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.DocumentSelection)
}
PROTOBUF_NDEBUG_INLINE DocumentSelection::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void DocumentSelection::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, document_identifier_),
           0,
           offsetof(Impl_, selection_) -
               offsetof(Impl_, document_identifier_) +
               sizeof(Impl_::selection_));
}
DocumentSelection::~DocumentSelection() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.DocumentSelection)
  SharedDtor(*this);
}
inline void DocumentSelection::SharedDtor(MessageLite& self) {
  DocumentSelection& this_ = static_cast<DocumentSelection&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.document_identifier_;
  delete this_._impl_.selection_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite DocumentSelection_class_data_ =
    DocumentSelection::InternalGenerateClassData_(DocumentSelection_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DocumentSelection::GetClassData() const {
  return DocumentSelection_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
DocumentSelection::GetClassData() const {
  return DocumentSelection_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const DocumentSelection::ParseTableT_
    DocumentSelection::_table_ =
        DocumentSelection::InternalGenerateParseTable_(DocumentSelection_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void DocumentSelection::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.DocumentSelection)
  ::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)) {
      ABSL_DCHECK(_impl_.document_identifier_ != nullptr);
      _impl_.document_identifier_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.selection_ != nullptr);
      _impl_.selection_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.DocumentIdentifier document_identifier = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.document_identifier_, this_._impl_.document_identifier_->GetCachedSize(), target,
        stream);
  }

  // .optimization_guide.proto.Selection selection = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.selection_, this_._impl_.selection_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.DocumentSelection)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t DocumentSelection::ByteSizeLong(const MessageLite& base) {
  const DocumentSelection& this_ = static_cast<const DocumentSelection&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t DocumentSelection::ByteSizeLong() const {
  const DocumentSelection& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.DocumentSelection)
  ::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)) {
    // .optimization_guide.proto.DocumentIdentifier document_identifier = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.document_identifier_);
    }
    // .optimization_guide.proto.Selection selection = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.selection_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void DocumentSelection::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<DocumentSelection*>(&to_msg);
  auto& from = static_cast<const DocumentSelection&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.DocumentSelection)
  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)) {
      ABSL_DCHECK(from._impl_.document_identifier_ != nullptr);
      if (_this->_impl_.document_identifier_ == nullptr) {
        _this->_impl_.document_identifier_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.document_identifier_);
      } else {
        _this->_impl_.document_identifier_->MergeFrom(*from._impl_.document_identifier_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.selection_ != nullptr);
      if (_this->_impl_.selection_ == nullptr) {
        _this->_impl_.selection_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.selection_);
      } else {
        _this->_impl_.selection_->MergeFrom(*from._impl_.selection_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void DocumentSelection::InternalSwap(DocumentSelection* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DocumentSelection, _impl_.selection_)
      + sizeof(DocumentSelection::_impl_.selection_)
      - PROTOBUF_FIELD_OFFSET(DocumentSelection, _impl_.document_identifier_)>(
          reinterpret_cast<char*>(&_impl_.document_identifier_),
          reinterpret_cast<char*>(&other->_impl_.document_identifier_));
}

// ===================================================================

AgentContainerConfig::AgentContainerConfig(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AgentContainerConfig_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AgentContainerConfig)
}
PROTOBUF_NDEBUG_INLINE AgentContainerConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::AgentContainerConfig& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        location_rules_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::AgentContainerConfig,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AgentContainerConfig, _impl_.location_rules_)>()
          , from.location_rules_
        }
     {}

AgentContainerConfig::AgentContainerConfig(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AgentContainerConfig& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AgentContainerConfig_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AgentContainerConfig* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.AgentContainerConfig)
}
PROTOBUF_NDEBUG_INLINE AgentContainerConfig::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        location_rules_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::AgentContainerConfig,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::AgentContainerConfig, _impl_.location_rules_)>()
         }
     {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AgentContainerConfig_class_data_ =
    AgentContainerConfig::InternalGenerateClassData_(AgentContainerConfig_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AgentContainerConfig::GetClassData() const {
  return AgentContainerConfig_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AgentContainerConfig::GetClassData() const {
  return AgentContainerConfig_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AgentContainerConfig::ParseTableT_
    AgentContainerConfig::_table_ =
        AgentContainerConfig::InternalGenerateParseTable_(AgentContainerConfig_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AgentContainerConfig::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AgentContainerConfig)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.location_rules_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.LocationRule location_rules = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_location_rules_size());
         i < n; i++) {
      const auto& repfield = this_._internal_location_rules().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 = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AgentContainerConfig)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AgentContainerConfig::ByteSizeLong(const MessageLite& base) {
  const AgentContainerConfig& this_ = static_cast<const AgentContainerConfig&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AgentContainerConfig::ByteSizeLong() const {
  const AgentContainerConfig& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AgentContainerConfig)
  ::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_);
   {
    // repeated .optimization_guide.proto.LocationRule location_rules = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_location_rules_size();
      for (const auto& msg : this_._internal_location_rules()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AgentContainerConfig::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AgentContainerConfig*>(&to_msg);
  auto& from = static_cast<const AgentContainerConfig&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AgentContainerConfig)
  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_rules()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_location_rules());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AgentContainerConfig::InternalSwap(AgentContainerConfig* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.location_rules_.InternalSwap(&other->_impl_.location_rules_);
}

// ===================================================================

LocationRule::LocationRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, LocationRule_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.LocationRule)
}
PROTOBUF_NDEBUG_INLINE LocationRule::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::LocationRule& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        navigation_sources_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::LocationRule,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::LocationRule, _impl_.navigation_sources_)>()
          , from.navigation_sources_
        }
     {}

LocationRule::LocationRule(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const LocationRule& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, LocationRule_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  LocationRule* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.location_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.location_)
                : nullptr;
  _impl_.metadata_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metadata_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.LocationRule)
}
PROTOBUF_NDEBUG_INLINE LocationRule::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        navigation_sources_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::LocationRule,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::LocationRule, _impl_.navigation_sources_)>()
         }
     {}

inline void LocationRule::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, location_),
           0,
           offsetof(Impl_, metadata_) -
               offsetof(Impl_, location_) +
               sizeof(Impl_::metadata_));
}
LocationRule::~LocationRule() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.LocationRule)
  SharedDtor(*this);
}
inline void LocationRule::SharedDtor(MessageLite& self) {
  LocationRule& this_ = static_cast<LocationRule&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.location_;
  delete this_._impl_.metadata_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite LocationRule_class_data_ =
    LocationRule::InternalGenerateClassData_(LocationRule_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
LocationRule::GetClassData() const {
  return LocationRule_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
LocationRule::GetClassData() const {
  return LocationRule_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const LocationRule::ParseTableT_
    LocationRule::_table_ =
        LocationRule::InternalGenerateParseTable_(LocationRule_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void LocationRule::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.LocationRule)
  ::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_.navigation_sources_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.location_ != nullptr);
      _impl_.location_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.metadata_ != nullptr);
      _impl_.metadata_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // .optimization_guide.proto.RuleMetadata metadata = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.metadata_, this_._impl_.metadata_->GetCachedSize(), target,
        stream);
  }

  // repeated .optimization_guide.proto.NavigationSource navigation_sources = 3;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_navigation_sources_size());
         i < n; i++) {
      const auto& repfield = this_._internal_navigation_sources().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 = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.LocationRule)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t LocationRule::ByteSizeLong(const MessageLite& base) {
  const LocationRule& this_ = static_cast<const LocationRule&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t LocationRule::ByteSizeLong() const {
  const LocationRule& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.LocationRule)
  ::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 .optimization_guide.proto.NavigationSource navigation_sources = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_navigation_sources_size();
      for (const auto& msg : this_._internal_navigation_sources()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // .optimization_guide.proto.Location location = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.location_);
    }
    // .optimization_guide.proto.RuleMetadata metadata = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.metadata_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void LocationRule::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<LocationRule*>(&to_msg);
  auto& from = static_cast<const LocationRule&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.LocationRule)
  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_navigation_sources()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_navigation_sources());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.location_ != nullptr);
      if (_this->_impl_.location_ == nullptr) {
        _this->_impl_.location_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.location_);
      } else {
        _this->_impl_.location_->MergeFrom(*from._impl_.location_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.metadata_ != nullptr);
      if (_this->_impl_.metadata_ == nullptr) {
        _this->_impl_.metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metadata_);
      } else {
        _this->_impl_.metadata_->MergeFrom(*from._impl_.metadata_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void LocationRule::InternalSwap(LocationRule* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.navigation_sources_.InternalSwap(&other->_impl_.navigation_sources_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LocationRule, _impl_.metadata_)
      + sizeof(LocationRule::_impl_.metadata_)
      - PROTOBUF_FIELD_OFFSET(LocationRule, _impl_.location_)>(
          reinterpret_cast<char*>(&_impl_.location_),
          reinterpret_cast<char*>(&other->_impl_.location_));
}

// ===================================================================

void Location::set_allocated_origin(::optimization_guide::proto::Origin* PROTOBUF_NULLABLE origin) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_identifier_oneof();
  if (origin) {
    ::google::protobuf::Arena* submessage_arena = origin->GetArena();
    if (message_arena != submessage_arena) {
      origin = ::google::protobuf::internal::GetOwnedMessage(message_arena, origin, submessage_arena);
    }
    set_has_origin();
    _impl_.identifier_oneof_.origin_ = origin;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Location.origin)
}
void Location::set_allocated_site(::optimization_guide::proto::Site* PROTOBUF_NULLABLE site) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_identifier_oneof();
  if (site) {
    ::google::protobuf::Arena* submessage_arena = site->GetArena();
    if (message_arena != submessage_arena) {
      site = ::google::protobuf::internal::GetOwnedMessage(message_arena, site, submessage_arena);
    }
    set_has_site();
    _impl_.identifier_oneof_.site_ = site;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Location.site)
}
void Location::set_allocated_wildcard(::optimization_guide::proto::AnySite* PROTOBUF_NULLABLE wildcard) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_identifier_oneof();
  if (wildcard) {
    ::google::protobuf::Arena* submessage_arena = wildcard->GetArena();
    if (message_arena != submessage_arena) {
      wildcard = ::google::protobuf::internal::GetOwnedMessage(message_arena, wildcard, submessage_arena);
    }
    set_has_wildcard();
    _impl_.identifier_oneof_.wildcard_ = wildcard;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.Location.wildcard)
}
Location::Location(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Location_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Location)
}
PROTOBUF_NDEBUG_INLINE Location::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::Location& from_msg)
      : identifier_oneof_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

Location::Location(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Location& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Location_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Location* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (identifier_oneof_case()) {
    case IDENTIFIER_ONEOF_NOT_SET:
      break;
      case kOrigin:
        _impl_.identifier_oneof_.origin_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.identifier_oneof_.origin_);
        break;
      case kSite:
        _impl_.identifier_oneof_.site_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.identifier_oneof_.site_);
        break;
      case kWildcard:
        _impl_.identifier_oneof_.wildcard_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.identifier_oneof_.wildcard_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.Location)
}
PROTOBUF_NDEBUG_INLINE Location::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : identifier_oneof_{},
        _cached_size_{0},
        _oneof_case_{} {}

inline void Location::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Location::~Location() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Location)
  SharedDtor(*this);
}
inline void Location::SharedDtor(MessageLite& self) {
  Location& this_ = static_cast<Location&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  if (this_.has_identifier_oneof()) {
    this_.clear_identifier_oneof();
  }
  this_._impl_.~Impl_();
}

void Location::clear_identifier_oneof() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.Location)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (identifier_oneof_case()) {
    case kOrigin: {
      if (GetArena() == nullptr) {
        delete _impl_.identifier_oneof_.origin_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.identifier_oneof_.origin_ != nullptr) {
          _impl_.identifier_oneof_.origin_->Clear();
        }
      }
      break;
    }
    case kSite: {
      if (GetArena() == nullptr) {
        delete _impl_.identifier_oneof_.site_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.identifier_oneof_.site_ != nullptr) {
          _impl_.identifier_oneof_.site_->Clear();
        }
      }
      break;
    }
    case kWildcard: {
      if (GetArena() == nullptr) {
        delete _impl_.identifier_oneof_.wildcard_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.identifier_oneof_.wildcard_ != nullptr) {
          _impl_.identifier_oneof_.wildcard_->Clear();
        }
      }
      break;
    }
    case IDENTIFIER_ONEOF_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = IDENTIFIER_ONEOF_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Location_class_data_ =
    Location::InternalGenerateClassData_(Location_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Location::GetClassData() const {
  return Location_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Location::GetClassData() const {
  return Location_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Location::ParseTableT_
    Location::_table_ =
        Location::InternalGenerateParseTable_(Location_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Location::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Location)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_identifier_oneof();
  _internal_metadata_.Clear<::std::string>();
}

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

  switch (this_.identifier_oneof_case()) {
    case kOrigin: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, *this_._impl_.identifier_oneof_.origin_, this_._impl_.identifier_oneof_.origin_->GetCachedSize(), target,
          stream);
      break;
    }
    case kSite: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, *this_._impl_.identifier_oneof_.site_, this_._impl_.identifier_oneof_.site_->GetCachedSize(), target,
          stream);
      break;
    }
    case kWildcard: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, *this_._impl_.identifier_oneof_.wildcard_, this_._impl_.identifier_oneof_.wildcard_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Location)
  return target;
}

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

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

  switch (this_.identifier_oneof_case()) {
    // .optimization_guide.proto.Origin origin = 1;
    case kOrigin: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.identifier_oneof_.origin_);
      break;
    }
    // .optimization_guide.proto.Site site = 2;
    case kSite: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.identifier_oneof_.site_);
      break;
    }
    // .optimization_guide.proto.AnySite wildcard = 3;
    case kWildcard: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.identifier_oneof_.wildcard_);
      break;
    }
    case IDENTIFIER_ONEOF_NOT_SET: {
      break;
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  if (const uint32_t oneof_from_case =
          from._impl_._oneof_case_[0]) {
    const uint32_t oneof_to_case = _this->_impl_._oneof_case_[0];
    const bool oneof_needs_init = oneof_to_case != oneof_from_case;
    if (oneof_needs_init) {
      if (oneof_to_case != 0) {
        _this->clear_identifier_oneof();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kOrigin: {
        if (oneof_needs_init) {
          _this->_impl_.identifier_oneof_.origin_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.identifier_oneof_.origin_);
        } else {
          _this->_impl_.identifier_oneof_.origin_->CheckTypeAndMergeFrom(*from._impl_.identifier_oneof_.origin_);
        }
        break;
      }
      case kSite: {
        if (oneof_needs_init) {
          _this->_impl_.identifier_oneof_.site_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.identifier_oneof_.site_);
        } else {
          _this->_impl_.identifier_oneof_.site_->CheckTypeAndMergeFrom(*from._impl_.identifier_oneof_.site_);
        }
        break;
      }
      case kWildcard: {
        if (oneof_needs_init) {
          _this->_impl_.identifier_oneof_.wildcard_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.identifier_oneof_.wildcard_);
        } else {
          _this->_impl_.identifier_oneof_.wildcard_->CheckTypeAndMergeFrom(*from._impl_.identifier_oneof_.wildcard_);
        }
        break;
      }
      case IDENTIFIER_ONEOF_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Location::InternalSwap(Location* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.identifier_oneof_, other->_impl_.identifier_oneof_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

// ===================================================================

Origin::Origin(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Origin_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Origin)
}
PROTOBUF_NDEBUG_INLINE Origin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::Origin& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        host_(arena, from.host_) {}

Origin::Origin(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Origin& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Origin_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Origin* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, protocol_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, protocol_),
           offsetof(Impl_, port_) -
               offsetof(Impl_, protocol_) +
               sizeof(Impl_::port_));

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.Origin)
}
PROTOBUF_NDEBUG_INLINE Origin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        host_(arena) {}

inline void Origin::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, protocol_),
           0,
           offsetof(Impl_, port_) -
               offsetof(Impl_, protocol_) +
               sizeof(Impl_::port_));
}
Origin::~Origin() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Origin)
  SharedDtor(*this);
}
inline void Origin::SharedDtor(MessageLite& self) {
  Origin& this_ = static_cast<Origin&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.host_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Origin_class_data_ =
    Origin::InternalGenerateClassData_(Origin_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Origin::GetClassData() const {
  return Origin_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Origin::GetClassData() const {
  return Origin_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Origin::ParseTableT_
    Origin::_table_ =
        Origin::InternalGenerateParseTable_(Origin_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Origin::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Origin)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.host_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.protocol_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.port_) -
        reinterpret_cast<char*>(&_impl_.protocol_)) + sizeof(_impl_.port_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.Protocol protocol = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_protocol(), target);
  }

  // string host = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_host();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Origin.host");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // int32 port = 3 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_port(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Origin)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Origin::ByteSizeLong(const MessageLite& base) {
  const Origin& this_ = static_cast<const Origin&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Origin::ByteSizeLong() const {
  const Origin& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Origin)
  ::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)) {
    // string host = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_host());
    }
    // .optimization_guide.proto.Protocol protocol = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_protocol());
    }
    // int32 port = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_port());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Origin::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Origin*>(&to_msg);
  auto& from = static_cast<const Origin&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Origin)
  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_host(from._internal_host());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.protocol_ = from._impl_.protocol_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.port_ = from._impl_.port_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Origin::InternalSwap(Origin* 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_.host_, &other->_impl_.host_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Origin, _impl_.port_)
      + sizeof(Origin::_impl_.port_)
      - PROTOBUF_FIELD_OFFSET(Origin, _impl_.protocol_)>(
          reinterpret_cast<char*>(&_impl_.protocol_),
          reinterpret_cast<char*>(&other->_impl_.protocol_));
}

// ===================================================================

Site::Site(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Site_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.Site)
}
PROTOBUF_NDEBUG_INLINE Site::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::Site& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        domain_(arena, from.domain_) {}

Site::Site(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const Site& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Site_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Site* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.protocol_ = from._impl_.protocol_;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.Site)
}
PROTOBUF_NDEBUG_INLINE Site::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        domain_(arena) {}

inline void Site::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.protocol_ = {};
}
Site::~Site() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Site)
  SharedDtor(*this);
}
inline void Site::SharedDtor(MessageLite& self) {
  Site& this_ = static_cast<Site&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.domain_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Site_class_data_ =
    Site::InternalGenerateClassData_(Site_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Site::GetClassData() const {
  return Site_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Site::GetClassData() const {
  return Site_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Site::ParseTableT_
    Site::_table_ =
        Site::InternalGenerateParseTable_(Site_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Site::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.Site)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.domain_.ClearNonDefaultToEmpty();
  }
  _impl_.protocol_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.Protocol protocol = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_protocol(), target);
  }

  // string domain = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_domain();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "optimization_guide.proto.Site.domain");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.Site)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Site::ByteSizeLong(const MessageLite& base) {
  const Site& this_ = static_cast<const Site&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Site::ByteSizeLong() const {
  const Site& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Site)
  ::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)) {
    // string domain = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_domain());
    }
    // .optimization_guide.proto.Protocol protocol = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_protocol());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void Site::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Site*>(&to_msg);
  auto& from = static_cast<const Site&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Site)
  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_domain(from._internal_domain());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.protocol_ = from._impl_.protocol_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Site::InternalSwap(Site* 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_.domain_, &other->_impl_.domain_, arena);
  swap(_impl_.protocol_, other->_impl_.protocol_);
}

// ===================================================================

AnySite::AnySite(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AnySite_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.AnySite)
}
AnySite::AnySite(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AnySite& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AnySite_get_class_data()),
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena),
#endif  // PROTOBUF_CUSTOM_VTABLE
      _impl_(from._impl_) {
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}
PROTOBUF_NDEBUG_INLINE AnySite::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AnySite_class_data_ =
    AnySite::InternalGenerateClassData_(AnySite_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AnySite::GetClassData() const {
  return AnySite_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AnySite::GetClassData() const {
  return AnySite_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AnySite::ParseTableT_
    AnySite::_table_ =
        AnySite::InternalGenerateParseTable_(AnySite_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AnySite::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AnySite)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear<::std::string>();
}

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.AnySite)
  return target;
}

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

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

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AnySite::InternalSwap(AnySite* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
}

// ===================================================================

RuleMetadata::RuleMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, RuleMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.RuleMetadata)
}
PROTOBUF_NDEBUG_INLINE RuleMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::RuleMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        accessible_resources_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::RuleMetadata,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::RuleMetadata, _impl_.accessible_resources_)>()
          , from.accessible_resources_
        }
        ,
        _accessible_resources_cached_byte_size_{0},
        capabilities_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::RuleMetadata,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::RuleMetadata, _impl_.capabilities_)>()
          , from.capabilities_
        }
        ,
        _capabilities_cached_byte_size_{0} {}

RuleMetadata::RuleMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const RuleMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, RuleMetadata_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  RuleMetadata* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.RuleMetadata)
}
PROTOBUF_NDEBUG_INLINE RuleMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        accessible_resources_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::RuleMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::RuleMetadata, _impl_.accessible_resources_)>()
         }
        ,
        _accessible_resources_cached_byte_size_{0},
        capabilities_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::RuleMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::RuleMetadata, _impl_.capabilities_)>()
         }
        ,
        _capabilities_cached_byte_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite RuleMetadata_class_data_ =
    RuleMetadata::InternalGenerateClassData_(RuleMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RuleMetadata::GetClassData() const {
  return RuleMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
RuleMetadata::GetClassData() const {
  return RuleMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const RuleMetadata::ParseTableT_
    RuleMetadata::_table_ =
        RuleMetadata::InternalGenerateParseTable_(RuleMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void RuleMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.RuleMetadata)
  ::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_.accessible_resources_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.capabilities_.Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.RuleMetadata.AgentResource accessible_resources = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._accessible_resources_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            1, this_._internal_accessible_resources(), byte_size, target);
      }
    }
  }

  // repeated .optimization_guide.proto.RuleMetadata.ActuationCapability capabilities = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    {
      ::size_t byte_size = this_._impl_._capabilities_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            2, this_._internal_capabilities(), byte_size, target);
      }
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.RuleMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t RuleMetadata::ByteSizeLong(const MessageLite& base) {
  const RuleMetadata& this_ = static_cast<const RuleMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t RuleMetadata::ByteSizeLong() const {
  const RuleMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.RuleMetadata)
  ::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)) {
    // repeated .optimization_guide.proto.RuleMetadata.AgentResource accessible_resources = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_accessible_resources(), 1, this_._impl_._accessible_resources_cached_byte_size_);
    }
    // repeated .optimization_guide.proto.RuleMetadata.ActuationCapability capabilities = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_capabilities(), 1, this_._impl_._capabilities_cached_byte_size_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void RuleMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<RuleMetadata*>(&to_msg);
  auto& from = static_cast<const RuleMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.RuleMetadata)
  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_accessible_resources()->MergeFrom(from._internal_accessible_resources());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_capabilities()->MergeFrom(from._internal_capabilities());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void RuleMetadata::InternalSwap(RuleMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.accessible_resources_.InternalSwap(&other->_impl_.accessible_resources_);
  _impl_.capabilities_.InternalSwap(&other->_impl_.capabilities_);
}

// ===================================================================

NavigationSource::NavigationSource(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, NavigationSource_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:optimization_guide.proto.NavigationSource)
}
PROTOBUF_NDEBUG_INLINE NavigationSource::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::optimization_guide::proto::NavigationSource& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

NavigationSource::NavigationSource(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const NavigationSource& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, NavigationSource_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  NavigationSource* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.source_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.source_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:optimization_guide.proto.NavigationSource)
}
PROTOBUF_NDEBUG_INLINE NavigationSource::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void NavigationSource::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.source_ = {};
}
NavigationSource::~NavigationSource() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.NavigationSource)
  SharedDtor(*this);
}
inline void NavigationSource::SharedDtor(MessageLite& self) {
  NavigationSource& this_ = static_cast<NavigationSource&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  delete this_._impl_.source_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite NavigationSource_class_data_ =
    NavigationSource::InternalGenerateClassData_(NavigationSource_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NavigationSource::GetClassData() const {
  return NavigationSource_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
NavigationSource::GetClassData() const {
  return NavigationSource_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const NavigationSource::ParseTableT_
    NavigationSource::_table_ =
        NavigationSource::InternalGenerateParseTable_(NavigationSource_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void NavigationSource::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.NavigationSource)
  ::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 (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.source_ != nullptr);
    _impl_.source_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.Location source = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.source_, this_._impl_.source_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.NavigationSource)
  return target;
}

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

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

   {
    // .optimization_guide.proto.Location source = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.source_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void NavigationSource::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<NavigationSource*>(&to_msg);
  auto& from = static_cast<const NavigationSource&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.NavigationSource)
  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)) {
    ABSL_DCHECK(from._impl_.source_ != nullptr);
    if (_this->_impl_.source_ == nullptr) {
      _this->_impl_.source_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.source_);
    } else {
      _this->_impl_.source_->MergeFrom(*from._impl_.source_);
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void NavigationSource::InternalSwap(NavigationSource* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.source_, other->_impl_.source_);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace proto
}  // namespace optimization_guide
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
