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

#ifndef google_2fpubsub_2fv1_2fschema_2eproto_2epb_2eh
#define google_2fpubsub_2fv1_2fschema_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

// clang-format off
#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 7035001
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_bases.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/message.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
#include "google/protobuf/generated_enum_reflection.h"
#include "google/protobuf/unknown_field_set.h"
#include "google/api/annotations.pb.h"
#include "google/api/client.pb.h"
#include "google/api/field_behavior.pb.h"
#include "google/api/resource.pb.h"
#include "google/protobuf/empty.pb.h"
#include "google/protobuf/timestamp.pb.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_google_2fpubsub_2fv1_2fschema_2eproto

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct TableStruct_google_2fpubsub_2fv1_2fschema_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fpubsub_2fv1_2fschema_2eproto;
}  // extern "C"
namespace google {
namespace pubsub {
namespace v1 {
enum Encoding : int;
extern const uint32_t Encoding_internal_data_[];
enum SchemaView : int;
extern const uint32_t SchemaView_internal_data_[];
enum Schema_Type : int;
extern const uint32_t Schema_Type_internal_data_[];
class CommitSchemaRequest;
struct CommitSchemaRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CommitSchemaRequestGlobalsTypeInternal CommitSchemaRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull CommitSchemaRequest_class_data_;
#else
extern const CommitSchemaRequestGlobalsTypeInternal CommitSchemaRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class CreateSchemaRequest;
struct CreateSchemaRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern CreateSchemaRequestGlobalsTypeInternal CreateSchemaRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull CreateSchemaRequest_class_data_;
#else
extern const CreateSchemaRequestGlobalsTypeInternal CreateSchemaRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DeleteSchemaRequest;
struct DeleteSchemaRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DeleteSchemaRequestGlobalsTypeInternal DeleteSchemaRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull DeleteSchemaRequest_class_data_;
#else
extern const DeleteSchemaRequestGlobalsTypeInternal DeleteSchemaRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class DeleteSchemaRevisionRequest;
struct DeleteSchemaRevisionRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern DeleteSchemaRevisionRequestGlobalsTypeInternal DeleteSchemaRevisionRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull DeleteSchemaRevisionRequest_class_data_;
#else
extern const DeleteSchemaRevisionRequestGlobalsTypeInternal DeleteSchemaRevisionRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class GetSchemaRequest;
struct GetSchemaRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern GetSchemaRequestGlobalsTypeInternal GetSchemaRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull GetSchemaRequest_class_data_;
#else
extern const GetSchemaRequestGlobalsTypeInternal GetSchemaRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ListSchemaRevisionsRequest;
struct ListSchemaRevisionsRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ListSchemaRevisionsRequestGlobalsTypeInternal ListSchemaRevisionsRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull ListSchemaRevisionsRequest_class_data_;
#else
extern const ListSchemaRevisionsRequestGlobalsTypeInternal ListSchemaRevisionsRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ListSchemaRevisionsResponse;
struct ListSchemaRevisionsResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ListSchemaRevisionsResponseGlobalsTypeInternal ListSchemaRevisionsResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull ListSchemaRevisionsResponse_class_data_;
#else
extern const ListSchemaRevisionsResponseGlobalsTypeInternal ListSchemaRevisionsResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ListSchemasRequest;
struct ListSchemasRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ListSchemasRequestGlobalsTypeInternal ListSchemasRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull ListSchemasRequest_class_data_;
#else
extern const ListSchemasRequestGlobalsTypeInternal ListSchemasRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ListSchemasResponse;
struct ListSchemasResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ListSchemasResponseGlobalsTypeInternal ListSchemasResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull ListSchemasResponse_class_data_;
#else
extern const ListSchemasResponseGlobalsTypeInternal ListSchemasResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class RollbackSchemaRequest;
struct RollbackSchemaRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern RollbackSchemaRequestGlobalsTypeInternal RollbackSchemaRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull RollbackSchemaRequest_class_data_;
#else
extern const RollbackSchemaRequestGlobalsTypeInternal RollbackSchemaRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class Schema;
struct SchemaGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern SchemaGlobalsTypeInternal Schema_globals_;
extern const ::google::protobuf::internal::ClassDataFull Schema_class_data_;
#else
extern const SchemaGlobalsTypeInternal Schema_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ValidateMessageRequest;
struct ValidateMessageRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ValidateMessageRequestGlobalsTypeInternal ValidateMessageRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull ValidateMessageRequest_class_data_;
#else
extern const ValidateMessageRequestGlobalsTypeInternal ValidateMessageRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ValidateMessageResponse;
struct ValidateMessageResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ValidateMessageResponseGlobalsTypeInternal ValidateMessageResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull ValidateMessageResponse_class_data_;
#else
extern const ValidateMessageResponseGlobalsTypeInternal ValidateMessageResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ValidateSchemaRequest;
struct ValidateSchemaRequestGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ValidateSchemaRequestGlobalsTypeInternal ValidateSchemaRequest_globals_;
extern const ::google::protobuf::internal::ClassDataFull ValidateSchemaRequest_class_data_;
#else
extern const ValidateSchemaRequestGlobalsTypeInternal ValidateSchemaRequest_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
class ValidateSchemaResponse;
struct ValidateSchemaResponseGlobalsTypeInternal;
#ifndef PROTOBUF_MESSAGE_GLOBALS
extern ValidateSchemaResponseGlobalsTypeInternal ValidateSchemaResponse_globals_;
extern const ::google::protobuf::internal::ClassDataFull ValidateSchemaResponse_class_data_;
#else
extern const ValidateSchemaResponseGlobalsTypeInternal ValidateSchemaResponse_globals_;
#endif  // PROTOBUF_MESSAGE_GLOBALS
}  // namespace v1
}  // namespace pubsub
namespace protobuf {
template <>
internal::EnumTraitsT<::google::pubsub::v1::Encoding_internal_data_>
    internal::EnumTraitsImpl::value<::google::pubsub::v1::Encoding>;
template <>
internal::EnumTraitsT<::google::pubsub::v1::SchemaView_internal_data_>
    internal::EnumTraitsImpl::value<::google::pubsub::v1::SchemaView>;
template <>
internal::EnumTraitsT<::google::pubsub::v1::Schema_Type_internal_data_>
    internal::EnumTraitsImpl::value<::google::pubsub::v1::Schema_Type>;
}  // namespace protobuf
}  // namespace google

namespace google {
namespace pubsub {
namespace v1 {
enum Schema_Type : int {
  Schema_Type_TYPE_UNSPECIFIED = 0,
  Schema_Type_PROTOCOL_BUFFER = 1,
  Schema_Type_AVRO = 2,
  Schema_Type_Schema_Type_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  Schema_Type_Schema_Type_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t Schema_Type_internal_data_[];
inline constexpr Schema_Type Schema_Type_Type_MIN =
    static_cast<Schema_Type>(0);
inline constexpr Schema_Type Schema_Type_Type_MAX =
    static_cast<Schema_Type>(2);
[[nodiscard]] inline bool Schema_Type_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int Schema_Type_Type_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
Schema_Type_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(Schema_Type) {
  return Schema_Type_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& Schema_Type_Name(T value) {
  static_assert(::std::is_same<T, Schema_Type>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Type_Name().");
  return Schema_Type_Name(static_cast<Schema_Type>(value));
}
template <>
[[nodiscard]] inline const ::std::string& Schema_Type_Name(Schema_Type value) {
  return ::google::protobuf::internal::NameOfDenseEnum<Schema_Type_descriptor, 0, 2>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool Schema_Type_Parse(
    ::absl::string_view name, Schema_Type* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<Schema_Type>(Schema_Type_descriptor(), name,
                                           value);
}
enum SchemaView : int {
  SCHEMA_VIEW_UNSPECIFIED = 0,
  BASIC = 1,
  FULL = 2,
  SchemaView_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  SchemaView_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t SchemaView_internal_data_[];
inline constexpr SchemaView SchemaView_MIN =
    static_cast<SchemaView>(0);
inline constexpr SchemaView SchemaView_MAX =
    static_cast<SchemaView>(2);
[[nodiscard]] inline bool SchemaView_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int SchemaView_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
SchemaView_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(SchemaView) {
  return SchemaView_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& SchemaView_Name(T value) {
  static_assert(::std::is_same<T, SchemaView>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to SchemaView_Name().");
  return SchemaView_Name(static_cast<SchemaView>(value));
}
template <>
[[nodiscard]] inline const ::std::string& SchemaView_Name(SchemaView value) {
  return ::google::protobuf::internal::NameOfDenseEnum<SchemaView_descriptor, 0, 2>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool SchemaView_Parse(
    ::absl::string_view name, SchemaView* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<SchemaView>(SchemaView_descriptor(), name,
                                           value);
}
enum Encoding : int {
  ENCODING_UNSPECIFIED = 0,
  JSON = 1,
  BINARY = 2,
  Encoding_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  Encoding_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

extern const uint32_t Encoding_internal_data_[];
inline constexpr Encoding Encoding_MIN =
    static_cast<Encoding>(0);
inline constexpr Encoding Encoding_MAX =
    static_cast<Encoding>(2);
[[nodiscard]] inline bool Encoding_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int Encoding_ARRAYSIZE = 2 + 1;
[[nodiscard]] const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL
Encoding_descriptor();
[[nodiscard]] inline auto ProtobufInternalGetEnumDescriptor(Encoding) {
  return Encoding_descriptor();
}
template <typename T>
[[nodiscard]] const ::std::string& Encoding_Name(T value) {
  static_assert(::std::is_same<T, Encoding>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Encoding_Name().");
  return Encoding_Name(static_cast<Encoding>(value));
}
template <>
[[nodiscard]] inline const ::std::string& Encoding_Name(Encoding value) {
  return ::google::protobuf::internal::NameOfDenseEnum<Encoding_descriptor, 0, 2>(
      static_cast<int>(value));
}
[[nodiscard]] inline bool Encoding_Parse(
    ::absl::string_view name, Encoding* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<Encoding>(Encoding_descriptor(), name,
                                           value);
}
using ::google::protobuf::internal::generated_enum::AbslParseFlag;
using ::google::protobuf::internal::generated_enum::AbslUnparseFlag;

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


// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ValidateSchemaResponse final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.ValidateSchemaResponse) */ {
 public:
  inline ValidateSchemaResponse() : ValidateSchemaResponse(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ValidateSchemaResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ValidateSchemaResponse));
  }
#endif

  template <typename = void>
  explicit constexpr ValidateSchemaResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ValidateSchemaResponse(const ValidateSchemaResponse& from) : ValidateSchemaResponse(nullptr, from) {}
  inline ValidateSchemaResponse(ValidateSchemaResponse&& from) noexcept : ValidateSchemaResponse(nullptr, ::std::move(from)) {}
  inline ValidateSchemaResponse& operator=(const ValidateSchemaResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ValidateSchemaResponse& operator=(ValidateSchemaResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ValidateSchemaResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ValidateSchemaResponse>(&ValidateSchemaResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(ValidateSchemaResponse& a, ValidateSchemaResponse& b) { a.Swap(&b); }
  inline void Swap(ValidateSchemaResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ValidateSchemaResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ValidateSchemaResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ValidateSchemaResponse>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ValidateSchemaResponse& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ValidateSchemaResponse& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.ValidateSchemaResponse"; }

  explicit ValidateSchemaResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ValidateSchemaResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ValidateSchemaResponse& from);
  ValidateSchemaResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ValidateSchemaResponse&& from) noexcept
      : ValidateSchemaResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.ValidateSchemaResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ValidateMessageResponse final : public ::google::protobuf::internal::ZeroFieldsBase
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.ValidateMessageResponse) */ {
 public:
  inline ValidateMessageResponse() : ValidateMessageResponse(nullptr) {}

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ValidateMessageResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ValidateMessageResponse));
  }
#endif

  template <typename = void>
  explicit constexpr ValidateMessageResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ValidateMessageResponse(const ValidateMessageResponse& from) : ValidateMessageResponse(nullptr, from) {}
  inline ValidateMessageResponse(ValidateMessageResponse&& from) noexcept : ValidateMessageResponse(nullptr, ::std::move(from)) {}
  inline ValidateMessageResponse& operator=(const ValidateMessageResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ValidateMessageResponse& operator=(ValidateMessageResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ValidateMessageResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ValidateMessageResponse>(&ValidateMessageResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 14;
  friend void swap(ValidateMessageResponse& a, ValidateMessageResponse& b) { a.Swap(&b); }
  inline void Swap(ValidateMessageResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ValidateMessageResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ValidateMessageResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct<ValidateMessageResponse>(arena);
  }
  using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const ValidateMessageResponse& from) { ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); }
  using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const ValidateMessageResponse& from) { ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); }

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.ValidateMessageResponse"; }

  explicit ValidateMessageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ValidateMessageResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ValidateMessageResponse& from);
  ValidateMessageResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ValidateMessageResponse&& from) noexcept
      : ValidateMessageResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.ValidateMessageResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 0,
                          0, 0,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED RollbackSchemaRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.RollbackSchemaRequest) */ {
 public:
  inline RollbackSchemaRequest() : RollbackSchemaRequest(nullptr) {}
  ~RollbackSchemaRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RollbackSchemaRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RollbackSchemaRequest));
  }
#endif

