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

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

constexpr Int128::ParseTableT_ Int128::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Int128, _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::Int128>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // uint64 low = 2 [features = {
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(Int128, _impl_.low_)}},
      // uint64 high = 1 [features = {
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(Int128, _impl_.high_)}},
    }}, {{
      65535, 65535
    }}, {{
      // uint64 high = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(Int128, _impl_.high_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // uint64 low = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(Int128, _impl_.low_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Int128::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        high_{::uint64_t{0u}},
        low_{::uint64_t{0u}} {}

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

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

constexpr ComposeResponse::ParseTableT_ ComposeResponse::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ComposeResponse, _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::ComposeResponse>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string output = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ComposeResponse, _impl_.output_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string output = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeResponse, _impl_.output_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
      "\50\6\0\0\0\0\0\0"
      "optimization_guide.proto.ComposeResponse"
      "output"
    }},
  };
}


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

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

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

constexpr ComposeRequest_RewriteParams::ParseTableT_ ComposeRequest_RewriteParams::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ComposeRequest_RewriteParams, _impl_._has_bits_),
      0, // no _extensions_
      4, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeRequest_RewriteParams>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // string previous_response = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ComposeRequest_RewriteParams, _impl_.previous_response_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string previous_response = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeRequest_RewriteParams, _impl_.previous_response_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.ComposeTone tone = 2;
      {PROTOBUF_FIELD_OFFSET(ComposeRequest_RewriteParams, _impl_.modifier_.tone_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.ComposeLength length = 3;
      {PROTOBUF_FIELD_OFFSET(ComposeRequest_RewriteParams, _impl_.modifier_.length_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kOpenEnum)},
      // bool regenerate = 4;
      {PROTOBUF_FIELD_OFFSET(ComposeRequest_RewriteParams, _impl_.modifier_.regenerate_), _Internal::kOneofCaseOffset + 0, 0, (0 | ::_fl::kFcOneof | ::_fl::kBool)},
    }},
    // no aux_entries
    {{
      "\65\21\0\0\0\0\0\0"
      "optimization_guide.proto.ComposeRequest.RewriteParams"
      "previous_response"
    }},
  };
}


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

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

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

constexpr ComposeRequest_GenerateParams::ParseTableT_ ComposeRequest_GenerateParams::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ComposeRequest_GenerateParams, _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::ComposeRequest_GenerateParams>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ComposeUpfrontInputMode upfront_input_mode = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(ComposeRequest_GenerateParams, _impl_.upfront_input_mode_)}},
      // string user_input = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ComposeRequest_GenerateParams, _impl_.user_input_)}},
    }}, {{
      65535, 65535
    }}, {{
      // string user_input = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeRequest_GenerateParams, _impl_.user_input_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.ComposeUpfrontInputMode upfront_input_mode = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeRequest_GenerateParams, _impl_.upfront_input_mode_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    // no aux_entries
    {{
      "\66\12\0\0\0\0\0\0"
      "optimization_guide.proto.ComposeRequest.GenerateParams"
      "user_input"
    }},
  };
}


inline constexpr ComposeRequest_GenerateParams::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        user_input_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        upfront_input_mode_{static_cast< ::optimization_guide::proto::ComposeUpfrontInputMode >(0)} {}

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

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

constexpr ComposeQuality::ParseTableT_ ComposeQuality::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_._has_bits_),
      0, // no _extensions_
      10, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294966276,  // skipmap
      offsetof(ParseTableT_, field_entries),
      9,  // 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::ComposeQuality>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.FinalStatus final_status = 1 [features = {
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.final_status_)}},
      // .optimization_guide.proto.UserFeedback user_feedback = 2 [features = {
      {::_pbi::TcParser::FastV32S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.user_feedback_)}},
      {::_pbi::TcParser::MiniParse, {}},
      // int64 request_latency_ms = 4 [features = {
      {::_pbi::TcParser::FastV64S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.request_latency_ms_)}},
      // int64 edit_distance = 5 [features = {
      {::_pbi::TcParser::FastV64S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.edit_distance_)}},
      // .optimization_guide.proto.Int128 session_id = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 0, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.session_id_)}},
      // bool was_generated_via_edit = 7 [features = {
      {::_pbi::TcParser::FastV8S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.was_generated_via_edit_)}},
      // .optimization_guide.proto.ClientRequestStatus client_request_status = 8 [features = {
      {::_pbi::TcParser::FastV32S1,
       {64, 5, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.client_request_status_)}},
      // bool started_with_proactive_nudge = 9 [features = {
      {::_pbi::TcParser::FastV8S1,
       {72, 7, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.started_with_proactive_nudge_)}},
      // .optimization_guide.proto.FinalModelStatus final_model_status = 10 [features = {
      {::_pbi::TcParser::FastV32S1,
       {80, 8, 0,
        PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.final_model_status_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.FinalStatus final_status = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.final_status_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // .optimization_guide.proto.UserFeedback user_feedback = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.user_feedback_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // int64 request_latency_ms = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.request_latency_ms_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // int64 edit_distance = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.edit_distance_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // .optimization_guide.proto.Int128 session_id = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.session_id_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // bool was_generated_via_edit = 7 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.was_generated_via_edit_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.ClientRequestStatus client_request_status = 8 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.client_request_status_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
      // bool started_with_proactive_nudge = 9 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.started_with_proactive_nudge_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // .optimization_guide.proto.FinalModelStatus final_model_status = 10 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.final_model_status_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kOpenEnum)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::Int128>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::Int128_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ComposeQuality::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        session_id_{nullptr},
        final_status_{static_cast< ::optimization_guide::proto::FinalStatus >(0)},
        user_feedback_{static_cast< ::optimization_guide::proto::UserFeedback >(0)},
        request_latency_ms_{::int64_t{0}},
        edit_distance_{::int64_t{0}},
        client_request_status_{static_cast< ::optimization_guide::proto::ClientRequestStatus >(0)},
        was_generated_via_edit_{false},
        started_with_proactive_nudge_{false},
        final_model_status_{static_cast< ::optimization_guide::proto::FinalModelStatus >(0)} {}

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

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

constexpr ComposePageMetadata::ParseTableT_ ComposePageMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967232,  // skipmap
      offsetof(ParseTableT_, field_entries),
      6,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposePageMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // string page_url = 1 [features = {
      {::_pbi::TcParser::FastUS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_url_)}},
      // string page_title = 2 [features = {
      {::_pbi::TcParser::FastUS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_title_)}},
      // string page_inner_text = 3 [features = {
      {::_pbi::TcParser::FastUS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_inner_text_)}},
      // uint64 page_inner_text_offset = 4 [features = {
      {::_pbi::TcParser::FastV64S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_inner_text_offset_)}},
      // string trimmed_page_inner_text = 5 [features = {
      {::_pbi::TcParser::FastUS1,
       {42, 3, 0,
        PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.trimmed_page_inner_text_)}},
      // .optimization_guide.proto.AXTreeUpdate ax_tree_update = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 4, 0,
        PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.ax_tree_update_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // string page_url = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_url_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string page_title = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_title_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // string page_inner_text = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_inner_text_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // uint64 page_inner_text_offset = 4 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_inner_text_offset_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // string trimmed_page_inner_text = 5 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.trimmed_page_inner_text_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)},
      // .optimization_guide.proto.AXTreeUpdate ax_tree_update = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.ax_tree_update_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::AXTreeUpdate>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::AXTreeUpdate_globals_},
        #endif
    }},
    {{
      "\54\10\12\17\0\27\0\0"
      "optimization_guide.proto.ComposePageMetadata"
      "page_url"
      "page_title"
      "page_inner_text"
      "trimmed_page_inner_text"
    }},
  };
}


