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

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

constexpr GlicZeroStateSuggestionsMetadata::ParseTableT_ GlicZeroStateSuggestionsMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GlicZeroStateSuggestionsMetadata, _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::GlicZeroStateSuggestionsMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool contextual_suggestions_eligible = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(GlicZeroStateSuggestionsMetadata, _impl_.contextual_suggestions_eligible_)}},
      // repeated string contextual_suggestions = 1;
      {::_pbi::TcParser::FastBR1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(GlicZeroStateSuggestionsMetadata, _impl_.contextual_suggestions_)}},
    }}, {{
      65535, 65535
    }}, {{
      // repeated string contextual_suggestions = 1;
      {PROTOBUF_FIELD_OFFSET(GlicZeroStateSuggestionsMetadata, _impl_.contextual_suggestions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // bool contextual_suggestions_eligible = 2;
      {PROTOBUF_FIELD_OFFSET(GlicZeroStateSuggestionsMetadata, _impl_.contextual_suggestions_eligible_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr GlicZeroStateSuggestionsMetadata::GlicZeroStateSuggestionsMetadata(::_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 GlicZeroStateSuggestionsMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GlicZeroStateSuggestionsMetadata(arena);
}
constexpr auto GlicZeroStateSuggestionsMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GlicZeroStateSuggestionsMetadata), alignof(GlicZeroStateSuggestionsMetadata));
}
constexpr auto GlicZeroStateSuggestionsMetadata::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
          &GlicZeroStateSuggestionsMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GlicZeroStateSuggestionsMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GlicZeroStateSuggestionsMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GlicZeroStateSuggestionsMetadata>(), &GlicZeroStateSuggestionsMetadata::ByteSizeLong,
              &GlicZeroStateSuggestionsMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GlicZeroStateSuggestionsMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.GlicZeroStateSuggestionsMetadata",
  };
}
struct GlicZeroStateSuggestionsMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GlicZeroStateSuggestionsMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GlicZeroStateSuggestionsMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GlicZeroStateSuggestionsMetadata::InternalGenerateClassData_(
            _default, &GlicZeroStateSuggestionsMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GlicZeroStateSuggestionsMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GlicZeroStateSuggestionsMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GlicZeroStateSuggestionsMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GlicZeroStateSuggestionsMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GlicZeroStateSuggestionsMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr ContextualCueingConditions::ParseTableT_ ContextualCueingConditions::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ContextualCueingConditions, _impl_._has_bits_),
      0, // no _extensions_
      3, 8,  // 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::ContextualCueingConditions>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ContextualCueingOperator cueing_operator = 2;
      {::_pbi::TcParser::FastEr0S1,
       {16, 1, 2,
        PROTOBUF_FIELD_OFFSET(ContextualCueingConditions, _impl_.cueing_operator_)}},
      // .optimization_guide.proto.ContextualCueingClientSignal signal = 1;
      {::_pbi::TcParser::FastEr0S1,
       {8, 0, 2,
        PROTOBUF_FIELD_OFFSET(ContextualCueingConditions, _impl_.signal_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ContextualCueingClientSignal signal = 1;
      {PROTOBUF_FIELD_OFFSET(ContextualCueingConditions, _impl_.signal_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // .optimization_guide.proto.ContextualCueingOperator cueing_operator = 2;
      {PROTOBUF_FIELD_OFFSET(ContextualCueingConditions, _impl_.cueing_operator_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // int64 int64_threshold = 3;
      {PROTOBUF_FIELD_OFFSET(ContextualCueingConditions, _impl_.threshold_.int64_threshold_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kInt64)},
    }},
    {{
        {0, 2},
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr ContextualCueingConditions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        signal_{static_cast< ::optimization_guide::proto::ContextualCueingClientSignal >(0)},
        cueing_operator_{static_cast< ::optimization_guide::proto::ContextualCueingOperator >(0)},
        threshold_{},
        _oneof_case_{} {}

template <typename>
constexpr ContextualCueingConditions::ContextualCueingConditions(::_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 ContextualCueingConditions::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) ContextualCueingConditions(arena);
}
constexpr auto ContextualCueingConditions::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(ContextualCueingConditions), alignof(ContextualCueingConditions));
}
constexpr auto ContextualCueingConditions::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
          &ContextualCueingConditions::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<ContextualCueingConditions>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &ContextualCueingConditions::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<ContextualCueingConditions>(), &ContextualCueingConditions::ByteSizeLong,
              &ContextualCueingConditions::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(ContextualCueingConditions, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.ContextualCueingConditions",
  };
}
struct ContextualCueingConditionsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr ContextualCueingConditionsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 ContextualCueingConditions_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(ContextualCueingConditions::InternalGenerateClassData_(
            _default, &ContextualCueingConditions_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<ContextualCueingConditions>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~ContextualCueingConditionsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) ContextualCueingConditions _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<ContextualCueingConditions>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(ContextualCueingConditionsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr AutoSendParams::ParseTableT_ AutoSendParams::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AutoSendParams, _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::AutoSendParams>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // bool auto_send_eligible = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(AutoSendParams, _impl_.auto_send_eligible_)}},
    }}, {{
      65535, 65535
    }}, {{
      // bool auto_send_eligible = 1;
      {PROTOBUF_FIELD_OFFSET(AutoSendParams, _impl_.auto_send_eligible_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

template <typename>
constexpr AutoSendParams::AutoSendParams(::_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 AutoSendParams::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AutoSendParams(arena);
}
constexpr auto AutoSendParams::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(AutoSendParams), alignof(AutoSendParams));
}
constexpr auto AutoSendParams::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
          &AutoSendParams::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AutoSendParams>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AutoSendParams::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AutoSendParams>(), &AutoSendParams::ByteSizeLong,
              &AutoSendParams::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AutoSendParams, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.AutoSendParams",
  };
}
struct AutoSendParamsGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AutoSendParamsGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AutoSendParams_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AutoSendParams::InternalGenerateClassData_(
            _default, &AutoSendParams_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AutoSendParams>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AutoSendParamsGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AutoSendParams _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AutoSendParams>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AutoSendParamsGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

constexpr GlicCueingConfiguration::ParseTableT_ GlicCueingConfiguration::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _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
      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::GlicCueingConfiguration>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string cue_label = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 2, 0,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.cue_label_)}},
      // repeated .optimization_guide.proto.ContextualCueingConditions conditions = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.conditions_)}},
      // .optimization_guide.proto.ContextualCueingFeature cue_feature = 3;
      {::_pbi::TcParser::FastEr0S1,
       {24, 7, 2,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.cue_feature_)}},
      // string dynamic_cue_label = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.dynamic_cue_label_)}},
      // string default_text = 5;
      {::_pbi::TcParser::FastBS1,
       {42, 4, 0,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.default_text_)}},
      // bool auto_open_eligible = 6;
      {::_pbi::TcParser::FastV8S1,
       {48, 8, 0,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.auto_open_eligible_)}},
      // .optimization_guide.proto.AutoSendParams auto_send_params = 7;
      {::_pbi::TcParser::FastMtS1,
       {58, 6, 1,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.auto_send_params_)}},
      // string dynamic_cue_secondary_label = 8;
      {::_pbi::TcParser::FastBS1,
       {66, 5, 0,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.dynamic_cue_secondary_label_)}},
      // repeated string allowed_mime_types = 9;
      {::_pbi::TcParser::FastBR1,
       {74, 1, 0,
        PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.allowed_mime_types_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string cue_label = 1;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.cue_label_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated .optimization_guide.proto.ContextualCueingConditions conditions = 2;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.conditions_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ContextualCueingFeature cue_feature = 3;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.cue_feature_), _Internal::kHasBitsOffset + 7, 2, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
      // string dynamic_cue_label = 4;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.dynamic_cue_label_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // string default_text = 5;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.default_text_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // bool auto_open_eligible = 6;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.auto_open_eligible_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.AutoSendParams auto_send_params = 7;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.auto_send_params_), _Internal::kHasBitsOffset + 6, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // string dynamic_cue_secondary_label = 8;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.dynamic_cue_secondary_label_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string allowed_mime_types = 9;
      {PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.allowed_mime_types_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ContextualCueingConditions>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ContextualCueingConditions_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AutoSendParams>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AutoSendParams_globals_},
        #endif
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr GlicCueingConfiguration::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        conditions_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GlicCueingConfiguration,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GlicCueingConfiguration, _impl_.conditions_)>()
         }
        ,
        allowed_mime_types_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GlicCueingConfiguration,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GlicCueingConfiguration, _impl_.allowed_mime_types_)>()
         }
        ,
        cue_label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dynamic_cue_label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        default_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        dynamic_cue_secondary_label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        auto_send_params_{nullptr},
        cue_feature_{static_cast< ::optimization_guide::proto::ContextualCueingFeature >(0)},
        auto_open_eligible_{false} {}