  template <typename = void>
  explicit constexpr RollbackSchemaRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline RollbackSchemaRequest(const RollbackSchemaRequest& from) : RollbackSchemaRequest(nullptr, from) {}
  inline RollbackSchemaRequest(RollbackSchemaRequest&& from) noexcept : RollbackSchemaRequest(nullptr, ::std::move(from)) {}
  inline RollbackSchemaRequest& operator=(const RollbackSchemaRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline RollbackSchemaRequest& operator=(RollbackSchemaRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const RollbackSchemaRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<RollbackSchemaRequest>(&RollbackSchemaRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(RollbackSchemaRequest& a, RollbackSchemaRequest& b) { a.Swap(&b); }
  inline void Swap(RollbackSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RollbackSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] RollbackSchemaRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<RollbackSchemaRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const RollbackSchemaRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const RollbackSchemaRequest& from) { RollbackSchemaRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RollbackSchemaRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.RollbackSchemaRequest"; }

  explicit RollbackSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RollbackSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RollbackSchemaRequest& from);
  RollbackSchemaRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RollbackSchemaRequest&& from) noexcept
      : RollbackSchemaRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kRevisionIdFieldNumber = 2,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // string revision_id = 2 [(.google.api.field_behavior) = REQUIRED];
  void clear_revision_id() ;
  [[nodiscard]] const ::std::string& revision_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_revision_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_revision_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_revision_id();
  void set_allocated_revision_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_revision_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_revision_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_revision_id();

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.RollbackSchemaRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 62,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RollbackSchemaRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr revision_id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ListSchemasRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.ListSchemasRequest) */ {
 public:
  inline ListSchemasRequest() : ListSchemasRequest(nullptr) {}
  ~ListSchemasRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ListSchemasRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ListSchemasRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ListSchemasRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ListSchemasRequest(const ListSchemasRequest& from) : ListSchemasRequest(nullptr, from) {}
  inline ListSchemasRequest(ListSchemasRequest&& from) noexcept : ListSchemasRequest(nullptr, ::std::move(from)) {}
  inline ListSchemasRequest& operator=(const ListSchemasRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListSchemasRequest& operator=(ListSchemasRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ListSchemasRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ListSchemasRequest>(&ListSchemasRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(ListSchemasRequest& a, ListSchemasRequest& b) { a.Swap(&b); }
  inline void Swap(ListSchemasRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListSchemasRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ListSchemasRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ListSchemasRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ListSchemasRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ListSchemasRequest& from) { ListSchemasRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ListSchemasRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.ListSchemasRequest"; }

  explicit ListSchemasRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ListSchemasRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListSchemasRequest& from);
  ListSchemasRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListSchemasRequest&& from) noexcept
      : ListSchemasRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kParentFieldNumber = 1,
    kPageTokenFieldNumber = 4,
    kViewFieldNumber = 2,
    kPageSizeFieldNumber = 3,
  };
  // string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_parent() ;
  [[nodiscard]] const ::std::string& parent() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_parent(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_parent();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_parent();
  void set_allocated_parent(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_parent() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_parent(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_parent();

  public:
  // string page_token = 4;
  void clear_page_token() ;
  [[nodiscard]] const ::std::string& page_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_page_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_page_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_page_token();
  void set_allocated_page_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_page_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_page_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_page_token();

  public:
  // .google.pubsub.v1.SchemaView view = 2;
  void clear_view() ;
  [[nodiscard]] ::google::pubsub::v1::SchemaView view() const;
  void set_view(::google::pubsub::v1::SchemaView value);

  private:
  ::google::pubsub::v1::SchemaView _internal_view() const;
  void _internal_set_view(::google::pubsub::v1::SchemaView value);

  public:
  // int32 page_size = 3;
  void clear_page_size() ;
  [[nodiscard]] ::int32_t page_size() const;
  void set_page_size(::int32_t value);

  private:
  ::int32_t _internal_page_size() const;
  void _internal_set_page_size(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.ListSchemasRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 60,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ListSchemasRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr parent_;
    ::google::protobuf::internal::ArenaStringPtr page_token_;
    int view_;
    ::int32_t page_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ListSchemaRevisionsRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.ListSchemaRevisionsRequest) */ {
 public:
  inline ListSchemaRevisionsRequest() : ListSchemaRevisionsRequest(nullptr) {}
  ~ListSchemaRevisionsRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ListSchemaRevisionsRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ListSchemaRevisionsRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ListSchemaRevisionsRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ListSchemaRevisionsRequest(const ListSchemaRevisionsRequest& from) : ListSchemaRevisionsRequest(nullptr, from) {}
  inline ListSchemaRevisionsRequest(ListSchemaRevisionsRequest&& from) noexcept : ListSchemaRevisionsRequest(nullptr, ::std::move(from)) {}
  inline ListSchemaRevisionsRequest& operator=(const ListSchemaRevisionsRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListSchemaRevisionsRequest& operator=(ListSchemaRevisionsRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ListSchemaRevisionsRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ListSchemaRevisionsRequest>(&ListSchemaRevisionsRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(ListSchemaRevisionsRequest& a, ListSchemaRevisionsRequest& b) { a.Swap(&b); }
  inline void Swap(ListSchemaRevisionsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListSchemaRevisionsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ListSchemaRevisionsRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ListSchemaRevisionsRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ListSchemaRevisionsRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ListSchemaRevisionsRequest& from) { ListSchemaRevisionsRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ListSchemaRevisionsRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.ListSchemaRevisionsRequest"; }

  explicit ListSchemaRevisionsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ListSchemaRevisionsRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListSchemaRevisionsRequest& from);
  ListSchemaRevisionsRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListSchemaRevisionsRequest&& from) noexcept
      : ListSchemaRevisionsRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kPageTokenFieldNumber = 4,
    kViewFieldNumber = 2,
    kPageSizeFieldNumber = 3,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // string page_token = 4;
  void clear_page_token() ;
  [[nodiscard]] const ::std::string& page_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_page_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_page_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_page_token();
  void set_allocated_page_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_page_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_page_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_page_token();

  public:
  // .google.pubsub.v1.SchemaView view = 2;
  void clear_view() ;
  [[nodiscard]] ::google::pubsub::v1::SchemaView view() const;
  void set_view(::google::pubsub::v1::SchemaView value);

  private:
  ::google::pubsub::v1::SchemaView _internal_view() const;
  void _internal_set_view(::google::pubsub::v1::SchemaView value);

  public:
  // int32 page_size = 3;
  void clear_page_size() ;
  [[nodiscard]] ::int32_t page_size() const;
  void set_page_size(::int32_t value);

  private:
  ::int32_t _internal_page_size() const;
  void _internal_set_page_size(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.ListSchemaRevisionsRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 4,
                          0, 66,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ListSchemaRevisionsRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr page_token_;
    int view_;
    ::int32_t page_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED GetSchemaRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.GetSchemaRequest) */ {
 public:
  inline GetSchemaRequest() : GetSchemaRequest(nullptr) {}
  ~GetSchemaRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GetSchemaRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GetSchemaRequest));
  }
#endif

  template <typename = void>
  explicit constexpr GetSchemaRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline GetSchemaRequest(const GetSchemaRequest& from) : GetSchemaRequest(nullptr, from) {}
  inline GetSchemaRequest(GetSchemaRequest&& from) noexcept : GetSchemaRequest(nullptr, ::std::move(from)) {}
  inline GetSchemaRequest& operator=(const GetSchemaRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetSchemaRequest& operator=(GetSchemaRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const GetSchemaRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<GetSchemaRequest>(&GetSchemaRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(GetSchemaRequest& a, GetSchemaRequest& b) { a.Swap(&b); }
  inline void Swap(GetSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] GetSchemaRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<GetSchemaRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const GetSchemaRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const GetSchemaRequest& from) { GetSchemaRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GetSchemaRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.GetSchemaRequest"; }

  explicit GetSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GetSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GetSchemaRequest& from);
  GetSchemaRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GetSchemaRequest&& from) noexcept
      : GetSchemaRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kViewFieldNumber = 2,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // .google.pubsub.v1.SchemaView view = 2;
  void clear_view() ;
  [[nodiscard]] ::google::pubsub::v1::SchemaView view() const;
  void set_view(::google::pubsub::v1::SchemaView value);

  private:
  ::google::pubsub::v1::SchemaView _internal_view() const;
  void _internal_set_view(::google::pubsub::v1::SchemaView value);

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.GetSchemaRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 46,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetSchemaRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    int view_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DeleteSchemaRevisionRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.DeleteSchemaRevisionRequest) */ {
 public:
  inline DeleteSchemaRevisionRequest() : DeleteSchemaRevisionRequest(nullptr) {}
  ~DeleteSchemaRevisionRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(DeleteSchemaRevisionRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(DeleteSchemaRevisionRequest));
  }
#endif

  template <typename = void>
  explicit constexpr DeleteSchemaRevisionRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline DeleteSchemaRevisionRequest(const DeleteSchemaRevisionRequest& from) : DeleteSchemaRevisionRequest(nullptr, from) {}
  inline DeleteSchemaRevisionRequest(DeleteSchemaRevisionRequest&& from) noexcept : DeleteSchemaRevisionRequest(nullptr, ::std::move(from)) {}
  inline DeleteSchemaRevisionRequest& operator=(const DeleteSchemaRevisionRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline DeleteSchemaRevisionRequest& operator=(DeleteSchemaRevisionRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const DeleteSchemaRevisionRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<DeleteSchemaRevisionRequest>(&DeleteSchemaRevisionRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 9;
  friend void swap(DeleteSchemaRevisionRequest& a, DeleteSchemaRevisionRequest& b) { a.Swap(&b); }
  inline void Swap(DeleteSchemaRevisionRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DeleteSchemaRevisionRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] DeleteSchemaRevisionRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<DeleteSchemaRevisionRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const DeleteSchemaRevisionRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const DeleteSchemaRevisionRequest& from) { DeleteSchemaRevisionRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(DeleteSchemaRevisionRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.DeleteSchemaRevisionRequest"; }

  explicit DeleteSchemaRevisionRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  DeleteSchemaRevisionRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DeleteSchemaRevisionRequest& from);
  DeleteSchemaRevisionRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DeleteSchemaRevisionRequest&& from) noexcept
      : DeleteSchemaRevisionRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kRevisionIdFieldNumber = 2,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // string revision_id = 2 [deprecated = true, (.google.api.field_behavior) = OPTIONAL];
  [[deprecated]]  void clear_revision_id() ;
  [[nodiscard]] [[deprecated]] const ::std::string& revision_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  [[deprecated]] void set_revision_id(Arg_&& arg, Args_... args);
  [[deprecated]] ::std::string* PROTOBUF_NONNULL mutable_revision_id();
  [[deprecated]] [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_revision_id();
  [[deprecated]] void set_allocated_revision_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_revision_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_revision_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_revision_id();

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.DeleteSchemaRevisionRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          0, 68,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const DeleteSchemaRevisionRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr revision_id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED DeleteSchemaRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.DeleteSchemaRequest) */ {
 public:
  inline DeleteSchemaRequest() : DeleteSchemaRequest(nullptr) {}
  ~DeleteSchemaRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(DeleteSchemaRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(DeleteSchemaRequest));
  }
#endif

  template <typename = void>
  explicit constexpr DeleteSchemaRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline DeleteSchemaRequest(const DeleteSchemaRequest& from) : DeleteSchemaRequest(nullptr, from) {}
  inline DeleteSchemaRequest(DeleteSchemaRequest&& from) noexcept : DeleteSchemaRequest(nullptr, ::std::move(from)) {}
  inline DeleteSchemaRequest& operator=(const DeleteSchemaRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline DeleteSchemaRequest& operator=(DeleteSchemaRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const DeleteSchemaRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<DeleteSchemaRequest>(&DeleteSchemaRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 10;
  friend void swap(DeleteSchemaRequest& a, DeleteSchemaRequest& b) { a.Swap(&b); }
  inline void Swap(DeleteSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(DeleteSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] DeleteSchemaRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<DeleteSchemaRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const DeleteSchemaRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const DeleteSchemaRequest& from) { DeleteSchemaRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(DeleteSchemaRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.DeleteSchemaRequest"; }

  explicit DeleteSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  DeleteSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const DeleteSchemaRequest& from);
  DeleteSchemaRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, DeleteSchemaRequest&& from) noexcept
      : DeleteSchemaRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.DeleteSchemaRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<0, 1,
                          0, 49,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const DeleteSchemaRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED Schema final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.Schema) */ {
 public:
  inline Schema() : Schema(nullptr) {}
  ~Schema() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(Schema* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(Schema));
  }
#endif

  template <typename = void>
  explicit constexpr Schema(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline Schema(const Schema& from) : Schema(nullptr, from) {}
  inline Schema(Schema&& from) noexcept : Schema(nullptr, ::std::move(from)) {}
  inline Schema& operator=(const Schema& from) {
    CopyFrom(from);
    return *this;
  }
  inline Schema& operator=(Schema&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const Schema& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<Schema>(&Schema_globals_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(Schema& a, Schema& b) { a.Swap(&b); }
  inline void Swap(Schema* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Schema* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] Schema* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<Schema>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const Schema& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const Schema& from) { Schema::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(Schema* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.Schema"; }

  explicit Schema(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Schema(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Schema& from);
  Schema(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Schema&& from) noexcept
      : Schema(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using Type = Schema_Type;
  static constexpr Type TYPE_UNSPECIFIED = Schema_Type_TYPE_UNSPECIFIED;
  static constexpr Type PROTOCOL_BUFFER = Schema_Type_PROTOCOL_BUFFER;
  static constexpr Type AVRO = Schema_Type_AVRO;
  [[nodiscard]] static inline bool Type_IsValid(int value) {
    return Schema_Type_IsValid(value);
  }
  static constexpr Type Type_MIN = Schema_Type_Type_MIN;
  static constexpr Type Type_MAX = Schema_Type_Type_MAX;
  static constexpr int Type_ARRAYSIZE = Schema_Type_Type_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Type_descriptor() {
    return Schema_Type_descriptor();
  }
  template <typename T>
  [[nodiscard]] static inline const ::std::string& Type_Name(T value) {
    return Schema_Type_Name(value);
  }
  [[nodiscard]] static inline bool Type_Parse(
      ::absl::string_view name, Type* PROTOBUF_NONNULL value) {
    return Schema_Type_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kDefinitionFieldNumber = 3,
    kRevisionIdFieldNumber = 4,
    kRevisionCreateTimeFieldNumber = 6,
    kTypeFieldNumber = 2,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED];
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // string definition = 3;
  void clear_definition() ;
  [[nodiscard]] const ::std::string& definition() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_definition(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_definition();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_definition();
  void set_allocated_definition(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_definition() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_definition(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_definition();

  public:
  // string revision_id = 4 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
  void clear_revision_id() ;
  [[nodiscard]] const ::std::string& revision_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_revision_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_revision_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_revision_id();
  void set_allocated_revision_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_revision_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_revision_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_revision_id();

  public:
  // .google.protobuf.Timestamp revision_create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
  [[nodiscard]] bool has_revision_create_time()
      const;
  void clear_revision_create_time() ;
  [[nodiscard]] const ::google::protobuf::Timestamp& revision_create_time() const;
  [[nodiscard]] ::google::protobuf::Timestamp* PROTOBUF_NULLABLE release_revision_create_time();
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL mutable_revision_create_time();
  void set_allocated_revision_create_time(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_revision_create_time(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value);
  ::google::protobuf::Timestamp* PROTOBUF_NULLABLE unsafe_arena_release_revision_create_time();

  private:
  const ::google::protobuf::Timestamp& _internal_revision_create_time() const;
  ::google::protobuf::Timestamp* PROTOBUF_NONNULL _internal_mutable_revision_create_time();

  public:
  // .google.pubsub.v1.Schema.Type type = 2;
  void clear_type() ;
  [[nodiscard]] ::google::pubsub::v1::Schema_Type type() const;
  void set_type(::google::pubsub::v1::Schema_Type value);

  private:
  ::google::pubsub::v1::Schema_Type _internal_type() const;
  void _internal_set_type(::google::pubsub::v1::Schema_Type value);

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.Schema)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 5,
                          1, 57,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const Schema& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr definition_;
    ::google::protobuf::internal::ArenaStringPtr revision_id_;
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE revision_create_time_;
    int type_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ValidateSchemaRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.ValidateSchemaRequest) */ {
 public:
  inline ValidateSchemaRequest() : ValidateSchemaRequest(nullptr) {}
  ~ValidateSchemaRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ValidateSchemaRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ValidateSchemaRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ValidateSchemaRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ValidateSchemaRequest(const ValidateSchemaRequest& from) : ValidateSchemaRequest(nullptr, from) {}
  inline ValidateSchemaRequest(ValidateSchemaRequest&& from) noexcept : ValidateSchemaRequest(nullptr, ::std::move(from)) {}
  inline ValidateSchemaRequest& operator=(const ValidateSchemaRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ValidateSchemaRequest& operator=(ValidateSchemaRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ValidateSchemaRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ValidateSchemaRequest>(&ValidateSchemaRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 11;
  friend void swap(ValidateSchemaRequest& a, ValidateSchemaRequest& b) { a.Swap(&b); }
  inline void Swap(ValidateSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ValidateSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ValidateSchemaRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ValidateSchemaRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ValidateSchemaRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ValidateSchemaRequest& from) { ValidateSchemaRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ValidateSchemaRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.ValidateSchemaRequest"; }

  explicit ValidateSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ValidateSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ValidateSchemaRequest& from);
  ValidateSchemaRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ValidateSchemaRequest&& from) noexcept
      : ValidateSchemaRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kParentFieldNumber = 1,
    kSchemaFieldNumber = 2,
  };
  // string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_parent() ;
  [[nodiscard]] const ::std::string& parent() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_parent(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_parent();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_parent();
  void set_allocated_parent(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_parent() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_parent(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_parent();

  public:
  // .google.pubsub.v1.Schema schema = 2 [(.google.api.field_behavior) = REQUIRED];
  [[nodiscard]] bool has_schema()
      const;
  void clear_schema() ;
  [[nodiscard]] const ::google::pubsub::v1::Schema& schema() const;
  [[nodiscard]] ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE release_schema();
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL mutable_schema();
  void set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value);
  ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE unsafe_arena_release_schema();

  private:
  const ::google::pubsub::v1::Schema& _internal_schema() const;
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL _internal_mutable_schema();

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.ValidateSchemaRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 53,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ValidateSchemaRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr parent_;
    ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE schema_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ValidateMessageRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.ValidateMessageRequest) */ {
 public:
  inline ValidateMessageRequest() : ValidateMessageRequest(nullptr) {}
  ~ValidateMessageRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ValidateMessageRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ValidateMessageRequest));
  }
#endif

  template <typename = void>
  explicit constexpr ValidateMessageRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ValidateMessageRequest(const ValidateMessageRequest& from) : ValidateMessageRequest(nullptr, from) {}
  inline ValidateMessageRequest(ValidateMessageRequest&& from) noexcept : ValidateMessageRequest(nullptr, ::std::move(from)) {}
  inline ValidateMessageRequest& operator=(const ValidateMessageRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline ValidateMessageRequest& operator=(ValidateMessageRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ValidateMessageRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ValidateMessageRequest>(&ValidateMessageRequest_globals_);
  }
  enum SchemaSpecCase {
    kName = 2,
    kSchema = 3,
    SCHEMA_SPEC_NOT_SET = 0,
  };
  static constexpr int kIndexInFileMessages = 13;
  friend void swap(ValidateMessageRequest& a, ValidateMessageRequest& b) { a.Swap(&b); }
  inline void Swap(ValidateMessageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ValidateMessageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ValidateMessageRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ValidateMessageRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ValidateMessageRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ValidateMessageRequest& from) { ValidateMessageRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ValidateMessageRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.ValidateMessageRequest"; }

  explicit ValidateMessageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ValidateMessageRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ValidateMessageRequest& from);
  ValidateMessageRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ValidateMessageRequest&& from) noexcept
      : ValidateMessageRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kParentFieldNumber = 1,
    kMessageFieldNumber = 4,
    kEncodingFieldNumber = 5,
    kNameFieldNumber = 2,
    kSchemaFieldNumber = 3,
  };
  // string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_parent() ;
  [[nodiscard]] const ::std::string& parent() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_parent(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_parent();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_parent();
  void set_allocated_parent(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_parent() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_parent(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_parent();

  public:
  // bytes message = 4;
  void clear_message() ;
  [[nodiscard]] const ::std::string& message() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_message(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_message();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_message();
  void set_allocated_message(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_message() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_message(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_message();

  public:
  // .google.pubsub.v1.Encoding encoding = 5;
  void clear_encoding() ;
  [[nodiscard]] ::google::pubsub::v1::Encoding encoding() const;
  void set_encoding(::google::pubsub::v1::Encoding value);

  private:
  ::google::pubsub::v1::Encoding _internal_encoding() const;
  void _internal_set_encoding(::google::pubsub::v1::Encoding value);

  public:
  // string name = 2 [(.google.api.resource_reference) = {
  [[nodiscard]] bool has_name()
      const;
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // .google.pubsub.v1.Schema schema = 3;
  [[nodiscard]] bool has_schema()
      const;
  private:
  bool _internal_has_schema() const;

  public:
  void clear_schema() ;
  [[nodiscard]] const ::google::pubsub::v1::Schema& schema() const;
  [[nodiscard]] ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE release_schema();
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL mutable_schema();
  void set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value);
  ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE unsafe_arena_release_schema();

  private:
  const ::google::pubsub::v1::Schema& _internal_schema() const;
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL _internal_mutable_schema();

  public:
  void clear_schema_spec();
  SchemaSpecCase schema_spec_case() const;
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.ValidateMessageRequest)
 private:
  class _Internal;
  void set_has_name();
  void set_has_schema();
  [[nodiscard]] inline bool has_schema_spec() const;
  inline void clear_has_schema_spec();
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<3, 5,
                          1, 58,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ValidateMessageRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr parent_;
    ::google::protobuf::internal::ArenaStringPtr message_;
    int encoding_;
    union SchemaSpecUnion {
      constexpr SchemaSpecUnion() : _constinit_{} {}
      ::google::protobuf::internal::ConstantInitialized _constinit_;
      ::google::protobuf::internal::ArenaStringPtr name_;
      ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE schema_;
    } schema_spec_;
    ::uint32_t _oneof_case_[1];
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ListSchemasResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.ListSchemasResponse) */ {
 public:
  inline ListSchemasResponse() : ListSchemasResponse(nullptr) {}
  ~ListSchemasResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ListSchemasResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ListSchemasResponse));
  }
#endif

  template <typename = void>
  explicit constexpr ListSchemasResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ListSchemasResponse(const ListSchemasResponse& from) : ListSchemasResponse(nullptr, from) {}
  inline ListSchemasResponse(ListSchemasResponse&& from) noexcept : ListSchemasResponse(nullptr, ::std::move(from)) {}
  inline ListSchemasResponse& operator=(const ListSchemasResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListSchemasResponse& operator=(ListSchemasResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ListSchemasResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ListSchemasResponse>(&ListSchemasResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(ListSchemasResponse& a, ListSchemasResponse& b) { a.Swap(&b); }
  inline void Swap(ListSchemasResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListSchemasResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ListSchemasResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ListSchemasResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ListSchemasResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ListSchemasResponse& from) { ListSchemasResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ListSchemasResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.ListSchemasResponse"; }

  explicit ListSchemasResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ListSchemasResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListSchemasResponse& from);
  ListSchemasResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListSchemasResponse&& from) noexcept
      : ListSchemasResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSchemasFieldNumber = 1,
    kNextPageTokenFieldNumber = 2,
  };
  // repeated .google.pubsub.v1.Schema schemas = 1;
  [[nodiscard]] int schemas_size()
      const;
  private:
  int _internal_schemas_size() const;

  public:
  void clear_schemas() ;
  [[nodiscard]] const ::google::pubsub::v1::Schema& schemas(int index) const;
  [[nodiscard]] ::google::pubsub::v1::Schema* PROTOBUF_NONNULL mutable_schemas(int index);
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL add_schemas();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>&
  schemas() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>* PROTOBUF_NONNULL
  mutable_schemas();

  private:
  const ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>& _internal_schemas() const;
  ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>* PROTOBUF_NONNULL _internal_mutable_schemas();

  public:
  // string next_page_token = 2;
  void clear_next_page_token() ;
  [[nodiscard]] const ::std::string& next_page_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_next_page_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_next_page_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_next_page_token();
  void set_allocated_next_page_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_next_page_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_next_page_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_next_page_token();

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.ListSchemasResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 60,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ListSchemasResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::google::pubsub::v1::Schema > schemas_;
    ::google::protobuf::internal::ArenaStringPtr next_page_token_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED ListSchemaRevisionsResponse final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.ListSchemaRevisionsResponse) */ {
 public:
  inline ListSchemaRevisionsResponse() : ListSchemaRevisionsResponse(nullptr) {}
  ~ListSchemaRevisionsResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(ListSchemaRevisionsResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(ListSchemaRevisionsResponse));
  }
#endif

  template <typename = void>
  explicit constexpr ListSchemaRevisionsResponse(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline ListSchemaRevisionsResponse(const ListSchemaRevisionsResponse& from) : ListSchemaRevisionsResponse(nullptr, from) {}
  inline ListSchemaRevisionsResponse(ListSchemaRevisionsResponse&& from) noexcept : ListSchemaRevisionsResponse(nullptr, ::std::move(from)) {}
  inline ListSchemaRevisionsResponse& operator=(const ListSchemaRevisionsResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline ListSchemaRevisionsResponse& operator=(ListSchemaRevisionsResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const ListSchemaRevisionsResponse& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<ListSchemaRevisionsResponse>(&ListSchemaRevisionsResponse_globals_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(ListSchemaRevisionsResponse& a, ListSchemaRevisionsResponse& b) { a.Swap(&b); }
  inline void Swap(ListSchemaRevisionsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ListSchemaRevisionsResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] ListSchemaRevisionsResponse* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<ListSchemaRevisionsResponse>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const ListSchemaRevisionsResponse& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const ListSchemaRevisionsResponse& from) { ListSchemaRevisionsResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(ListSchemaRevisionsResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.ListSchemaRevisionsResponse"; }

  explicit ListSchemaRevisionsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ListSchemaRevisionsResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ListSchemaRevisionsResponse& from);
  ListSchemaRevisionsResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ListSchemaRevisionsResponse&& from) noexcept
      : ListSchemaRevisionsResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSchemasFieldNumber = 1,
    kNextPageTokenFieldNumber = 2,
  };
  // repeated .google.pubsub.v1.Schema schemas = 1;
  [[nodiscard]] int schemas_size()
      const;
  private:
  int _internal_schemas_size() const;

  public:
  void clear_schemas() ;
  [[nodiscard]] const ::google::pubsub::v1::Schema& schemas(int index) const;
  [[nodiscard]] ::google::pubsub::v1::Schema* PROTOBUF_NONNULL mutable_schemas(int index);
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL add_schemas();
  [[nodiscard]] const ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>&
  schemas() const;
  [[nodiscard]] ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>* PROTOBUF_NONNULL
  mutable_schemas();

  private:
  const ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>& _internal_schemas() const;
  ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>* PROTOBUF_NONNULL _internal_mutable_schemas();

  public:
  // string next_page_token = 2;
  void clear_next_page_token() ;
  [[nodiscard]] const ::std::string& next_page_token() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_next_page_token(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_next_page_token();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_next_page_token();
  void set_allocated_next_page_token(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_next_page_token() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_next_page_token(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_next_page_token();

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.ListSchemaRevisionsResponse)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 68,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ListSchemaRevisionsResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::google::pubsub::v1::Schema > schemas_;
    ::google::protobuf::internal::ArenaStringPtr next_page_token_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CreateSchemaRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.CreateSchemaRequest) */ {
 public:
  inline CreateSchemaRequest() : CreateSchemaRequest(nullptr) {}
  ~CreateSchemaRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CreateSchemaRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CreateSchemaRequest));
  }
#endif

  template <typename = void>
  explicit constexpr CreateSchemaRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CreateSchemaRequest(const CreateSchemaRequest& from) : CreateSchemaRequest(nullptr, from) {}
  inline CreateSchemaRequest(CreateSchemaRequest&& from) noexcept : CreateSchemaRequest(nullptr, ::std::move(from)) {}
  inline CreateSchemaRequest& operator=(const CreateSchemaRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateSchemaRequest& operator=(CreateSchemaRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CreateSchemaRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CreateSchemaRequest>(&CreateSchemaRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(CreateSchemaRequest& a, CreateSchemaRequest& b) { a.Swap(&b); }
  inline void Swap(CreateSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CreateSchemaRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CreateSchemaRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CreateSchemaRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CreateSchemaRequest& from) { CreateSchemaRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CreateSchemaRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.CreateSchemaRequest"; }

  explicit CreateSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CreateSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateSchemaRequest& from);
  CreateSchemaRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CreateSchemaRequest&& from) noexcept
      : CreateSchemaRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kParentFieldNumber = 1,
    kSchemaIdFieldNumber = 3,
    kSchemaFieldNumber = 2,
  };
  // string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_parent() ;
  [[nodiscard]] const ::std::string& parent() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_parent(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_parent();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_parent();
  void set_allocated_parent(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_parent() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_parent(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_parent();

  public:
  // string schema_id = 3;
  void clear_schema_id() ;
  [[nodiscard]] const ::std::string& schema_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_schema_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_schema_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_schema_id();
  void set_allocated_schema_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_schema_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_schema_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_schema_id();

  public:
  // .google.pubsub.v1.Schema schema = 2 [(.google.api.field_behavior) = REQUIRED];
  [[nodiscard]] bool has_schema()
      const;
  void clear_schema() ;
  [[nodiscard]] const ::google::pubsub::v1::Schema& schema() const;
  [[nodiscard]] ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE release_schema();
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL mutable_schema();
  void set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value);
  ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE unsafe_arena_release_schema();

  private:
  const ::google::pubsub::v1::Schema& _internal_schema() const;
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL _internal_mutable_schema();

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.CreateSchemaRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<2, 3,
                          1, 60,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CreateSchemaRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr parent_;
    ::google::protobuf::internal::ArenaStringPtr schema_id_;
    ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE schema_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};
// -------------------------------------------------------------------

class  PROTOBUF_FUTURE_ADD_EARLY_WARN_UNUSED CommitSchemaRequest final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:google.pubsub.v1.CommitSchemaRequest) */ {
 public:
  inline CommitSchemaRequest() : CommitSchemaRequest(nullptr) {}
  ~CommitSchemaRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CommitSchemaRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CommitSchemaRequest));
  }
#endif

  template <typename = void>
  explicit constexpr CommitSchemaRequest(::google::protobuf::internal::ConstantInitialized,
                           const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
                               class_data);

  inline CommitSchemaRequest(const CommitSchemaRequest& from) : CommitSchemaRequest(nullptr, from) {}
  inline CommitSchemaRequest(CommitSchemaRequest&& from) noexcept : CommitSchemaRequest(nullptr, ::std::move(from)) {}
  inline CommitSchemaRequest& operator=(const CommitSchemaRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CommitSchemaRequest& operator=(CommitSchemaRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  [[nodiscard]] inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
  }
  [[nodiscard]] inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL
  mutable_unknown_fields() ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  [[nodiscard]] static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL
  GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  [[nodiscard]] static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  [[nodiscard]] static const CommitSchemaRequest& default_instance() {
    return *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<CommitSchemaRequest>(&CommitSchemaRequest_globals_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(CommitSchemaRequest& a, CommitSchemaRequest& b) { a.Swap(&b); }
  inline void Swap(CommitSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CommitSchemaRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  [[nodiscard]] CommitSchemaRequest* PROTOBUF_NONNULL
  New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::Message::DefaultConstruct<CommitSchemaRequest>(arena);
  }
  using ::google::protobuf::Message::CopyFrom;
  void CopyFrom(const CommitSchemaRequest& from);
  using ::google::protobuf::Message::MergeFrom;
  void MergeFrom(const CommitSchemaRequest& from) { CommitSchemaRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  [[nodiscard]] bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  [[nodiscard]] static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  [[nodiscard]] static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  [[nodiscard]] ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] ::size_t ByteSizeLong() const final;
  [[nodiscard]] ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  [[nodiscard]] int GetCachedSize() const {
    return _impl_._cached_size_.Get();
  }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CommitSchemaRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "google.pubsub.v1.CommitSchemaRequest"; }

  explicit CommitSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CommitSchemaRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CommitSchemaRequest& from);
  CommitSchemaRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CommitSchemaRequest&& from) noexcept
      : CommitSchemaRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_(
      const MessageLite& prototype,
      const ::google::protobuf::internal::TcParseTableBase* PROTOBUF_NULLABLE tc_table = nullptr);

  [[nodiscard]] ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kSchemaFieldNumber = 2,
  };
  // string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
  void clear_name() ;
  [[nodiscard]] const ::std::string& name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_name();
  void set_allocated_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_name();

  public:
  // .google.pubsub.v1.Schema schema = 2 [(.google.api.field_behavior) = REQUIRED];
  [[nodiscard]] bool has_schema()
      const;
  void clear_schema() ;
  [[nodiscard]] const ::google::pubsub::v1::Schema& schema() const;
  [[nodiscard]] ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE release_schema();
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL mutable_schema();
  void set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value);
  ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE unsafe_arena_release_schema();

  private:
  const ::google::pubsub::v1::Schema& _internal_schema() const;
  ::google::pubsub::v1::Schema* PROTOBUF_NONNULL _internal_mutable_schema();

  public:
  // @@protoc_insertion_point(class_scope:google.pubsub.v1.CommitSchemaRequest)
 private:
  class _Internal;
  using ParseTableT_ =
      ::google::protobuf::internal::TcParseTable<1, 2,
                          1, 49,
                          2>;
  static constexpr ParseTableT_ InternalGenerateParseTable_(
      const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL class_data);
  friend class ::google::protobuf::internal::TcParser;
  #ifndef PROTOBUF_MESSAGE_GLOBALS
  static const ParseTableT_ _table_;
  #endif

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  friend ::google::protobuf::internal::PrivateAccess;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::InternalVisibility visibility,
                                    ::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CommitSchemaRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE schema_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_google_2fpubsub_2fv1_2fschema_2eproto;
};

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




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


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// Schema

// string name = 1 [(.google.api.field_behavior) = REQUIRED];
inline void Schema::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& Schema::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.Schema.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Schema::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.Schema.name)
}
inline ::std::string* PROTOBUF_NONNULL Schema::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.Schema.name)
  return _s;
}
inline const ::std::string& Schema::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void Schema::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Schema::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Schema::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.Schema.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void Schema::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.Schema.name)
}

// .google.pubsub.v1.Schema.Type type = 2;
inline void Schema::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
}
inline ::google::pubsub::v1::Schema_Type Schema::type() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.Schema.type)
  return _internal_type();
}
inline void Schema::set_type(::google::pubsub::v1::Schema_Type value) {
  _internal_set_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:google.pubsub.v1.Schema.type)
}
inline ::google::pubsub::v1::Schema_Type Schema::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::pubsub::v1::Schema_Type>(_impl_.type_);
}
inline void Schema::_internal_set_type(::google::pubsub::v1::Schema_Type value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = value;
}

// string definition = 3;
inline void Schema::clear_definition() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.definition_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& Schema::definition() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.Schema.definition)
  return _internal_definition();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Schema::set_definition(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.definition_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.Schema.definition)
}
inline ::std::string* PROTOBUF_NONNULL Schema::mutable_definition()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_definition();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.Schema.definition)
  return _s;
}
inline const ::std::string& Schema::_internal_definition() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.definition_.Get();
}
inline void Schema::_internal_set_definition(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.definition_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Schema::_internal_mutable_definition() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.definition_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Schema::release_definition() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.Schema.definition)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.definition_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.definition_.Set("", GetArena());
  }
  return released;
}
inline void Schema::set_allocated_definition(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.definition_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.definition_.IsDefault()) {
    _impl_.definition_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.Schema.definition)
}

// string revision_id = 4 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = OUTPUT_ONLY];
inline void Schema::clear_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.revision_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::std::string& Schema::revision_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.Schema.revision_id)
  return _internal_revision_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Schema::set_revision_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.revision_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.Schema.revision_id)
}
inline ::std::string* PROTOBUF_NONNULL Schema::mutable_revision_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_revision_id();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.Schema.revision_id)
  return _s;
}
inline const ::std::string& Schema::_internal_revision_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.revision_id_.Get();
}
inline void Schema::_internal_set_revision_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.revision_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Schema::_internal_mutable_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.revision_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Schema::release_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.Schema.revision_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.revision_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.revision_id_.Set("", GetArena());
  }
  return released;
}
inline void Schema::set_allocated_revision_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.revision_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.revision_id_.IsDefault()) {
    _impl_.revision_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.Schema.revision_id)
}

