/**
 * Autogenerated by Thrift for /opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.25.00/thrift/annotation/thrift.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 ids;
struct id_ranges;
struct field_name;
struct value;
struct level;
struct items;
} // namespace ident
namespace detail {
#ifndef APACHE_THRIFT_ACCESSOR_ids
#define APACHE_THRIFT_ACCESSOR_ids
APACHE_THRIFT_DEFINE_ACCESSOR(ids);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_id_ranges
#define APACHE_THRIFT_ACCESSOR_id_ranges
APACHE_THRIFT_DEFINE_ACCESSOR(id_ranges);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_field_name
#define APACHE_THRIFT_ACCESSOR_field_name
APACHE_THRIFT_DEFINE_ACCESSOR(field_name);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_value
#define APACHE_THRIFT_ACCESSOR_value
APACHE_THRIFT_DEFINE_ACCESSOR(value);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_level
#define APACHE_THRIFT_ACCESSOR_level
APACHE_THRIFT_DEFINE_ACCESSOR(level);
#endif
#ifndef APACHE_THRIFT_ACCESSOR_items
#define APACHE_THRIFT_ACCESSOR_items
APACHE_THRIFT_DEFINE_ACCESSOR(items);
#endif
} // namespace detail
} // namespace apache::thrift

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

/** Glean {"file": "/opt/local/var/macports/build/fbthrift-07c1dc61/work/fbthrift-2025.08.25.00/thrift/annotation/thrift.thrift", "name": "RpcPriority", "kind": "enum" } */
enum class RpcPriority {
  HIGH_IMPORTANT = 0,
  HIGH = 1,
  IMPORTANT = 2,
  NORMAL = 3,
  BEST_EFFORT = 4,
};

} // namespace facebook::thrift::annotation

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

namespace apache::thrift {

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

  static constexpr std::size_t const size = 5;
  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 "RpcPriority";
  }

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

  FOLLY_ERASE static constexpr std::string_view __fbthrift_thrift_uri() noexcept {
    return "facebook.com/thrift/annotation/RpcPriority";
  }

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

} // namespace apache::thrift
// END declare_enums
// BEGIN forward_declare
namespace facebook::thrift::annotation {
class Experimental;
class ReserveIds;
class RequiresBackwardCompatibility;
class TerseWrite;
class Box;
class Mixin;
class SerializeInFieldIdOrder;
class BitmaskEnum;
class ExceptionMessage;
class InternBox;
class Serial;
class Uri;
class Priority;
class DeprecatedUnvalidatedAnnotations;
class AllowReservedIdentifier;
class AllowReservedFilename;
class RuntimeAnnotation;
class AllowLegacyTypedefUri;
class AllowUnsafeOptionalCustomDefaultValue;
class AllowUnsafeUnionFieldCustomDefaultValue;
class AllowUnsafeRequiredFieldQualifier;
} // namespace facebook::thrift::annotation
// 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 {
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.08.25.00/thrift/annotation/thrift.thrift", "name": "Experimental", "kind": "struct" } */
class Experimental 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = Experimental;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  Experimental(Experimental&&) = default;

  Experimental(const Experimental&) = default;


  Experimental& operator=(Experimental&&) = default;

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

 public:

  bool operator==(const Experimental&) const;
  bool operator<(const Experimental&) 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<Experimental>;
  friend void swap(Experimental& a, Experimental& b);
};