template <typename>
constexpr GlicCueingConfiguration::GlicCueingConfiguration(::_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 GlicCueingConfiguration::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GlicCueingConfiguration(arena);
}
constexpr auto GlicCueingConfiguration::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GlicCueingConfiguration), alignof(GlicCueingConfiguration));
}
constexpr auto GlicCueingConfiguration::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
          &GlicCueingConfiguration::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GlicCueingConfiguration>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GlicCueingConfiguration::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GlicCueingConfiguration>(), &GlicCueingConfiguration::ByteSizeLong,
              &GlicCueingConfiguration::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.GlicCueingConfiguration",
  };
}
struct GlicCueingConfigurationGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GlicCueingConfigurationGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GlicCueingConfiguration_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GlicCueingConfiguration::InternalGenerateClassData_(
            _default, &GlicCueingConfiguration_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GlicCueingConfiguration>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GlicCueingConfigurationGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GlicCueingConfiguration _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GlicCueingConfiguration>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GlicCueingConfigurationGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

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

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


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

template <typename>
constexpr GlicContextualCueingMetadata::GlicContextualCueingMetadata(::_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 GlicContextualCueingMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GlicContextualCueingMetadata(arena);
}
constexpr auto GlicContextualCueingMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GlicContextualCueingMetadata), alignof(GlicContextualCueingMetadata));
}
constexpr auto GlicContextualCueingMetadata::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
          &GlicContextualCueingMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GlicContextualCueingMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GlicContextualCueingMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GlicContextualCueingMetadata>(), &GlicContextualCueingMetadata::ByteSizeLong,
              &GlicContextualCueingMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GlicContextualCueingMetadata, _impl_._cached_size_),
          true,
      },
      "optimization_guide.proto.GlicContextualCueingMetadata",
  };
}
struct GlicContextualCueingMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GlicContextualCueingMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GlicContextualCueingMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GlicContextualCueingMetadata::InternalGenerateClassData_(
            _default, &GlicContextualCueingMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GlicContextualCueingMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GlicContextualCueingMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GlicContextualCueingMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GlicContextualCueingMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GlicContextualCueingMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST GlicContextualCueingMetadataGlobalsTypeInternal GlicContextualCueingMetadata_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* GlicContextualCueingMetadata_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return GlicContextualCueingMetadata_globals_.GetClassData();
#else
  return GlicContextualCueingMetadata_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 ContextualCueingClientSignal_internal_data_[] = {
    196608u, 0u, };
static const char ContextualCueingClientSignal_names[] = {
    "CONTEXTUAL_CUEING_CLIENT_SIGNAL_CONTENT_LENGTH_WORD_COUNT"
    "CONTEXTUAL_CUEING_CLIENT_SIGNAL_PDF_PAGE_COUNT"
    "CONTEXTUAL_CUEING_CLIENT_SIGNAL_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry ContextualCueingClientSignal_entries[] = {
    {{&ContextualCueingClientSignal_names[0], 57}, 2},
    {{&ContextualCueingClientSignal_names[57], 46}, 1},
    {{&ContextualCueingClientSignal_names[103], 43}, 0},
};

static const int ContextualCueingClientSignal_entries_by_number[] = {
    2,  // 0 -> CONTEXTUAL_CUEING_CLIENT_SIGNAL_UNSPECIFIED
    1,  // 1 -> CONTEXTUAL_CUEING_CLIENT_SIGNAL_PDF_PAGE_COUNT
    0,  // 2 -> CONTEXTUAL_CUEING_CLIENT_SIGNAL_CONTENT_LENGTH_WORD_COUNT
};

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

const ::std::string& ContextualCueingClientSignal_Name(ContextualCueingClientSignal value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ContextualCueingClientSignal_entries, ContextualCueingClientSignal_entries_by_number, 3,
      ContextualCueingClientSignal_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ContextualCueingClientSignal_entries,
                                  ContextualCueingClientSignal_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ContextualCueingClientSignal_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ContextualCueingOperator_internal_data_[] = {
    196608u, 0u, };
static const char ContextualCueingOperator_names[] = {
    "CONTEXTUAL_CUEING_OPERATOR_GREATER_THAN_OR_EQUAL_TO"
    "CONTEXTUAL_CUEING_OPERATOR_LESS_THAN_OR_EQUAL_TO"
    "CONTEXTUAL_CUEING_OPERATOR_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry ContextualCueingOperator_entries[] = {
    {{&ContextualCueingOperator_names[0], 51}, 1},
    {{&ContextualCueingOperator_names[51], 48}, 2},
    {{&ContextualCueingOperator_names[99], 38}, 0},
};

static const int ContextualCueingOperator_entries_by_number[] = {
    2,  // 0 -> CONTEXTUAL_CUEING_OPERATOR_UNSPECIFIED
    0,  // 1 -> CONTEXTUAL_CUEING_OPERATOR_GREATER_THAN_OR_EQUAL_TO
    1,  // 2 -> CONTEXTUAL_CUEING_OPERATOR_LESS_THAN_OR_EQUAL_TO
};

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

const ::std::string& ContextualCueingOperator_Name(ContextualCueingOperator value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ContextualCueingOperator_entries, ContextualCueingOperator_entries_by_number, 3,
      ContextualCueingOperator_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ContextualCueingOperator_entries,
                                  ContextualCueingOperator_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ContextualCueingOperator_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ContextualCueingFeature_internal_data_[] = {
    196608u, 0u, };
static const char ContextualCueingFeature_names[] = {
    "CONTEXTUAL_CUEING_FEATURE_GLIC"
    "CONTEXTUAL_CUEING_FEATURE_GLIC_ACTOR"
    "CONTEXTUAL_CUEING_FEATURE_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry ContextualCueingFeature_entries[] = {
    {{&ContextualCueingFeature_names[0], 30}, 1},
    {{&ContextualCueingFeature_names[30], 36}, 2},
    {{&ContextualCueingFeature_names[66], 37}, 0},
};

static const int ContextualCueingFeature_entries_by_number[] = {
    2,  // 0 -> CONTEXTUAL_CUEING_FEATURE_UNSPECIFIED
    0,  // 1 -> CONTEXTUAL_CUEING_FEATURE_GLIC
    1,  // 2 -> CONTEXTUAL_CUEING_FEATURE_GLIC_ACTOR
};

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

const ::std::string& ContextualCueingFeature_Name(ContextualCueingFeature value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ContextualCueingFeature_entries, ContextualCueingFeature_entries_by_number, 3,
      ContextualCueingFeature_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ContextualCueingFeature_entries,
                                  ContextualCueingFeature_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ContextualCueingFeature_strings[idx].get();
}
// ===================================================================

ContextualCueingConditions::ContextualCueingConditions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextualCueingConditions_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.ContextualCueingConditions)
}
ContextualCueingConditions::ContextualCueingConditions(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ContextualCueingConditions& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ContextualCueingConditions_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 ContextualCueingConditions::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        threshold_{},
        _oneof_case_{} {}

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

void ContextualCueingConditions::clear_threshold() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.ContextualCueingConditions)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (threshold_case()) {
    case kInt64Threshold: {
      // No need to clear
      break;
    }
    case THRESHOLD_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = THRESHOLD_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ContextualCueingConditions_class_data_ =
    ContextualCueingConditions::InternalGenerateClassData_(ContextualCueingConditions_globals_._default);

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.ContextualCueingClientSignal signal = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this_._internal_signal(), target);
  }

  // .optimization_guide.proto.ContextualCueingOperator cueing_operator = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this_._internal_cueing_operator(), target);
  }

  // int64 int64_threshold = 3;
  if (this_.threshold_case() == kInt64Threshold) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_int64_threshold(), 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.ContextualCueingConditions)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t ContextualCueingConditions::ByteSizeLong(const MessageLite& base) {
  const ContextualCueingConditions& this_ = static_cast<const ContextualCueingConditions&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t ContextualCueingConditions::ByteSizeLong() const {
  const ContextualCueingConditions& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.ContextualCueingConditions)
  ::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.ContextualCueingClientSignal signal = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_signal());
    }
    // .optimization_guide.proto.ContextualCueingOperator cueing_operator = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_cueing_operator());
    }
  }
  switch (this_.threshold_case()) {
    // int64 int64_threshold = 3;
    case kInt64Threshold: {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_int64_threshold());
      break;
    }
    case THRESHOLD_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 ContextualCueingConditions::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ContextualCueingConditions*>(&to_msg);
  auto& from = static_cast<const ContextualCueingConditions&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ContextualCueingConditions)
  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_.signal_ = from._impl_.signal_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.cueing_operator_ = from._impl_.cueing_operator_;
    }
  }
  _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_threshold();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kInt64Threshold: {
        _this->_impl_.threshold_.int64_threshold_ = from._impl_.threshold_.int64_threshold_;
        break;
      }
      case THRESHOLD_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ContextualCueingConditions::InternalSwap(ContextualCueingConditions* 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(ContextualCueingConditions, _impl_.cueing_operator_)
      + sizeof(ContextualCueingConditions::_impl_.cueing_operator_)
      - PROTOBUF_FIELD_OFFSET(ContextualCueingConditions, _impl_.signal_)>(
          reinterpret_cast<char*>(&_impl_.signal_),
          reinterpret_cast<char*>(&other->_impl_.signal_));
  swap(_impl_.threshold_, other->_impl_.threshold_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

GlicContextualCueingMetadata::GlicContextualCueingMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GlicContextualCueingMetadata_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.GlicContextualCueingMetadata)
}
PROTOBUF_NDEBUG_INLINE GlicContextualCueingMetadata::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::GlicContextualCueingMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        cueing_configurations_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::GlicContextualCueingMetadata,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GlicContextualCueingMetadata, _impl_.cueing_configurations_)>()
          , from.cueing_configurations_
        }
     {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GlicContextualCueingMetadata* 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.GlicContextualCueingMetadata)
}
PROTOBUF_NDEBUG_INLINE GlicContextualCueingMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        cueing_configurations_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::optimization_guide::proto::GlicContextualCueingMetadata,
            PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GlicContextualCueingMetadata, _impl_.cueing_configurations_)>()
         }
     {}