// .google.protobuf.Timestamp revision_create_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY];
inline bool Schema::has_revision_create_time() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.revision_create_time_ != nullptr);
  return value;
}
inline const ::google::protobuf::Timestamp& Schema::_internal_revision_create_time() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::protobuf::Timestamp* p = _impl_.revision_create_time_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::protobuf::Timestamp>(&::google::protobuf::Timestamp_globals_);
}
inline const ::google::protobuf::Timestamp& Schema::revision_create_time() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.Schema.revision_create_time)
  return _internal_revision_create_time();
}
inline void Schema::unsafe_arena_set_allocated_revision_create_time(
    ::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.revision_create_time_);
  }
  _impl_.revision_create_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.pubsub.v1.Schema.revision_create_time)
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE Schema::release_revision_create_time() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::protobuf::Timestamp* released = _impl_.revision_create_time_;
  _impl_.revision_create_time_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NULLABLE Schema::unsafe_arena_release_revision_create_time() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.Schema.revision_create_time)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::protobuf::Timestamp* temp = _impl_.revision_create_time_;
  _impl_.revision_create_time_ = nullptr;
  return temp;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL Schema::_internal_mutable_revision_create_time() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.revision_create_time_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::protobuf::Timestamp>(GetArena());
    _impl_.revision_create_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(p);
  }
  return _impl_.revision_create_time_;
}
inline ::google::protobuf::Timestamp* PROTOBUF_NONNULL Schema::mutable_revision_create_time()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::google::protobuf::Timestamp* _msg = _internal_mutable_revision_create_time();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.Schema.revision_create_time)
  return _msg;
}
inline void Schema::set_allocated_revision_create_time(::google::protobuf::Timestamp* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.revision_create_time_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = reinterpret_cast<::google::protobuf::Message*>(value)->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.revision_create_time_ = reinterpret_cast<::google::protobuf::Timestamp*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.Schema.revision_create_time)
}