template <class Protocol_>
unsigned long Experimental::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.08.25.00/thrift/annotation/thrift.thrift", "name": "ReserveIds", "kind": "struct" } */
class ReserveIds 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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::ids,
    ::apache::thrift::ident::id_ranges
  >;

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

 public:
  using __fbthrift_cpp2_type = ReserveIds;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  ReserveIds();

  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  ReserveIds(apache::thrift::FragileConstructor, ::std::vector<::std::int32_t> ids__arg, ::std::map<::std::int32_t, ::std::int32_t> id_ranges__arg);

  ReserveIds(ReserveIds&&) noexcept;

  ReserveIds(const ReserveIds& src);


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

  ~ReserveIds();

 private:
  ::std::vector<::std::int32_t> __fbthrift_field_ids;
 private:
  ::std::map<::std::int32_t, ::std::int32_t> __fbthrift_field_id_ranges;
 private:
  apache::thrift::detail::isset_bitset<2, apache::thrift::detail::IssetBitsetOption::Unpacked> __isset;

 public:

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

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

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

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

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

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

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

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

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

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

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

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

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

  /** Glean { "field": "ids" } */
  [[deprecated("Use `FOO.ids().value()` instead of `FOO.get_ids()`")]]
  const ::std::vector<::std::int32_t>& get_ids() const&;

  /** Glean { "field": "ids" } */
  [[deprecated("Use `FOO.ids().value()` instead of `FOO.get_ids()`")]]
  ::std::vector<::std::int32_t> get_ids() &&;

  /** Glean { "field": "ids" } */
  template <typename T_ReserveIds_ids_struct_setter = ::std::vector<::std::int32_t>>
  [[deprecated("Use `FOO.ids() = BAR` instead of `FOO.set_ids(BAR)`")]]
  ::std::vector<::std::int32_t>& set_ids(T_ReserveIds_ids_struct_setter&& ids_) {
    ids_ref() = std::forward<T_ReserveIds_ids_struct_setter>(ids_);
    return __fbthrift_field_ids;
  }

  /** Glean { "field": "id_ranges" } */
  [[deprecated("Use `FOO.id_ranges().value()` instead of `FOO.get_id_ranges()`")]]
  const ::std::map<::std::int32_t, ::std::int32_t>& get_id_ranges() const&;

  /** Glean { "field": "id_ranges" } */
  [[deprecated("Use `FOO.id_ranges().value()` instead of `FOO.get_id_ranges()`")]]
  ::std::map<::std::int32_t, ::std::int32_t> get_id_ranges() &&;

  /** Glean { "field": "id_ranges" } */
  template <typename T_ReserveIds_id_ranges_struct_setter = ::std::map<::std::int32_t, ::std::int32_t>>
  [[deprecated("Use `FOO.id_ranges() = BAR` instead of `FOO.set_id_ranges(BAR)`")]]
  ::std::map<::std::int32_t, ::std::int32_t>& set_id_ranges(T_ReserveIds_id_ranges_struct_setter&& id_ranges_) {
    id_ranges_ref() = std::forward<T_ReserveIds_id_ranges_struct_setter>(id_ranges_);
    return __fbthrift_field_id_ranges;
  }

  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<ReserveIds>;
  friend void swap(ReserveIds& a, ReserveIds& b);
};

template <class Protocol_>
unsigned long ReserveIds::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.08.25.00/thrift/annotation/thrift.thrift", "name": "RequiresBackwardCompatibility", "kind": "struct" } */
class RequiresBackwardCompatibility 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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::field_name
  >;

  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 = RequiresBackwardCompatibility;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  RequiresBackwardCompatibility(RequiresBackwardCompatibility&&) = default;

  RequiresBackwardCompatibility(const RequiresBackwardCompatibility&) = default;


  RequiresBackwardCompatibility& operator=(RequiresBackwardCompatibility&&) = default;

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

 public:

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

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

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

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

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

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

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

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

  /** Glean { "field": "field_name" } */
  [[deprecated("Use `FOO.field_name() = BAR` instead of `FOO.set_field_name(BAR)`")]]
  bool& set_field_name(bool 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<RequiresBackwardCompatibility>;
  friend void swap(RequiresBackwardCompatibility& a, RequiresBackwardCompatibility& b);
};

template <class Protocol_>
unsigned long RequiresBackwardCompatibility::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.08.25.00/thrift/annotation/thrift.thrift", "name": "TerseWrite", "kind": "struct" } */
class TerseWrite 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = TerseWrite;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  TerseWrite(TerseWrite&&) = default;

  TerseWrite(const TerseWrite&) = default;


  TerseWrite& operator=(TerseWrite&&) = default;

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

 public:

  bool operator==(const TerseWrite&) const;
  bool operator<(const TerseWrite&) 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<TerseWrite>;
  friend void swap(TerseWrite& a, TerseWrite& b);
};