inline void GlicContextualCueingMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GlicContextualCueingMetadata::~GlicContextualCueingMetadata() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.GlicContextualCueingMetadata)
  SharedDtor(*this);
}
inline void GlicContextualCueingMetadata::SharedDtor(MessageLite& self) {
  GlicContextualCueingMetadata& this_ = static_cast<GlicContextualCueingMetadata&>(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 GlicContextualCueingMetadata_class_data_ =
    GlicContextualCueingMetadata::InternalGenerateClassData_(GlicContextualCueingMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GlicContextualCueingMetadata::GetClassData() const {
  return GlicContextualCueingMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GlicContextualCueingMetadata::GetClassData() const {
  return GlicContextualCueingMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GlicContextualCueingMetadata::ParseTableT_
    GlicContextualCueingMetadata::_table_ =
        GlicContextualCueingMetadata::InternalGenerateParseTable_(GlicContextualCueingMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GlicContextualCueingMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.GlicContextualCueingMetadata)
  ::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_.cueing_configurations_.Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // repeated .optimization_guide.proto.GlicCueingConfiguration cueing_configurations = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_cueing_configurations_size());
         i < n; i++) {
      const auto& repfield = this_._internal_cueing_configurations().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.GlicContextualCueingMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GlicContextualCueingMetadata::ByteSizeLong(const MessageLite& base) {
  const GlicContextualCueingMetadata& this_ = static_cast<const GlicContextualCueingMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GlicContextualCueingMetadata::ByteSizeLong() const {
  const GlicContextualCueingMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.GlicContextualCueingMetadata)
  ::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.GlicCueingConfiguration cueing_configurations = 1;
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_cueing_configurations_size();
      for (const auto& msg : this_._internal_cueing_configurations()) {
        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 GlicContextualCueingMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GlicContextualCueingMetadata*>(&to_msg);
  auto& from = static_cast<const GlicContextualCueingMetadata&>(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.GlicContextualCueingMetadata)
  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_cueing_configurations()->InternalMergeFromWithArena(
        ::google::protobuf::MessageLite::internal_visibility(), arena,
        from._internal_cueing_configurations());
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GlicContextualCueingMetadata::InternalSwap(GlicContextualCueingMetadata* 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_.cueing_configurations_.InternalSwap(&other->_impl_.cueing_configurations_);
}

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

GlicCueingConfiguration::GlicCueingConfiguration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GlicCueingConfiguration_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.GlicCueingConfiguration)
}
PROTOBUF_NDEBUG_INLINE GlicCueingConfiguration::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::GlicCueingConfiguration& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        conditions_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::GlicCueingConfiguration,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GlicCueingConfiguration, _impl_.conditions_)>()
          , from.conditions_
        }
        ,
        allowed_mime_types_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::GlicCueingConfiguration,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GlicCueingConfiguration, _impl_.allowed_mime_types_)>()
          , from.allowed_mime_types_
        }
        ,
        cue_label_(arena, from.cue_label_),
        dynamic_cue_label_(arena, from.dynamic_cue_label_),
        default_text_(arena, from.default_text_),
        dynamic_cue_secondary_label_(arena, from.dynamic_cue_secondary_label_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GlicCueingConfiguration* 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_.auto_send_params_ = (CheckHasBit(cached_has_bits, 0x00000040U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.auto_send_params_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, cue_feature_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, cue_feature_),
           offsetof(Impl_, auto_open_eligible_) -
               offsetof(Impl_, cue_feature_) +
               sizeof(Impl_::auto_open_eligible_));

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite GlicCueingConfiguration_class_data_ =
    GlicCueingConfiguration::InternalGenerateClassData_(GlicCueingConfiguration_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.conditions_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.allowed_mime_types_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.cue_label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.dynamic_cue_label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.default_text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.dynamic_cue_secondary_label_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(_impl_.auto_send_params_ != nullptr);
      _impl_.auto_send_params_->Clear();
    }
  }
  _impl_.cue_feature_ = 0;
  _impl_.auto_open_eligible_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // .optimization_guide.proto.ContextualCueingFeature cue_feature = 3;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this_._internal_cue_feature(), target);
  }

  // string dynamic_cue_label = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    const ::std::string& _s = this_._internal_dynamic_cue_label();
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // string default_text = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    const ::std::string& _s = this_._internal_default_text();
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // bool auto_open_eligible = 6;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_auto_open_eligible(), target);
  }

  // .optimization_guide.proto.AutoSendParams auto_send_params = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.auto_send_params_, this_._impl_.auto_send_params_->GetCachedSize(), target,
        stream);
  }

  // string dynamic_cue_secondary_label = 8;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    const ::std::string& _s = this_._internal_dynamic_cue_secondary_label();
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // repeated string allowed_mime_types = 9;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (int i = 0, n = this_._internal_allowed_mime_types_size(); i < n; ++i) {
      const auto& s = this_._internal_allowed_mime_types().Get(i);
      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.GlicCueingConfiguration)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GlicCueingConfiguration::ByteSizeLong(const MessageLite& base) {
  const GlicCueingConfiguration& this_ = static_cast<const GlicCueingConfiguration&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GlicCueingConfiguration::ByteSizeLong() const {
  const GlicCueingConfiguration& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.GlicCueingConfiguration)
  ::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) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated .optimization_guide.proto.ContextualCueingConditions conditions = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_conditions_size();
      for (const auto& msg : this_._internal_conditions()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated string allowed_mime_types = 9;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_allowed_mime_types().size());
      for (int i = 0, n = this_._internal_allowed_mime_types().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_allowed_mime_types().Get(i));
      }
    }
    // string cue_label = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_cue_label());
    }
    // string dynamic_cue_label = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_dynamic_cue_label());
    }
    // string default_text = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_default_text());
    }
    // string dynamic_cue_secondary_label = 8;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_dynamic_cue_secondary_label());
    }
    // .optimization_guide.proto.AutoSendParams auto_send_params = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.auto_send_params_);
    }
    // .optimization_guide.proto.ContextualCueingFeature cue_feature = 3;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_cue_feature());
    }
  }
  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 GlicCueingConfiguration::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GlicCueingConfiguration*>(&to_msg);
  auto& from = static_cast<const GlicCueingConfiguration&>(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.GlicCueingConfiguration)
  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_conditions()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_conditions());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_allowed_mime_types()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_allowed_mime_types());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_cue_label(from._internal_cue_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_dynamic_cue_label(from._internal_dynamic_cue_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_default_text(from._internal_default_text());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_dynamic_cue_secondary_label(from._internal_dynamic_cue_secondary_label());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      ABSL_DCHECK(from._impl_.auto_send_params_ != nullptr);
      if (_this->_impl_.auto_send_params_ == nullptr) {
        _this->_impl_.auto_send_params_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.auto_send_params_);
      } else {
        _this->_impl_.auto_send_params_->MergeFrom(*from._impl_.auto_send_params_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.cue_feature_ = from._impl_.cue_feature_;
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    _this->_impl_.auto_open_eligible_ = from._impl_.auto_open_eligible_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GlicCueingConfiguration::InternalSwap(GlicCueingConfiguration* 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_.conditions_.InternalSwap(&other->_impl_.conditions_);
  _impl_.allowed_mime_types_.InternalSwap(&other->_impl_.allowed_mime_types_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.cue_label_, &other->_impl_.cue_label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.dynamic_cue_label_, &other->_impl_.dynamic_cue_label_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.default_text_, &other->_impl_.default_text_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.dynamic_cue_secondary_label_, &other->_impl_.dynamic_cue_secondary_label_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.auto_open_eligible_)
      + sizeof(GlicCueingConfiguration::_impl_.auto_open_eligible_)
      - PROTOBUF_FIELD_OFFSET(GlicCueingConfiguration, _impl_.auto_send_params_)>(
          reinterpret_cast<char*>(&_impl_.auto_send_params_),
          reinterpret_cast<char*>(&other->_impl_.auto_send_params_));
}

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

AutoSendParams::AutoSendParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutoSendParams_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.AutoSendParams)
}
AutoSendParams::AutoSendParams(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const AutoSendParams& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AutoSendParams_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 AutoSendParams::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void AutoSendParams::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.auto_send_eligible_ = {};
}
AutoSendParams::~AutoSendParams() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.AutoSendParams)
  SharedDtor(*this);
}
inline void AutoSendParams::SharedDtor(MessageLite& self) {
  AutoSendParams& this_ = static_cast<AutoSendParams&>(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 AutoSendParams_class_data_ =
    AutoSendParams::InternalGenerateClassData_(AutoSendParams_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutoSendParams::GetClassData() const {
  return AutoSendParams_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AutoSendParams::GetClassData() const {
  return AutoSendParams_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AutoSendParams::ParseTableT_
    AutoSendParams::_table_ =
        AutoSendParams::InternalGenerateParseTable_(AutoSendParams_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AutoSendParams::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.AutoSendParams)
  ::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_.auto_send_eligible_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // bool auto_send_eligible = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_auto_send_eligible(), 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.AutoSendParams)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AutoSendParams::ByteSizeLong(const MessageLite& base) {
  const AutoSendParams& this_ = static_cast<const AutoSendParams&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AutoSendParams::ByteSizeLong() const {
  const AutoSendParams& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.AutoSendParams)
  ::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 AutoSendParams::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AutoSendParams*>(&to_msg);
  auto& from = static_cast<const AutoSendParams&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.AutoSendParams)
  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_.auto_send_eligible_ = from._impl_.auto_send_eligible_;
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void AutoSendParams::InternalSwap(AutoSendParams* 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_.auto_send_eligible_, other->_impl_.auto_send_eligible_);
}

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

GlicZeroStateSuggestionsMetadata::GlicZeroStateSuggestionsMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GlicZeroStateSuggestionsMetadata_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.GlicZeroStateSuggestionsMetadata)
}
PROTOBUF_NDEBUG_INLINE GlicZeroStateSuggestionsMetadata::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::GlicZeroStateSuggestionsMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        contextual_suggestions_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::optimization_guide::proto::GlicZeroStateSuggestionsMetadata,
              PROTOBUF_FIELD_OFFSET(::optimization_guide::proto::GlicZeroStateSuggestionsMetadata, _impl_.contextual_suggestions_)>()
          , from.contextual_suggestions_
        }
     {}

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

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

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

inline void GlicZeroStateSuggestionsMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.contextual_suggestions_eligible_ = {};
}
GlicZeroStateSuggestionsMetadata::~GlicZeroStateSuggestionsMetadata() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.GlicZeroStateSuggestionsMetadata)
  SharedDtor(*this);
}
inline void GlicZeroStateSuggestionsMetadata::SharedDtor(MessageLite& self) {
  GlicZeroStateSuggestionsMetadata& this_ = static_cast<GlicZeroStateSuggestionsMetadata&>(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 GlicZeroStateSuggestionsMetadata_class_data_ =
    GlicZeroStateSuggestionsMetadata::InternalGenerateClassData_(GlicZeroStateSuggestionsMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GlicZeroStateSuggestionsMetadata::GetClassData() const {
  return GlicZeroStateSuggestionsMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GlicZeroStateSuggestionsMetadata::GetClassData() const {
  return GlicZeroStateSuggestionsMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GlicZeroStateSuggestionsMetadata::ParseTableT_
    GlicZeroStateSuggestionsMetadata::_table_ =
        GlicZeroStateSuggestionsMetadata::InternalGenerateParseTable_(GlicZeroStateSuggestionsMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GlicZeroStateSuggestionsMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:optimization_guide.proto.GlicZeroStateSuggestionsMetadata)
  ::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_.contextual_suggestions_.Clear();
  }
  _impl_.contextual_suggestions_eligible_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  // bool contextual_suggestions_eligible = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this_._internal_contextual_suggestions_eligible(), 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.GlicZeroStateSuggestionsMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GlicZeroStateSuggestionsMetadata::ByteSizeLong(const MessageLite& base) {
  const GlicZeroStateSuggestionsMetadata& this_ = static_cast<const GlicZeroStateSuggestionsMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GlicZeroStateSuggestionsMetadata::ByteSizeLong() const {
  const GlicZeroStateSuggestionsMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.GlicZeroStateSuggestionsMetadata)
  ::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;
   {
    // repeated string contextual_suggestions = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_contextual_suggestions().size());
      for (int i = 0, n = this_._internal_contextual_suggestions().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_contextual_suggestions().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 GlicZeroStateSuggestionsMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GlicZeroStateSuggestionsMetadata*>(&to_msg);
  auto& from = static_cast<const GlicZeroStateSuggestionsMetadata&>(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.GlicZeroStateSuggestionsMetadata)
  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_contextual_suggestions()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_contextual_suggestions());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.contextual_suggestions_eligible_ = from._impl_.contextual_suggestions_eligible_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void GlicZeroStateSuggestionsMetadata::InternalSwap(GlicZeroStateSuggestionsMetadata* 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_.contextual_suggestions_.InternalSwap(&other->_impl_.contextual_suggestions_);
  swap(_impl_.contextual_suggestions_eligible_, other->_impl_.contextual_suggestions_eligible_);
}

// @@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"
