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

#include "fingerprint.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 autofill {
namespace risk {
class Fingerprint_UserCharacteristics_Vector::_Internal {
 public:
  using HasBits = decltype(::std::declval<Fingerprint_UserCharacteristics_Vector>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Vector, _impl_._has_bits_);
};

constexpr Fingerprint_UserCharacteristics_Vector::ParseTableT_ Fingerprint_UserCharacteristics_Vector::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Vector, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_UserCharacteristics_Vector>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int32 x = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Vector, _impl_.x_)}},
      // optional int32 y = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Vector, _impl_.y_)}},
      // optional int32 z = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Vector, _impl_.z_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 x = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Vector, _impl_.x_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 y = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Vector, _impl_.y_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 z = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Vector, _impl_.z_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

constexpr Fingerprint_UserCharacteristics_Location::ParseTableT_ Fingerprint_UserCharacteristics_Location::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_UserCharacteristics_Location>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional double altitude = 1;
      {::_pbi::TcParser::FastF64S1,
       {9, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.altitude_)}},
      // optional double latitude = 2;
      {::_pbi::TcParser::FastF64S1,
       {17, 1, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.latitude_)}},
      // optional double longitude = 3;
      {::_pbi::TcParser::FastF64S1,
       {25, 2, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.longitude_)}},
      // optional double accuracy = 4;
      {::_pbi::TcParser::FastF64S1,
       {33, 3, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.accuracy_)}},
      // optional int64 time_in_ms = 5;
      {::_pbi::TcParser::FastV64S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.time_in_ms_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional double altitude = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.altitude_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
      // optional double latitude = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.latitude_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
      // optional double longitude = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.longitude_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
      // optional double accuracy = 4;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.accuracy_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kDouble)},
      // optional int64 time_in_ms = 5;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics_Location, _impl_.time_in_ms_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Fingerprint_UserCharacteristics_Location::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        altitude_{0},
        latitude_{0},
        longitude_{0},
        accuracy_{0},
        time_in_ms_{::int64_t{0}} {}

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

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

constexpr Fingerprint_Performance::ParseTableT_ Fingerprint_Performance::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_Performance>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional float bandwidth = 1;
      {::_pbi::TcParser::FastF32S1,
       {13, 1, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_.bandwidth_)}},
      // optional bool metered = 2;
      {::_pbi::TcParser::FastV8S1,
       {16, 2, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_.metered_)}},
      // optional string network_type = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_.network_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional float bandwidth = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_.bandwidth_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // optional bool metered = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_.metered_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional string network_type = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_.network_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Fingerprint_Performance::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        network_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        bandwidth_{0},
        metered_{false} {}

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

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

constexpr Fingerprint_Metadata::ParseTableT_ Fingerprint_Metadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_Metadata, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_Metadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional int64 timestamp_ms = 1;
      {::_pbi::TcParser::FastV64S1,
       {8, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_Metadata, _impl_.timestamp_ms_)}},
      // optional uint64 obfuscated_gaia_id = 2;
      {::_pbi::TcParser::FastV64S1,
       {16, 1, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_Metadata, _impl_.obfuscated_gaia_id_)}},
      // optional int32 fingerprinter_version = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 2, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_Metadata, _impl_.fingerprinter_version_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int64 timestamp_ms = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_Metadata, _impl_.timestamp_ms_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional uint64 obfuscated_gaia_id = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_Metadata, _impl_.obfuscated_gaia_id_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt64)},
      // optional int32 fingerprinter_version = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_Metadata, _impl_.fingerprinter_version_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Fingerprint_Metadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        timestamp_ms_{::int64_t{0}},
        obfuscated_gaia_id_{::uint64_t{0u}},
        fingerprinter_version_{0} {}

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

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

constexpr Fingerprint_MachineCharacteristics_Plugin::ParseTableT_ Fingerprint_MachineCharacteristics_Plugin::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_MachineCharacteristics_Plugin>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string version = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 3, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_.version_)}},
      // optional string name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 1, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_.name_)}},
      // optional string description = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 2, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_.description_)}},
      // repeated string mime_type = 3;
      {::_pbi::TcParser::FastBR1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_.mime_type_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string name = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_.name_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string description = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_.description_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string mime_type = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_.mime_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional string version = 4;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Plugin, _impl_.version_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Fingerprint_MachineCharacteristics_Plugin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        mime_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics_Plugin,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics_Plugin, _impl_.mime_type_)>()
         }
        ,
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        description_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

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

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

constexpr Fingerprint_MachineCharacteristics_Graphics::ParseTableT_ Fingerprint_MachineCharacteristics_Graphics::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_MachineCharacteristics_Graphics>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string driver_date = 4;
      {::_pbi::TcParser::FastBS1,
       {34, 1, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.driver_date_)}},
      // optional uint32 vendor_id = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.vendor_id_)}},
      // optional uint32 device_id = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.device_id_)}},
      // optional string driver_version = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.driver_version_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional uint32 vendor_id = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.vendor_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional uint32 device_id = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.device_id_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional string driver_version = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.driver_version_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string driver_date = 4;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.driver_date_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr Fingerprint_MachineCharacteristics_Graphics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        driver_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        driver_date_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        vendor_id_{0u},
        device_id_{0u} {}

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

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

constexpr Fingerprint_MachineCharacteristics_Cpu::ParseTableT_ Fingerprint_MachineCharacteristics_Cpu::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Cpu, _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<::autofill::risk::Fingerprint_MachineCharacteristics_Cpu>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional string brand = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Cpu, _impl_.brand_)}},
      // optional string vendor_name = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Cpu, _impl_.vendor_name_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string vendor_name = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Cpu, _impl_.vendor_name_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string brand = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Cpu, _impl_.brand_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


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

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

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

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


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

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

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

constexpr Fingerprint_UserCharacteristics::ParseTableT_ Fingerprint_UserCharacteristics::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      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<::autofill::risk::Fingerprint_UserCharacteristics>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional float force = 1;
      {::_pbi::TcParser::FastF32S1,
       {13, 3, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.force_)}},
      // optional float touch_width = 2;
      {::_pbi::TcParser::FastF32S1,
       {21, 4, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.touch_width_)}},
      // optional float touch_height = 3;
      {::_pbi::TcParser::FastF32S1,
       {29, 5, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.touch_height_)}},
      // optional int32 touch_rotation = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 6, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.touch_rotation_)}},
      // optional .autofill.risk.Fingerprint.UserCharacteristics.Vector device_orientation = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.device_orientation_)}},
      // optional .autofill.risk.Fingerprint.UserCharacteristics.Vector device_acceleration = 6;
      {::_pbi::TcParser::FastMtS1,
       {50, 1, 1,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.device_acceleration_)}},
      // optional .autofill.risk.Fingerprint.UserCharacteristics.Location location = 7;
      {::_pbi::TcParser::FastMtS1,
       {58, 2, 2,
        PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.location_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional float force = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.force_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // optional float touch_width = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.touch_width_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // optional float touch_height = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.touch_height_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kFloat)},
      // optional int32 touch_rotation = 4;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.touch_rotation_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .autofill.risk.Fingerprint.UserCharacteristics.Vector device_orientation = 5;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.device_orientation_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .autofill.risk.Fingerprint.UserCharacteristics.Vector device_acceleration = 6;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.device_acceleration_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .autofill.risk.Fingerprint.UserCharacteristics.Location location = 7;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_UserCharacteristics, _impl_.location_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_UserCharacteristics_Vector>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_UserCharacteristics_Vector_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_UserCharacteristics_Vector>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_UserCharacteristics_Vector_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_UserCharacteristics_Location>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_UserCharacteristics_Location_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr Fingerprint_UserCharacteristics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        device_orientation_{nullptr},
        device_acceleration_{nullptr},
        location_{nullptr},
        force_{0},
        touch_width_{0},
        touch_height_{0},
        touch_rotation_{0} {}

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

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

constexpr Fingerprint_TransientState::ParseTableT_ Fingerprint_TransientState::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_TransientState, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      2,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_TransientState>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional .autofill.risk.Fingerprint.Dimension outer_window_size = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(Fingerprint_TransientState, _impl_.outer_window_size_)}},
      // optional .autofill.risk.Fingerprint.Dimension inner_window_size = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_TransientState, _impl_.inner_window_size_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .autofill.risk.Fingerprint.Dimension inner_window_size = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_TransientState, _impl_.inner_window_size_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .autofill.risk.Fingerprint.Dimension outer_window_size = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_TransientState, _impl_.outer_window_size_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_Dimension>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_Dimension_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_Dimension>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_Dimension_globals_},
        #endif
    }},
    {{
    }},
  };
}


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

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

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