// -------------------------------------------------------------------

// CreateSchemaRequest

// string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void CreateSchemaRequest::clear_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& CreateSchemaRequest::parent() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.CreateSchemaRequest.parent)
  return _internal_parent();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CreateSchemaRequest::set_parent(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.parent_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.CreateSchemaRequest.parent)
}
inline ::std::string* PROTOBUF_NONNULL CreateSchemaRequest::mutable_parent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_parent();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.CreateSchemaRequest.parent)
  return _s;
}
inline const ::std::string& CreateSchemaRequest::_internal_parent() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.parent_.Get();
}
inline void CreateSchemaRequest::_internal_set_parent(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CreateSchemaRequest::_internal_mutable_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.parent_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CreateSchemaRequest::release_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.CreateSchemaRequest.parent)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.parent_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.parent_.Set("", GetArena());
  }
  return released;
}
inline void CreateSchemaRequest::set_allocated_parent(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.parent_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.parent_.IsDefault()) {
    _impl_.parent_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.CreateSchemaRequest.parent)
}

// .google.pubsub.v1.Schema schema = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool CreateSchemaRequest::has_schema() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.schema_ != nullptr);
  return value;
}
inline void CreateSchemaRequest::clear_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.schema_ != nullptr) _impl_.schema_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline const ::google::pubsub::v1::Schema& CreateSchemaRequest::_internal_schema() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::pubsub::v1::Schema* p = _impl_.schema_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::pubsub::v1::Schema>(&::google::pubsub::v1::Schema_globals_);
}
inline const ::google::pubsub::v1::Schema& CreateSchemaRequest::schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.CreateSchemaRequest.schema)
  return _internal_schema();
}
inline void CreateSchemaRequest::unsafe_arena_set_allocated_schema(
    ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.schema_);
  }
  _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.pubsub.v1.CreateSchemaRequest.schema)
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE CreateSchemaRequest::release_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::pubsub::v1::Schema* released = _impl_.schema_;
  _impl_.schema_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE CreateSchemaRequest::unsafe_arena_release_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.CreateSchemaRequest.schema)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::pubsub::v1::Schema* temp = _impl_.schema_;
  _impl_.schema_ = nullptr;
  return temp;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL CreateSchemaRequest::_internal_mutable_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.schema_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::pubsub::v1::Schema>(GetArena());
    _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(p);
  }
  return _impl_.schema_;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL CreateSchemaRequest::mutable_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::google::pubsub::v1::Schema* _msg = _internal_mutable_schema();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.CreateSchemaRequest.schema)
  return _msg;
}
inline void CreateSchemaRequest::set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.schema_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.CreateSchemaRequest.schema)
}