template <class Protocol_>
unsigned long TerseWrite::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.08.25.00/thrift/annotation/thrift.thrift", "name": "Box", "kind": "struct" } */
class Box 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = Box;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  Box(Box&&) = default;

  Box(const Box&) = default;


  Box& operator=(Box&&) = default;

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

 public:

  bool operator==(const Box&) const;
  bool operator<(const Box&) 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<Box>;
  friend void swap(Box& a, Box& b);
};

template <class Protocol_>
unsigned long Box::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.08.25.00/thrift/annotation/thrift.thrift", "name": "Mixin", "kind": "struct" } */
class Mixin 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = Mixin;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  Mixin(Mixin&&) = default;

  Mixin(const Mixin&) = default;


  Mixin& operator=(Mixin&&) = default;

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

 public:

  bool operator==(const Mixin&) const;
  bool operator<(const Mixin&) 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<Mixin>;
  friend void swap(Mixin& a, Mixin& b);
};

template <class Protocol_>
unsigned long Mixin::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.08.25.00/thrift/annotation/thrift.thrift", "name": "SerializeInFieldIdOrder", "kind": "struct" } */
class SerializeInFieldIdOrder 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = SerializeInFieldIdOrder;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  SerializeInFieldIdOrder(SerializeInFieldIdOrder&&) = default;

  SerializeInFieldIdOrder(const SerializeInFieldIdOrder&) = default;


  SerializeInFieldIdOrder& operator=(SerializeInFieldIdOrder&&) = default;

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

 public:

  bool operator==(const SerializeInFieldIdOrder&) const;
  bool operator<(const SerializeInFieldIdOrder&) 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<SerializeInFieldIdOrder>;
  friend void swap(SerializeInFieldIdOrder& a, SerializeInFieldIdOrder& b);
};

template <class Protocol_>
unsigned long SerializeInFieldIdOrder::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.08.25.00/thrift/annotation/thrift.thrift", "name": "BitmaskEnum", "kind": "struct" } */
class BitmaskEnum 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = BitmaskEnum;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  BitmaskEnum(BitmaskEnum&&) = default;

  BitmaskEnum(const BitmaskEnum&) = default;


  BitmaskEnum& operator=(BitmaskEnum&&) = default;

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

 public:

  bool operator==(const BitmaskEnum&) const;
  bool operator<(const BitmaskEnum&) 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<BitmaskEnum>;
  friend void swap(BitmaskEnum& a, BitmaskEnum& b);
};

template <class Protocol_>
unsigned long BitmaskEnum::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.08.25.00/thrift/annotation/thrift.thrift", "name": "ExceptionMessage", "kind": "struct" } */
class ExceptionMessage 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = ExceptionMessage;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  ExceptionMessage(ExceptionMessage&&) = default;

  ExceptionMessage(const ExceptionMessage&) = default;


  ExceptionMessage& operator=(ExceptionMessage&&) = default;

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

 public:

  bool operator==(const ExceptionMessage&) const;
  bool operator<(const ExceptionMessage&) 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<ExceptionMessage>;
  friend void swap(ExceptionMessage& a, ExceptionMessage& b);
};

template <class Protocol_>
unsigned long ExceptionMessage::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.08.25.00/thrift/annotation/thrift.thrift", "name": "InternBox", "kind": "struct" } */
class InternBox 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = InternBox;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  InternBox(InternBox&&) = default;

  InternBox(const InternBox&) = default;


  InternBox& operator=(InternBox&&) = default;

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

 public:

  bool operator==(const InternBox&) const;
  bool operator<(const InternBox&) 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<InternBox>;
  friend void swap(InternBox& a, InternBox& b);
};