constexpr Fingerprint_MachineCharacteristics::ParseTableT_ Fingerprint_MachineCharacteristics::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_._has_bits_),
      0, // no _extensions_
      20, 248,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4293918720,  // skipmap
      offsetof(ParseTableT_, field_entries),
      20,  // num_field_entries
      6,  // 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<::autofill::risk::Fingerprint_MachineCharacteristics>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional fixed64 user_and_device_name_hash = 1;
      {::_pbi::TcParser::FastF64S1,
       {9, 13, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.user_and_device_name_hash_)}},
      // optional string operating_system_build = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 4, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.operating_system_build_)}},
      // optional int64 browser_install_time_hours = 3;
      {::_pbi::TcParser::FastV64S1,
       {24, 14, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_install_time_hours_)}},
      // repeated string font = 4;
      {::_pbi::TcParser::FastBR1,
       {34, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.font_)}},
      // repeated .autofill.risk.Fingerprint.MachineCharacteristics.Plugin plugin = 5;
      {::_pbi::TcParser::FastMtR1,
       {42, 1, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.plugin_)}},
      // optional int64 utc_offset_ms = 6;
      {::_pbi::TcParser::FastV64S1,
       {48, 15, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.utc_offset_ms_)}},
      // optional string browser_language = 7;
      {::_pbi::TcParser::FastBS1,
       {58, 5, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_language_)}},
      // repeated string requested_language = 8;
      {::_pbi::TcParser::FastBR1,
       {66, 2, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.requested_language_)}},
      // optional string charset = 9;
      {::_pbi::TcParser::FastBS1,
       {74, 6, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.charset_)}},
      // optional int32 screen_count = 10;
      {::_pbi::TcParser::FastV32S1,
       {80, 16, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.screen_count_)}},
      // optional .autofill.risk.Fingerprint.Dimension screen_size = 11;
      {::_pbi::TcParser::FastMtS1,
       {90, 9, 1,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.screen_size_)}},
      // optional int32 screen_color_depth = 12;
      {::_pbi::TcParser::FastV32S1,
       {96, 17, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.screen_color_depth_)}},
      // optional .autofill.risk.Fingerprint.Dimension unavailable_screen_size = 13;
      {::_pbi::TcParser::FastMtS1,
       {106, 10, 2,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.unavailable_screen_size_)}},
      // optional string user_agent = 14;
      {::_pbi::TcParser::FastBS1,
       {114, 7, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.user_agent_)}},
      // repeated int32 partition_size = 15;
      {::_pbi::TcParser::FastV32R1,
       {120, 3, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.partition_size_)}},
      // optional .autofill.risk.Fingerprint.MachineCharacteristics.Cpu cpu = 16;
      {::_pbi::TcParser::FastMtS2,
       {386, 11, 3,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.cpu_)}},
      // optional int64 ram = 17;
      {::_pbi::TcParser::FastV64S2,
       {392, 18, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.ram_)}},
      // optional .autofill.risk.Fingerprint.MachineCharacteristics.Graphics graphics_card = 18;
      {::_pbi::TcParser::FastMtS2,
       {402, 12, 4,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.graphics_card_)}},
      // optional string browser_build = 19;
      {::_pbi::TcParser::FastBS2,
       {410, 8, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_build_)}},
      // optional .autofill.risk.Fingerprint.MachineCharacteristics.BrowserFeature browser_feature = 20;
      {::_pbi::TcParser::FastEr0S2,
       {416, 19, 2,
        PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_feature_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional fixed64 user_and_device_name_hash = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.user_and_device_name_hash_), _Internal::kHasBitsOffset + 13, 0, (0 | ::_fl::kFcOptional | ::_fl::kFixed64)},
      // optional string operating_system_build = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.operating_system_build_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int64 browser_install_time_hours = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_install_time_hours_), _Internal::kHasBitsOffset + 14, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // repeated string font = 4;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.font_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // repeated .autofill.risk.Fingerprint.MachineCharacteristics.Plugin plugin = 5;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.plugin_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional int64 utc_offset_ms = 6;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.utc_offset_ms_), _Internal::kHasBitsOffset + 15, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional string browser_language = 7;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_language_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated string requested_language = 8;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.requested_language_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcRepeated | ::_fl::kBytes | ::_fl::kRepSString)},
      // optional string charset = 9;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.charset_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional int32 screen_count = 10;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.screen_count_), _Internal::kHasBitsOffset + 16, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .autofill.risk.Fingerprint.Dimension screen_size = 11;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.screen_size_), _Internal::kHasBitsOffset + 9, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional int32 screen_color_depth = 12;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.screen_color_depth_), _Internal::kHasBitsOffset + 17, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional .autofill.risk.Fingerprint.Dimension unavailable_screen_size = 13;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.unavailable_screen_size_), _Internal::kHasBitsOffset + 10, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string user_agent = 14;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.user_agent_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // repeated int32 partition_size = 15;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.partition_size_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcRepeated | ::_fl::kInt32)},
      // optional .autofill.risk.Fingerprint.MachineCharacteristics.Cpu cpu = 16;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.cpu_), _Internal::kHasBitsOffset + 11, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional int64 ram = 17;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.ram_), _Internal::kHasBitsOffset + 18, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional .autofill.risk.Fingerprint.MachineCharacteristics.Graphics graphics_card = 18;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.graphics_card_), _Internal::kHasBitsOffset + 12, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional string browser_build = 19;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_build_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .autofill.risk.Fingerprint.MachineCharacteristics.BrowserFeature browser_feature = 20;
      {PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_feature_), _Internal::kHasBitsOffset + 19, 5, (0 | ::_fl::kFcOptional | ::_fl::kEnumRange)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_MachineCharacteristics_Plugin>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_MachineCharacteristics_Plugin_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_Dimension>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_Dimension_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_Dimension>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_Dimension_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_MachineCharacteristics_Cpu>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_MachineCharacteristics_Cpu_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_MachineCharacteristics_Graphics>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_MachineCharacteristics_Graphics_globals_},
        #endif
        {0, 2},
    }},
    {{
    }},
  };
}


inline constexpr Fingerprint_MachineCharacteristics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        font_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.font_)>()
         }
        ,
        plugin_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.plugin_)>()
         }
        ,
        requested_language_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.requested_language_)>()
         }
        ,
        partition_size_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.partition_size_)>()
         }
        ,
        operating_system_build_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        browser_language_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        charset_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        user_agent_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        browser_build_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        screen_size_{nullptr},
        unavailable_screen_size_{nullptr},
        cpu_{nullptr},
        graphics_card_{nullptr},
        user_and_device_name_hash_{::uint64_t{0u}},
        browser_install_time_hours_{::int64_t{0}},
        utc_offset_ms_{::int64_t{0}},
        screen_count_{0},
        screen_color_depth_{0},
        ram_{::int64_t{0}},
        browser_feature_{static_cast< ::autofill::risk::Fingerprint_MachineCharacteristics_BrowserFeature >(0)} {}

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

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