// string schema_id = 3;
inline void CreateSchemaRequest::clear_schema_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.schema_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& CreateSchemaRequest::schema_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.CreateSchemaRequest.schema_id)
  return _internal_schema_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CreateSchemaRequest::set_schema_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.schema_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.CreateSchemaRequest.schema_id)
}
inline ::std::string* PROTOBUF_NONNULL CreateSchemaRequest::mutable_schema_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_schema_id();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.CreateSchemaRequest.schema_id)
  return _s;
}
inline const ::std::string& CreateSchemaRequest::_internal_schema_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.schema_id_.Get();
}
inline void CreateSchemaRequest::_internal_set_schema_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.schema_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CreateSchemaRequest::_internal_mutable_schema_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.schema_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CreateSchemaRequest::release_schema_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.CreateSchemaRequest.schema_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.schema_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.schema_id_.Set("", GetArena());
  }
  return released;
}
inline void CreateSchemaRequest::set_allocated_schema_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.schema_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.schema_id_.IsDefault()) {
    _impl_.schema_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.CreateSchemaRequest.schema_id)
}

// -------------------------------------------------------------------

// GetSchemaRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void GetSchemaRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& GetSchemaRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.GetSchemaRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GetSchemaRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.GetSchemaRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL GetSchemaRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.GetSchemaRequest.name)
  return _s;
}
inline const ::std::string& GetSchemaRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void GetSchemaRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GetSchemaRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GetSchemaRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.GetSchemaRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void GetSchemaRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.GetSchemaRequest.name)
}