template <class Protocol_>
unsigned long InternBox::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.08.25.00/thrift/annotation/thrift.thrift", "name": "Serial", "kind": "struct" } */
class Serial 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = Serial;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  Serial(Serial&&) = default;

  Serial(const Serial&) = default;


  Serial& operator=(Serial&&) = default;

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

 public:

  bool operator==(const Serial&) const;
  bool operator<(const Serial&) 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<Serial>;
  friend void swap(Serial& a, Serial& b);
};

template <class Protocol_>
unsigned long Serial::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.08.25.00/thrift/annotation/thrift.thrift", "name": "Uri", "kind": "struct" } */
class Uri 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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::value
  >;

  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 = Uri;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Uri();

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

  Uri(Uri&&) noexcept;

  Uri(const Uri& src);


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

  ~Uri();

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

 public:

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

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

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

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

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

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

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

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

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

  /** Glean { "field": "value" } */
  template <typename T_Uri_value_struct_setter = ::std::string>
  [[deprecated("Use `FOO.value() = BAR` instead of `FOO.set_value(BAR)`")]]
  ::std::string& set_value(T_Uri_value_struct_setter&& value_) {
    value_ref() = std::forward<T_Uri_value_struct_setter>(value_);
    return __fbthrift_field_value;
  }

  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<Uri>;
  friend void swap(Uri& a, Uri& b);
};

template <class Protocol_>
unsigned long Uri::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.08.25.00/thrift/annotation/thrift.thrift", "name": "Priority", "kind": "struct" } */
class Priority 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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::level
  >;

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

 public:
  using __fbthrift_cpp2_type = Priority;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  Priority() :
      __fbthrift_field_level() {
  }
  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  Priority(apache::thrift::FragileConstructor, ::facebook::thrift::annotation::RpcPriority level__arg);

  Priority(Priority&&) = default;

  Priority(const Priority&) = default;


  Priority& operator=(Priority&&) = default;

  Priority& operator=(const Priority&) = default;
 private:
  ::facebook::thrift::annotation::RpcPriority __fbthrift_field_level;
 private:
  apache::thrift::detail::isset_bitset<1, apache::thrift::detail::IssetBitsetOption::Unpacked> __isset;

 public:

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

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

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

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

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

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

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

  /** Glean { "field": "level" } */
  [[deprecated("Use `FOO.level().value()` instead of `FOO.get_level()`")]]
  ::facebook::thrift::annotation::RpcPriority get_level() const;

  /** Glean { "field": "level" } */
  [[deprecated("Use `FOO.level() = BAR` instead of `FOO.set_level(BAR)`")]]
  ::facebook::thrift::annotation::RpcPriority& set_level(::facebook::thrift::annotation::RpcPriority level_);

  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<Priority>;
  friend void swap(Priority& a, Priority& b);
};

template <class Protocol_>
unsigned long Priority::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.08.25.00/thrift/annotation/thrift.thrift", "name": "DeprecatedUnvalidatedAnnotations", "kind": "struct" } */
class DeprecatedUnvalidatedAnnotations 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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::items
  >;

  using __fbthrift_reflection_type_tags = folly::tag_t<
    ::apache::thrift::type::map<::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 = DeprecatedUnvalidatedAnnotations;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

  DeprecatedUnvalidatedAnnotations();

  // FragileConstructor for use in initialization lists only.
  [[deprecated("This constructor is deprecated")]]
  DeprecatedUnvalidatedAnnotations(apache::thrift::FragileConstructor, ::std::map<::std::string, ::std::string> items__arg);

  DeprecatedUnvalidatedAnnotations(DeprecatedUnvalidatedAnnotations&&) noexcept;

  DeprecatedUnvalidatedAnnotations(const DeprecatedUnvalidatedAnnotations& src);


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

  ~DeprecatedUnvalidatedAnnotations();

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

 public:

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

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

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

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

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

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

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

  /** Glean { "field": "items" } */
  [[deprecated("Use `FOO.items().value()` instead of `FOO.get_items()`")]]
  const ::std::map<::std::string, ::std::string>& get_items() const&;

  /** Glean { "field": "items" } */
  [[deprecated("Use `FOO.items().value()` instead of `FOO.get_items()`")]]
  ::std::map<::std::string, ::std::string> get_items() &&;

  /** Glean { "field": "items" } */
  template <typename T_DeprecatedUnvalidatedAnnotations_items_struct_setter = ::std::map<::std::string, ::std::string>>
  [[deprecated("Use `FOO.items() = BAR` instead of `FOO.set_items(BAR)`")]]
  ::std::map<::std::string, ::std::string>& set_items(T_DeprecatedUnvalidatedAnnotations_items_struct_setter&& items_) {
    items_ref() = std::forward<T_DeprecatedUnvalidatedAnnotations_items_struct_setter>(items_);
    return __fbthrift_field_items;
  }

  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<DeprecatedUnvalidatedAnnotations>;
  friend void swap(DeprecatedUnvalidatedAnnotations& a, DeprecatedUnvalidatedAnnotations& b);
};