constexpr Fingerprint::ParseTableT_ Fingerprint::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_._has_bits_),
      0, // no _extensions_
      5, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967264,  // skipmap
      offsetof(ParseTableT_, field_entries),
      5,  // num_field_entries
      5,  // 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<::autofill::risk::Fingerprint>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional .autofill.risk.Fingerprint.MachineCharacteristics machine_characteristics = 1;
      {::_pbi::TcParser::FastMtS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.machine_characteristics_)}},
      // optional .autofill.risk.Fingerprint.Performance performance = 2;
      {::_pbi::TcParser::FastMtS1,
       {18, 1, 1,
        PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.performance_)}},
      // optional .autofill.risk.Fingerprint.UserCharacteristics user_characteristics = 3;
      {::_pbi::TcParser::FastMtS1,
       {26, 2, 2,
        PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.user_characteristics_)}},
      // optional .autofill.risk.Fingerprint.TransientState transient_state = 4;
      {::_pbi::TcParser::FastMtS1,
       {34, 3, 3,
        PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.transient_state_)}},
      // optional .autofill.risk.Fingerprint.Metadata metadata = 5;
      {::_pbi::TcParser::FastMtS1,
       {42, 4, 4,
        PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.metadata_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional .autofill.risk.Fingerprint.MachineCharacteristics machine_characteristics = 1;
      {PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.machine_characteristics_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .autofill.risk.Fingerprint.Performance performance = 2;
      {PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.performance_), _Internal::kHasBitsOffset + 1, 1, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .autofill.risk.Fingerprint.UserCharacteristics user_characteristics = 3;
      {PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.user_characteristics_), _Internal::kHasBitsOffset + 2, 2, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .autofill.risk.Fingerprint.TransientState transient_state = 4;
      {PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.transient_state_), _Internal::kHasBitsOffset + 3, 3, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
      // optional .autofill.risk.Fingerprint.Metadata metadata = 5;
      {PROTOBUF_FIELD_OFFSET(Fingerprint, _impl_.metadata_), _Internal::kHasBitsOffset + 4, 4, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_MachineCharacteristics>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_MachineCharacteristics_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_Performance>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_Performance_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_UserCharacteristics>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_UserCharacteristics_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_TransientState>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_TransientState_globals_},
        #endif
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::autofill::risk::Fingerprint_Metadata>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::autofill::risk::Fingerprint_Metadata_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr Fingerprint::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        machine_characteristics_{nullptr},
        performance_{nullptr},
        user_characteristics_{nullptr},
        transient_state_{nullptr},
        metadata_{nullptr} {}

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

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST FingerprintGlobalsTypeInternal Fingerprint_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* Fingerprint_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return Fingerprint_globals_.GetClassData();
#else
  return Fingerprint_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace risk
}  // namespace autofill
namespace autofill {
namespace risk {
PROTOBUF_CONSTINIT const uint32_t Fingerprint_MachineCharacteristics_BrowserFeature_internal_data_[] = {
    196608u, 0u, };
static const char Fingerprint_MachineCharacteristics_BrowserFeature_names[] = {
    "DEPRECATED_FEATURE_AUTOCHECKOUT"
    "FEATURE_REQUEST_AUTOCOMPLETE"
    "FEATURE_UNKNOWN"
};

static const ::google::protobuf::internal::EnumEntry Fingerprint_MachineCharacteristics_BrowserFeature_entries[] = {
    {{&Fingerprint_MachineCharacteristics_BrowserFeature_names[0], 31}, 1},
    {{&Fingerprint_MachineCharacteristics_BrowserFeature_names[31], 28}, 2},
    {{&Fingerprint_MachineCharacteristics_BrowserFeature_names[59], 15}, 0},
};

static const int Fingerprint_MachineCharacteristics_BrowserFeature_entries_by_number[] = {
    2,  // 0 -> FEATURE_UNKNOWN
    0,  // 1 -> DEPRECATED_FEATURE_AUTOCHECKOUT
    1,  // 2 -> FEATURE_REQUEST_AUTOCOMPLETE
};

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

const ::std::string& Fingerprint_MachineCharacteristics_BrowserFeature_Name(Fingerprint_MachineCharacteristics_BrowserFeature value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      Fingerprint_MachineCharacteristics_BrowserFeature_entries, Fingerprint_MachineCharacteristics_BrowserFeature_entries_by_number, 3,
      Fingerprint_MachineCharacteristics_BrowserFeature_strings);
  (void)kDummy;

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

Fingerprint_Dimension::Fingerprint_Dimension(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_Dimension_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.Dimension)
}
Fingerprint_Dimension::Fingerprint_Dimension(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Fingerprint_Dimension& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_Dimension_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 Fingerprint_Dimension::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void Fingerprint_Dimension::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, width_),
           0,
           offsetof(Impl_, height_) -
               offsetof(Impl_, width_) +
               sizeof(Impl_::height_));
}
Fingerprint_Dimension::~Fingerprint_Dimension() {
  // @@protoc_insertion_point(destructor:autofill.risk.Fingerprint.Dimension)
  SharedDtor(*this);
}
inline void Fingerprint_Dimension::SharedDtor(MessageLite& self) {
  Fingerprint_Dimension& this_ = static_cast<Fingerprint_Dimension&>(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 Fingerprint_Dimension_class_data_ =
    Fingerprint_Dimension::InternalGenerateClassData_(Fingerprint_Dimension_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    ::memset(&_impl_.width_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.height_) -
        reinterpret_cast<char*>(&_impl_.width_)) + sizeof(_impl_.height_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional int32 width = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_width());
    }
    // optional int32 height = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_height());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.width_ = from._impl_.width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.height_ = from._impl_.height_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_Dimension::CopyFrom(const Fingerprint_Dimension& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.Dimension)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

Fingerprint_MachineCharacteristics_Plugin::Fingerprint_MachineCharacteristics_Plugin(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_MachineCharacteristics_Plugin_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.MachineCharacteristics.Plugin)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_MachineCharacteristics_Plugin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::autofill::risk::Fingerprint_MachineCharacteristics_Plugin& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        mime_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::autofill::risk::Fingerprint_MachineCharacteristics_Plugin,
              PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics_Plugin, _impl_.mime_type_)>()
          , from.mime_type_
        }
        ,
        name_(arena, from.name_),
        description_(arena, from.description_),
        version_(arena, from.version_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Fingerprint_MachineCharacteristics_Plugin* 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:autofill.risk.Fingerprint.MachineCharacteristics.Plugin)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_MachineCharacteristics_Plugin::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        mime_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics_Plugin,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics_Plugin, _impl_.mime_type_)>()
         }
        ,
        name_(arena),
        description_(arena),
        version_(arena) {}