inline constexpr ComposePageMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        page_url_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        page_title_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        page_inner_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        trimmed_page_inner_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ax_tree_update_{nullptr},
        page_inner_text_offset_{::uint64_t{0u}} {}

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

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

constexpr ComposeRequest::ParseTableT_ ComposeRequest::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ComposeRequest, _impl_._has_bits_),
      0, // no _extensions_
      8, 0,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967099,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      3,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeRequest>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // .optimization_guide.proto.ComposePageMetadata page_metadata = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(ComposeRequest, _impl_.page_metadata_)}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ComposePageMetadata page_metadata = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeRequest, _impl_.page_metadata_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ComposeRequest.GenerateParams generate_params = 7;
      {PROTOBUF_FIELD_OFFSET(ComposeRequest, _impl_.request_params_.generate_params_), _Internal::kOneofCaseOffset + 0, 1, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ComposeRequest.RewriteParams rewrite_params = 8;
      {PROTOBUF_FIELD_OFFSET(ComposeRequest, _impl_.request_params_.rewrite_params_), _Internal::kOneofCaseOffset + 0, 2, (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposePageMetadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ComposePageMetadata_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeRequest_GenerateParams>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ComposeRequest_GenerateParams_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeRequest_RewriteParams>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ComposeRequest_RewriteParams_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ComposeRequest::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        page_metadata_{nullptr},
        request_params_{},
        _oneof_case_{} {}

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

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

constexpr ComposeLoggingData::ParseTableT_ ComposeLoggingData::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_._has_bits_),
      0, // no _extensions_
      6, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967256,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      4,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeLoggingData>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ComposeRequest request = 1 [features = {
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.request_)}},
      // .optimization_guide.proto.ComposeResponse response = 2 [features = {
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.response_)}},
      // .optimization_guide.proto.ComposeQuality quality = 3 [features = {
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.quality_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 6 [features = {
      {::_pbi::TcParser::FastMtS1,
       {50, 3, 3,
        PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.model_execution_info_)}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // .optimization_guide.proto.ComposeRequest request = 1 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.request_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ComposeResponse response = 2 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.response_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ComposeQuality quality = 3 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.quality_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 6 [features = {
      {PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.model_execution_info_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeRequest>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ComposeRequest_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeResponse>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ComposeResponse_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ComposeQuality>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ComposeQuality_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::optimization_guide::proto::ModelExecutionInfo>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::optimization_guide::proto::ModelExecutionInfo_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr ComposeLoggingData::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        request_{nullptr},
        response_{nullptr},
        quality_{nullptr},
        model_execution_info_{nullptr} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST ComposeLoggingDataGlobalsTypeInternal ComposeLoggingData_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* ComposeLoggingData_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return ComposeLoggingData_globals_.GetClassData();
#else
  return ComposeLoggingData_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 ComposeUpfrontInputMode_internal_data_[] = {
    262144u, 0u, };
static const char ComposeUpfrontInputMode_names[] = {
    "COMPOSE_ELABORATE_MODE"
    "COMPOSE_FORMALIZE_MODE"
    "COMPOSE_POLISH_MODE"
    "COMPOSE_UNSPECIFIED_MODE"
};

static const ::google::protobuf::internal::EnumEntry ComposeUpfrontInputMode_entries[] = {
    {{&ComposeUpfrontInputMode_names[0], 22}, 2},
    {{&ComposeUpfrontInputMode_names[22], 22}, 3},
    {{&ComposeUpfrontInputMode_names[44], 19}, 1},
    {{&ComposeUpfrontInputMode_names[63], 24}, 0},
};

static const int ComposeUpfrontInputMode_entries_by_number[] = {
    3,  // 0 -> COMPOSE_UNSPECIFIED_MODE
    2,  // 1 -> COMPOSE_POLISH_MODE
    0,  // 2 -> COMPOSE_ELABORATE_MODE
    1,  // 3 -> COMPOSE_FORMALIZE_MODE
};

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

const ::std::string& ComposeUpfrontInputMode_Name(ComposeUpfrontInputMode value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ComposeUpfrontInputMode_entries, ComposeUpfrontInputMode_entries_by_number, 4,
      ComposeUpfrontInputMode_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ComposeUpfrontInputMode_entries,
                                  ComposeUpfrontInputMode_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ComposeUpfrontInputMode_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ComposeTone_internal_data_[] = {
    196608u, 0u, };
static const char ComposeTone_names[] = {
    "COMPOSE_FORMAL"
    "COMPOSE_INFORMAL"
    "COMPOSE_UNSPECIFIED_TONE"
};

static const ::google::protobuf::internal::EnumEntry ComposeTone_entries[] = {
    {{&ComposeTone_names[0], 14}, 1},
    {{&ComposeTone_names[14], 16}, 2},
    {{&ComposeTone_names[30], 24}, 0},
};

static const int ComposeTone_entries_by_number[] = {
    2,  // 0 -> COMPOSE_UNSPECIFIED_TONE
    0,  // 1 -> COMPOSE_FORMAL
    1,  // 2 -> COMPOSE_INFORMAL
};

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

const ::std::string& ComposeTone_Name(ComposeTone value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ComposeTone_entries, ComposeTone_entries_by_number, 3,
      ComposeTone_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ComposeTone_entries,
                                  ComposeTone_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ComposeTone_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ComposeLength_internal_data_[] = {
    196608u, 0u, };
static const char ComposeLength_names[] = {
    "COMPOSE_LONGER"
    "COMPOSE_SHORTER"
    "COMPOSE_UNSPECIFIED_LENGTH"
};

static const ::google::protobuf::internal::EnumEntry ComposeLength_entries[] = {
    {{&ComposeLength_names[0], 14}, 2},
    {{&ComposeLength_names[14], 15}, 1},
    {{&ComposeLength_names[29], 26}, 0},
};

static const int ComposeLength_entries_by_number[] = {
    2,  // 0 -> COMPOSE_UNSPECIFIED_LENGTH
    1,  // 1 -> COMPOSE_SHORTER
    0,  // 2 -> COMPOSE_LONGER
};

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

const ::std::string& ComposeLength_Name(ComposeLength value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ComposeLength_entries, ComposeLength_entries_by_number, 3,
      ComposeLength_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ComposeLength_entries,
                                  ComposeLength_entries_by_number,
                                  3, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ComposeLength_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t FinalStatus_internal_data_[] = {
    262144u, 0u, };
static const char FinalStatus_names[] = {
    "STATUS_ABANDONED"
    "STATUS_FINISHED_WITHOUT_INSERT"
    "STATUS_INSERTED"
    "STATUS_UNSPECIFIED"
};

static const ::google::protobuf::internal::EnumEntry FinalStatus_entries[] = {
    {{&FinalStatus_names[0], 16}, 2},
    {{&FinalStatus_names[16], 30}, 3},
    {{&FinalStatus_names[46], 15}, 1},
    {{&FinalStatus_names[61], 18}, 0},
};

static const int FinalStatus_entries_by_number[] = {
    3,  // 0 -> STATUS_UNSPECIFIED
    2,  // 1 -> STATUS_INSERTED
    0,  // 2 -> STATUS_ABANDONED
    1,  // 3 -> STATUS_FINISHED_WITHOUT_INSERT
};

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

const ::std::string& FinalStatus_Name(FinalStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      FinalStatus_entries, FinalStatus_entries_by_number, 4,
      FinalStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(FinalStatus_entries,
                                  FinalStatus_entries_by_number,
                                  4, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : FinalStatus_strings[idx].get();
}
PROTOBUF_CONSTINIT const uint32_t ClientRequestStatus_internal_data_[] = {
    1114112u, 0u, };
static const char ClientRequestStatus_names[] = {
    "CLIENT_REQUEST_STATUS_CANCELLED"
    "CLIENT_REQUEST_STATUS_CLIENT_ERROR"
    "CLIENT_REQUEST_STATUS_DISABLED"
    "CLIENT_REQUEST_STATUS_FILTERED"
    "CLIENT_REQUEST_STATUS_INVALID_REQUEST"
    "CLIENT_REQUEST_STATUS_MISCONFIGURATION"
    "CLIENT_REQUEST_STATUS_NON_RETRYABLE_ERROR"
    "CLIENT_REQUEST_STATUS_NO_RESPONSE"
    "CLIENT_REQUEST_STATUS_OFFLINE"
    "CLIENT_REQUEST_STATUS_OK"
    "CLIENT_REQUEST_STATUS_PERMISSION_DENIED"
    "CLIENT_REQUEST_STATUS_REQUEST_THROTTLED"
    "CLIENT_REQUEST_STATUS_REQUEST_TIMED_OUT"
    "CLIENT_REQUEST_STATUS_RETRYABLE_ERROR"
    "CLIENT_REQUEST_STATUS_SERVER_ERROR"
    "CLIENT_REQUEST_STATUS_UNSPECIFIED"
    "CLIENT_REQUEST_STATUS_UNSUPPORTED_LANGUAGE"
};

static const ::google::protobuf::internal::EnumEntry ClientRequestStatus_entries[] = {
    {{&ClientRequestStatus_names[0], 31}, 13},
    {{&ClientRequestStatus_names[31], 34}, 2},
    {{&ClientRequestStatus_names[65], 30}, 12},
    {{&ClientRequestStatus_names[95], 30}, 11},
    {{&ClientRequestStatus_names[125], 37}, 6},
    {{&ClientRequestStatus_names[162], 38}, 3},
    {{&ClientRequestStatus_names[200], 41}, 9},
    {{&ClientRequestStatus_names[241], 33}, 14},
    {{&ClientRequestStatus_names[274], 29}, 15},
    {{&ClientRequestStatus_names[303], 24}, 1},
    {{&ClientRequestStatus_names[327], 39}, 4},
    {{&ClientRequestStatus_names[366], 39}, 7},
    {{&ClientRequestStatus_names[405], 39}, 16},
    {{&ClientRequestStatus_names[444], 37}, 8},
    {{&ClientRequestStatus_names[481], 34}, 5},
    {{&ClientRequestStatus_names[515], 33}, 0},
    {{&ClientRequestStatus_names[548], 42}, 10},
};

static const int ClientRequestStatus_entries_by_number[] = {
    15,  // 0 -> CLIENT_REQUEST_STATUS_UNSPECIFIED
    9,  // 1 -> CLIENT_REQUEST_STATUS_OK
    1,  // 2 -> CLIENT_REQUEST_STATUS_CLIENT_ERROR
    5,  // 3 -> CLIENT_REQUEST_STATUS_MISCONFIGURATION
    10,  // 4 -> CLIENT_REQUEST_STATUS_PERMISSION_DENIED
    14,  // 5 -> CLIENT_REQUEST_STATUS_SERVER_ERROR
    4,  // 6 -> CLIENT_REQUEST_STATUS_INVALID_REQUEST
    11,  // 7 -> CLIENT_REQUEST_STATUS_REQUEST_THROTTLED
    13,  // 8 -> CLIENT_REQUEST_STATUS_RETRYABLE_ERROR
    6,  // 9 -> CLIENT_REQUEST_STATUS_NON_RETRYABLE_ERROR
    16,  // 10 -> CLIENT_REQUEST_STATUS_UNSUPPORTED_LANGUAGE
    3,  // 11 -> CLIENT_REQUEST_STATUS_FILTERED
    2,  // 12 -> CLIENT_REQUEST_STATUS_DISABLED
    0,  // 13 -> CLIENT_REQUEST_STATUS_CANCELLED
    7,  // 14 -> CLIENT_REQUEST_STATUS_NO_RESPONSE
    8,  // 15 -> CLIENT_REQUEST_STATUS_OFFLINE
    12,  // 16 -> CLIENT_REQUEST_STATUS_REQUEST_TIMED_OUT
};

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

const ::std::string& ClientRequestStatus_Name(ClientRequestStatus value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      ClientRequestStatus_entries, ClientRequestStatus_entries_by_number, 17,
      ClientRequestStatus_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(ClientRequestStatus_entries,
                                  ClientRequestStatus_entries_by_number,
                                  17, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : ClientRequestStatus_strings[idx].get();
}
// ===================================================================

void ComposeLoggingData::clear_model_execution_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.model_execution_info_ != nullptr) _impl_.model_execution_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
ComposeLoggingData::ComposeLoggingData(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ComposeLoggingData_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.ComposeLoggingData)
}
PROTOBUF_NDEBUG_INLINE ComposeLoggingData::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::ComposeLoggingData& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ComposeLoggingData* 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_.request_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_)
                : nullptr;
  _impl_.response_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_)
                : nullptr;
  _impl_.quality_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.quality_)
                : nullptr;
  _impl_.model_execution_info_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.model_execution_info_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ComposeLoggingData_class_data_ =
    ComposeLoggingData::InternalGenerateClassData_(ComposeLoggingData_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.request_ != nullptr);
      _impl_.request_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.response_ != nullptr);
      _impl_.response_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.quality_ != nullptr);
      _impl_.quality_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.model_execution_info_ != nullptr);
      _impl_.model_execution_info_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // .optimization_guide.proto.ComposeRequest request = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_);
    }
    // .optimization_guide.proto.ComposeResponse response = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.response_);
    }
    // .optimization_guide.proto.ComposeQuality quality = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.quality_);
    }
    // .optimization_guide.proto.ModelExecutionInfo model_execution_info = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.model_execution_info_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ComposeLoggingData::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ComposeLoggingData*>(&to_msg);
  auto& from = static_cast<const ComposeLoggingData&>(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.ComposeLoggingData)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.request_ != nullptr);
      if (_this->_impl_.request_ == nullptr) {
        _this->_impl_.request_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_);
      } else {
        _this->_impl_.request_->MergeFrom(*from._impl_.request_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.response_ != nullptr);
      if (_this->_impl_.response_ == nullptr) {
        _this->_impl_.response_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.response_);
      } else {
        _this->_impl_.response_->MergeFrom(*from._impl_.response_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.quality_ != nullptr);
      if (_this->_impl_.quality_ == nullptr) {
        _this->_impl_.quality_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.quality_);
      } else {
        _this->_impl_.quality_->MergeFrom(*from._impl_.quality_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.model_execution_info_ != nullptr);
      if (_this->_impl_.model_execution_info_ == nullptr) {
        _this->_impl_.model_execution_info_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.model_execution_info_);
      } else {
        _this->_impl_.model_execution_info_->MergeFrom(*from._impl_.model_execution_info_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ComposeLoggingData::InternalSwap(ComposeLoggingData* 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(ComposeLoggingData, _impl_.model_execution_info_)
      + sizeof(ComposeLoggingData::_impl_.model_execution_info_)
      - PROTOBUF_FIELD_OFFSET(ComposeLoggingData, _impl_.request_)>(
          reinterpret_cast<char*>(&_impl_.request_),
          reinterpret_cast<char*>(&other->_impl_.request_));
}

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

ComposeRequest_GenerateParams::ComposeRequest_GenerateParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ComposeRequest_GenerateParams_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.ComposeRequest.GenerateParams)
}
PROTOBUF_NDEBUG_INLINE ComposeRequest_GenerateParams::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::ComposeRequest_GenerateParams& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        user_input_(arena, from.user_input_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ComposeRequest_GenerateParams_class_data_ =
    ComposeRequest_GenerateParams::InternalGenerateClassData_(ComposeRequest_GenerateParams_globals_._default);

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

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

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

  // .optimization_guide.proto.ComposeUpfrontInputMode upfront_input_mode = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_upfront_input_mode() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          2, this_._internal_upfront_input_mode(), 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.ComposeRequest.GenerateParams)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // string user_input = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_user_input().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_user_input());
      }
    }
    // .optimization_guide.proto.ComposeUpfrontInputMode upfront_input_mode = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_upfront_input_mode() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_upfront_input_mode());
      }
    }
  }
  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 ComposeRequest_GenerateParams::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ComposeRequest_GenerateParams*>(&to_msg);
  auto& from = static_cast<const ComposeRequest_GenerateParams&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ComposeRequest.GenerateParams)
  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)) {
      if (!from._internal_user_input().empty()) {
        _this->_internal_set_user_input(from._internal_user_input());
      } else {
        if (_this->_impl_.user_input_.IsDefault()) {
          _this->_internal_set_user_input("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_upfront_input_mode() != 0) {
        _this->_impl_.upfront_input_mode_ = from._impl_.upfront_input_mode_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

ComposeRequest_RewriteParams::ComposeRequest_RewriteParams(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ComposeRequest_RewriteParams_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.ComposeRequest.RewriteParams)
}
PROTOBUF_NDEBUG_INLINE ComposeRequest_RewriteParams::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::ComposeRequest_RewriteParams& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        previous_response_(arena, from.previous_response_),
        modifier_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ComposeRequest_RewriteParams* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  switch (modifier_case()) {
    case MODIFIER_NOT_SET:
      break;
      case kTone:
        _impl_.modifier_.tone_ = from._impl_.modifier_.tone_;
        break;
      case kLength:
        _impl_.modifier_.length_ = from._impl_.modifier_.length_;
        break;
      case kRegenerate:
        _impl_.modifier_.regenerate_ = from._impl_.modifier_.regenerate_;
        break;
  }

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

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

void ComposeRequest_RewriteParams::clear_modifier() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.ComposeRequest.RewriteParams)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (modifier_case()) {
    case kTone: {
      // No need to clear
      break;
    }
    case kLength: {
      // No need to clear
      break;
    }
    case kRegenerate: {
      // No need to clear
      break;
    }
    case MODIFIER_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = MODIFIER_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ComposeRequest_RewriteParams_class_data_ =
    ComposeRequest_RewriteParams::InternalGenerateClassData_(ComposeRequest_RewriteParams_globals_._default);

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

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

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

  switch (this_.modifier_case()) {
    case kTone: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          2, this_._internal_tone(), target);
      break;
    }
    case kLength: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          3, this_._internal_length(), target);
      break;
    }
    case kRegenerate: {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteBoolToArray(
          4, this_._internal_regenerate(), target);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ComposeRequest.RewriteParams)
  return target;
}

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

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

   {
    // string previous_response = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_previous_response().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_previous_response());
      }
    }
  }
  switch (this_.modifier_case()) {
    // .optimization_guide.proto.ComposeTone tone = 2;
    case kTone: {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_tone());
      break;
    }
    // .optimization_guide.proto.ComposeLength length = 3;
    case kLength: {
      total_size += 1 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_length());
      break;
    }
    // bool regenerate = 4;
    case kRegenerate: {
      total_size += 2;
      break;
    }
    case MODIFIER_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 ComposeRequest_RewriteParams::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ComposeRequest_RewriteParams*>(&to_msg);
  auto& from = static_cast<const ComposeRequest_RewriteParams&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ComposeRequest.RewriteParams)
  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)) {
    if (!from._internal_previous_response().empty()) {
      _this->_internal_set_previous_response(from._internal_previous_response());
    } else {
      if (_this->_impl_.previous_response_.IsDefault()) {
        _this->_internal_set_previous_response("");
      }
    }
  }
  _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_modifier();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kTone: {
        _this->_impl_.modifier_.tone_ = from._impl_.modifier_.tone_;
        break;
      }
      case kLength: {
        _this->_impl_.modifier_.length_ = from._impl_.modifier_.length_;
        break;
      }
      case kRegenerate: {
        _this->_impl_.modifier_.regenerate_ = from._impl_.modifier_.regenerate_;
        break;
      }
      case MODIFIER_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