template <class Protocol_>
unsigned long DeprecatedUnvalidatedAnnotations::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.08.25.00/thrift/annotation/thrift.thrift", "name": "AllowReservedIdentifier", "kind": "struct" } */
class AllowReservedIdentifier 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = AllowReservedIdentifier;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  AllowReservedIdentifier(AllowReservedIdentifier&&) = default;

  AllowReservedIdentifier(const AllowReservedIdentifier&) = default;


  AllowReservedIdentifier& operator=(AllowReservedIdentifier&&) = default;

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

 public:

  bool operator==(const AllowReservedIdentifier&) const;
  bool operator<(const AllowReservedIdentifier&) 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<AllowReservedIdentifier>;
  friend void swap(AllowReservedIdentifier& a, AllowReservedIdentifier& b);
};

template <class Protocol_>
unsigned long AllowReservedIdentifier::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.08.25.00/thrift/annotation/thrift.thrift", "name": "AllowReservedFilename", "kind": "struct" } */
class AllowReservedFilename 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = AllowReservedFilename;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  AllowReservedFilename(AllowReservedFilename&&) = default;

  AllowReservedFilename(const AllowReservedFilename&) = default;


  AllowReservedFilename& operator=(AllowReservedFilename&&) = default;

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

 public:

  bool operator==(const AllowReservedFilename&) const;
  bool operator<(const AllowReservedFilename&) 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<AllowReservedFilename>;
  friend void swap(AllowReservedFilename& a, AllowReservedFilename& b);
};

template <class Protocol_>
unsigned long AllowReservedFilename::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.08.25.00/thrift/annotation/thrift.thrift", "name": "RuntimeAnnotation", "kind": "struct" } */
class RuntimeAnnotation 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = RuntimeAnnotation;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  RuntimeAnnotation(RuntimeAnnotation&&) = default;

  RuntimeAnnotation(const RuntimeAnnotation&) = default;


  RuntimeAnnotation& operator=(RuntimeAnnotation&&) = default;

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

 public:

  bool operator==(const RuntimeAnnotation&) const;
  bool operator<(const RuntimeAnnotation&) 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<RuntimeAnnotation>;
  friend void swap(RuntimeAnnotation& a, RuntimeAnnotation& b);
};

template <class Protocol_>
unsigned long RuntimeAnnotation::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.08.25.00/thrift/annotation/thrift.thrift", "name": "AllowLegacyTypedefUri", "kind": "struct" } */
class AllowLegacyTypedefUri 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = AllowLegacyTypedefUri;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  AllowLegacyTypedefUri(AllowLegacyTypedefUri&&) = default;

  AllowLegacyTypedefUri(const AllowLegacyTypedefUri&) = default;


  AllowLegacyTypedefUri& operator=(AllowLegacyTypedefUri&&) = default;

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

 public:

  bool operator==(const AllowLegacyTypedefUri&) const;
  bool operator<(const AllowLegacyTypedefUri&) 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<AllowLegacyTypedefUri>;
  friend void swap(AllowLegacyTypedefUri& a, AllowLegacyTypedefUri& b);
};