inline void Fingerprint_MachineCharacteristics_Plugin::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Fingerprint_MachineCharacteristics_Plugin::~Fingerprint_MachineCharacteristics_Plugin() {
  // @@protoc_insertion_point(destructor:autofill.risk.Fingerprint.MachineCharacteristics.Plugin)
  SharedDtor(*this);
}
inline void Fingerprint_MachineCharacteristics_Plugin::SharedDtor(MessageLite& self) {
  Fingerprint_MachineCharacteristics_Plugin& this_ = static_cast<Fingerprint_MachineCharacteristics_Plugin&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.name_.Destroy();
  this_._impl_.description_.Destroy();
  this_._impl_.version_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Fingerprint_MachineCharacteristics_Plugin_class_data_ =
    Fingerprint_MachineCharacteristics_Plugin::InternalGenerateClassData_(Fingerprint_MachineCharacteristics_Plugin_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_MachineCharacteristics_Plugin::GetClassData() const {
  return Fingerprint_MachineCharacteristics_Plugin_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_MachineCharacteristics_Plugin::GetClassData() const {
  return Fingerprint_MachineCharacteristics_Plugin_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Fingerprint_MachineCharacteristics_Plugin::ParseTableT_
    Fingerprint_MachineCharacteristics_Plugin::_table_ =
        Fingerprint_MachineCharacteristics_Plugin::InternalGenerateParseTable_(Fingerprint_MachineCharacteristics_Plugin_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Fingerprint_MachineCharacteristics_Plugin::Clear() {
// @@protoc_insertion_point(message_clear_start:autofill.risk.Fingerprint.MachineCharacteristics.Plugin)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.mime_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.description_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.version_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

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

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

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Fingerprint_MachineCharacteristics_Plugin::ByteSizeLong(const MessageLite& base) {
  const Fingerprint_MachineCharacteristics_Plugin& this_ = static_cast<const Fingerprint_MachineCharacteristics_Plugin&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Fingerprint_MachineCharacteristics_Plugin::ByteSizeLong() const {
  const Fingerprint_MachineCharacteristics_Plugin& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:autofill.risk.Fingerprint.MachineCharacteristics.Plugin)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // repeated string mime_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_mime_type().size());
      for (int i = 0, n = this_._internal_mime_type().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_mime_type().Get(i));
      }
    }
    // optional string name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_name());
    }
    // optional string description = 2;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_description());
    }
    // optional string version = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_version());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_mime_type()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_mime_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_name(from._internal_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_description(from._internal_description());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_set_version(from._internal_version());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_MachineCharacteristics_Plugin::CopyFrom(const Fingerprint_MachineCharacteristics_Plugin& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.MachineCharacteristics.Plugin)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

Fingerprint_MachineCharacteristics_Cpu::Fingerprint_MachineCharacteristics_Cpu(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_MachineCharacteristics_Cpu_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.MachineCharacteristics.Cpu)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_MachineCharacteristics_Cpu::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::autofill::risk::Fingerprint_MachineCharacteristics_Cpu& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        vendor_name_(arena, from.vendor_name_),
        brand_(arena, from.brand_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Fingerprint_MachineCharacteristics_Cpu* 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:autofill.risk.Fingerprint.MachineCharacteristics.Cpu)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_MachineCharacteristics_Cpu::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        vendor_name_(arena),
        brand_(arena) {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Fingerprint_MachineCharacteristics_Cpu_class_data_ =
    Fingerprint_MachineCharacteristics_Cpu::InternalGenerateClassData_(Fingerprint_MachineCharacteristics_Cpu_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_MachineCharacteristics_Cpu::GetClassData() const {
  return Fingerprint_MachineCharacteristics_Cpu_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_MachineCharacteristics_Cpu::GetClassData() const {
  return Fingerprint_MachineCharacteristics_Cpu_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Fingerprint_MachineCharacteristics_Cpu::ParseTableT_
    Fingerprint_MachineCharacteristics_Cpu::_table_ =
        Fingerprint_MachineCharacteristics_Cpu::InternalGenerateParseTable_(Fingerprint_MachineCharacteristics_Cpu_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Fingerprint_MachineCharacteristics_Cpu::Clear() {
// @@protoc_insertion_point(message_clear_start:autofill.risk.Fingerprint.MachineCharacteristics.Cpu)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.vendor_name_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.brand_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

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

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Fingerprint_MachineCharacteristics_Cpu::ByteSizeLong(const MessageLite& base) {
  const Fingerprint_MachineCharacteristics_Cpu& this_ = static_cast<const Fingerprint_MachineCharacteristics_Cpu&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Fingerprint_MachineCharacteristics_Cpu::ByteSizeLong() const {
  const Fingerprint_MachineCharacteristics_Cpu& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:autofill.risk.Fingerprint.MachineCharacteristics.Cpu)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional string vendor_name = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_vendor_name());
    }
    // optional string brand = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_brand());
    }
  }
  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 Fingerprint_MachineCharacteristics_Cpu::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Fingerprint_MachineCharacteristics_Cpu*>(&to_msg);
  auto& from = static_cast<const Fingerprint_MachineCharacteristics_Cpu&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:autofill.risk.Fingerprint.MachineCharacteristics.Cpu)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_vendor_name(from._internal_vendor_name());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_brand(from._internal_brand());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_MachineCharacteristics_Cpu::CopyFrom(const Fingerprint_MachineCharacteristics_Cpu& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.MachineCharacteristics.Cpu)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void Fingerprint_MachineCharacteristics_Cpu::InternalSwap(Fingerprint_MachineCharacteristics_Cpu* 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_.vendor_name_, &other->_impl_.vendor_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.brand_, &other->_impl_.brand_, arena);
}

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

Fingerprint_MachineCharacteristics_Graphics::Fingerprint_MachineCharacteristics_Graphics(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_MachineCharacteristics_Graphics_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.MachineCharacteristics.Graphics)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_MachineCharacteristics_Graphics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::autofill::risk::Fingerprint_MachineCharacteristics_Graphics& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        driver_version_(arena, from.driver_version_),
        driver_date_(arena, from.driver_date_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:autofill.risk.Fingerprint.MachineCharacteristics.Graphics)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_MachineCharacteristics_Graphics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        driver_version_(arena),
        driver_date_(arena) {}

inline void Fingerprint_MachineCharacteristics_Graphics::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, vendor_id_),
           0,
           offsetof(Impl_, device_id_) -
               offsetof(Impl_, vendor_id_) +
               sizeof(Impl_::device_id_));
}
Fingerprint_MachineCharacteristics_Graphics::~Fingerprint_MachineCharacteristics_Graphics() {
  // @@protoc_insertion_point(destructor:autofill.risk.Fingerprint.MachineCharacteristics.Graphics)
  SharedDtor(*this);
}
inline void Fingerprint_MachineCharacteristics_Graphics::SharedDtor(MessageLite& self) {
  Fingerprint_MachineCharacteristics_Graphics& this_ = static_cast<Fingerprint_MachineCharacteristics_Graphics&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.driver_version_.Destroy();
  this_._impl_.driver_date_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Fingerprint_MachineCharacteristics_Graphics_class_data_ =
    Fingerprint_MachineCharacteristics_Graphics::InternalGenerateClassData_(Fingerprint_MachineCharacteristics_Graphics_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_MachineCharacteristics_Graphics::GetClassData() const {
  return Fingerprint_MachineCharacteristics_Graphics_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_MachineCharacteristics_Graphics::GetClassData() const {
  return Fingerprint_MachineCharacteristics_Graphics_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Fingerprint_MachineCharacteristics_Graphics::ParseTableT_
    Fingerprint_MachineCharacteristics_Graphics::_table_ =
        Fingerprint_MachineCharacteristics_Graphics::InternalGenerateParseTable_(Fingerprint_MachineCharacteristics_Graphics_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Fingerprint_MachineCharacteristics_Graphics::Clear() {
// @@protoc_insertion_point(message_clear_start:autofill.risk.Fingerprint.MachineCharacteristics.Graphics)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.driver_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.driver_date_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
    ::memset(&_impl_.vendor_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.device_id_) -
        reinterpret_cast<char*>(&_impl_.vendor_id_)) + sizeof(_impl_.device_id_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 vendor_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_vendor_id(), target);
  }

  // optional uint32 device_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_device_id(), target);
  }

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

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

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

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Fingerprint_MachineCharacteristics_Graphics::ByteSizeLong(const MessageLite& base) {
  const Fingerprint_MachineCharacteristics_Graphics& this_ = static_cast<const Fingerprint_MachineCharacteristics_Graphics&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Fingerprint_MachineCharacteristics_Graphics::ByteSizeLong() const {
  const Fingerprint_MachineCharacteristics_Graphics& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:autofill.risk.Fingerprint.MachineCharacteristics.Graphics)
  ::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)) {
    // optional string driver_version = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_driver_version());
    }
    // optional string driver_date = 4;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_driver_date());
    }
    // optional uint32 vendor_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_vendor_id());
    }
    // optional uint32 device_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_device_id());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_driver_version(from._internal_driver_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_driver_date(from._internal_driver_date());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.vendor_id_ = from._impl_.vendor_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.device_id_ = from._impl_.device_id_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_MachineCharacteristics_Graphics::CopyFrom(const Fingerprint_MachineCharacteristics_Graphics& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.MachineCharacteristics.Graphics)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void Fingerprint_MachineCharacteristics_Graphics::InternalSwap(Fingerprint_MachineCharacteristics_Graphics* 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_.driver_version_, &other->_impl_.driver_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.driver_date_, &other->_impl_.driver_date_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.device_id_)
      + sizeof(Fingerprint_MachineCharacteristics_Graphics::_impl_.device_id_)
      - PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics_Graphics, _impl_.vendor_id_)>(
          reinterpret_cast<char*>(&_impl_.vendor_id_),
          reinterpret_cast<char*>(&other->_impl_.vendor_id_));
}

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

Fingerprint_MachineCharacteristics::Fingerprint_MachineCharacteristics(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_MachineCharacteristics_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.MachineCharacteristics)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_MachineCharacteristics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::autofill::risk::Fingerprint_MachineCharacteristics& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        font_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::autofill::risk::Fingerprint_MachineCharacteristics,
              PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.font_)>()
          , from.font_
        }
        ,
        plugin_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::autofill::risk::Fingerprint_MachineCharacteristics,
              PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.plugin_)>()
          , from.plugin_
        }
        ,
        requested_language_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::autofill::risk::Fingerprint_MachineCharacteristics,
              PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.requested_language_)>()
          , from.requested_language_
        }
        ,
        partition_size_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::autofill::risk::Fingerprint_MachineCharacteristics,
              PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.partition_size_)>()
          , from.partition_size_
        }
        ,
        operating_system_build_(arena, from.operating_system_build_),
        browser_language_(arena, from.browser_language_),
        charset_(arena, from.charset_),
        user_agent_(arena, from.user_agent_),
        browser_build_(arena, from.browser_build_) {}

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Fingerprint_MachineCharacteristics* 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_.screen_size_ = (CheckHasBit(cached_has_bits, 0x00000200U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screen_size_)
                : nullptr;
  _impl_.unavailable_screen_size_ = (CheckHasBit(cached_has_bits, 0x00000400U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.unavailable_screen_size_)
                : nullptr;
  _impl_.cpu_ = (CheckHasBit(cached_has_bits, 0x00000800U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cpu_)
                : nullptr;
  _impl_.graphics_card_ = (CheckHasBit(cached_has_bits, 0x00001000U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.graphics_card_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, user_and_device_name_hash_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, user_and_device_name_hash_),
           offsetof(Impl_, browser_feature_) -
               offsetof(Impl_, user_and_device_name_hash_) +
               sizeof(Impl_::browser_feature_));

  // @@protoc_insertion_point(copy_constructor:autofill.risk.Fingerprint.MachineCharacteristics)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_MachineCharacteristics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        font_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.font_)>()
         }
        ,
        plugin_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.plugin_)>()
         }
        ,
        requested_language_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.requested_language_)>()
         }
        ,
        partition_size_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::autofill::risk::Fingerprint_MachineCharacteristics,
            PROTOBUF_FIELD_OFFSET(::autofill::risk::Fingerprint_MachineCharacteristics, _impl_.partition_size_)>()
         }
        ,
        operating_system_build_(arena),
        browser_language_(arena),
        charset_(arena),
        user_agent_(arena),
        browser_build_(arena) {}