void ComposeRequest::set_allocated_generate_params(::optimization_guide::proto::ComposeRequest_GenerateParams* PROTOBUF_NULLABLE generate_params) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_request_params();
  if (generate_params) {
    ::google::protobuf::Arena* submessage_arena = generate_params->GetArena();
    if (message_arena != submessage_arena) {
      generate_params = ::google::protobuf::internal::GetOwnedMessage(message_arena, generate_params, submessage_arena);
    }
    set_has_generate_params();
    _impl_.request_params_.generate_params_ = generate_params;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ComposeRequest.generate_params)
}
void ComposeRequest::set_allocated_rewrite_params(::optimization_guide::proto::ComposeRequest_RewriteParams* PROTOBUF_NULLABLE rewrite_params) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_request_params();
  if (rewrite_params) {
    ::google::protobuf::Arena* submessage_arena = rewrite_params->GetArena();
    if (message_arena != submessage_arena) {
      rewrite_params = ::google::protobuf::internal::GetOwnedMessage(message_arena, rewrite_params, submessage_arena);
    }
    set_has_rewrite_params();
    _impl_.request_params_.rewrite_params_ = rewrite_params;
  }
  // @@protoc_insertion_point(field_set_allocated:optimization_guide.proto.ComposeRequest.rewrite_params)
}
ComposeRequest::ComposeRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ComposeRequest_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.ComposeRequest)
}
PROTOBUF_NDEBUG_INLINE ComposeRequest::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::ComposeRequest& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        request_params_{},
        _oneof_case_{from._oneof_case_[0]} {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  ComposeRequest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.page_metadata_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.page_metadata_)
                : nullptr;
  switch (request_params_case()) {
    case REQUEST_PARAMS_NOT_SET:
      break;
      case kGenerateParams:
        _impl_.request_params_.generate_params_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_params_.generate_params_);
        break;
      case kRewriteParams:
        _impl_.request_params_.rewrite_params_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_params_.rewrite_params_);
        break;
  }

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

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

