/**
 * Autogenerated by Thrift for /opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated @nocommit
 */

#pragma once

#include <thrift/lib/cpp2/gen/module_types_h.h>

namespace apache::thrift {
namespace ident {
struct reason;
struct name;
struct name;
struct typeHint;
struct serialize;
struct precision_loss;
struct inf_overflow;
struct not_a_number;
} // namespace ident
namespace detail {
#ifndef APACHE_THRIFT_ACCESSOR_reason
#define APACHE_THRIFT_ACCESSOR_reason
APACHE_THRIFT_DEFINE_ACCESSOR(reason);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_name
#define APACHE_THRIFT_ACCESSOR_name
APACHE_THRIFT_DEFINE_ACCESSOR(name);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_name
#define APACHE_THRIFT_ACCESSOR_name
APACHE_THRIFT_DEFINE_ACCESSOR(name);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_typeHint
#define APACHE_THRIFT_ACCESSOR_typeHint
APACHE_THRIFT_DEFINE_ACCESSOR(typeHint);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_serialize
#define APACHE_THRIFT_ACCESSOR_serialize
APACHE_THRIFT_DEFINE_ACCESSOR(serialize);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_precision_loss
#define APACHE_THRIFT_ACCESSOR_precision_loss
APACHE_THRIFT_DEFINE_ACCESSOR(precision_loss);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_inf_overflow
#define APACHE_THRIFT_ACCESSOR_inf_overflow
APACHE_THRIFT_DEFINE_ACCESSOR(inf_overflow);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_not_a_number
#define APACHE_THRIFT_ACCESSOR_not_a_number
APACHE_THRIFT_DEFINE_ACCESSOR(not_a_number);
#endif
} // namespace detail
} // namespace apache::thrift

// BEGIN declare_enums
namespace facebook::thrift::annotation::python {

/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "ConstraintLevel", "kind": "enum" } */
enum class ConstraintLevel {
  UNSPECIFIED = 0,
  ALLOW_INVALID = 1,
  MAP = 2,
  REJECT = 3,
};

} // namespace facebook::thrift::annotation::python

template<> struct std::hash<::facebook::thrift::annotation::python::ConstraintLevel> :
  ::apache::thrift::detail::enum_hash<::facebook::thrift::annotation::python::ConstraintLevel> {};

namespace apache::thrift {

template <> struct TEnumTraits<::facebook::thrift::annotation::python::ConstraintLevel> {
  using type = ::facebook::thrift::annotation::python::ConstraintLevel;

  static constexpr std::size_t const size = 4;
  static folly::Range<type const*> const values;
  static folly::Range<std::string_view const*> const names;
  static const std::string_view __fbthrift_module_name_internal_do_not_use;

  static bool findName(type value, std::string_view* out) noexcept;
  static bool findValue(std::string_view name, type* out) noexcept;

  FOLLY_ERASE static std::string_view typeName() noexcept {
    return "ConstraintLevel";
  }

  FOLLY_ERASE static constexpr std::string_view moduleName() noexcept {
    return "python";
  }

  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/ConstraintLevel";

  static char const* findName(type value) noexcept {
    std::string_view ret;
    (void)findName(value, &ret);
    return ret.data();
  }
  static constexpr type min() { return type::UNSPECIFIED; }
  static constexpr type max() { return type::REJECT; }

  static const std::vector<std::any>& annotations() noexcept;
  static const std::vector<std::any>& enumValueAnnotations(::facebook::thrift::annotation::python::ConstraintLevel) noexcept;
};

} // namespace apache::thrift
// END declare_enums
// BEGIN forward_declare
namespace facebook::thrift::annotation::python {
class Py3Hidden;
class PyDeprecatedHidden;
class Flags;
class Name;
class Adapter;
class UseCAPI;
class Py3EnableCppAdapter;
class MigrationBlockingAllowInheritance;
class DeprecatedSortSetOnSerialize;
class DeprecatedKeySortMapOnSerialize;
class DisableFieldCache;
class ConstrainedFloat32;
class EnableUnsafeUnconstrainedFloat32;
} // namespace facebook::thrift::annotation::python
// END forward_declare
namespace apache::thrift::detail::annotation {
} // namespace apache::thrift::detail::annotation

namespace apache::thrift::detail::qualifier {
} // namespace apache::thrift::detail::qualifier