// .google.pubsub.v1.SchemaView view = 2;
inline void GetSchemaRequest::clear_view() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.view_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline ::google::pubsub::v1::SchemaView GetSchemaRequest::view() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.GetSchemaRequest.view)
  return _internal_view();
}
inline void GetSchemaRequest::set_view(::google::pubsub::v1::SchemaView value) {
  _internal_set_view(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:google.pubsub.v1.GetSchemaRequest.view)
}
inline ::google::pubsub::v1::SchemaView GetSchemaRequest::_internal_view() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::pubsub::v1::SchemaView>(_impl_.view_);
}
inline void GetSchemaRequest::_internal_set_view(::google::pubsub::v1::SchemaView value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.view_ = value;
}

// -------------------------------------------------------------------

// ListSchemasRequest

// string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void ListSchemasRequest::clear_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ListSchemasRequest::parent() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemasRequest.parent)
  return _internal_parent();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ListSchemasRequest::set_parent(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.parent_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemasRequest.parent)
}
inline ::std::string* PROTOBUF_NONNULL ListSchemasRequest::mutable_parent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_parent();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ListSchemasRequest.parent)
  return _s;
}
inline const ::std::string& ListSchemasRequest::_internal_parent() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.parent_.Get();
}
inline void ListSchemasRequest::_internal_set_parent(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ListSchemasRequest::_internal_mutable_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.parent_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ListSchemasRequest::release_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ListSchemasRequest.parent)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.parent_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.parent_.Set("", GetArena());
  }
  return released;
}
inline void ListSchemasRequest::set_allocated_parent(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.parent_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.parent_.IsDefault()) {
    _impl_.parent_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ListSchemasRequest.parent)
}

// .google.pubsub.v1.SchemaView view = 2;
inline void ListSchemasRequest::clear_view() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.view_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::google::pubsub::v1::SchemaView ListSchemasRequest::view() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemasRequest.view)
  return _internal_view();
}
inline void ListSchemasRequest::set_view(::google::pubsub::v1::SchemaView value) {
  _internal_set_view(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemasRequest.view)
}
inline ::google::pubsub::v1::SchemaView ListSchemasRequest::_internal_view() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::pubsub::v1::SchemaView>(_impl_.view_);
}
inline void ListSchemasRequest::_internal_set_view(::google::pubsub::v1::SchemaView value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.view_ = value;
}

// int32 page_size = 3;
inline void ListSchemasRequest::clear_page_size() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_size_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::int32_t ListSchemasRequest::page_size() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemasRequest.page_size)
  return _internal_page_size();
}
inline void ListSchemasRequest::set_page_size(::int32_t value) {
  _internal_set_page_size(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemasRequest.page_size)
}
inline ::int32_t ListSchemasRequest::_internal_page_size() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.page_size_;
}
inline void ListSchemasRequest::_internal_set_page_size(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_size_ = value;
}

// string page_token = 4;
inline void ListSchemasRequest::clear_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ListSchemasRequest::page_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemasRequest.page_token)
  return _internal_page_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ListSchemasRequest::set_page_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.page_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemasRequest.page_token)
}
inline ::std::string* PROTOBUF_NONNULL ListSchemasRequest::mutable_page_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_page_token();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ListSchemasRequest.page_token)
  return _s;
}
inline const ::std::string& ListSchemasRequest::_internal_page_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.page_token_.Get();
}
inline void ListSchemasRequest::_internal_set_page_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ListSchemasRequest::_internal_mutable_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.page_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ListSchemasRequest::release_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ListSchemasRequest.page_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.page_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.page_token_.Set("", GetArena());
  }
  return released;
}
inline void ListSchemasRequest::set_allocated_page_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.page_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.page_token_.IsDefault()) {
    _impl_.page_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ListSchemasRequest.page_token)
}

// -------------------------------------------------------------------

// ListSchemasResponse

// repeated .google.pubsub.v1.Schema schemas = 1;
inline int ListSchemasResponse::_internal_schemas_size() const {
  return _internal_schemas().size();
}
inline int ListSchemasResponse::schemas_size() const {
  return _internal_schemas_size();
}
inline void ListSchemasResponse::clear_schemas() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.schemas_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::pubsub::v1::Schema& ListSchemasResponse::schemas(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemasResponse.schemas)
  return _internal_schemas().Get(index);
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL ListSchemasResponse::mutable_schemas(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ListSchemasResponse.schemas)
  return _internal_mutable_schemas()->Mutable(index);
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL ListSchemasResponse::add_schemas()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::pubsub::v1::Schema* _add =
      _internal_mutable_schemas()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:google.pubsub.v1.ListSchemasResponse.schemas)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>& ListSchemasResponse::schemas() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.pubsub.v1.ListSchemasResponse.schemas)
  return _internal_schemas();
}
inline ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>* PROTOBUF_NONNULL
ListSchemasResponse::mutable_schemas() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1.ListSchemasResponse.schemas)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_schemas();
}
inline const ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>&
ListSchemasResponse::_internal_schemas() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.schemas_;
}
inline ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>* PROTOBUF_NONNULL
ListSchemasResponse::_internal_mutable_schemas() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.schemas_;
}

// string next_page_token = 2;
inline void ListSchemasResponse::clear_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.next_page_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ListSchemasResponse::next_page_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemasResponse.next_page_token)
  return _internal_next_page_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ListSchemasResponse::set_next_page_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.next_page_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemasResponse.next_page_token)
}
inline ::std::string* PROTOBUF_NONNULL ListSchemasResponse::mutable_next_page_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_next_page_token();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ListSchemasResponse.next_page_token)
  return _s;
}
inline const ::std::string& ListSchemasResponse::_internal_next_page_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.next_page_token_.Get();
}
inline void ListSchemasResponse::_internal_set_next_page_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.next_page_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ListSchemasResponse::_internal_mutable_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.next_page_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ListSchemasResponse::release_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ListSchemasResponse.next_page_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.next_page_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.next_page_token_.Set("", GetArena());
  }
  return released;
}
inline void ListSchemasResponse::set_allocated_next_page_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.next_page_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.next_page_token_.IsDefault()) {
    _impl_.next_page_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ListSchemasResponse.next_page_token)
}

// -------------------------------------------------------------------

// ListSchemaRevisionsRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void ListSchemaRevisionsRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ListSchemaRevisionsRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemaRevisionsRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ListSchemaRevisionsRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemaRevisionsRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL ListSchemaRevisionsRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ListSchemaRevisionsRequest.name)
  return _s;
}
inline const ::std::string& ListSchemaRevisionsRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void ListSchemaRevisionsRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ListSchemaRevisionsRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ListSchemaRevisionsRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ListSchemaRevisionsRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void ListSchemaRevisionsRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ListSchemaRevisionsRequest.name)
}

// .google.pubsub.v1.SchemaView view = 2;
inline void ListSchemaRevisionsRequest::clear_view() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.view_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::google::pubsub::v1::SchemaView ListSchemaRevisionsRequest::view() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemaRevisionsRequest.view)
  return _internal_view();
}
inline void ListSchemaRevisionsRequest::set_view(::google::pubsub::v1::SchemaView value) {
  _internal_set_view(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemaRevisionsRequest.view)
}
inline ::google::pubsub::v1::SchemaView ListSchemaRevisionsRequest::_internal_view() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::pubsub::v1::SchemaView>(_impl_.view_);
}
inline void ListSchemaRevisionsRequest::_internal_set_view(::google::pubsub::v1::SchemaView value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.view_ = value;
}

// int32 page_size = 3;
inline void ListSchemaRevisionsRequest::clear_page_size() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_size_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
}
inline ::int32_t ListSchemaRevisionsRequest::page_size() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemaRevisionsRequest.page_size)
  return _internal_page_size();
}
inline void ListSchemaRevisionsRequest::set_page_size(::int32_t value) {
  _internal_set_page_size(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemaRevisionsRequest.page_size)
}
inline ::int32_t ListSchemaRevisionsRequest::_internal_page_size() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.page_size_;
}
inline void ListSchemaRevisionsRequest::_internal_set_page_size(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_size_ = value;
}