inline void Fingerprint_MachineCharacteristics::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, screen_size_),
           0,
           offsetof(Impl_, browser_feature_) -
               offsetof(Impl_, screen_size_) +
               sizeof(Impl_::browser_feature_));
}
Fingerprint_MachineCharacteristics::~Fingerprint_MachineCharacteristics() {
  // @@protoc_insertion_point(destructor:autofill.risk.Fingerprint.MachineCharacteristics)
  SharedDtor(*this);
}
inline void Fingerprint_MachineCharacteristics::SharedDtor(MessageLite& self) {
  Fingerprint_MachineCharacteristics& this_ = static_cast<Fingerprint_MachineCharacteristics&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.operating_system_build_.Destroy();
  this_._impl_.browser_language_.Destroy();
  this_._impl_.charset_.Destroy();
  this_._impl_.user_agent_.Destroy();
  this_._impl_.browser_build_.Destroy();
  delete this_._impl_.screen_size_;
  delete this_._impl_.unavailable_screen_size_;
  delete this_._impl_.cpu_;
  delete this_._impl_.graphics_card_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Fingerprint_MachineCharacteristics_class_data_ =
    Fingerprint_MachineCharacteristics::InternalGenerateClassData_(Fingerprint_MachineCharacteristics_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.font_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.plugin_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.requested_language_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _impl_.partition_size_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _impl_.operating_system_build_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _impl_.browser_language_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _impl_.charset_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _impl_.user_agent_.ClearNonDefaultToEmpty();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00001f00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _impl_.browser_build_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(_impl_.screen_size_ != nullptr);
      _impl_.screen_size_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(_impl_.unavailable_screen_size_ != nullptr);
      _impl_.unavailable_screen_size_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(_impl_.cpu_ != nullptr);
      _impl_.cpu_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(_impl_.graphics_card_ != nullptr);
      _impl_.graphics_card_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000e000U)) {
    ::memset(&_impl_.user_and_device_name_hash_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.utc_offset_ms_) -
        reinterpret_cast<char*>(&_impl_.user_and_device_name_hash_)) + sizeof(_impl_.utc_offset_ms_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000f0000U)) {
    ::memset(&_impl_.screen_count_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.browser_feature_) -
        reinterpret_cast<char*>(&_impl_.screen_count_)) + sizeof(_impl_.browser_feature_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional fixed64 user_and_device_name_hash = 1;
  if (CheckHasBit(cached_has_bits, 0x00002000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFixed64ToArray(
        1, this_._internal_user_and_device_name_hash(), target);
  }

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

  // optional int64 browser_install_time_hours = 3;
  if (CheckHasBit(cached_has_bits, 0x00004000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<3>(
            stream, this_._internal_browser_install_time_hours(), target);
  }

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

  // repeated .autofill.risk.Fingerprint.MachineCharacteristics.Plugin plugin = 5;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_plugin_size());
         i < n; i++) {
      const auto& repfield = this_._internal_plugin().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              5, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  // optional int64 utc_offset_ms = 6;
  if (CheckHasBit(cached_has_bits, 0x00008000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<6>(
            stream, this_._internal_utc_offset_ms(), target);
  }

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

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

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

  // optional int32 screen_count = 10;
  if (CheckHasBit(cached_has_bits, 0x00010000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<10>(
            stream, this_._internal_screen_count(), target);
  }

  // optional .autofill.risk.Fingerprint.Dimension screen_size = 11;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, *this_._impl_.screen_size_, this_._impl_.screen_size_->GetCachedSize(), target,
        stream);
  }

  // optional int32 screen_color_depth = 12;
  if (CheckHasBit(cached_has_bits, 0x00020000U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<12>(
            stream, this_._internal_screen_color_depth(), target);
  }

  // optional .autofill.risk.Fingerprint.Dimension unavailable_screen_size = 13;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        13, *this_._impl_.unavailable_screen_size_, this_._impl_.unavailable_screen_size_->GetCachedSize(), target,
        stream);
  }

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

  // repeated int32 partition_size = 15;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    for (int i = 0, n = this_._internal_partition_size_size(); i < n; ++i) {
      target = stream->EnsureSpace(target);
      target = ::_pbi::WireFormatLite::WriteInt32ToArray(
          15, this_._internal_partition_size().Get(i), target);
    }
  }

  // optional .autofill.risk.Fingerprint.MachineCharacteristics.Cpu cpu = 16;
  if (CheckHasBit(cached_has_bits, 0x00000800U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        16, *this_._impl_.cpu_, this_._impl_.cpu_->GetCachedSize(), target,
        stream);
  }

  // optional int64 ram = 17;
  if (CheckHasBit(cached_has_bits, 0x00040000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt64ToArray(
        17, this_._internal_ram(), target);
  }

  // optional .autofill.risk.Fingerprint.MachineCharacteristics.Graphics graphics_card = 18;
  if (CheckHasBit(cached_has_bits, 0x00001000U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        18, *this_._impl_.graphics_card_, this_._impl_.graphics_card_->GetCachedSize(), target,
        stream);
  }

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

  // optional .autofill.risk.Fingerprint.MachineCharacteristics.BrowserFeature browser_feature = 20;
  if (CheckHasBit(cached_has_bits, 0x00080000U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        20, this_._internal_browser_feature(), 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:autofill.risk.Fingerprint.MachineCharacteristics)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00002000U & cached_has_bits) * 9;
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    // repeated string font = 4;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_font().size());
      for (int i = 0, n = this_._internal_font().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_font().Get(i));
      }
    }
    // repeated .autofill.risk.Fingerprint.MachineCharacteristics.Plugin plugin = 5;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1UL * this_._internal_plugin_size();
      for (const auto& msg : this_._internal_plugin()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // repeated string requested_language = 8;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size +=
          1 * ::google::protobuf::internal::FromIntSize(this_._internal_requested_language().size());
      for (int i = 0, n = this_._internal_requested_language().size(); i < n; ++i) {
        total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
            this_._internal_requested_language().Get(i));
      }
    }
    // repeated int32 partition_size = 15;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ::size_t data_size = ::_pbi::WireFormatLite::Int32Size(
          this_._internal_partition_size());
      ::size_t tag_size = ::size_t{1} *
          ::_pbi::FromIntSize(this_._internal_partition_size_size());
      total_size += tag_size + data_size;
    }
    // optional string operating_system_build = 2;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_operating_system_build());
    }
    // optional string browser_language = 7;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_browser_language());
    }
    // optional string charset = 9;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_charset());
    }
    // optional string user_agent = 14;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_user_agent());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000df00U)) {
    // optional string browser_build = 19;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_browser_build());
    }
    // optional .autofill.risk.Fingerprint.Dimension screen_size = 11;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.screen_size_);
    }
    // optional .autofill.risk.Fingerprint.Dimension unavailable_screen_size = 13;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.unavailable_screen_size_);
    }
    // optional .autofill.risk.Fingerprint.MachineCharacteristics.Cpu cpu = 16;
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cpu_);
    }
    // optional .autofill.risk.Fingerprint.MachineCharacteristics.Graphics graphics_card = 18;
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      total_size += 2 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.graphics_card_);
    }
    // optional int64 browser_install_time_hours = 3;
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_browser_install_time_hours());
    }
    // optional int64 utc_offset_ms = 6;
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_utc_offset_ms());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000f0000U)) {
    // optional int32 screen_count = 10;
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_screen_count());
    }
    // optional int32 screen_color_depth = 12;
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_screen_color_depth());
    }
    // optional int64 ram = 17;
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      total_size += 2 + ::_pbi::WireFormatLite::Int64Size(
                                      this_._internal_ram());
    }
    // optional .autofill.risk.Fingerprint.MachineCharacteristics.BrowserFeature browser_feature = 20;
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      total_size += 2 +
                    ::_pbi::WireFormatLite::EnumSize(this_._internal_browser_feature());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_font()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_font());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_plugin()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_plugin());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_mutable_requested_language()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_requested_language());
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_internal_mutable_partition_size()->MergeFrom(from._internal_partition_size());
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_internal_set_operating_system_build(from._internal_operating_system_build());
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_internal_set_browser_language(from._internal_browser_language());
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_internal_set_charset(from._internal_charset());
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_internal_set_user_agent(from._internal_user_agent());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000ff00U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_internal_set_browser_build(from._internal_browser_build());
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      ABSL_DCHECK(from._impl_.screen_size_ != nullptr);
      if (_this->_impl_.screen_size_ == nullptr) {
        _this->_impl_.screen_size_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.screen_size_);
      } else {
        _this->_impl_.screen_size_->MergeFrom(*from._impl_.screen_size_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      ABSL_DCHECK(from._impl_.unavailable_screen_size_ != nullptr);
      if (_this->_impl_.unavailable_screen_size_ == nullptr) {
        _this->_impl_.unavailable_screen_size_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.unavailable_screen_size_);
      } else {
        _this->_impl_.unavailable_screen_size_->MergeFrom(*from._impl_.unavailable_screen_size_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000800U)) {
      ABSL_DCHECK(from._impl_.cpu_ != nullptr);
      if (_this->_impl_.cpu_ == nullptr) {
        _this->_impl_.cpu_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.cpu_);
      } else {
        _this->_impl_.cpu_->MergeFrom(*from._impl_.cpu_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00001000U)) {
      ABSL_DCHECK(from._impl_.graphics_card_ != nullptr);
      if (_this->_impl_.graphics_card_ == nullptr) {
        _this->_impl_.graphics_card_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.graphics_card_);
      } else {
        _this->_impl_.graphics_card_->MergeFrom(*from._impl_.graphics_card_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00002000U)) {
      _this->_impl_.user_and_device_name_hash_ = from._impl_.user_and_device_name_hash_;
    }
    if (CheckHasBit(cached_has_bits, 0x00004000U)) {
      _this->_impl_.browser_install_time_hours_ = from._impl_.browser_install_time_hours_;
    }
    if (CheckHasBit(cached_has_bits, 0x00008000U)) {
      _this->_impl_.utc_offset_ms_ = from._impl_.utc_offset_ms_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000f0000U)) {
    if (CheckHasBit(cached_has_bits, 0x00010000U)) {
      _this->_impl_.screen_count_ = from._impl_.screen_count_;
    }
    if (CheckHasBit(cached_has_bits, 0x00020000U)) {
      _this->_impl_.screen_color_depth_ = from._impl_.screen_color_depth_;
    }
    if (CheckHasBit(cached_has_bits, 0x00040000U)) {
      _this->_impl_.ram_ = from._impl_.ram_;
    }
    if (CheckHasBit(cached_has_bits, 0x00080000U)) {
      _this->_impl_.browser_feature_ = from._impl_.browser_feature_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_MachineCharacteristics::CopyFrom(const Fingerprint_MachineCharacteristics& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.MachineCharacteristics)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void Fingerprint_MachineCharacteristics::InternalSwap(Fingerprint_MachineCharacteristics* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.font_.InternalSwap(&other->_impl_.font_);
  _impl_.plugin_.InternalSwap(&other->_impl_.plugin_);
  _impl_.requested_language_.InternalSwap(&other->_impl_.requested_language_);
  _impl_.partition_size_.InternalSwap(&other->_impl_.partition_size_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.operating_system_build_, &other->_impl_.operating_system_build_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.browser_language_, &other->_impl_.browser_language_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.charset_, &other->_impl_.charset_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.user_agent_, &other->_impl_.user_agent_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.browser_build_, &other->_impl_.browser_build_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.browser_feature_)
      + sizeof(Fingerprint_MachineCharacteristics::_impl_.browser_feature_)
      - PROTOBUF_FIELD_OFFSET(Fingerprint_MachineCharacteristics, _impl_.screen_size_)>(
          reinterpret_cast<char*>(&_impl_.screen_size_),
          reinterpret_cast<char*>(&other->_impl_.screen_size_));
}

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Fingerprint_TransientState* 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_.inner_window_size_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.inner_window_size_)
                : nullptr;
  _impl_.outer_window_size_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.outer_window_size_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:autofill.risk.Fingerprint.TransientState)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_TransientState::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Fingerprint_TransientState_class_data_ =
    Fingerprint_TransientState::InternalGenerateClassData_(Fingerprint_TransientState_globals_._default);

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

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

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .autofill.risk.Fingerprint.Dimension inner_window_size = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.inner_window_size_, this_._impl_.inner_window_size_->GetCachedSize(), target,
        stream);
  }

  // optional .autofill.risk.Fingerprint.Dimension outer_window_size = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.outer_window_size_, this_._impl_.outer_window_size_->GetCachedSize(), target,
        stream);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // optional .autofill.risk.Fingerprint.Dimension inner_window_size = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.inner_window_size_);
    }
    // optional .autofill.risk.Fingerprint.Dimension outer_window_size = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.outer_window_size_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

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