// BEGIN hash_and_equal_to
// END hash_and_equal_to
namespace facebook::thrift::annotation::python {
using ::apache::thrift::detail::operator!=;
using ::apache::thrift::detail::operator>;
using ::apache::thrift::detail::operator<=;
using ::apache::thrift::detail::operator>=;


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "Py3Hidden", "kind": "struct" } */
class Py3Hidden final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/Py3Hidden";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Py3Hidden;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  Py3Hidden() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Py3Hidden(apache::thrift::FragileConstructor);

  Py3Hidden(Py3Hidden&&) = default;

  Py3Hidden(const Py3Hidden&) = default;


  Py3Hidden& operator=(Py3Hidden&&) = default;

  Py3Hidden& operator=(const Py3Hidden&) = default;

 public:

  bool operator==(const Py3Hidden&) const;
  bool operator<(const Py3Hidden&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Py3Hidden>;
  friend void swap(Py3Hidden& a, Py3Hidden& b);
};

template <class Protocol_>
unsigned long Py3Hidden::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "PyDeprecatedHidden", "kind": "struct" } */
class PyDeprecatedHidden final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/PyDeprecatedHidden";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 1;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0,1};

  using __fbthrift_reflection_idents = folly::tag_t<
    ::apache::thrift::ident::reason
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
    ::apache::thrift::type::string_t
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = PyDeprecatedHidden;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  PyDeprecatedHidden();

  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  PyDeprecatedHidden(apache::thrift::FragileConstructor, ::std::string reason__arg);

  PyDeprecatedHidden(PyDeprecatedHidden&&) noexcept;

  PyDeprecatedHidden(const PyDeprecatedHidden& src);


  PyDeprecatedHidden& operator=(PyDeprecatedHidden&&) noexcept;
  PyDeprecatedHidden& operator=(const PyDeprecatedHidden& src);

  ~PyDeprecatedHidden();

 private:
  ::std::string __fbthrift_field_reason;
 private:
  apache::thrift::detail::isset_bitset<1, apache::thrift::detail::IssetBitsetOption::Unpacked> __isset;

 public:

  bool operator==(const PyDeprecatedHidden&) const;
  bool operator<(const PyDeprecatedHidden&) const;

  /** Glean { "field": "reason" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> reason_ref() const& {
    return {this->__fbthrift_field_reason, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "reason" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> reason_ref() & {
    return {this->__fbthrift_field_reason, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "reason" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> reason_ref() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_reason), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "reason" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> reason() const& {
    return {this->__fbthrift_field_reason, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "reason" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> reason() & {
    return {this->__fbthrift_field_reason, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "reason" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> reason() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_reason), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "reason" } */
  [[deprecated("Use `FOO.reason().value()` instead of `FOO.get_reason()`")]]
  const ::std::string& get_reason() const& {
    return __fbthrift_field_reason;
  }

  /** Glean { "field": "reason" } */
  [[deprecated("Use `FOO.reason().value()` instead of `FOO.get_reason()`")]]
  ::std::string get_reason() && {
    return static_cast<::std::string&&>(__fbthrift_field_reason);
  }

  /** Glean { "field": "reason" } */
  template <typename T_PyDeprecatedHidden_reason_struct_setter = ::std::string>
  [[deprecated("Use `FOO.reason() = BAR` instead of `FOO.set_reason(BAR)`")]]
  ::std::string& set_reason(T_PyDeprecatedHidden_reason_struct_setter&& reason_) {
    reason_ref() = std::forward<T_PyDeprecatedHidden_reason_struct_setter>(reason_);
    return __fbthrift_field_reason;
  }

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<PyDeprecatedHidden>;
  friend void swap(PyDeprecatedHidden& a, PyDeprecatedHidden& b);
};

template <class Protocol_>
unsigned long PyDeprecatedHidden::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "Flags", "kind": "struct" } */
class Flags final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/Flags";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Flags;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  Flags() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Flags(apache::thrift::FragileConstructor);

  Flags(Flags&&) = default;

  Flags(const Flags&) = default;


  Flags& operator=(Flags&&) = default;

  Flags& operator=(const Flags&) = default;

 public:

  bool operator==(const Flags&) const;
  bool operator<(const Flags&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Flags>;
  friend void swap(Flags& a, Flags& b);
};