// string page_token = 4;
inline void ListSchemaRevisionsRequest::clear_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ListSchemaRevisionsRequest::page_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemaRevisionsRequest.page_token)
  return _internal_page_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ListSchemaRevisionsRequest::set_page_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.page_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemaRevisionsRequest.page_token)
}
inline ::std::string* PROTOBUF_NONNULL ListSchemaRevisionsRequest::mutable_page_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_page_token();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ListSchemaRevisionsRequest.page_token)
  return _s;
}
inline const ::std::string& ListSchemaRevisionsRequest::_internal_page_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.page_token_.Get();
}
inline void ListSchemaRevisionsRequest::_internal_set_page_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.page_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ListSchemaRevisionsRequest::_internal_mutable_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.page_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ListSchemaRevisionsRequest::release_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ListSchemaRevisionsRequest.page_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.page_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.page_token_.Set("", GetArena());
  }
  return released;
}
inline void ListSchemaRevisionsRequest::set_allocated_page_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.page_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.page_token_.IsDefault()) {
    _impl_.page_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ListSchemaRevisionsRequest.page_token)
}

// -------------------------------------------------------------------

// ListSchemaRevisionsResponse

// repeated .google.pubsub.v1.Schema schemas = 1;
inline int ListSchemaRevisionsResponse::_internal_schemas_size() const {
  return _internal_schemas().size();
}
inline int ListSchemaRevisionsResponse::schemas_size() const {
  return _internal_schemas_size();
}
inline void ListSchemaRevisionsResponse::clear_schemas() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.schemas_.Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::google::pubsub::v1::Schema& ListSchemaRevisionsResponse::schemas(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemaRevisionsResponse.schemas)
  return _internal_schemas().Get(index);
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL ListSchemaRevisionsResponse::mutable_schemas(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ListSchemaRevisionsResponse.schemas)
  return _internal_mutable_schemas()->Mutable(index);
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL ListSchemaRevisionsResponse::add_schemas()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::pubsub::v1::Schema* _add =
      _internal_mutable_schemas()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:google.pubsub.v1.ListSchemaRevisionsResponse.schemas)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>& ListSchemaRevisionsResponse::schemas() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:google.pubsub.v1.ListSchemaRevisionsResponse.schemas)
  return _internal_schemas();
}
inline ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>* PROTOBUF_NONNULL
ListSchemaRevisionsResponse::mutable_schemas() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:google.pubsub.v1.ListSchemaRevisionsResponse.schemas)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_schemas();
}
inline const ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>&
ListSchemaRevisionsResponse::_internal_schemas() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.schemas_;
}
inline ::google::protobuf::RepeatedPtrField<::google::pubsub::v1::Schema>* PROTOBUF_NONNULL
ListSchemaRevisionsResponse::_internal_mutable_schemas() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.schemas_;
}

// string next_page_token = 2;
inline void ListSchemaRevisionsResponse::clear_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.next_page_token_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ListSchemaRevisionsResponse::next_page_token() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ListSchemaRevisionsResponse.next_page_token)
  return _internal_next_page_token();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ListSchemaRevisionsResponse::set_next_page_token(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.next_page_token_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ListSchemaRevisionsResponse.next_page_token)
}
inline ::std::string* PROTOBUF_NONNULL ListSchemaRevisionsResponse::mutable_next_page_token()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_next_page_token();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ListSchemaRevisionsResponse.next_page_token)
  return _s;
}
inline const ::std::string& ListSchemaRevisionsResponse::_internal_next_page_token() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.next_page_token_.Get();
}
inline void ListSchemaRevisionsResponse::_internal_set_next_page_token(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.next_page_token_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ListSchemaRevisionsResponse::_internal_mutable_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.next_page_token_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ListSchemaRevisionsResponse::release_next_page_token() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ListSchemaRevisionsResponse.next_page_token)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.next_page_token_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.next_page_token_.Set("", GetArena());
  }
  return released;
}
inline void ListSchemaRevisionsResponse::set_allocated_next_page_token(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.next_page_token_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.next_page_token_.IsDefault()) {
    _impl_.next_page_token_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ListSchemaRevisionsResponse.next_page_token)
}

// -------------------------------------------------------------------

// CommitSchemaRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void CommitSchemaRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& CommitSchemaRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.CommitSchemaRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CommitSchemaRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.CommitSchemaRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL CommitSchemaRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.CommitSchemaRequest.name)
  return _s;
}
inline const ::std::string& CommitSchemaRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void CommitSchemaRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CommitSchemaRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CommitSchemaRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.CommitSchemaRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void CommitSchemaRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.CommitSchemaRequest.name)
}

// .google.pubsub.v1.Schema schema = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool CommitSchemaRequest::has_schema() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.schema_ != nullptr);
  return value;
}
inline void CommitSchemaRequest::clear_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.schema_ != nullptr) _impl_.schema_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::google::pubsub::v1::Schema& CommitSchemaRequest::_internal_schema() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::pubsub::v1::Schema* p = _impl_.schema_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::pubsub::v1::Schema>(&::google::pubsub::v1::Schema_globals_);
}
inline const ::google::pubsub::v1::Schema& CommitSchemaRequest::schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.CommitSchemaRequest.schema)
  return _internal_schema();
}
inline void CommitSchemaRequest::unsafe_arena_set_allocated_schema(
    ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.schema_);
  }
  _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.pubsub.v1.CommitSchemaRequest.schema)
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE CommitSchemaRequest::release_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::pubsub::v1::Schema* released = _impl_.schema_;
  _impl_.schema_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE CommitSchemaRequest::unsafe_arena_release_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.CommitSchemaRequest.schema)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::pubsub::v1::Schema* temp = _impl_.schema_;
  _impl_.schema_ = nullptr;
  return temp;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL CommitSchemaRequest::_internal_mutable_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.schema_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::pubsub::v1::Schema>(GetArena());
    _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(p);
  }
  return _impl_.schema_;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL CommitSchemaRequest::mutable_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::pubsub::v1::Schema* _msg = _internal_mutable_schema();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.CommitSchemaRequest.schema)
  return _msg;
}
inline void CommitSchemaRequest::set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.schema_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.CommitSchemaRequest.schema)
}

// -------------------------------------------------------------------

// RollbackSchemaRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void RollbackSchemaRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& RollbackSchemaRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.RollbackSchemaRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RollbackSchemaRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.RollbackSchemaRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL RollbackSchemaRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.RollbackSchemaRequest.name)
  return _s;
}
inline const ::std::string& RollbackSchemaRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void RollbackSchemaRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RollbackSchemaRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RollbackSchemaRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.RollbackSchemaRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void RollbackSchemaRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.RollbackSchemaRequest.name)
}

// string revision_id = 2 [(.google.api.field_behavior) = REQUIRED];
inline void RollbackSchemaRequest::clear_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.revision_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& RollbackSchemaRequest::revision_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.RollbackSchemaRequest.revision_id)
  return _internal_revision_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RollbackSchemaRequest::set_revision_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.revision_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.RollbackSchemaRequest.revision_id)
}
inline ::std::string* PROTOBUF_NONNULL RollbackSchemaRequest::mutable_revision_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_revision_id();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.RollbackSchemaRequest.revision_id)
  return _s;
}
inline const ::std::string& RollbackSchemaRequest::_internal_revision_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.revision_id_.Get();
}
inline void RollbackSchemaRequest::_internal_set_revision_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.revision_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RollbackSchemaRequest::_internal_mutable_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.revision_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RollbackSchemaRequest::release_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.RollbackSchemaRequest.revision_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.revision_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.revision_id_.Set("", GetArena());
  }
  return released;
}
inline void RollbackSchemaRequest::set_allocated_revision_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.revision_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.revision_id_.IsDefault()) {
    _impl_.revision_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.RollbackSchemaRequest.revision_id)
}

// -------------------------------------------------------------------

// DeleteSchemaRevisionRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void DeleteSchemaRevisionRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& DeleteSchemaRevisionRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.DeleteSchemaRevisionRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void DeleteSchemaRevisionRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.DeleteSchemaRevisionRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL DeleteSchemaRevisionRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.DeleteSchemaRevisionRequest.name)
  return _s;
}
inline const ::std::string& DeleteSchemaRevisionRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void DeleteSchemaRevisionRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL DeleteSchemaRevisionRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE DeleteSchemaRevisionRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.DeleteSchemaRevisionRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void DeleteSchemaRevisionRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.DeleteSchemaRevisionRequest.name)
}

// string revision_id = 2 [deprecated = true, (.google.api.field_behavior) = OPTIONAL];
inline void DeleteSchemaRevisionRequest::clear_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.revision_id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& DeleteSchemaRevisionRequest::revision_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.DeleteSchemaRevisionRequest.revision_id)
  return _internal_revision_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void DeleteSchemaRevisionRequest::set_revision_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.revision_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.DeleteSchemaRevisionRequest.revision_id)
}
inline ::std::string* PROTOBUF_NONNULL DeleteSchemaRevisionRequest::mutable_revision_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_revision_id();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.DeleteSchemaRevisionRequest.revision_id)
  return _s;
}
inline const ::std::string& DeleteSchemaRevisionRequest::_internal_revision_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.revision_id_.Get();
}
inline void DeleteSchemaRevisionRequest::_internal_set_revision_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.revision_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL DeleteSchemaRevisionRequest::_internal_mutable_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.revision_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE DeleteSchemaRevisionRequest::release_revision_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.DeleteSchemaRevisionRequest.revision_id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.revision_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.revision_id_.Set("", GetArena());
  }
  return released;
}
inline void DeleteSchemaRevisionRequest::set_allocated_revision_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.revision_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.revision_id_.IsDefault()) {
    _impl_.revision_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.DeleteSchemaRevisionRequest.revision_id)
}

// -------------------------------------------------------------------

// DeleteSchemaRequest

// string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void DeleteSchemaRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& DeleteSchemaRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.DeleteSchemaRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void DeleteSchemaRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.DeleteSchemaRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL DeleteSchemaRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.DeleteSchemaRequest.name)
  return _s;
}
inline const ::std::string& DeleteSchemaRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void DeleteSchemaRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL DeleteSchemaRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE DeleteSchemaRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.DeleteSchemaRequest.name)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void DeleteSchemaRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.DeleteSchemaRequest.name)
}

// -------------------------------------------------------------------

// ValidateSchemaRequest

// string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void ValidateSchemaRequest::clear_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ValidateSchemaRequest::parent() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ValidateSchemaRequest.parent)
  return _internal_parent();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ValidateSchemaRequest::set_parent(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.parent_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ValidateSchemaRequest.parent)
}
inline ::std::string* PROTOBUF_NONNULL ValidateSchemaRequest::mutable_parent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_parent();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ValidateSchemaRequest.parent)
  return _s;
}
inline const ::std::string& ValidateSchemaRequest::_internal_parent() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.parent_.Get();
}
inline void ValidateSchemaRequest::_internal_set_parent(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ValidateSchemaRequest::_internal_mutable_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.parent_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ValidateSchemaRequest::release_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ValidateSchemaRequest.parent)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.parent_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.parent_.Set("", GetArena());
  }
  return released;
}
inline void ValidateSchemaRequest::set_allocated_parent(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.parent_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.parent_.IsDefault()) {
    _impl_.parent_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ValidateSchemaRequest.parent)
}