void ComposeRequest::clear_request_params() {
// @@protoc_insertion_point(one_of_clear_start:optimization_guide.proto.ComposeRequest)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  switch (request_params_case()) {
    case kGenerateParams: {
      if (GetArena() == nullptr) {
        delete _impl_.request_params_.generate_params_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.request_params_.generate_params_ != nullptr) {
          _impl_.request_params_.generate_params_->Clear();
        }
      }
      break;
    }
    case kRewriteParams: {
      if (GetArena() == nullptr) {
        delete _impl_.request_params_.rewrite_params_;
      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
        if (_impl_.request_params_.rewrite_params_ != nullptr) {
          _impl_.request_params_.rewrite_params_->Clear();
        }
      }
      break;
    }
    case REQUEST_PARAMS_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = REQUEST_PARAMS_NOT_SET;
}


#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ComposeRequest_class_data_ =
    ComposeRequest::InternalGenerateClassData_(ComposeRequest_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.page_metadata_ != nullptr);
    _impl_.page_metadata_->Clear();
  }
  clear_request_params();
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

  switch (this_.request_params_case()) {
    case kGenerateParams: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          7, *this_._impl_.request_params_.generate_params_, this_._impl_.request_params_.generate_params_->GetCachedSize(), target,
          stream);
      break;
    }
    case kRewriteParams: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, *this_._impl_.request_params_.rewrite_params_, this_._impl_.request_params_.rewrite_params_->GetCachedSize(), target,
          stream);
      break;
    }
    default:
      break;
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:optimization_guide.proto.ComposeRequest)
  return target;
}

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

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

   {
    // .optimization_guide.proto.ComposePageMetadata page_metadata = 3 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.page_metadata_);
    }
  }
  switch (this_.request_params_case()) {
    // .optimization_guide.proto.ComposeRequest.GenerateParams generate_params = 7;
    case kGenerateParams: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_params_.generate_params_);
      break;
    }
    // .optimization_guide.proto.ComposeRequest.RewriteParams rewrite_params = 8;
    case kRewriteParams: {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.request_params_.rewrite_params_);
      break;
    }
    case REQUEST_PARAMS_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 ComposeRequest::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ComposeRequest*>(&to_msg);
  auto& from = static_cast<const ComposeRequest&>(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.ComposeRequest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(from._impl_.page_metadata_ != nullptr);
    if (_this->_impl_.page_metadata_ == nullptr) {
      _this->_impl_.page_metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.page_metadata_);
    } else {
      _this->_impl_.page_metadata_->MergeFrom(*from._impl_.page_metadata_);
    }
  }
  _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_request_params();
      }
      _this->_impl_._oneof_case_[0] = oneof_from_case;
    }

    switch (oneof_from_case) {
      case kGenerateParams: {
        if (oneof_needs_init) {
          _this->_impl_.request_params_.generate_params_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_params_.generate_params_);
        } else {
          _this->_impl_.request_params_.generate_params_->MergeFrom(*from._impl_.request_params_.generate_params_);
        }
        break;
      }
      case kRewriteParams: {
        if (oneof_needs_init) {
          _this->_impl_.request_params_.rewrite_params_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.request_params_.rewrite_params_);
        } else {
          _this->_impl_.request_params_.rewrite_params_->MergeFrom(*from._impl_.request_params_.rewrite_params_);
        }
        break;
      }
      case REQUEST_PARAMS_NOT_SET:
        break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ComposeRequest::InternalSwap(ComposeRequest* 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_.page_metadata_, other->_impl_.page_metadata_);
  swap(_impl_.request_params_, other->_impl_.request_params_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

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

void ComposePageMetadata::clear_ax_tree_update() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ax_tree_update_ != nullptr) _impl_.ax_tree_update_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
ComposePageMetadata::ComposePageMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ComposePageMetadata_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.ComposePageMetadata)
}
PROTOBUF_NDEBUG_INLINE ComposePageMetadata::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::ComposePageMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        page_url_(arena, from.page_url_),
        page_title_(arena, from.page_title_),
        page_inner_text_(arena, from.page_inner_text_),
        trimmed_page_inner_text_(arena, from.trimmed_page_inner_text_) {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ComposePageMetadata_class_data_ =
    ComposePageMetadata::InternalGenerateClassData_(ComposePageMetadata_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.page_url_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.page_title_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.page_inner_text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.trimmed_page_inner_text_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.ax_tree_update_ != nullptr);
      _impl_.ax_tree_update_->Clear();
    }
  }
  _impl_.page_inner_text_offset_ = ::uint64_t{0u};
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

  // .optimization_guide.proto.AXTreeUpdate ax_tree_update = 6 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.ax_tree_update_, this_._impl_.ax_tree_update_->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.ComposePageMetadata)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    // string page_url = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_page_url().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_page_url());
      }
    }
    // string page_title = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!this_._internal_page_title().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_page_title());
      }
    }
    // string page_inner_text = 3 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (!this_._internal_page_inner_text().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_page_inner_text());
      }
    }
    // string trimmed_page_inner_text = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (!this_._internal_trimmed_page_inner_text().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_trimmed_page_inner_text());
      }
    }
    // .optimization_guide.proto.AXTreeUpdate ax_tree_update = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.ax_tree_update_);
    }
    // uint64 page_inner_text_offset = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      if (this_._internal_page_inner_text_offset() != 0) {
        total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
            this_._internal_page_inner_text_offset());
      }
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void ComposePageMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ComposePageMetadata*>(&to_msg);
  auto& from = static_cast<const ComposePageMetadata&>(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.ComposePageMetadata)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000003fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!from._internal_page_url().empty()) {
        _this->_internal_set_page_url(from._internal_page_url());
      } else {
        if (_this->_impl_.page_url_.IsDefault()) {
          _this->_internal_set_page_url("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (!from._internal_page_title().empty()) {
        _this->_internal_set_page_title(from._internal_page_title());
      } else {
        if (_this->_impl_.page_title_.IsDefault()) {
          _this->_internal_set_page_title("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (!from._internal_page_inner_text().empty()) {
        _this->_internal_set_page_inner_text(from._internal_page_inner_text());
      } else {
        if (_this->_impl_.page_inner_text_.IsDefault()) {
          _this->_internal_set_page_inner_text("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (!from._internal_trimmed_page_inner_text().empty()) {
        _this->_internal_set_trimmed_page_inner_text(from._internal_trimmed_page_inner_text());
      } else {
        if (_this->_impl_.trimmed_page_inner_text_.IsDefault()) {
          _this->_internal_set_trimmed_page_inner_text("");
        }
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.ax_tree_update_ != nullptr);
      if (_this->_impl_.ax_tree_update_ == nullptr) {
        _this->_impl_.ax_tree_update_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.ax_tree_update_);
      } else {
        _this->_impl_.ax_tree_update_->MergeFrom(*from._impl_.ax_tree_update_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      if (from._internal_page_inner_text_offset() != 0) {
        _this->_impl_.page_inner_text_offset_ = from._impl_.page_inner_text_offset_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ComposePageMetadata::InternalSwap(ComposePageMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.page_url_, &other->_impl_.page_url_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.page_title_, &other->_impl_.page_title_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.page_inner_text_, &other->_impl_.page_inner_text_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trimmed_page_inner_text_, &other->_impl_.trimmed_page_inner_text_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.page_inner_text_offset_)
      + sizeof(ComposePageMetadata::_impl_.page_inner_text_offset_)
      - PROTOBUF_FIELD_OFFSET(ComposePageMetadata, _impl_.ax_tree_update_)>(
          reinterpret_cast<char*>(&_impl_.ax_tree_update_),
          reinterpret_cast<char*>(&other->_impl_.ax_tree_update_));
}

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

ComposeResponse::ComposeResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ComposeResponse_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.ComposeResponse)
}
PROTOBUF_NDEBUG_INLINE ComposeResponse::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::ComposeResponse& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        output_(arena, from.output_) {}

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ComposeResponse_class_data_ =
    ComposeResponse::InternalGenerateClassData_(ComposeResponse_globals_._default);

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

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

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

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

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

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

   {
    // string output = 1 [features = {
    cached_has_bits = this_._impl_._has_bits_[0];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (!this_._internal_output().empty()) {
        total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                        this_._internal_output());
      }
    }
  }
  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 ComposeResponse::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ComposeResponse*>(&to_msg);
  auto& from = static_cast<const ComposeResponse&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.ComposeResponse)
  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)) {
    if (!from._internal_output().empty()) {
      _this->_internal_set_output(from._internal_output());
    } else {
      if (_this->_impl_.output_.IsDefault()) {
        _this->_internal_set_output("");
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

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

ComposeQuality::ComposeQuality(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, ComposeQuality_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.ComposeQuality)
}
PROTOBUF_NDEBUG_INLINE ComposeQuality::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::ComposeQuality& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

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

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

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite ComposeQuality_class_data_ =
    ComposeQuality::InternalGenerateClassData_(ComposeQuality_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    ABSL_DCHECK(_impl_.session_id_ != nullptr);
    _impl_.session_id_->Clear();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000feU)) {
    ::memset(&_impl_.final_status_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.started_with_proactive_nudge_) -
        reinterpret_cast<char*>(&_impl_.final_status_)) + sizeof(_impl_.started_with_proactive_nudge_));
  }
  _impl_.final_model_status_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // .optimization_guide.proto.FinalStatus final_status = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_final_status() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          1, this_._internal_final_status(), target);
    }
  }

  // .optimization_guide.proto.UserFeedback user_feedback = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    if (this_._internal_user_feedback() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          2, this_._internal_user_feedback(), target);
    }
  }

  // int64 request_latency_ms = 4 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    if (this_._internal_request_latency_ms() != 0) {
      target =
          ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<4>(
              stream, this_._internal_request_latency_ms(), target);
    }
  }

  // int64 edit_distance = 5 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
            stream, this_._internal_edit_distance(), target);
  }

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

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

  // .optimization_guide.proto.ClientRequestStatus client_request_status = 8 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    if (this_._internal_client_request_status() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          8, this_._internal_client_request_status(), target);
    }
  }

  // bool started_with_proactive_nudge = 9 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    if (this_._internal_started_with_proactive_nudge() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteBoolToArray(
          9, this_._internal_started_with_proactive_nudge(), target);
    }
  }

  // .optimization_guide.proto.FinalModelStatus final_model_status = 10 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    if (this_._internal_final_model_status() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteEnumToArray(
          10, this_._internal_final_model_status(), 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.ComposeQuality)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // .optimization_guide.proto.Int128 session_id = 6 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.session_id_);
    }
    // .optimization_guide.proto.FinalStatus final_status = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_final_status() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_final_status());
      }
    }
    // .optimization_guide.proto.UserFeedback user_feedback = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (this_._internal_user_feedback() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_user_feedback());
      }
    }
    // int64 request_latency_ms = 4 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (this_._internal_request_latency_ms() != 0) {
        total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
            this_._internal_request_latency_ms());
      }
    }
    // int64 edit_distance = 5 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_edit_distance());
    }
    // .optimization_guide.proto.ClientRequestStatus client_request_status = 8 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      if (this_._internal_client_request_status() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_client_request_status());
      }
    }
    // bool was_generated_via_edit = 7 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      if (this_._internal_was_generated_via_edit() != 0) {
        total_size += 2;
      }
    }
    // bool started_with_proactive_nudge = 9 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      if (this_._internal_started_with_proactive_nudge() != 0) {
        total_size += 2;
      }
    }
  }
   {
    // .optimization_guide.proto.FinalModelStatus final_model_status = 10 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      if (this_._internal_final_model_status() != 0) {
        total_size += 1 +
                      ::_pbi::WireFormatLite::EnumSize(this_._internal_final_model_status());
      }
    }
  }
  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 ComposeQuality::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<ComposeQuality*>(&to_msg);
  auto& from = static_cast<const ComposeQuality&>(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.ComposeQuality)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.session_id_ != nullptr);
      if (_this->_impl_.session_id_ == nullptr) {
        _this->_impl_.session_id_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.session_id_);
      } else {
        _this->_impl_.session_id_->MergeFrom(*from._impl_.session_id_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_final_status() != 0) {
        _this->_impl_.final_status_ = from._impl_.final_status_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      if (from._internal_user_feedback() != 0) {
        _this->_impl_.user_feedback_ = from._impl_.user_feedback_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      if (from._internal_request_latency_ms() != 0) {
        _this->_impl_.request_latency_ms_ = from._impl_.request_latency_ms_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.edit_distance_ = from._impl_.edit_distance_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      if (from._internal_client_request_status() != 0) {
        _this->_impl_.client_request_status_ = from._impl_.client_request_status_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      if (from._internal_was_generated_via_edit() != 0) {
        _this->_impl_.was_generated_via_edit_ = from._impl_.was_generated_via_edit_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      if (from._internal_started_with_proactive_nudge() != 0) {
        _this->_impl_.started_with_proactive_nudge_ = from._impl_.started_with_proactive_nudge_;
      }
    }
  }
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    if (from._internal_final_model_status() != 0) {
      _this->_impl_.final_model_status_ = from._impl_.final_model_status_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void ComposeQuality::InternalSwap(ComposeQuality* 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(ComposeQuality, _impl_.final_model_status_)
      + sizeof(ComposeQuality::_impl_.final_model_status_)
      - PROTOBUF_FIELD_OFFSET(ComposeQuality, _impl_.session_id_)>(
          reinterpret_cast<char*>(&_impl_.session_id_),
          reinterpret_cast<char*>(&other->_impl_.session_id_));
}

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

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

inline void Int128::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, high_),
           0,
           offsetof(Impl_, low_) -
               offsetof(Impl_, high_) +
               sizeof(Impl_::low_));
}
Int128::~Int128() {
  // @@protoc_insertion_point(destructor:optimization_guide.proto.Int128)
  SharedDtor(*this);
}
inline void Int128::SharedDtor(MessageLite& self) {
  Int128& this_ = static_cast<Int128&>(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 Int128_class_data_ =
    Int128::InternalGenerateClassData_(Int128_globals_._default);

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // uint64 high = 1 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    if (this_._internal_high() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
          1, this_._internal_high(), target);
    }
  }

  // uint64 low = 2 [features = {
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    if (this_._internal_low() != 0) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
          2, this_._internal_low(), 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.Int128)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Int128::ByteSizeLong(const MessageLite& base) {
  const Int128& this_ = static_cast<const Int128&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Int128::ByteSizeLong() const {
  const Int128& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:optimization_guide.proto.Int128)
  ::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)) {
    // uint64 high = 1 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      if (this_._internal_high() != 0) {
        total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
            this_._internal_high());
      }
    }
    // uint64 low = 2 [features = {
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (this_._internal_low() != 0) {
        total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
            this_._internal_low());
      }
    }
  }
  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 Int128::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Int128*>(&to_msg);
  auto& from = static_cast<const Int128&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:optimization_guide.proto.Int128)
  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)) {
      if (from._internal_high() != 0) {
        _this->_impl_.high_ = from._impl_.high_;
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      if (from._internal_low() != 0) {
        _this->_impl_.low_ = from._impl_.low_;
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


void Int128::InternalSwap(Int128* 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(Int128, _impl_.low_)
      + sizeof(Int128::_impl_.low_)
      - PROTOBUF_FIELD_OFFSET(Int128, _impl_.high_)>(
          reinterpret_cast<char*>(&_impl_.high_),
          reinterpret_cast<char*>(&other->_impl_.high_));
}

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