void Fingerprint_TransientState::CopyFrom(const Fingerprint_TransientState& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.TransientState)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

Fingerprint_Performance::Fingerprint_Performance(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_Performance_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.Performance)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_Performance::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::autofill::risk::Fingerprint_Performance& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        network_type_(arena, from.network_type_) {}

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

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

  // @@protoc_insertion_point(copy_constructor:autofill.risk.Fingerprint.Performance)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_Performance::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        network_type_(arena) {}

inline void Fingerprint_Performance::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, bandwidth_),
           0,
           offsetof(Impl_, metered_) -
               offsetof(Impl_, bandwidth_) +
               sizeof(Impl_::metered_));
}
Fingerprint_Performance::~Fingerprint_Performance() {
  // @@protoc_insertion_point(destructor:autofill.risk.Fingerprint.Performance)
  SharedDtor(*this);
}
inline void Fingerprint_Performance::SharedDtor(MessageLite& self) {
  Fingerprint_Performance& this_ = static_cast<Fingerprint_Performance&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.network_type_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Fingerprint_Performance_class_data_ =
    Fingerprint_Performance::InternalGenerateClassData_(Fingerprint_Performance_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_Performance::GetClassData() const {
  return Fingerprint_Performance_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_Performance::GetClassData() const {
  return Fingerprint_Performance_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Fingerprint_Performance::ParseTableT_
    Fingerprint_Performance::_table_ =
        Fingerprint_Performance::InternalGenerateParseTable_(Fingerprint_Performance_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Fingerprint_Performance::Clear() {
// @@protoc_insertion_point(message_clear_start:autofill.risk.Fingerprint.Performance)
  ::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_.network_type_.ClearNonDefaultToEmpty();
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000006U)) {
    ::memset(&_impl_.bandwidth_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.metered_) -
        reinterpret_cast<char*>(&_impl_.bandwidth_)) + sizeof(_impl_.metered_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional float bandwidth = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        1, this_._internal_bandwidth(), target);
  }

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

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

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000002U & cached_has_bits) * 5;
  total_size += static_cast<bool>(0x00000004U & cached_has_bits) * 2;
   {
    // optional string network_type = 3;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_network_type());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_network_type(from._internal_network_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.bandwidth_ = from._impl_.bandwidth_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.metered_ = from._impl_.metered_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_Performance::CopyFrom(const Fingerprint_Performance& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.Performance)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void Fingerprint_Performance::InternalSwap(Fingerprint_Performance* 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_.network_type_, &other->_impl_.network_type_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_.metered_)
      + sizeof(Fingerprint_Performance::_impl_.metered_)
      - PROTOBUF_FIELD_OFFSET(Fingerprint_Performance, _impl_.bandwidth_)>(
          reinterpret_cast<char*>(&_impl_.bandwidth_),
          reinterpret_cast<char*>(&other->_impl_.bandwidth_));
}

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

Fingerprint_UserCharacteristics_Vector::Fingerprint_UserCharacteristics_Vector(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_UserCharacteristics_Vector_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.UserCharacteristics.Vector)
}
Fingerprint_UserCharacteristics_Vector::Fingerprint_UserCharacteristics_Vector(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Fingerprint_UserCharacteristics_Vector& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_UserCharacteristics_Vector_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 Fingerprint_UserCharacteristics_Vector::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void Fingerprint_UserCharacteristics_Vector::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, x_),
           0,
           offsetof(Impl_, z_) -
               offsetof(Impl_, x_) +
               sizeof(Impl_::z_));
}
Fingerprint_UserCharacteristics_Vector::~Fingerprint_UserCharacteristics_Vector() {
  // @@protoc_insertion_point(destructor:autofill.risk.Fingerprint.UserCharacteristics.Vector)
  SharedDtor(*this);
}
inline void Fingerprint_UserCharacteristics_Vector::SharedDtor(MessageLite& self) {
  Fingerprint_UserCharacteristics_Vector& this_ = static_cast<Fingerprint_UserCharacteristics_Vector&>(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 Fingerprint_UserCharacteristics_Vector_class_data_ =
    Fingerprint_UserCharacteristics_Vector::InternalGenerateClassData_(Fingerprint_UserCharacteristics_Vector_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_UserCharacteristics_Vector::GetClassData() const {
  return Fingerprint_UserCharacteristics_Vector_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_UserCharacteristics_Vector::GetClassData() const {
  return Fingerprint_UserCharacteristics_Vector_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Fingerprint_UserCharacteristics_Vector::ParseTableT_
    Fingerprint_UserCharacteristics_Vector::_table_ =
        Fingerprint_UserCharacteristics_Vector::InternalGenerateParseTable_(Fingerprint_UserCharacteristics_Vector_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Fingerprint_UserCharacteristics_Vector::Clear() {
// @@protoc_insertion_point(message_clear_start:autofill.risk.Fingerprint.UserCharacteristics.Vector)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    ::memset(&_impl_.x_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.z_) -
        reinterpret_cast<char*>(&_impl_.x_)) + sizeof(_impl_.z_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

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

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

  // optional int32 z = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_z(), 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:autofill.risk.Fingerprint.UserCharacteristics.Vector)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Fingerprint_UserCharacteristics_Vector::ByteSizeLong(const MessageLite& base) {
  const Fingerprint_UserCharacteristics_Vector& this_ = static_cast<const Fingerprint_UserCharacteristics_Vector&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Fingerprint_UserCharacteristics_Vector::ByteSizeLong() const {
  const Fingerprint_UserCharacteristics_Vector& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:autofill.risk.Fingerprint.UserCharacteristics.Vector)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional int32 x = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_x());
    }
    // optional int32 y = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_y());
    }
    // optional int32 z = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_z());
    }
  }
  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 Fingerprint_UserCharacteristics_Vector::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Fingerprint_UserCharacteristics_Vector*>(&to_msg);
  auto& from = static_cast<const Fingerprint_UserCharacteristics_Vector&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:autofill.risk.Fingerprint.UserCharacteristics.Vector)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.x_ = from._impl_.x_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.y_ = from._impl_.y_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.z_ = from._impl_.z_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_UserCharacteristics_Vector::CopyFrom(const Fingerprint_UserCharacteristics_Vector& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.UserCharacteristics.Vector)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

Fingerprint_UserCharacteristics_Location::Fingerprint_UserCharacteristics_Location(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_UserCharacteristics_Location_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.UserCharacteristics.Location)
}
Fingerprint_UserCharacteristics_Location::Fingerprint_UserCharacteristics_Location(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Fingerprint_UserCharacteristics_Location& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_UserCharacteristics_Location_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 Fingerprint_UserCharacteristics_Location::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void Fingerprint_UserCharacteristics_Location::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, altitude_),
           0,
           offsetof(Impl_, time_in_ms_) -
               offsetof(Impl_, altitude_) +
               sizeof(Impl_::time_in_ms_));
}
Fingerprint_UserCharacteristics_Location::~Fingerprint_UserCharacteristics_Location() {
  // @@protoc_insertion_point(destructor:autofill.risk.Fingerprint.UserCharacteristics.Location)
  SharedDtor(*this);
}
inline void Fingerprint_UserCharacteristics_Location::SharedDtor(MessageLite& self) {
  Fingerprint_UserCharacteristics_Location& this_ = static_cast<Fingerprint_UserCharacteristics_Location&>(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 Fingerprint_UserCharacteristics_Location_class_data_ =
    Fingerprint_UserCharacteristics_Location::InternalGenerateClassData_(Fingerprint_UserCharacteristics_Location_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_UserCharacteristics_Location::GetClassData() const {
  return Fingerprint_UserCharacteristics_Location_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint_UserCharacteristics_Location::GetClassData() const {
  return Fingerprint_UserCharacteristics_Location_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Fingerprint_UserCharacteristics_Location::ParseTableT_
    Fingerprint_UserCharacteristics_Location::_table_ =
        Fingerprint_UserCharacteristics_Location::InternalGenerateParseTable_(Fingerprint_UserCharacteristics_Location_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Fingerprint_UserCharacteristics_Location::Clear() {
// @@protoc_insertion_point(message_clear_start:autofill.risk.Fingerprint.UserCharacteristics.Location)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    ::memset(&_impl_.altitude_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.time_in_ms_) -
        reinterpret_cast<char*>(&_impl_.altitude_)) + sizeof(_impl_.time_in_ms_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional double altitude = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        1, this_._internal_altitude(), target);
  }

  // optional double latitude = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        2, this_._internal_latitude(), target);
  }

  // optional double longitude = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        3, this_._internal_longitude(), target);
  }

  // optional double accuracy = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        4, this_._internal_accuracy(), target);
  }

  // optional int64 time_in_ms = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
            stream, this_._internal_time_in_ms(), target);
  }

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

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t Fingerprint_UserCharacteristics_Location::ByteSizeLong(const MessageLite& base) {
  const Fingerprint_UserCharacteristics_Location& this_ = static_cast<const Fingerprint_UserCharacteristics_Location&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t Fingerprint_UserCharacteristics_Location::ByteSizeLong() const {
  const Fingerprint_UserCharacteristics_Location& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:autofill.risk.Fingerprint.UserCharacteristics.Location)
  ::size_t total_size = 0;

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x0000000fU & cached_has_bits) * 9;
   {
    // optional int64 time_in_ms = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_time_in_ms());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.altitude_ = from._impl_.altitude_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.latitude_ = from._impl_.latitude_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.longitude_ = from._impl_.longitude_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.accuracy_ = from._impl_.accuracy_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.time_in_ms_ = from._impl_.time_in_ms_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_UserCharacteristics_Location::CopyFrom(const Fingerprint_UserCharacteristics_Location& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.UserCharacteristics.Location)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Fingerprint_UserCharacteristics* 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_.device_orientation_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.device_orientation_)
                : nullptr;
  _impl_.device_acceleration_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.device_acceleration_)
                : nullptr;
  _impl_.location_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.location_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, force_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, force_),
           offsetof(Impl_, touch_rotation_) -
               offsetof(Impl_, force_) +
               sizeof(Impl_::touch_rotation_));

  // @@protoc_insertion_point(copy_constructor:autofill.risk.Fingerprint.UserCharacteristics)
}
PROTOBUF_NDEBUG_INLINE Fingerprint_UserCharacteristics::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Fingerprint_UserCharacteristics_class_data_ =
    Fingerprint_UserCharacteristics::InternalGenerateClassData_(Fingerprint_UserCharacteristics_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(_impl_.device_orientation_ != nullptr);
      _impl_.device_orientation_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.device_acceleration_ != nullptr);
      _impl_.device_acceleration_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.location_ != nullptr);
      _impl_.location_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000078U)) {
    ::memset(&_impl_.force_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.touch_rotation_) -
        reinterpret_cast<char*>(&_impl_.force_)) + sizeof(_impl_.touch_rotation_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional float force = 1;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        1, this_._internal_force(), target);
  }

  // optional float touch_width = 2;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        2, this_._internal_touch_width(), target);
  }

  // optional float touch_height = 3;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteFloatToArray(
        3, this_._internal_touch_height(), target);
  }

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

  // optional .autofill.risk.Fingerprint.UserCharacteristics.Vector device_orientation = 5;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.device_orientation_, this_._impl_.device_orientation_->GetCachedSize(), target,
        stream);
  }

  // optional .autofill.risk.Fingerprint.UserCharacteristics.Vector device_acceleration = 6;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, *this_._impl_.device_acceleration_, this_._impl_.device_acceleration_->GetCachedSize(), target,
        stream);
  }

  // optional .autofill.risk.Fingerprint.UserCharacteristics.Location location = 7;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.location_, this_._impl_.location_->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:autofill.risk.Fingerprint.UserCharacteristics)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += ::absl::popcount(0x00000038U & cached_has_bits) * 5;
  if (BatchCheckHasBit(cached_has_bits, 0x00000047U)) {
    // optional .autofill.risk.Fingerprint.UserCharacteristics.Vector device_orientation = 5;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.device_orientation_);
    }
    // optional .autofill.risk.Fingerprint.UserCharacteristics.Vector device_acceleration = 6;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.device_acceleration_);
    }
    // optional .autofill.risk.Fingerprint.UserCharacteristics.Location location = 7;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.location_);
    }
    // optional int32 touch_rotation = 4;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_touch_rotation());
    }
  }
  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 Fingerprint_UserCharacteristics::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<Fingerprint_UserCharacteristics*>(&to_msg);
  auto& from = static_cast<const Fingerprint_UserCharacteristics&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:autofill.risk.Fingerprint.UserCharacteristics)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.device_orientation_ != nullptr);
      if (_this->_impl_.device_orientation_ == nullptr) {
        _this->_impl_.device_orientation_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.device_orientation_);
      } else {
        _this->_impl_.device_orientation_->MergeFrom(*from._impl_.device_orientation_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.device_acceleration_ != nullptr);
      if (_this->_impl_.device_acceleration_ == nullptr) {
        _this->_impl_.device_acceleration_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.device_acceleration_);
      } else {
        _this->_impl_.device_acceleration_->MergeFrom(*from._impl_.device_acceleration_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.location_ != nullptr);
      if (_this->_impl_.location_ == nullptr) {
        _this->_impl_.location_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.location_);
      } else {
        _this->_impl_.location_->MergeFrom(*from._impl_.location_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.force_ = from._impl_.force_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.touch_width_ = from._impl_.touch_width_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.touch_height_ = from._impl_.touch_height_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.touch_rotation_ = from._impl_.touch_rotation_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_UserCharacteristics::CopyFrom(const Fingerprint_UserCharacteristics& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.UserCharacteristics)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

Fingerprint_Metadata::Fingerprint_Metadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_Metadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:autofill.risk.Fingerprint.Metadata)
}
Fingerprint_Metadata::Fingerprint_Metadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Fingerprint_Metadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, Fingerprint_Metadata_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 Fingerprint_Metadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0} {}