// .google.pubsub.v1.Schema schema = 2 [(.google.api.field_behavior) = REQUIRED];
inline bool ValidateSchemaRequest::has_schema() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.schema_ != nullptr);
  return value;
}
inline void ValidateSchemaRequest::clear_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.schema_ != nullptr) _impl_.schema_->Clear();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::google::pubsub::v1::Schema& ValidateSchemaRequest::_internal_schema() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::google::pubsub::v1::Schema* p = _impl_.schema_;
  return p != nullptr ? *p : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::pubsub::v1::Schema>(&::google::pubsub::v1::Schema_globals_);
}
inline const ::google::pubsub::v1::Schema& ValidateSchemaRequest::schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ValidateSchemaRequest.schema)
  return _internal_schema();
}
inline void ValidateSchemaRequest::unsafe_arena_set_allocated_schema(
    ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.schema_);
  }
  _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.pubsub.v1.ValidateSchemaRequest.schema)
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE ValidateSchemaRequest::release_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::pubsub::v1::Schema* released = _impl_.schema_;
  _impl_.schema_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE ValidateSchemaRequest::unsafe_arena_release_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ValidateSchemaRequest.schema)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::pubsub::v1::Schema* temp = _impl_.schema_;
  _impl_.schema_ = nullptr;
  return temp;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL ValidateSchemaRequest::_internal_mutable_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.schema_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::google::pubsub::v1::Schema>(GetArena());
    _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(p);
  }
  return _impl_.schema_;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL ValidateSchemaRequest::mutable_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::google::pubsub::v1::Schema* _msg = _internal_mutable_schema();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ValidateSchemaRequest.schema)
  return _msg;
}
inline void ValidateSchemaRequest::set_allocated_schema(::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.schema_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.schema_ = reinterpret_cast<::google::pubsub::v1::Schema*>(value);
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ValidateSchemaRequest.schema)
}

// -------------------------------------------------------------------

// ValidateSchemaResponse

// -------------------------------------------------------------------

// ValidateMessageRequest

// string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {
inline void ValidateMessageRequest::clear_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
}
inline const ::std::string& ValidateMessageRequest::parent() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ValidateMessageRequest.parent)
  return _internal_parent();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ValidateMessageRequest::set_parent(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.parent_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ValidateMessageRequest.parent)
}
inline ::std::string* PROTOBUF_NONNULL ValidateMessageRequest::mutable_parent()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_parent();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ValidateMessageRequest.parent)
  return _s;
}
inline const ::std::string& ValidateMessageRequest::_internal_parent() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.parent_.Get();
}
inline void ValidateMessageRequest::_internal_set_parent(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.parent_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ValidateMessageRequest::_internal_mutable_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.parent_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ValidateMessageRequest::release_parent() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ValidateMessageRequest.parent)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.parent_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.parent_.Set("", GetArena());
  }
  return released;
}
inline void ValidateMessageRequest::set_allocated_parent(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.parent_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.parent_.IsDefault()) {
    _impl_.parent_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ValidateMessageRequest.parent)
}

// string name = 2 [(.google.api.resource_reference) = {
inline bool ValidateMessageRequest::has_name() const {
  return schema_spec_case() == kName;
}
inline void ValidateMessageRequest::set_has_name() {
  _impl_._oneof_case_[0] = kName;
}
inline void ValidateMessageRequest::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (schema_spec_case() == kName) {
    _impl_.schema_spec_.name_.Destroy();
    clear_has_schema_spec();
  }
}
inline const ::std::string& ValidateMessageRequest::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ValidateMessageRequest.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ValidateMessageRequest::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (schema_spec_case() != kName) {
    clear_schema_spec();

    set_has_name();
    _impl_.schema_spec_.name_.InitDefault();
  }
  _impl_.schema_spec_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ValidateMessageRequest.name)
}
inline ::std::string* PROTOBUF_NONNULL ValidateMessageRequest::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  if (schema_spec_case() != kName) {
    clear_schema_spec();

    set_has_name();
    _impl_.schema_spec_.name_.InitDefault();
  }
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ValidateMessageRequest.name)
  return _s;
}
inline const ::std::string& ValidateMessageRequest::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  if (schema_spec_case() != kName) {
    return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  return _impl_.schema_spec_.name_.Get();
}
inline void ValidateMessageRequest::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.schema_spec_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ValidateMessageRequest::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.schema_spec_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ValidateMessageRequest::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ValidateMessageRequest.name)
  if (schema_spec_case() != kName) {
    return nullptr;
  }
  clear_has_schema_spec();
  return _impl_.schema_spec_.name_.Release();
}
inline void ValidateMessageRequest::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (has_schema_spec()) {
    clear_schema_spec();
  }
  if (value != nullptr) {
    set_has_name();
    _impl_.schema_spec_.name_.InitAllocated(value, GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ValidateMessageRequest.name)
}

// .google.pubsub.v1.Schema schema = 3;
inline bool ValidateMessageRequest::has_schema() const {
  return schema_spec_case() == kSchema;
}
inline bool ValidateMessageRequest::_internal_has_schema() const {
  return schema_spec_case() == kSchema;
}
inline void ValidateMessageRequest::set_has_schema() {
  _impl_._oneof_case_[0] = kSchema;
}
inline void ValidateMessageRequest::clear_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (schema_spec_case() == kSchema) {
    if (GetArena() == nullptr) {
      delete _impl_.schema_spec_.schema_;
    } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
      ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.schema_spec_.schema_);
    }
    clear_has_schema_spec();
  }
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE ValidateMessageRequest::release_schema() {
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ValidateMessageRequest.schema)
  if (schema_spec_case() == kSchema) {
    clear_has_schema_spec();
    auto* temp = _impl_.schema_spec_.schema_;
    if (GetArena() != nullptr) {
      temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
    }
    _impl_.schema_spec_.schema_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::google::pubsub::v1::Schema& ValidateMessageRequest::_internal_schema() const {
  return schema_spec_case() == kSchema ? static_cast<const ::google::pubsub::v1::Schema&>(*_impl_.schema_spec_.schema_)
                     : *::google::protobuf::internal::MessageGlobalsBase::ToDefaultInstance<::google::pubsub::v1::Schema>(&::google::pubsub::v1::Schema_globals_);
}
inline const ::google::pubsub::v1::Schema& ValidateMessageRequest::schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ValidateMessageRequest.schema)
  return _internal_schema();
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE ValidateMessageRequest::unsafe_arena_release_schema() {
  // @@protoc_insertion_point(field_unsafe_arena_release:google.pubsub.v1.ValidateMessageRequest.schema)
  if (schema_spec_case() == kSchema) {
    clear_has_schema_spec();
    auto* temp = _impl_.schema_spec_.schema_;
    _impl_.schema_spec_.schema_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void ValidateMessageRequest::unsafe_arena_set_allocated_schema(
    ::google::pubsub::v1::Schema* PROTOBUF_NULLABLE value) {
  // We rely on the oneof clear method to free the earlier contents
  // of this oneof. We can directly use the pointer we're given to
  // set the new value.
  clear_schema_spec();
  if (value) {
    set_has_schema();
    _impl_.schema_spec_.schema_ = value;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.pubsub.v1.ValidateMessageRequest.schema)
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL ValidateMessageRequest::_internal_mutable_schema() {
  if (schema_spec_case() != kSchema) {
    clear_schema_spec();
    set_has_schema();
    _impl_.schema_spec_.schema_ = 
        ::google::protobuf::Message::DefaultConstruct<::google::pubsub::v1::Schema>(GetArena());
  }
  return _impl_.schema_spec_.schema_;
}
inline ::google::pubsub::v1::Schema* PROTOBUF_NONNULL ValidateMessageRequest::mutable_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::pubsub::v1::Schema* _msg = _internal_mutable_schema();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ValidateMessageRequest.schema)
  return _msg;
}

// bytes message = 4;
inline void ValidateMessageRequest::clear_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
}
inline const ::std::string& ValidateMessageRequest::message() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ValidateMessageRequest.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ValidateMessageRequest::set_message(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.message_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ValidateMessageRequest.message)
}
inline ::std::string* PROTOBUF_NONNULL ValidateMessageRequest::mutable_message()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:google.pubsub.v1.ValidateMessageRequest.message)
  return _s;
}
inline const ::std::string& ValidateMessageRequest::_internal_message() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.message_.Get();
}
inline void ValidateMessageRequest::_internal_set_message(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ValidateMessageRequest::_internal_mutable_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.message_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ValidateMessageRequest::release_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:google.pubsub.v1.ValidateMessageRequest.message)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.message_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.message_.Set("", GetArena());
  }
  return released;
}
inline void ValidateMessageRequest::set_allocated_message(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.message_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) {
    _impl_.message_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:google.pubsub.v1.ValidateMessageRequest.message)
}

// .google.pubsub.v1.Encoding encoding = 5;
inline void ValidateMessageRequest::clear_encoding() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoding_ = 0;
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
}
inline ::google::pubsub::v1::Encoding ValidateMessageRequest::encoding() const {
  // @@protoc_insertion_point(field_get:google.pubsub.v1.ValidateMessageRequest.encoding)
  return _internal_encoding();
}
inline void ValidateMessageRequest::set_encoding(::google::pubsub::v1::Encoding value) {
  _internal_set_encoding(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:google.pubsub.v1.ValidateMessageRequest.encoding)
}
inline ::google::pubsub::v1::Encoding ValidateMessageRequest::_internal_encoding() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::google::pubsub::v1::Encoding>(_impl_.encoding_);
}
inline void ValidateMessageRequest::_internal_set_encoding(::google::pubsub::v1::Encoding value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.encoding_ = value;
}

inline bool ValidateMessageRequest::has_schema_spec() const {
  return schema_spec_case() != SCHEMA_SPEC_NOT_SET;
}
inline void ValidateMessageRequest::clear_has_schema_spec() {
  _impl_._oneof_case_[0] = SCHEMA_SPEC_NOT_SET;
}
inline ValidateMessageRequest::SchemaSpecCase ValidateMessageRequest::schema_spec_case() const {
  return ValidateMessageRequest::SchemaSpecCase(_impl_._oneof_case_[0]);
}
// -------------------------------------------------------------------

// ValidateMessageResponse

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace v1
}  // namespace pubsub
}  // namespace google


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::google::pubsub::v1::Schema_Type> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::pubsub::v1::Schema_Type>() {
  return ::google::pubsub::v1::Schema_Type_descriptor();
}
template <>
struct is_proto_enum<::google::pubsub::v1::SchemaView> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::pubsub::v1::SchemaView>() {
  return ::google::pubsub::v1::SchemaView_descriptor();
}
template <>
struct is_proto_enum<::google::pubsub::v1::Encoding> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::google::pubsub::v1::Encoding>() {
  return ::google::pubsub::v1::Encoding_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"
// clang-format on

#endif  // google_2fpubsub_2fv1_2fschema_2eproto_2epb_2eh