template <class Protocol_>
unsigned long AllowLegacyTypedefUri::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.08.25.00/thrift/annotation/thrift.thrift", "name": "AllowUnsafeOptionalCustomDefaultValue", "kind": "struct" } */
class AllowUnsafeOptionalCustomDefaultValue 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = AllowUnsafeOptionalCustomDefaultValue;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  AllowUnsafeOptionalCustomDefaultValue(AllowUnsafeOptionalCustomDefaultValue&&) = default;

  AllowUnsafeOptionalCustomDefaultValue(const AllowUnsafeOptionalCustomDefaultValue&) = default;


  AllowUnsafeOptionalCustomDefaultValue& operator=(AllowUnsafeOptionalCustomDefaultValue&&) = default;

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

 public:

  bool operator==(const AllowUnsafeOptionalCustomDefaultValue&) const;
  bool operator<(const AllowUnsafeOptionalCustomDefaultValue&) 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<AllowUnsafeOptionalCustomDefaultValue>;
  friend void swap(AllowUnsafeOptionalCustomDefaultValue& a, AllowUnsafeOptionalCustomDefaultValue& b);
};

template <class Protocol_>
unsigned long AllowUnsafeOptionalCustomDefaultValue::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.08.25.00/thrift/annotation/thrift.thrift", "name": "AllowUnsafeUnionFieldCustomDefaultValue", "kind": "struct" } */
class AllowUnsafeUnionFieldCustomDefaultValue 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = AllowUnsafeUnionFieldCustomDefaultValue;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  AllowUnsafeUnionFieldCustomDefaultValue(AllowUnsafeUnionFieldCustomDefaultValue&&) = default;

  AllowUnsafeUnionFieldCustomDefaultValue(const AllowUnsafeUnionFieldCustomDefaultValue&) = default;


  AllowUnsafeUnionFieldCustomDefaultValue& operator=(AllowUnsafeUnionFieldCustomDefaultValue&&) = default;

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

 public:

  bool operator==(const AllowUnsafeUnionFieldCustomDefaultValue&) const;
  bool operator<(const AllowUnsafeUnionFieldCustomDefaultValue&) 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<AllowUnsafeUnionFieldCustomDefaultValue>;
  friend void swap(AllowUnsafeUnionFieldCustomDefaultValue& a, AllowUnsafeUnionFieldCustomDefaultValue& b);
};

template <class Protocol_>
unsigned long AllowUnsafeUnionFieldCustomDefaultValue::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.08.25.00/thrift/annotation/thrift.thrift", "name": "AllowUnsafeRequiredFieldQualifier", "kind": "struct" } */
class AllowUnsafeRequiredFieldQualifier 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 std::string_view __fbthrift_thrift_uri();
  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 "thrift";
  }
  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 = AllowUnsafeRequiredFieldQualifier;
  static constexpr bool __fbthrift_cpp2_is_union =
    false;
  static constexpr bool __fbthrift_cpp2_uses_op_encode =
    false;


 public:

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

  AllowUnsafeRequiredFieldQualifier(AllowUnsafeRequiredFieldQualifier&&) = default;

  AllowUnsafeRequiredFieldQualifier(const AllowUnsafeRequiredFieldQualifier&) = default;


  AllowUnsafeRequiredFieldQualifier& operator=(AllowUnsafeRequiredFieldQualifier&&) = default;

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

 public:

  bool operator==(const AllowUnsafeRequiredFieldQualifier&) const;
  bool operator<(const AllowUnsafeRequiredFieldQualifier&) 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<AllowUnsafeRequiredFieldQualifier>;
  friend void swap(AllowUnsafeRequiredFieldQualifier& a, AllowUnsafeRequiredFieldQualifier& b);
};

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


} // namespace facebook::thrift::annotation