inline void Fingerprint_Metadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, timestamp_ms_),
           0,
           offsetof(Impl_, fingerprinter_version_) -
               offsetof(Impl_, timestamp_ms_) +
               sizeof(Impl_::fingerprinter_version_));
}
Fingerprint_Metadata::~Fingerprint_Metadata() {
  // @@protoc_insertion_point(destructor:autofill.risk.Fingerprint.Metadata)
  SharedDtor(*this);
}
inline void Fingerprint_Metadata::SharedDtor(MessageLite& self) {
  Fingerprint_Metadata& this_ = static_cast<Fingerprint_Metadata&>(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 Fingerprint_Metadata_class_data_ =
    Fingerprint_Metadata::InternalGenerateClassData_(Fingerprint_Metadata_globals_._default);

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

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    ::memset(&_impl_.timestamp_ms_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.fingerprinter_version_) -
        reinterpret_cast<char*>(&_impl_.timestamp_ms_)) + sizeof(_impl_.fingerprinter_version_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int64 timestamp_ms = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<1>(
            stream, this_._internal_timestamp_ms(), target);
  }

  // optional uint64 obfuscated_gaia_id = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        2, this_._internal_obfuscated_gaia_id(), target);
  }

  // optional int32 fingerprinter_version = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_fingerprinter_version(), 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:autofill.risk.Fingerprint.Metadata)
  return target;
}

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional int64 timestamp_ms = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_timestamp_ms());
    }
    // optional uint64 obfuscated_gaia_id = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
          this_._internal_obfuscated_gaia_id());
    }
    // optional int32 fingerprinter_version = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_fingerprinter_version());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_impl_.timestamp_ms_ = from._impl_.timestamp_ms_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.obfuscated_gaia_id_ = from._impl_.obfuscated_gaia_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.fingerprinter_version_ = from._impl_.fingerprinter_version_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void Fingerprint_Metadata::CopyFrom(const Fingerprint_Metadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:autofill.risk.Fingerprint.Metadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


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

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

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

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

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  Fingerprint* 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_.machine_characteristics_ = (CheckHasBit(cached_has_bits, 0x00000001U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.machine_characteristics_)
                : nullptr;
  _impl_.performance_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.performance_)
                : nullptr;
  _impl_.user_characteristics_ = (CheckHasBit(cached_has_bits, 0x00000004U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.user_characteristics_)
                : nullptr;
  _impl_.transient_state_ = (CheckHasBit(cached_has_bits, 0x00000008U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.transient_state_)
                : nullptr;
  _impl_.metadata_ = (CheckHasBit(cached_has_bits, 0x00000010U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metadata_)
                : nullptr;

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

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

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite Fingerprint_class_data_ =
    Fingerprint::InternalGenerateClassData_(Fingerprint_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint::GetClassData() const {
  return Fingerprint_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
Fingerprint::GetClassData() const {
  return Fingerprint_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const Fingerprint::ParseTableT_
    Fingerprint::_table_ =
        Fingerprint::InternalGenerateParseTable_(Fingerprint_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void Fingerprint::Clear() {
// @@protoc_insertion_point(message_clear_start:autofill.risk.Fingerprint)
  ::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)) {
      ABSL_DCHECK(_impl_.machine_characteristics_ != nullptr);
      _impl_.machine_characteristics_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.performance_ != nullptr);
      _impl_.performance_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(_impl_.user_characteristics_ != nullptr);
      _impl_.user_characteristics_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(_impl_.transient_state_ != nullptr);
      _impl_.transient_state_->Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(_impl_.metadata_ != nullptr);
      _impl_.metadata_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

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

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional .autofill.risk.Fingerprint.MachineCharacteristics machine_characteristics = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, *this_._impl_.machine_characteristics_, this_._impl_.machine_characteristics_->GetCachedSize(), target,
        stream);
  }

  // optional .autofill.risk.Fingerprint.Performance performance = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, *this_._impl_.performance_, this_._impl_.performance_->GetCachedSize(), target,
        stream);
  }

  // optional .autofill.risk.Fingerprint.UserCharacteristics user_characteristics = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, *this_._impl_.user_characteristics_, this_._impl_.user_characteristics_->GetCachedSize(), target,
        stream);
  }

  // optional .autofill.risk.Fingerprint.TransientState transient_state = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, *this_._impl_.transient_state_, this_._impl_.transient_state_->GetCachedSize(), target,
        stream);
  }

  // optional .autofill.risk.Fingerprint.Metadata metadata = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, *this_._impl_.metadata_, this_._impl_.metadata_->GetCachedSize(), target,
        stream);
  }

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

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

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

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    // optional .autofill.risk.Fingerprint.MachineCharacteristics machine_characteristics = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.machine_characteristics_);
    }
    // optional .autofill.risk.Fingerprint.Performance performance = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.performance_);
    }
    // optional .autofill.risk.Fingerprint.UserCharacteristics user_characteristics = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.user_characteristics_);
    }
    // optional .autofill.risk.Fingerprint.TransientState transient_state = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.transient_state_);
    }
    // optional .autofill.risk.Fingerprint.Metadata metadata = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.metadata_);
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

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

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000001fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      ABSL_DCHECK(from._impl_.machine_characteristics_ != nullptr);
      if (_this->_impl_.machine_characteristics_ == nullptr) {
        _this->_impl_.machine_characteristics_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.machine_characteristics_);
      } else {
        _this->_impl_.machine_characteristics_->MergeFrom(*from._impl_.machine_characteristics_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.performance_ != nullptr);
      if (_this->_impl_.performance_ == nullptr) {
        _this->_impl_.performance_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.performance_);
      } else {
        _this->_impl_.performance_->MergeFrom(*from._impl_.performance_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      ABSL_DCHECK(from._impl_.user_characteristics_ != nullptr);
      if (_this->_impl_.user_characteristics_ == nullptr) {
        _this->_impl_.user_characteristics_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.user_characteristics_);
      } else {
        _this->_impl_.user_characteristics_->MergeFrom(*from._impl_.user_characteristics_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      ABSL_DCHECK(from._impl_.transient_state_ != nullptr);
      if (_this->_impl_.transient_state_ == nullptr) {
        _this->_impl_.transient_state_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.transient_state_);
      } else {
        _this->_impl_.transient_state_->MergeFrom(*from._impl_.transient_state_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      ABSL_DCHECK(from._impl_.metadata_ != nullptr);
      if (_this->_impl_.metadata_ == nullptr) {
        _this->_impl_.metadata_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.metadata_);
      } else {
        _this->_impl_.metadata_->MergeFrom(*from._impl_.metadata_);
      }
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

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


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

// @@protoc_insertion_point(namespace_scope)
}  // namespace risk
}  // namespace autofill
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