template <class Protocol_>
unsigned long Flags::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "Name", "kind": "struct" } */
class Name final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/Name";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 1;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0,1};

  using __fbthrift_reflection_idents = folly::tag_t<
    ::apache::thrift::ident::name
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
    ::apache::thrift::type::string_t
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Name;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  Name();

  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Name(apache::thrift::FragileConstructor, ::std::string name__arg);

  Name(Name&&) noexcept;

  Name(const Name& src);


  Name& operator=(Name&&) noexcept;
  Name& operator=(const Name& src);

  ~Name();

 private:
  ::std::string __fbthrift_field_name;
 private:
  apache::thrift::detail::isset_bitset<1, apache::thrift::detail::IssetBitsetOption::Unpacked> __isset;

 public:

  bool operator==(const Name&) const;
  bool operator<(const Name&) const;

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> name_ref() const& {
    return {this->__fbthrift_field_name, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> name_ref() & {
    return {this->__fbthrift_field_name, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> name_ref() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_name), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> name() const& {
    return {this->__fbthrift_field_name, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> name() & {
    return {this->__fbthrift_field_name, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> name() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_name), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  [[deprecated("Use `FOO.name().value()` instead of `FOO.get_name()`")]]
  const ::std::string& get_name() const& {
    return __fbthrift_field_name;
  }

  /** Glean { "field": "name" } */
  [[deprecated("Use `FOO.name().value()` instead of `FOO.get_name()`")]]
  ::std::string get_name() && {
    return static_cast<::std::string&&>(__fbthrift_field_name);
  }

  /** Glean { "field": "name" } */
  template <typename T_Name_name_struct_setter = ::std::string>
  [[deprecated("Use `FOO.name() = BAR` instead of `FOO.set_name(BAR)`")]]
  ::std::string& set_name(T_Name_name_struct_setter&& name_) {
    name_ref() = std::forward<T_Name_name_struct_setter>(name_);
    return __fbthrift_field_name;
  }

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Name>;
  friend void swap(Name& a, Name& b);
};

template <class Protocol_>
unsigned long Name::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "Adapter", "kind": "struct" } */
class Adapter final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/Adapter";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 2;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0,1,2};

  using __fbthrift_reflection_idents = folly::tag_t<
    ::apache::thrift::ident::name,
    ::apache::thrift::ident::typeHint
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
    ::apache::thrift::type::string_t,
    ::apache::thrift::type::string_t
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Adapter;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  Adapter();

  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Adapter(apache::thrift::FragileConstructor, ::std::string name__arg, ::std::string typeHint__arg);

  Adapter(Adapter&&) noexcept;

  Adapter(const Adapter& src);


  Adapter& operator=(Adapter&&) noexcept;
  Adapter& operator=(const Adapter& src);

  ~Adapter();

 private:
  ::std::string __fbthrift_field_name;
 private:
  ::std::string __fbthrift_field_typeHint;
 private:
  apache::thrift::detail::isset_bitset<2, apache::thrift::detail::IssetBitsetOption::Unpacked> __isset;

 public:

  bool operator==(const Adapter&) const;
  bool operator<(const Adapter&) const;

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> name_ref() const& {
    return {this->__fbthrift_field_name, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> name_ref() & {
    return {this->__fbthrift_field_name, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> name_ref() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_name), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> name() const& {
    return {this->__fbthrift_field_name, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> name() & {
    return {this->__fbthrift_field_name, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "name" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> name() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_name), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "typeHint" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> typeHint_ref() const& {
    return {this->__fbthrift_field_typeHint, __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "typeHint" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> typeHint_ref() & {
    return {this->__fbthrift_field_typeHint, __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "typeHint" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> typeHint_ref() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_typeHint), __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "typeHint" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> typeHint() const& {
    return {this->__fbthrift_field_typeHint, __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "typeHint" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> typeHint() & {
    return {this->__fbthrift_field_typeHint, __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "typeHint" } */
  template <typename..., typename fbthrift_T = ::std::string>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> typeHint() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_typeHint), __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "name" } */
  [[deprecated("Use `FOO.name().value()` instead of `FOO.get_name()`")]]
  const ::std::string& get_name() const& {
    return __fbthrift_field_name;
  }

  /** Glean { "field": "name" } */
  [[deprecated("Use `FOO.name().value()` instead of `FOO.get_name()`")]]
  ::std::string get_name() && {
    return static_cast<::std::string&&>(__fbthrift_field_name);
  }

  /** Glean { "field": "name" } */
  template <typename T_Adapter_name_struct_setter = ::std::string>
  [[deprecated("Use `FOO.name() = BAR` instead of `FOO.set_name(BAR)`")]]
  ::std::string& set_name(T_Adapter_name_struct_setter&& name_) {
    name_ref() = std::forward<T_Adapter_name_struct_setter>(name_);
    return __fbthrift_field_name;
  }

  /** Glean { "field": "typeHint" } */
  [[deprecated("Use `FOO.typeHint().value()` instead of `FOO.get_typeHint()`")]]
  const ::std::string& get_typeHint() const& {
    return __fbthrift_field_typeHint;
  }

  /** Glean { "field": "typeHint" } */
  [[deprecated("Use `FOO.typeHint().value()` instead of `FOO.get_typeHint()`")]]
  ::std::string get_typeHint() && {
    return static_cast<::std::string&&>(__fbthrift_field_typeHint);
  }

  /** Glean { "field": "typeHint" } */
  template <typename T_Adapter_typeHint_struct_setter = ::std::string>
  [[deprecated("Use `FOO.typeHint() = BAR` instead of `FOO.set_typeHint(BAR)`")]]
  ::std::string& set_typeHint(T_Adapter_typeHint_struct_setter&& typeHint_) {
    typeHint_ref() = std::forward<T_Adapter_typeHint_struct_setter>(typeHint_);
    return __fbthrift_field_typeHint;
  }

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Adapter>;
  friend void swap(Adapter& a, Adapter& b);
};

template <class Protocol_>
unsigned long Adapter::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "UseCAPI", "kind": "struct" } */
class UseCAPI final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/UseCAPI";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 1;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0,1};

  using __fbthrift_reflection_idents = folly::tag_t<
    ::apache::thrift::ident::serialize
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
    ::apache::thrift::type::bool_t
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = UseCAPI;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  UseCAPI() :
      __fbthrift_field_serialize(false) {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  UseCAPI(apache::thrift::FragileConstructor, bool serialize__arg);

  UseCAPI(UseCAPI&&) = default;

  UseCAPI(const UseCAPI&) = default;


  UseCAPI& operator=(UseCAPI&&) = default;

  UseCAPI& operator=(const UseCAPI&) = default;
 private:
  bool __fbthrift_field_serialize;
 private:
  apache::thrift::detail::isset_bitset<1, apache::thrift::detail::IssetBitsetOption::Unpacked> __isset;

 public:

  bool operator==(const UseCAPI&) const;
  bool operator<(const UseCAPI&) const;

  /** Glean { "field": "serialize" } */
  template <typename..., typename fbthrift_T = bool>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> serialize_ref() const& {
    return {this->__fbthrift_field_serialize, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "serialize" } */
  template <typename..., typename fbthrift_T = bool>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> serialize_ref() & {
    return {this->__fbthrift_field_serialize, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "serialize" } */
  template <typename..., typename fbthrift_T = bool>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> serialize_ref() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_serialize), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "serialize" } */
  template <typename..., typename fbthrift_T = bool>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> serialize() const& {
    return {this->__fbthrift_field_serialize, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "serialize" } */
  template <typename..., typename fbthrift_T = bool>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> serialize() & {
    return {this->__fbthrift_field_serialize, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "serialize" } */
  template <typename..., typename fbthrift_T = bool>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> serialize() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_serialize), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "serialize" } */
  [[deprecated("Use `FOO.serialize().value()` instead of `FOO.get_serialize()`")]]
  bool get_serialize() const;

  /** Glean { "field": "serialize" } */
  [[deprecated("Use `FOO.serialize() = BAR` instead of `FOO.set_serialize(BAR)`")]]
  bool& set_serialize(bool serialize_);

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<UseCAPI>;
  friend void swap(UseCAPI& a, UseCAPI& b);
};

template <class Protocol_>
unsigned long UseCAPI::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "Py3EnableCppAdapter", "kind": "struct" } */
class Py3EnableCppAdapter final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/Py3EnableCppAdapter";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = Py3EnableCppAdapter;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  Py3EnableCppAdapter() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Py3EnableCppAdapter(apache::thrift::FragileConstructor);

  Py3EnableCppAdapter(Py3EnableCppAdapter&&) = default;

  Py3EnableCppAdapter(const Py3EnableCppAdapter&) = default;


  Py3EnableCppAdapter& operator=(Py3EnableCppAdapter&&) = default;

  Py3EnableCppAdapter& operator=(const Py3EnableCppAdapter&) = default;

 public:

  bool operator==(const Py3EnableCppAdapter&) const;
  bool operator<(const Py3EnableCppAdapter&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<Py3EnableCppAdapter>;
  friend void swap(Py3EnableCppAdapter& a, Py3EnableCppAdapter& b);
};

template <class Protocol_>
unsigned long Py3EnableCppAdapter::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "MigrationBlockingAllowInheritance", "kind": "struct" } */
class MigrationBlockingAllowInheritance final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/MigrationBlockingAllowInheritance";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = MigrationBlockingAllowInheritance;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  MigrationBlockingAllowInheritance() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  MigrationBlockingAllowInheritance(apache::thrift::FragileConstructor);

  MigrationBlockingAllowInheritance(MigrationBlockingAllowInheritance&&) = default;

  MigrationBlockingAllowInheritance(const MigrationBlockingAllowInheritance&) = default;


  MigrationBlockingAllowInheritance& operator=(MigrationBlockingAllowInheritance&&) = default;

  MigrationBlockingAllowInheritance& operator=(const MigrationBlockingAllowInheritance&) = default;

 public:

  bool operator==(const MigrationBlockingAllowInheritance&) const;
  bool operator<(const MigrationBlockingAllowInheritance&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<MigrationBlockingAllowInheritance>;
  friend void swap(MigrationBlockingAllowInheritance& a, MigrationBlockingAllowInheritance& b);
};

template <class Protocol_>
unsigned long MigrationBlockingAllowInheritance::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "DeprecatedSortSetOnSerialize", "kind": "struct" } */
class DeprecatedSortSetOnSerialize final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/DeprecatedSortSetOnSerialize";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = DeprecatedSortSetOnSerialize;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  DeprecatedSortSetOnSerialize() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  DeprecatedSortSetOnSerialize(apache::thrift::FragileConstructor);

  DeprecatedSortSetOnSerialize(DeprecatedSortSetOnSerialize&&) = default;

  DeprecatedSortSetOnSerialize(const DeprecatedSortSetOnSerialize&) = default;


  DeprecatedSortSetOnSerialize& operator=(DeprecatedSortSetOnSerialize&&) = default;

  DeprecatedSortSetOnSerialize& operator=(const DeprecatedSortSetOnSerialize&) = default;

 public:

  bool operator==(const DeprecatedSortSetOnSerialize&) const;
  bool operator<(const DeprecatedSortSetOnSerialize&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<DeprecatedSortSetOnSerialize>;
  friend void swap(DeprecatedSortSetOnSerialize& a, DeprecatedSortSetOnSerialize& b);
};

template <class Protocol_>
unsigned long DeprecatedSortSetOnSerialize::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "DeprecatedKeySortMapOnSerialize", "kind": "struct" } */
class DeprecatedKeySortMapOnSerialize final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/DeprecatedKeySortMapOnSerialize";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = DeprecatedKeySortMapOnSerialize;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  DeprecatedKeySortMapOnSerialize() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  DeprecatedKeySortMapOnSerialize(apache::thrift::FragileConstructor);

  DeprecatedKeySortMapOnSerialize(DeprecatedKeySortMapOnSerialize&&) = default;

  DeprecatedKeySortMapOnSerialize(const DeprecatedKeySortMapOnSerialize&) = default;


  DeprecatedKeySortMapOnSerialize& operator=(DeprecatedKeySortMapOnSerialize&&) = default;

  DeprecatedKeySortMapOnSerialize& operator=(const DeprecatedKeySortMapOnSerialize&) = default;

 public:

  bool operator==(const DeprecatedKeySortMapOnSerialize&) const;
  bool operator<(const DeprecatedKeySortMapOnSerialize&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<DeprecatedKeySortMapOnSerialize>;
  friend void swap(DeprecatedKeySortMapOnSerialize& a, DeprecatedKeySortMapOnSerialize& b);
};

template <class Protocol_>
unsigned long DeprecatedKeySortMapOnSerialize::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "DisableFieldCache", "kind": "struct" } */
class DisableFieldCache final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/DisableFieldCache";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = DisableFieldCache;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  DisableFieldCache() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  DisableFieldCache(apache::thrift::FragileConstructor);

  DisableFieldCache(DisableFieldCache&&) = default;

  DisableFieldCache(const DisableFieldCache&) = default;


  DisableFieldCache& operator=(DisableFieldCache&&) = default;

  DisableFieldCache& operator=(const DisableFieldCache&) = default;

 public:

  bool operator==(const DisableFieldCache&) const;
  bool operator<(const DisableFieldCache&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<DisableFieldCache>;
  friend void swap(DisableFieldCache& a, DisableFieldCache& b);
};

template <class Protocol_>
unsigned long DisableFieldCache::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "ConstrainedFloat32", "kind": "struct" } */
class ConstrainedFloat32 final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/ConstrainedFloat32";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 3;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0,1,2,3};

  using __fbthrift_reflection_idents = folly::tag_t<
    ::apache::thrift::ident::precision_loss,
    ::apache::thrift::ident::inf_overflow,
    ::apache::thrift::ident::not_a_number
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
    ::apache::thrift::type::enum_t<::facebook::thrift::annotation::python::ConstraintLevel>,
    ::apache::thrift::type::enum_t<::facebook::thrift::annotation::python::ConstraintLevel>,
    ::apache::thrift::type::enum_t<::facebook::thrift::annotation::python::ConstraintLevel>
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = ConstrainedFloat32;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  ConstrainedFloat32() :
      __fbthrift_field_precision_loss(),
      __fbthrift_field_inf_overflow(),
      __fbthrift_field_not_a_number() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  ConstrainedFloat32(apache::thrift::FragileConstructor, ::facebook::thrift::annotation::python::ConstraintLevel precision_loss__arg, ::facebook::thrift::annotation::python::ConstraintLevel inf_overflow__arg, ::facebook::thrift::annotation::python::ConstraintLevel not_a_number__arg);

  ConstrainedFloat32(ConstrainedFloat32&&) = default;

  ConstrainedFloat32(const ConstrainedFloat32&) = default;


  ConstrainedFloat32& operator=(ConstrainedFloat32&&) = default;

  ConstrainedFloat32& operator=(const ConstrainedFloat32&) = default;
 private:
  ::facebook::thrift::annotation::python::ConstraintLevel __fbthrift_field_precision_loss;
 private:
  ::facebook::thrift::annotation::python::ConstraintLevel __fbthrift_field_inf_overflow;
 private:
  ::facebook::thrift::annotation::python::ConstraintLevel __fbthrift_field_not_a_number;
 private:
  apache::thrift::detail::isset_bitset<3, apache::thrift::detail::IssetBitsetOption::Unpacked> __isset;

 public:

  bool operator==(const ConstrainedFloat32&) const;
  bool operator<(const ConstrainedFloat32&) const;

  /** Glean { "field": "precision_loss" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> precision_loss_ref() const& {
    return {this->__fbthrift_field_precision_loss, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "precision_loss" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> precision_loss_ref() & {
    return {this->__fbthrift_field_precision_loss, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "precision_loss" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> precision_loss_ref() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_precision_loss), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "precision_loss" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> precision_loss() const& {
    return {this->__fbthrift_field_precision_loss, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "precision_loss" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> precision_loss() & {
    return {this->__fbthrift_field_precision_loss, __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "precision_loss" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> precision_loss() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_precision_loss), __isset.at(0), __isset.bit(0)};
  }

  /** Glean { "field": "inf_overflow" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> inf_overflow_ref() const& {
    return {this->__fbthrift_field_inf_overflow, __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "inf_overflow" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> inf_overflow_ref() & {
    return {this->__fbthrift_field_inf_overflow, __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "inf_overflow" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> inf_overflow_ref() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_inf_overflow), __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "inf_overflow" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> inf_overflow() const& {
    return {this->__fbthrift_field_inf_overflow, __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "inf_overflow" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> inf_overflow() & {
    return {this->__fbthrift_field_inf_overflow, __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "inf_overflow" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> inf_overflow() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_inf_overflow), __isset.at(1), __isset.bit(1)};
  }

  /** Glean { "field": "not_a_number" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> not_a_number_ref() const& {
    return {this->__fbthrift_field_not_a_number, __isset.at(2), __isset.bit(2)};
  }

  /** Glean { "field": "not_a_number" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> not_a_number_ref() & {
    return {this->__fbthrift_field_not_a_number, __isset.at(2), __isset.bit(2)};
  }

  /** Glean { "field": "not_a_number" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> not_a_number_ref() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_not_a_number), __isset.at(2), __isset.bit(2)};
  }

  /** Glean { "field": "not_a_number" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<const fbthrift_T&> not_a_number() const& {
    return {this->__fbthrift_field_not_a_number, __isset.at(2), __isset.bit(2)};
  }

  /** Glean { "field": "not_a_number" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&> not_a_number() & {
    return {this->__fbthrift_field_not_a_number, __isset.at(2), __isset.bit(2)};
  }

  /** Glean { "field": "not_a_number" } */
  template <typename..., typename fbthrift_T = ::facebook::thrift::annotation::python::ConstraintLevel>
  FOLLY_ERASE ::apache::thrift::field_ref<fbthrift_T&&> not_a_number() && {
    return {static_cast<fbthrift_T&&>(this->__fbthrift_field_not_a_number), __isset.at(2), __isset.bit(2)};
  }

  /** Glean { "field": "precision_loss" } */
  [[deprecated("Use `FOO.precision_loss().value()` instead of `FOO.get_precision_loss()`")]]
  ::facebook::thrift::annotation::python::ConstraintLevel get_precision_loss() const;

  /** Glean { "field": "precision_loss" } */
  [[deprecated("Use `FOO.precision_loss() = BAR` instead of `FOO.set_precision_loss(BAR)`")]]
  ::facebook::thrift::annotation::python::ConstraintLevel& set_precision_loss(::facebook::thrift::annotation::python::ConstraintLevel precision_loss_);

  /** Glean { "field": "inf_overflow" } */
  [[deprecated("Use `FOO.inf_overflow().value()` instead of `FOO.get_inf_overflow()`")]]
  ::facebook::thrift::annotation::python::ConstraintLevel get_inf_overflow() const;

  /** Glean { "field": "inf_overflow" } */
  [[deprecated("Use `FOO.inf_overflow() = BAR` instead of `FOO.set_inf_overflow(BAR)`")]]
  ::facebook::thrift::annotation::python::ConstraintLevel& set_inf_overflow(::facebook::thrift::annotation::python::ConstraintLevel inf_overflow_);

  /** Glean { "field": "not_a_number" } */
  [[deprecated("Use `FOO.not_a_number().value()` instead of `FOO.get_not_a_number()`")]]
  ::facebook::thrift::annotation::python::ConstraintLevel get_not_a_number() const;

  /** Glean { "field": "not_a_number" } */
  [[deprecated("Use `FOO.not_a_number() = BAR` instead of `FOO.set_not_a_number(BAR)`")]]
  ::facebook::thrift::annotation::python::ConstraintLevel& set_not_a_number(::facebook::thrift::annotation::python::ConstraintLevel not_a_number_);

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<ConstrainedFloat32>;
  friend void swap(ConstrainedFloat32& a, ConstrainedFloat32& b);
};

template <class Protocol_>
unsigned long ConstrainedFloat32::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.12.15.00/thrift/annotation/python.thrift", "name": "EnableUnsafeUnconstrainedFloat32", "kind": "struct" } */
class EnableUnsafeUnconstrainedFloat32 final  {
 private:
  friend struct ::apache::thrift::detail::st::struct_private_access;
  template<class> friend struct ::apache::thrift::detail::invoke_reffer;

  //  used by a static_assert in the corresponding source
  static constexpr bool __fbthrift_cpp2_gen_json = false;
  static constexpr bool __fbthrift_cpp2_is_runtime_annotation = false;
  static constexpr folly::cstring_view __fbthrift_thrift_uri = "facebook.com/thrift/annotation/python/EnableUnsafeUnconstrainedFloat32";
  static std::string_view __fbthrift_get_field_name(::apache::thrift::FieldOrdinal ord);
  static std::string_view __fbthrift_get_class_name();
  template <class ...>
  FOLLY_ERASE static constexpr std::string_view __fbthrift_get_module_name() noexcept {
    return "python";
  }
  static constexpr std::size_t __fbthrift_num_fields = 0;

  static constexpr const int16_t __fbthrift_reflection_field_ids[] = {0};

  using __fbthrift_reflection_idents = folly::tag_t<
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
  >;
  void __fbthrift_clear();
  void __fbthrift_clear_terse_fields();
  bool __fbthrift_is_empty() const;

 public:
  using __fbthrift_cpp2_type = EnableUnsafeUnconstrainedFloat32;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;


 public:

  EnableUnsafeUnconstrainedFloat32() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  EnableUnsafeUnconstrainedFloat32(apache::thrift::FragileConstructor);

  EnableUnsafeUnconstrainedFloat32(EnableUnsafeUnconstrainedFloat32&&) = default;

  EnableUnsafeUnconstrainedFloat32(const EnableUnsafeUnconstrainedFloat32&) = default;


  EnableUnsafeUnconstrainedFloat32& operator=(EnableUnsafeUnconstrainedFloat32&&) = default;

  EnableUnsafeUnconstrainedFloat32& operator=(const EnableUnsafeUnconstrainedFloat32&) = default;

 public:

  bool operator==(const EnableUnsafeUnconstrainedFloat32&) const;
  bool operator<(const EnableUnsafeUnconstrainedFloat32&) const;

  template <class Protocol_>
  unsigned long read(Protocol_* iprot);
  template <class Protocol_>
  uint32_t serializedSize(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t serializedSizeZC(Protocol_ const* prot_) const;
  template <class Protocol_>
  uint32_t write(Protocol_* prot_) const;

 private:
  template <class Protocol_>
  void readNoXfer(Protocol_* iprot);

  friend class ::apache::thrift::Cpp2Ops<EnableUnsafeUnconstrainedFloat32>;
  friend void swap(EnableUnsafeUnconstrainedFloat32& a, EnableUnsafeUnconstrainedFloat32& b);
};

template <class Protocol_>
unsigned long EnableUnsafeUnconstrainedFloat32::read(Protocol_* iprot) {
  auto _xferStart = iprot->getCursorPosition();
  readNoXfer(iprot);
  return iprot->getCursorPosition() - _xferStart;
}


} // namespace facebook::thrift::annotation::python

namespace apache::thrift::detail {
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::Py3Hidden, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x5f\xb4\x9d\xea\x21\x64\xec\xa9\xc9\x56\x00\x7e\xe9\x72\xa3\x27", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::PyDeprecatedHidden, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x52\x50\x2f\xc0\x03\x62\x1e\xdb\x1d\x89\x9c\x55\x5e\xa8\x85\xd6", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::Flags, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x66\xf3\x18\xe6\x2c\xfd\xd1\xd4\xfd\x78\x81\x65\xb9\x4a\xd4\x04", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::Name, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\xf8\x02\x49\xf4\xae\x09\xa1\x80\x8e\x6e\x81\x6c\x9e\x8c\x86\xed", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::Adapter, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x3a\x68\xe5\x89\x6a\x2a\xbb\xbb\x98\xb2\x22\x21\x0c\x7f\xc3\xa3", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::UseCAPI, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x86\x7b\x78\xa0\xed\x47\x32\x31\x26\xc2\x3d\xaa\x5f\x3c\xa3\x12", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::Py3EnableCppAdapter, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x74\x9e\xb9\x9e\x8c\xf6\x30\x07\xe8\x3b\xac\xf5\xdf\x23\x1d\x11", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::MigrationBlockingAllowInheritance, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\xd9\x9c\x42\x8f\x39\xa3\xf8\xdc\x51\x88\x5f\x1b\x92\xcd\x9d\x49", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::DeprecatedSortSetOnSerialize, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x50\x9d\x27\x49\x99\x8f\x2b\xa3\x2c\x41\x74\x2b\x87\x8d\x4d\x9e", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::DeprecatedKeySortMapOnSerialize, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\xff\xbe\x20\x1e\xbc\x53\xc1\xe0\x73\x8b\x30\xb9\x7a\xe6\xff\x8a", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::DisableFieldCache, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x40\x0b\xdc\xf6\x2c\x32\xce\x7d\xac\xd4\xf6\xf6\x21\x0a\xe1\x7a", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::ConstrainedFloat32, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\x3b\x78\x0f\xf5\xca\x0d\x38\x94\xd2\x99\x06\x2c\xba\x93\x84\x97", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::EnableUnsafeUnconstrainedFloat32, false> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\xbd\x64\xf9\x72\x77\xc4\x7e\x36\x78\xa7\x28\xa5\xcc\x0e\xff\xb3", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::python::ConstraintLevel, true> {
  static constexpr ::folly::Range<const ::std::string_view*>(*bundle)() = nullptr;
  static constexpr int64_t programId = -5136098975403589458;
  static constexpr ::std::string_view definitionKey = {"\xe3\xeb\x51\xd8\xa1\x4d\x87\x59\x61\x29\x1a\xc2\xd1\x0c\x6e\x01", 16};
};
} // namespace apache::thrift::detail