namespace apache::thrift::detail {
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Experimental, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x63\x80\xa8\xc9\xbf\xc6\xd0\x0a\x94\x24\xbb\xef\xb0\x71\xa9\x73", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::ReserveIds, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x4e\x0a\x5d\x53\x93\xeb\x4e\x1a\xde\x2a\x81\x08\x80\x8f\xa9\x36", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::RequiresBackwardCompatibility, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x54\x1c\xc7\xad\xb9\x60\x31\x82\x52\xbf\x33\x13\x49\x28\xeb\xea", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::TerseWrite, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x10\x51\x20\xf9\xe1\x51\xae\xf7\xa0\x25\x1e\xc8\xa7\x35\x8a\xf4", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Box, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x5f\xe2\x96\x66\xc2\x53\xc6\xea\xda\x5e\x03\x4e\xf3\xc4\x25\x6e", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Mixin, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x50\x5f\xc7\x99\x24\x4a\x9c\x9a\xb9\x87\xb3\x51\x78\x39\x62\x71", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::SerializeInFieldIdOrder, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x0f\x32\xdb\x63\x0b\xce\x24\xec\xe7\x48\x79\xb8\x6c\x60\xe3\x81", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::BitmaskEnum, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\xf7\xd6\x02\xc0\x25\x27\x18\xce\x76\x6f\x58\x94\xda\x40\xbb\xe6", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::ExceptionMessage, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x01\xb5\x97\xb1\x39\x97\xd1\x77\xe2\x7b\x4e\x9f\xe8\xe3\xeb\x45", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::InternBox, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\xc2\x79\xe1\xc1\xe7\x94\x10\x80\xc7\x02\x05\x09\xf0\x17\xf1\x98", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Serial, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x12\x66\xf4\xd7\x55\x6c\x9b\x51\x72\xfe\x08\x09\xdc\x9c\x3c\xfc", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Uri, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x08\x22\xc3\xf8\x58\xd2\x78\x32\xb2\x0c\x22\xfe\x41\x6a\xc8\xbd", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::Priority, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x4a\x05\xcb\x5c\xe2\x43\x56\x12\x9d\xbf\x98\xe8\xd3\x6d\xa0\x16", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::DeprecatedUnvalidatedAnnotations, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\xd9\xed\xd7\x0c\x9f\xac\xfd\xe8\x85\xc6\x8d\x1f\x0a\x1d\x0f\x7a", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::AllowReservedIdentifier, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\xcb\x0a\x74\x55\xd6\xc6\xa7\x9f\x51\xaa\xbd\xb9\x96\x3f\x12\xf1", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::AllowReservedFilename, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x0c\x0b\xb7\xef\xfd\xb0\xef\xb2\x19\x9c\x24\x3f\xa7\x57\x25\x6f", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::RuntimeAnnotation, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x31\xfb\x0a\x87\x3e\x87\x53\x07\xab\xa0\x88\xcd\xf1\xa3\x27\x9c", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::AllowLegacyTypedefUri, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\xe2\xd5\x0f\x71\x50\xfa\xc3\xb5\xfa\x58\xb3\xd7\x2a\x0b\xc0\x77", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::AllowUnsafeOptionalCustomDefaultValue, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\xa9\xbb\x28\x47\xce\xed\x5b\x9c\x2b\x6f\x47\x30\x53\x9f\x8e\x05", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::AllowUnsafeUnionFieldCustomDefaultValue, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x28\x08\x6d\x74\x33\x05\x82\x22\xe1\x3e\xd7\xc5\x39\xb9\x4b\xf2", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::AllowUnsafeRequiredFieldQualifier, false> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\xd3\x32\x42\x52\x98\xdf\x61\x6c\x9c\xfe\x43\x45\x41\x2b\xda\xb5", 16};
};
template <> struct TSchemaAssociation<::facebook::thrift::annotation::RpcPriority, true> {
  static ::folly::Range<const ::std::string_view*>(*bundle)();
  static constexpr int64_t programId = 1511107750448001235;
  static constexpr ::std::string_view definitionKey = {"\x09\x1e\x62\x1e\xeb\x96\x50\xd5\x81\x86\x4f\xb9\x26\xc1\x79\x41", 16};
};
} // namespace apache::thrift::detail
