// Copyright Contributors to Agones a Series of LF Projects, LLC.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// This code was autogenerated. Do not edit directly.
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: protoc-gen-openapiv2/options/openapiv2.proto
// Protobuf C++ Version: 6.31.1

#ifndef protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_2epb_2eh
#define protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_2epb_2eh

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

#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 6031001
#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_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/map.h"  // IWYU pragma: export
#include "google/protobuf/map_type_handler.h"  // IWYU pragma: export
#include "google/protobuf/map_entry.h"
#include "google/protobuf/map_field.h"
#include "google/protobuf/generated_enum_reflection.h"
#include "google/protobuf/unknown_field_set.h"
#include "google/protobuf/struct.pb.h"
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto AGONES_EXPORT

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 AGONES_EXPORT TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
AGONES_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
}  // extern "C"
namespace grpc {
namespace gateway {
namespace protoc_gen_openapiv2 {
namespace options {
enum JSONSchema_JSONSchemaSimpleTypes : int;
AGONES_EXPORT extern const uint32_t JSONSchema_JSONSchemaSimpleTypes_internal_data_[];
enum Scheme : int;
AGONES_EXPORT extern const uint32_t Scheme_internal_data_[];
enum SecurityScheme_Flow : int;
AGONES_EXPORT extern const uint32_t SecurityScheme_Flow_internal_data_[];
enum SecurityScheme_In : int;
AGONES_EXPORT extern const uint32_t SecurityScheme_In_internal_data_[];
enum SecurityScheme_Type : int;
AGONES_EXPORT extern const uint32_t SecurityScheme_Type_internal_data_[];
class Contact;
struct ContactDefaultTypeInternal;
AGONES_EXPORT extern ContactDefaultTypeInternal _Contact_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Contact_class_data_;
class ExternalDocumentation;
struct ExternalDocumentationDefaultTypeInternal;
AGONES_EXPORT extern ExternalDocumentationDefaultTypeInternal _ExternalDocumentation_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull ExternalDocumentation_class_data_;
class Header;
struct HeaderDefaultTypeInternal;
AGONES_EXPORT extern HeaderDefaultTypeInternal _Header_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Header_class_data_;
class Info;
struct InfoDefaultTypeInternal;
AGONES_EXPORT extern InfoDefaultTypeInternal _Info_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Info_class_data_;
class Info_ExtensionsEntry_DoNotUse;
struct Info_ExtensionsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Info_ExtensionsEntry_DoNotUseDefaultTypeInternal _Info_ExtensionsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Info_ExtensionsEntry_DoNotUse_class_data_;
class JSONSchema;
struct JSONSchemaDefaultTypeInternal;
AGONES_EXPORT extern JSONSchemaDefaultTypeInternal _JSONSchema_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull JSONSchema_class_data_;
class JSONSchema_ExtensionsEntry_DoNotUse;
struct JSONSchema_ExtensionsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern JSONSchema_ExtensionsEntry_DoNotUseDefaultTypeInternal _JSONSchema_ExtensionsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull JSONSchema_ExtensionsEntry_DoNotUse_class_data_;
class JSONSchema_FieldConfiguration;
struct JSONSchema_FieldConfigurationDefaultTypeInternal;
AGONES_EXPORT extern JSONSchema_FieldConfigurationDefaultTypeInternal _JSONSchema_FieldConfiguration_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull JSONSchema_FieldConfiguration_class_data_;
class License;
struct LicenseDefaultTypeInternal;
AGONES_EXPORT extern LicenseDefaultTypeInternal _License_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull License_class_data_;
class Operation;
struct OperationDefaultTypeInternal;
AGONES_EXPORT extern OperationDefaultTypeInternal _Operation_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Operation_class_data_;
class Operation_ExtensionsEntry_DoNotUse;
struct Operation_ExtensionsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Operation_ExtensionsEntry_DoNotUseDefaultTypeInternal _Operation_ExtensionsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Operation_ExtensionsEntry_DoNotUse_class_data_;
class Operation_ResponsesEntry_DoNotUse;
struct Operation_ResponsesEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Operation_ResponsesEntry_DoNotUseDefaultTypeInternal _Operation_ResponsesEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Operation_ResponsesEntry_DoNotUse_class_data_;
class Response;
struct ResponseDefaultTypeInternal;
AGONES_EXPORT extern ResponseDefaultTypeInternal _Response_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Response_class_data_;
class Response_ExamplesEntry_DoNotUse;
struct Response_ExamplesEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Response_ExamplesEntry_DoNotUseDefaultTypeInternal _Response_ExamplesEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Response_ExamplesEntry_DoNotUse_class_data_;
class Response_ExtensionsEntry_DoNotUse;
struct Response_ExtensionsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Response_ExtensionsEntry_DoNotUseDefaultTypeInternal _Response_ExtensionsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Response_ExtensionsEntry_DoNotUse_class_data_;
class Response_HeadersEntry_DoNotUse;
struct Response_HeadersEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Response_HeadersEntry_DoNotUseDefaultTypeInternal _Response_HeadersEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Response_HeadersEntry_DoNotUse_class_data_;
class Schema;
struct SchemaDefaultTypeInternal;
AGONES_EXPORT extern SchemaDefaultTypeInternal _Schema_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Schema_class_data_;
class Scopes;
struct ScopesDefaultTypeInternal;
AGONES_EXPORT extern ScopesDefaultTypeInternal _Scopes_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Scopes_class_data_;
class Scopes_ScopeEntry_DoNotUse;
struct Scopes_ScopeEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Scopes_ScopeEntry_DoNotUseDefaultTypeInternal _Scopes_ScopeEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Scopes_ScopeEntry_DoNotUse_class_data_;
class SecurityDefinitions;
struct SecurityDefinitionsDefaultTypeInternal;
AGONES_EXPORT extern SecurityDefinitionsDefaultTypeInternal _SecurityDefinitions_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityDefinitions_class_data_;
class SecurityDefinitions_SecurityEntry_DoNotUse;
struct SecurityDefinitions_SecurityEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern SecurityDefinitions_SecurityEntry_DoNotUseDefaultTypeInternal _SecurityDefinitions_SecurityEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityDefinitions_SecurityEntry_DoNotUse_class_data_;
class SecurityRequirement;
struct SecurityRequirementDefaultTypeInternal;
AGONES_EXPORT extern SecurityRequirementDefaultTypeInternal _SecurityRequirement_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityRequirement_class_data_;
class SecurityRequirement_SecurityRequirementEntry_DoNotUse;
struct SecurityRequirement_SecurityRequirementEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern SecurityRequirement_SecurityRequirementEntry_DoNotUseDefaultTypeInternal _SecurityRequirement_SecurityRequirementEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityRequirement_SecurityRequirementEntry_DoNotUse_class_data_;
class SecurityRequirement_SecurityRequirementValue;
struct SecurityRequirement_SecurityRequirementValueDefaultTypeInternal;
AGONES_EXPORT extern SecurityRequirement_SecurityRequirementValueDefaultTypeInternal _SecurityRequirement_SecurityRequirementValue_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityRequirement_SecurityRequirementValue_class_data_;
class SecurityScheme;
struct SecuritySchemeDefaultTypeInternal;
AGONES_EXPORT extern SecuritySchemeDefaultTypeInternal _SecurityScheme_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityScheme_class_data_;
class SecurityScheme_ExtensionsEntry_DoNotUse;
struct SecurityScheme_ExtensionsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern SecurityScheme_ExtensionsEntry_DoNotUseDefaultTypeInternal _SecurityScheme_ExtensionsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityScheme_ExtensionsEntry_DoNotUse_class_data_;
class Swagger;
struct SwaggerDefaultTypeInternal;
AGONES_EXPORT extern SwaggerDefaultTypeInternal _Swagger_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Swagger_class_data_;
class Swagger_ExtensionsEntry_DoNotUse;
struct Swagger_ExtensionsEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Swagger_ExtensionsEntry_DoNotUseDefaultTypeInternal _Swagger_ExtensionsEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Swagger_ExtensionsEntry_DoNotUse_class_data_;
class Swagger_ResponsesEntry_DoNotUse;
struct Swagger_ResponsesEntry_DoNotUseDefaultTypeInternal;
AGONES_EXPORT extern Swagger_ResponsesEntry_DoNotUseDefaultTypeInternal _Swagger_ResponsesEntry_DoNotUse_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Swagger_ResponsesEntry_DoNotUse_class_data_;
class Tag;
struct TagDefaultTypeInternal;
AGONES_EXPORT extern TagDefaultTypeInternal _Tag_default_instance_;
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Tag_class_data_;
}  // namespace options
}  // namespace protoc_gen_openapiv2
}  // namespace gateway
}  // namespace grpc
namespace google {
namespace protobuf {
template <>
internal::EnumTraitsT<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes>;
template <>
internal::EnumTraitsT<::grpc::gateway::protoc_gen_openapiv2::options::Scheme_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::gateway::protoc_gen_openapiv2::options::Scheme>;
template <>
internal::EnumTraitsT<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow>;
template <>
internal::EnumTraitsT<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In>;
template <>
internal::EnumTraitsT<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type_internal_data_>
    internal::EnumTraitsImpl::value<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type>;
}  // namespace protobuf
}  // namespace google

namespace grpc {
namespace gateway {
namespace protoc_gen_openapiv2 {
namespace options {
enum JSONSchema_JSONSchemaSimpleTypes : int {
  JSONSchema_JSONSchemaSimpleTypes_UNKNOWN = 0,
  JSONSchema_JSONSchemaSimpleTypes_ARRAY = 1,
  JSONSchema_JSONSchemaSimpleTypes_BOOLEAN = 2,
  JSONSchema_JSONSchemaSimpleTypes_INTEGER = 3,
  JSONSchema_JSONSchemaSimpleTypes_NULL_ = 4,
  JSONSchema_JSONSchemaSimpleTypes_NUMBER = 5,
  JSONSchema_JSONSchemaSimpleTypes_OBJECT = 6,
  JSONSchema_JSONSchemaSimpleTypes_STRING = 7,
  JSONSchema_JSONSchemaSimpleTypes_JSONSchema_JSONSchemaSimpleTypes_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  JSONSchema_JSONSchemaSimpleTypes_JSONSchema_JSONSchemaSimpleTypes_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

AGONES_EXPORT extern const uint32_t JSONSchema_JSONSchemaSimpleTypes_internal_data_[];
inline constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema_JSONSchemaSimpleTypes_JSONSchemaSimpleTypes_MIN =
    static_cast<JSONSchema_JSONSchemaSimpleTypes>(0);
inline constexpr JSONSchema_JSONSchemaSimpleTypes JSONSchema_JSONSchemaSimpleTypes_JSONSchemaSimpleTypes_MAX =
    static_cast<JSONSchema_JSONSchemaSimpleTypes>(7);
inline bool JSONSchema_JSONSchemaSimpleTypes_IsValid(int value) {
  return 0 <= value && value <= 7;
}
inline constexpr int JSONSchema_JSONSchemaSimpleTypes_JSONSchemaSimpleTypes_ARRAYSIZE = 7 + 1;
AGONES_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL JSONSchema_JSONSchemaSimpleTypes_descriptor();
template <typename T>
const ::std::string& JSONSchema_JSONSchemaSimpleTypes_Name(T value) {
  static_assert(::std::is_same<T, JSONSchema_JSONSchemaSimpleTypes>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to JSONSchemaSimpleTypes_Name().");
  return JSONSchema_JSONSchemaSimpleTypes_Name(static_cast<JSONSchema_JSONSchemaSimpleTypes>(value));
}
template <>
inline const ::std::string& JSONSchema_JSONSchemaSimpleTypes_Name(JSONSchema_JSONSchemaSimpleTypes value) {
  return ::google::protobuf::internal::NameOfDenseEnum<JSONSchema_JSONSchemaSimpleTypes_descriptor, 0, 7>(
      static_cast<int>(value));
}
inline bool JSONSchema_JSONSchemaSimpleTypes_Parse(
    ::absl::string_view name, JSONSchema_JSONSchemaSimpleTypes* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<JSONSchema_JSONSchemaSimpleTypes>(JSONSchema_JSONSchemaSimpleTypes_descriptor(), name,
                                           value);
}
enum SecurityScheme_Type : int {
  SecurityScheme_Type_TYPE_INVALID = 0,
  SecurityScheme_Type_TYPE_BASIC = 1,
  SecurityScheme_Type_TYPE_API_KEY = 2,
  SecurityScheme_Type_TYPE_OAUTH2 = 3,
  SecurityScheme_Type_SecurityScheme_Type_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  SecurityScheme_Type_SecurityScheme_Type_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

AGONES_EXPORT extern const uint32_t SecurityScheme_Type_internal_data_[];
inline constexpr SecurityScheme_Type SecurityScheme_Type_Type_MIN =
    static_cast<SecurityScheme_Type>(0);
inline constexpr SecurityScheme_Type SecurityScheme_Type_Type_MAX =
    static_cast<SecurityScheme_Type>(3);
inline bool SecurityScheme_Type_IsValid(int value) {
  return 0 <= value && value <= 3;
}
inline constexpr int SecurityScheme_Type_Type_ARRAYSIZE = 3 + 1;
AGONES_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SecurityScheme_Type_descriptor();
template <typename T>
const ::std::string& SecurityScheme_Type_Name(T value) {
  static_assert(::std::is_same<T, SecurityScheme_Type>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Type_Name().");
  return SecurityScheme_Type_Name(static_cast<SecurityScheme_Type>(value));
}
template <>
inline const ::std::string& SecurityScheme_Type_Name(SecurityScheme_Type value) {
  return ::google::protobuf::internal::NameOfDenseEnum<SecurityScheme_Type_descriptor, 0, 3>(
      static_cast<int>(value));
}
inline bool SecurityScheme_Type_Parse(
    ::absl::string_view name, SecurityScheme_Type* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<SecurityScheme_Type>(SecurityScheme_Type_descriptor(), name,
                                           value);
}
enum SecurityScheme_In : int {
  SecurityScheme_In_IN_INVALID = 0,
  SecurityScheme_In_IN_QUERY = 1,
  SecurityScheme_In_IN_HEADER = 2,
  SecurityScheme_In_SecurityScheme_In_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  SecurityScheme_In_SecurityScheme_In_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

AGONES_EXPORT extern const uint32_t SecurityScheme_In_internal_data_[];
inline constexpr SecurityScheme_In SecurityScheme_In_In_MIN =
    static_cast<SecurityScheme_In>(0);
inline constexpr SecurityScheme_In SecurityScheme_In_In_MAX =
    static_cast<SecurityScheme_In>(2);
inline bool SecurityScheme_In_IsValid(int value) {
  return 0 <= value && value <= 2;
}
inline constexpr int SecurityScheme_In_In_ARRAYSIZE = 2 + 1;
AGONES_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SecurityScheme_In_descriptor();
template <typename T>
const ::std::string& SecurityScheme_In_Name(T value) {
  static_assert(::std::is_same<T, SecurityScheme_In>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to In_Name().");
  return SecurityScheme_In_Name(static_cast<SecurityScheme_In>(value));
}
template <>
inline const ::std::string& SecurityScheme_In_Name(SecurityScheme_In value) {
  return ::google::protobuf::internal::NameOfDenseEnum<SecurityScheme_In_descriptor, 0, 2>(
      static_cast<int>(value));
}
inline bool SecurityScheme_In_Parse(
    ::absl::string_view name, SecurityScheme_In* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<SecurityScheme_In>(SecurityScheme_In_descriptor(), name,
                                           value);
}
enum SecurityScheme_Flow : int {
  SecurityScheme_Flow_FLOW_INVALID = 0,
  SecurityScheme_Flow_FLOW_IMPLICIT = 1,
  SecurityScheme_Flow_FLOW_PASSWORD = 2,
  SecurityScheme_Flow_FLOW_APPLICATION = 3,
  SecurityScheme_Flow_FLOW_ACCESS_CODE = 4,
  SecurityScheme_Flow_SecurityScheme_Flow_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  SecurityScheme_Flow_SecurityScheme_Flow_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

AGONES_EXPORT extern const uint32_t SecurityScheme_Flow_internal_data_[];
inline constexpr SecurityScheme_Flow SecurityScheme_Flow_Flow_MIN =
    static_cast<SecurityScheme_Flow>(0);
inline constexpr SecurityScheme_Flow SecurityScheme_Flow_Flow_MAX =
    static_cast<SecurityScheme_Flow>(4);
inline bool SecurityScheme_Flow_IsValid(int value) {
  return 0 <= value && value <= 4;
}
inline constexpr int SecurityScheme_Flow_Flow_ARRAYSIZE = 4 + 1;
AGONES_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL SecurityScheme_Flow_descriptor();
template <typename T>
const ::std::string& SecurityScheme_Flow_Name(T value) {
  static_assert(::std::is_same<T, SecurityScheme_Flow>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Flow_Name().");
  return SecurityScheme_Flow_Name(static_cast<SecurityScheme_Flow>(value));
}
template <>
inline const ::std::string& SecurityScheme_Flow_Name(SecurityScheme_Flow value) {
  return ::google::protobuf::internal::NameOfDenseEnum<SecurityScheme_Flow_descriptor, 0, 4>(
      static_cast<int>(value));
}
inline bool SecurityScheme_Flow_Parse(
    ::absl::string_view name, SecurityScheme_Flow* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<SecurityScheme_Flow>(SecurityScheme_Flow_descriptor(), name,
                                           value);
}
enum Scheme : int {
  UNKNOWN = 0,
  HTTP = 1,
  HTTPS = 2,
  WS = 3,
  WSS = 4,
  Scheme_INT_MIN_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::min(),
  Scheme_INT_MAX_SENTINEL_DO_NOT_USE_ =
      ::std::numeric_limits<::int32_t>::max(),
};

AGONES_EXPORT extern const uint32_t Scheme_internal_data_[];
inline constexpr Scheme Scheme_MIN =
    static_cast<Scheme>(0);
inline constexpr Scheme Scheme_MAX =
    static_cast<Scheme>(4);
inline bool Scheme_IsValid(int value) {
  return 0 <= value && value <= 4;
}
inline constexpr int Scheme_ARRAYSIZE = 4 + 1;
AGONES_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Scheme_descriptor();
template <typename T>
const ::std::string& Scheme_Name(T value) {
  static_assert(::std::is_same<T, Scheme>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to Scheme_Name().");
  return Scheme_Name(static_cast<Scheme>(value));
}
template <>
inline const ::std::string& Scheme_Name(Scheme value) {
  return ::google::protobuf::internal::NameOfDenseEnum<Scheme_descriptor, 0, 4>(
      static_cast<int>(value));
}
inline bool Scheme_Parse(
    ::absl::string_view name, Scheme* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<Scheme>(Scheme_descriptor(), name,
                                           value);
}

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


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

class AGONES_EXPORT SecurityRequirement_SecurityRequirementValue final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue) */ {
 public:
  inline SecurityRequirement_SecurityRequirementValue() : SecurityRequirement_SecurityRequirementValue(nullptr) {}
  ~SecurityRequirement_SecurityRequirementValue() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SecurityRequirement_SecurityRequirementValue(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityRequirement_SecurityRequirementValue& default_instance() {
    return *reinterpret_cast<const SecurityRequirement_SecurityRequirementValue*>(
        &_SecurityRequirement_SecurityRequirementValue_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 25;
  friend void swap(SecurityRequirement_SecurityRequirementValue& a, SecurityRequirement_SecurityRequirementValue& b) { a.Swap(&b); }
  inline void Swap(SecurityRequirement_SecurityRequirementValue* 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(SecurityRequirement_SecurityRequirementValue* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SecurityRequirement_SecurityRequirementValue* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue"; }

 protected:
  explicit SecurityRequirement_SecurityRequirementValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SecurityRequirement_SecurityRequirementValue(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SecurityRequirement_SecurityRequirementValue& from);
  SecurityRequirement_SecurityRequirementValue(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SecurityRequirement_SecurityRequirementValue&& from) noexcept
      : SecurityRequirement_SecurityRequirementValue(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kScopeFieldNumber = 1,
  };
  // repeated string scope = 1;
  int scope_size() const;
  private:
  int _internal_scope_size() const;

  public:
  void clear_scope() ;
  const ::std::string& scope(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_scope(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_scope(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_scope();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_scope(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& scope() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_scope();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_scope() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_scope();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 100,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 SecurityRequirement_SecurityRequirementValue& from_msg);
    ::google::protobuf::RepeatedPtrField<::std::string> scope_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityRequirement_SecurityRequirementValue_class_data_;
// -------------------------------------------------------------------

class Scopes_ScopeEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, std::string,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>;
  Scopes_ScopeEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Scopes_ScopeEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Scopes_ScopeEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Scopes_ScopeEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 76,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Scopes_ScopeEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class Response_ExamplesEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, std::string,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>;
  Response_ExamplesEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Response_ExamplesEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Response_ExamplesEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Response_ExamplesEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 81,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Response_ExamplesEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT License final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.License) */ {
 public:
  inline License() : License(nullptr) {}
  ~License() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR License(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const License& default_instance() {
    return *reinterpret_cast<const License*>(
        &_License_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 14;
  friend void swap(License& a, License& b) { a.Swap(&b); }
  inline void Swap(License* 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(License* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit License(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  License(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const License& from);
  License(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, License&& from) noexcept
      : License(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kUrlFieldNumber = 2,
  };
  // string name = 1;
  void clear_name() ;
  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 url = 2;
  void clear_url() ;
  const ::std::string& url() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_url(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_url();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_url();
  void set_allocated_url(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_url() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_url(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_url();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.License)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 65,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 License& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr url_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull License_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT JSONSchema_FieldConfiguration final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration) */ {
 public:
  inline JSONSchema_FieldConfiguration() : JSONSchema_FieldConfiguration(nullptr) {}
  ~JSONSchema_FieldConfiguration() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR JSONSchema_FieldConfiguration(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const JSONSchema_FieldConfiguration& default_instance() {
    return *reinterpret_cast<const JSONSchema_FieldConfiguration*>(
        &_JSONSchema_FieldConfiguration_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 17;
  friend void swap(JSONSchema_FieldConfiguration& a, JSONSchema_FieldConfiguration& b) { a.Swap(&b); }
  inline void Swap(JSONSchema_FieldConfiguration* 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(JSONSchema_FieldConfiguration* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(JSONSchema_FieldConfiguration* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration"; }

 protected:
  explicit JSONSchema_FieldConfiguration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  JSONSchema_FieldConfiguration(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const JSONSchema_FieldConfiguration& from);
  JSONSchema_FieldConfiguration(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, JSONSchema_FieldConfiguration&& from) noexcept
      : JSONSchema_FieldConfiguration(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kPathParamNameFieldNumber = 47,
  };
  // string path_param_name = 47;
  void clear_path_param_name() ;
  const ::std::string& path_param_name() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_path_param_name(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_path_param_name();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_path_param_name();
  void set_allocated_path_param_name(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_path_param_name() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_path_param_name(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_path_param_name();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 95,
                                   7>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 JSONSchema_FieldConfiguration& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr path_param_name_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull JSONSchema_FieldConfiguration_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Header final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.Header) */ {
 public:
  inline Header() : Header(nullptr) {}
  ~Header() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Header(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Header& default_instance() {
    return *reinterpret_cast<const Header*>(
        &_Header_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(Header& a, Header& b) { a.Swap(&b); }
  inline void Swap(Header* 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(Header* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Header(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Header(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Header& from);
  Header(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Header&& from) noexcept
      : Header(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDescriptionFieldNumber = 1,
    kTypeFieldNumber = 2,
    kFormatFieldNumber = 3,
    kDefaultFieldNumber = 6,
    kPatternFieldNumber = 13,
  };
  // string description = 1;
  void clear_description() ;
  const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // string type = 2;
  void clear_type() ;
  const ::std::string& type() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_type(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_type();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_type();
  void set_allocated_type(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_type() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_type(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_type();

  public:
  // string format = 3;
  void clear_format() ;
  const ::std::string& format() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_format(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_format();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_format();
  void set_allocated_format(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_format() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_format(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_format();

  public:
  // string default = 6;
  void clear_default_() ;
  const ::std::string& default_() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_default_(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_default_();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_default_();
  void set_allocated_default_(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_default_() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_default_(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_default_();

  public:
  // string pattern = 13;
  void clear_pattern() ;
  const ::std::string& pattern() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_pattern(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_pattern();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_pattern();
  void set_allocated_pattern(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_pattern() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_pattern(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_pattern();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Header)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   0, 92,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Header& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::google::protobuf::internal::ArenaStringPtr type_;
    ::google::protobuf::internal::ArenaStringPtr format_;
    ::google::protobuf::internal::ArenaStringPtr default__;
    ::google::protobuf::internal::ArenaStringPtr pattern_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Header_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT ExternalDocumentation final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation) */ {
 public:
  inline ExternalDocumentation() : ExternalDocumentation(nullptr) {}
  ~ExternalDocumentation() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR ExternalDocumentation(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ExternalDocumentation& default_instance() {
    return *reinterpret_cast<const ExternalDocumentation*>(
        &_ExternalDocumentation_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 15;
  friend void swap(ExternalDocumentation& a, ExternalDocumentation& b) { a.Swap(&b); }
  inline void Swap(ExternalDocumentation* 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(ExternalDocumentation* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit ExternalDocumentation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  ExternalDocumentation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const ExternalDocumentation& from);
  ExternalDocumentation(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, ExternalDocumentation&& from) noexcept
      : ExternalDocumentation(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDescriptionFieldNumber = 1,
    kUrlFieldNumber = 2,
  };
  // string description = 1;
  void clear_description() ;
  const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // string url = 2;
  void clear_url() ;
  const ::std::string& url() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_url(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_url();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_url();
  void set_allocated_url(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_url() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_url(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_url();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 86,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 ExternalDocumentation& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::google::protobuf::internal::ArenaStringPtr url_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull ExternalDocumentation_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Contact final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.Contact) */ {
 public:
  inline Contact() : Contact(nullptr) {}
  ~Contact() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Contact(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Contact& default_instance() {
    return *reinterpret_cast<const Contact*>(
        &_Contact_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 13;
  friend void swap(Contact& a, Contact& b) { a.Swap(&b); }
  inline void Swap(Contact* 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(Contact* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Contact(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Contact(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Contact& from);
  Contact(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Contact&& from) noexcept
      : Contact(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNameFieldNumber = 1,
    kUrlFieldNumber = 2,
    kEmailFieldNumber = 3,
  };
  // string name = 1;
  void clear_name() ;
  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 url = 2;
  void clear_url() ;
  const ::std::string& url() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_url(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_url();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_url();
  void set_allocated_url(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_url() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_url(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_url();

  public:
  // string email = 3;
  void clear_email() ;
  const ::std::string& email() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_email(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_email();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_email();
  void set_allocated_email(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_email() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_email(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_email();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Contact)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   0, 70,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Contact& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr url_;
    ::google::protobuf::internal::ArenaStringPtr email_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Contact_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Tag final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.Tag) */ {
 public:
  inline Tag() : Tag(nullptr) {}
  ~Tag() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Tag(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Tag& default_instance() {
    return *reinterpret_cast<const Tag*>(
        &_Tag_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 20;
  friend void swap(Tag& a, Tag& b) { a.Swap(&b); }
  inline void Swap(Tag* 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(Tag* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Tag(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Tag(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Tag& from);
  Tag(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Tag&& from) noexcept
      : Tag(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDescriptionFieldNumber = 2,
    kExternalDocsFieldNumber = 3,
  };
  // string description = 2;
  void clear_description() ;
  const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 3;
  bool has_external_docs() const;
  void clear_external_docs() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& external_docs() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE release_external_docs();
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL mutable_external_docs();
  void set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE unsafe_arena_release_external_docs();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& _internal_external_docs() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL _internal_mutable_external_docs();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Tag)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 65,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Tag& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE external_docs_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Tag_class_data_;
// -------------------------------------------------------------------

class Swagger_ExtensionsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  Swagger_ExtensionsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Swagger_ExtensionsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Swagger_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Swagger_ExtensionsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 77,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Swagger_ExtensionsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class SecurityScheme_ExtensionsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  SecurityScheme_ExtensionsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SecurityScheme_ExtensionsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit SecurityScheme_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_SecurityScheme_ExtensionsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 84,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityScheme_ExtensionsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class SecurityRequirement_SecurityRequirementEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  SecurityRequirement_SecurityRequirementEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SecurityRequirement_SecurityRequirementEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit SecurityRequirement_SecurityRequirementEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_SecurityRequirement_SecurityRequirementEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 98,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityRequirement_SecurityRequirementEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Scopes final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.Scopes) */ {
 public:
  inline Scopes() : Scopes(nullptr) {}
  ~Scopes() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Scopes(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Scopes& default_instance() {
    return *reinterpret_cast<const Scopes*>(
        &_Scopes_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 29;
  friend void swap(Scopes& a, Scopes& b) { a.Swap(&b); }
  inline void Swap(Scopes* 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(Scopes* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Scopes(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Scopes(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Scopes& from);
  Scopes(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Scopes&& from) noexcept
      : Scopes(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kScopeFieldNumber = 1,
  };
  // map<string, string> scope = 1;
  int scope_size() const;
  private:
  int _internal_scope_size() const;

  public:
  void clear_scope() ;
  const ::google::protobuf::Map<std::string, std::string>& scope() const;
  ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL mutable_scope();

  private:
  const ::google::protobuf::Map<std::string, std::string>& _internal_scope() const;
  ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL _internal_mutable_scope();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Scopes)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 62,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Scopes& from_msg);
    ::google::protobuf::internal::MapField<Scopes_ScopeEntry_DoNotUse, std::string, std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>
        scope_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Scopes_class_data_;
// -------------------------------------------------------------------

class Response_HeadersEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  Response_HeadersEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Response_HeadersEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Response_HeadersEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Response_HeadersEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 75,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Response_HeadersEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class Response_ExtensionsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  Response_ExtensionsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Response_ExtensionsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Response_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Response_ExtensionsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 78,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Response_ExtensionsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class Operation_ExtensionsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  Operation_ExtensionsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Operation_ExtensionsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Operation_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Operation_ExtensionsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 79,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Operation_ExtensionsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class JSONSchema_ExtensionsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  JSONSchema_ExtensionsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR JSONSchema_ExtensionsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit JSONSchema_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_JSONSchema_ExtensionsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 80,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull JSONSchema_ExtensionsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class Info_ExtensionsEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  Info_ExtensionsEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Info_ExtensionsEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Info_ExtensionsEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Info_ExtensionsEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 74,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Info_ExtensionsEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT SecurityScheme final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme) */ {
 public:
  inline SecurityScheme() : SecurityScheme(nullptr) {}
  ~SecurityScheme() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SecurityScheme(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityScheme& default_instance() {
    return *reinterpret_cast<const SecurityScheme*>(
        &_SecurityScheme_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 24;
  friend void swap(SecurityScheme& a, SecurityScheme& b) { a.Swap(&b); }
  inline void Swap(SecurityScheme* 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(SecurityScheme* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit SecurityScheme(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SecurityScheme(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SecurityScheme& from);
  SecurityScheme(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SecurityScheme&& from) noexcept
      : SecurityScheme(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_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using Type = SecurityScheme_Type;
  static constexpr Type TYPE_INVALID = SecurityScheme_Type_TYPE_INVALID;
  static constexpr Type TYPE_BASIC = SecurityScheme_Type_TYPE_BASIC;
  static constexpr Type TYPE_API_KEY = SecurityScheme_Type_TYPE_API_KEY;
  static constexpr Type TYPE_OAUTH2 = SecurityScheme_Type_TYPE_OAUTH2;
  static inline bool Type_IsValid(int value) {
    return SecurityScheme_Type_IsValid(value);
  }
  static constexpr Type Type_MIN = SecurityScheme_Type_Type_MIN;
  static constexpr Type Type_MAX = SecurityScheme_Type_Type_MAX;
  static constexpr int Type_ARRAYSIZE = SecurityScheme_Type_Type_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Type_descriptor() {
    return SecurityScheme_Type_descriptor();
  }
  template <typename T>
  static inline const ::std::string& Type_Name(T value) {
    return SecurityScheme_Type_Name(value);
  }
  static inline bool Type_Parse(
      ::absl::string_view name, Type* PROTOBUF_NONNULL value) {
    return SecurityScheme_Type_Parse(name, value);
  }
  using In = SecurityScheme_In;
  static constexpr In IN_INVALID = SecurityScheme_In_IN_INVALID;
  static constexpr In IN_QUERY = SecurityScheme_In_IN_QUERY;
  static constexpr In IN_HEADER = SecurityScheme_In_IN_HEADER;
  static inline bool In_IsValid(int value) {
    return SecurityScheme_In_IsValid(value);
  }
  static constexpr In In_MIN = SecurityScheme_In_In_MIN;
  static constexpr In In_MAX = SecurityScheme_In_In_MAX;
  static constexpr int In_ARRAYSIZE = SecurityScheme_In_In_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL In_descriptor() {
    return SecurityScheme_In_descriptor();
  }
  template <typename T>
  static inline const ::std::string& In_Name(T value) {
    return SecurityScheme_In_Name(value);
  }
  static inline bool In_Parse(
      ::absl::string_view name, In* PROTOBUF_NONNULL value) {
    return SecurityScheme_In_Parse(name, value);
  }
  using Flow = SecurityScheme_Flow;
  static constexpr Flow FLOW_INVALID = SecurityScheme_Flow_FLOW_INVALID;
  static constexpr Flow FLOW_IMPLICIT = SecurityScheme_Flow_FLOW_IMPLICIT;
  static constexpr Flow FLOW_PASSWORD = SecurityScheme_Flow_FLOW_PASSWORD;
  static constexpr Flow FLOW_APPLICATION = SecurityScheme_Flow_FLOW_APPLICATION;
  static constexpr Flow FLOW_ACCESS_CODE = SecurityScheme_Flow_FLOW_ACCESS_CODE;
  static inline bool Flow_IsValid(int value) {
    return SecurityScheme_Flow_IsValid(value);
  }
  static constexpr Flow Flow_MIN = SecurityScheme_Flow_Flow_MIN;
  static constexpr Flow Flow_MAX = SecurityScheme_Flow_Flow_MAX;
  static constexpr int Flow_ARRAYSIZE = SecurityScheme_Flow_Flow_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL Flow_descriptor() {
    return SecurityScheme_Flow_descriptor();
  }
  template <typename T>
  static inline const ::std::string& Flow_Name(T value) {
    return SecurityScheme_Flow_Name(value);
  }
  static inline bool Flow_Parse(
      ::absl::string_view name, Flow* PROTOBUF_NONNULL value) {
    return SecurityScheme_Flow_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kExtensionsFieldNumber = 9,
    kDescriptionFieldNumber = 2,
    kNameFieldNumber = 3,
    kAuthorizationUrlFieldNumber = 6,
    kTokenUrlFieldNumber = 7,
    kScopesFieldNumber = 8,
    kTypeFieldNumber = 1,
    kInFieldNumber = 4,
    kFlowFieldNumber = 5,
  };
  // map<string, .google.protobuf.Value> extensions = 9;
  int extensions_size() const;
  private:
  int _internal_extensions_size() const;

  public:
  void clear_extensions() ;
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL mutable_extensions();

  private:
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& _internal_extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL _internal_mutable_extensions();

  public:
  // string description = 2;
  void clear_description() ;
  const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // string name = 3;
  void clear_name() ;
  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 authorization_url = 6;
  void clear_authorization_url() ;
  const ::std::string& authorization_url() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_authorization_url(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_authorization_url();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_authorization_url();
  void set_allocated_authorization_url(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_authorization_url() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_authorization_url(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_authorization_url();

  public:
  // string token_url = 7;
  void clear_token_url() ;
  const ::std::string& token_url() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_token_url(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_token_url();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_token_url();
  void set_allocated_token_url(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_token_url() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_token_url(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_token_url();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.Scopes scopes = 8;
  bool has_scopes() const;
  void clear_scopes() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::Scopes& scopes() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NULLABLE release_scopes();
  ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NONNULL mutable_scopes();
  void set_allocated_scopes(::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_scopes(::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NULLABLE unsafe_arena_release_scopes();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::Scopes& _internal_scopes() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NONNULL _internal_mutable_scopes();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Type type = 1;
  void clear_type() ;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type type() const;
  void set_type(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type value);

  private:
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type _internal_type() const;
  void _internal_set_type(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type value);

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.In in = 4;
  void clear_in() ;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In in() const;
  void set_in(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In value);

  private:
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In _internal_in() const;
  void _internal_set_in(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In value);

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Flow flow = 5;
  void clear_flow() ;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow flow() const;
  void set_flow(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow value);

  private:
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow _internal_flow() const;
  void _internal_set_flow(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 9,
                                   3, 124,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 SecurityScheme& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::MapField<SecurityScheme_ExtensionsEntry_DoNotUse, std::string, ::google::protobuf::Value,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        extensions_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::google::protobuf::internal::ArenaStringPtr authorization_url_;
    ::google::protobuf::internal::ArenaStringPtr token_url_;
    ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NULLABLE scopes_;
    int type_;
    int in_;
    int flow_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityScheme_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT SecurityRequirement final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement) */ {
 public:
  inline SecurityRequirement() : SecurityRequirement(nullptr) {}
  ~SecurityRequirement() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SecurityRequirement(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityRequirement& default_instance() {
    return *reinterpret_cast<const SecurityRequirement*>(
        &_SecurityRequirement_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 27;
  friend void swap(SecurityRequirement& a, SecurityRequirement& b) { a.Swap(&b); }
  inline void Swap(SecurityRequirement* 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(SecurityRequirement* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit SecurityRequirement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SecurityRequirement(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SecurityRequirement& from);
  SecurityRequirement(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SecurityRequirement&& from) noexcept
      : SecurityRequirement(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_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using SecurityRequirementValue = SecurityRequirement_SecurityRequirementValue;

  // accessors -------------------------------------------------------
  enum : int {
    kSecurityRequirementFieldNumber = 1,
  };
  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue> security_requirement = 1;
  int security_requirement_size() const;
  private:
  int _internal_security_requirement_size() const;

  public:
  void clear_security_requirement() ;
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>& security_requirement() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>* PROTOBUF_NONNULL mutable_security_requirement();

  private:
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>& _internal_security_requirement() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>* PROTOBUF_NONNULL _internal_mutable_security_requirement();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   2, 90,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 SecurityRequirement& from_msg);
    ::google::protobuf::internal::MapField<SecurityRequirement_SecurityRequirementEntry_DoNotUse, std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        security_requirement_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityRequirement_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT JSONSchema final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema) */ {
 public:
  inline JSONSchema() : JSONSchema(nullptr) {}
  ~JSONSchema() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR JSONSchema(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const JSONSchema& default_instance() {
    return *reinterpret_cast<const JSONSchema*>(
        &_JSONSchema_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 19;
  friend void swap(JSONSchema& a, JSONSchema& b) { a.Swap(&b); }
  inline void Swap(JSONSchema* 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(JSONSchema* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit JSONSchema(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  JSONSchema(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const JSONSchema& from);
  JSONSchema(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, JSONSchema&& from) noexcept
      : JSONSchema(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_();

  ::google::protobuf::Metadata GetMetadata() const;
  // nested types ----------------------------------------------------
  using FieldConfiguration = JSONSchema_FieldConfiguration;
  using JSONSchemaSimpleTypes = JSONSchema_JSONSchemaSimpleTypes;
  static constexpr JSONSchemaSimpleTypes UNKNOWN = JSONSchema_JSONSchemaSimpleTypes_UNKNOWN;
  static constexpr JSONSchemaSimpleTypes ARRAY = JSONSchema_JSONSchemaSimpleTypes_ARRAY;
  static constexpr JSONSchemaSimpleTypes BOOLEAN = JSONSchema_JSONSchemaSimpleTypes_BOOLEAN;
  static constexpr JSONSchemaSimpleTypes INTEGER = JSONSchema_JSONSchemaSimpleTypes_INTEGER;
  static constexpr JSONSchemaSimpleTypes NULL_ = JSONSchema_JSONSchemaSimpleTypes_NULL_;
  static constexpr JSONSchemaSimpleTypes NUMBER = JSONSchema_JSONSchemaSimpleTypes_NUMBER;
  static constexpr JSONSchemaSimpleTypes OBJECT = JSONSchema_JSONSchemaSimpleTypes_OBJECT;
  static constexpr JSONSchemaSimpleTypes STRING = JSONSchema_JSONSchemaSimpleTypes_STRING;
  static inline bool JSONSchemaSimpleTypes_IsValid(int value) {
    return JSONSchema_JSONSchemaSimpleTypes_IsValid(value);
  }
  static constexpr JSONSchemaSimpleTypes JSONSchemaSimpleTypes_MIN = JSONSchema_JSONSchemaSimpleTypes_JSONSchemaSimpleTypes_MIN;
  static constexpr JSONSchemaSimpleTypes JSONSchemaSimpleTypes_MAX = JSONSchema_JSONSchemaSimpleTypes_JSONSchemaSimpleTypes_MAX;
  static constexpr int JSONSchemaSimpleTypes_ARRAYSIZE = JSONSchema_JSONSchemaSimpleTypes_JSONSchemaSimpleTypes_ARRAYSIZE;
  static inline const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL JSONSchemaSimpleTypes_descriptor() {
    return JSONSchema_JSONSchemaSimpleTypes_descriptor();
  }
  template <typename T>
  static inline const ::std::string& JSONSchemaSimpleTypes_Name(T value) {
    return JSONSchema_JSONSchemaSimpleTypes_Name(value);
  }
  static inline bool JSONSchemaSimpleTypes_Parse(
      ::absl::string_view name, JSONSchemaSimpleTypes* PROTOBUF_NONNULL value) {
    return JSONSchema_JSONSchemaSimpleTypes_Parse(name, value);
  }

  // accessors -------------------------------------------------------
  enum : int {
    kRequiredFieldNumber = 26,
    kArrayFieldNumber = 34,
    kTypeFieldNumber = 35,
    kEnumFieldNumber = 46,
    kExtensionsFieldNumber = 48,
    kRefFieldNumber = 3,
    kTitleFieldNumber = 5,
    kDescriptionFieldNumber = 6,
    kDefaultFieldNumber = 7,
    kExampleFieldNumber = 9,
    kPatternFieldNumber = 17,
    kFormatFieldNumber = 36,
    kFieldConfigurationFieldNumber = 1001,
    kMultipleOfFieldNumber = 10,
    kMaximumFieldNumber = 11,
    kMinimumFieldNumber = 13,
    kMaxLengthFieldNumber = 15,
    kMinLengthFieldNumber = 16,
    kMaxItemsFieldNumber = 20,
    kMinItemsFieldNumber = 21,
    kMaxPropertiesFieldNumber = 24,
    kMinPropertiesFieldNumber = 25,
    kReadOnlyFieldNumber = 8,
    kExclusiveMaximumFieldNumber = 12,
    kExclusiveMinimumFieldNumber = 14,
    kUniqueItemsFieldNumber = 22,
  };
  // repeated string required = 26;
  int required_size() const;
  private:
  int _internal_required_size() const;

  public:
  void clear_required() ;
  const ::std::string& required(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_required(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_required(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_required();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_required(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& required() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_required();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_required() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_required();

  public:
  // repeated string array = 34;
  int array_size() const;
  private:
  int _internal_array_size() const;

  public:
  void clear_array() ;
  const ::std::string& array(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_array(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_array(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_array();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_array(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& array() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_array();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_array() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_array();

  public:
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypes type = 35;
  int type_size() const;
  private:
  int _internal_type_size() const;

  public:
  void clear_type() ;
  public:
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes type(int index) const;
  void set_type(int index, ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes value);
  void add_type(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes value);
  const ::google::protobuf::RepeatedField<int>& type() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_type();

  private:
  const ::google::protobuf::RepeatedField<int>& _internal_type() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_type();

  public:
  // repeated string enum = 46;
  int enum__size() const;
  private:
  int _internal_enum__size() const;

  public:
  void clear_enum_() ;
  const ::std::string& enum_(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_enum_(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_enum_(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_enum_();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_enum_(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& enum_() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_enum_();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_enum_() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_enum_();

  public:
  // map<string, .google.protobuf.Value> extensions = 48;
  int extensions_size() const;
  private:
  int _internal_extensions_size() const;

  public:
  void clear_extensions() ;
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL mutable_extensions();

  private:
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& _internal_extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL _internal_mutable_extensions();

  public:
  // string ref = 3;
  void clear_ref() ;
  const ::std::string& ref() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_ref(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_ref();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_ref();
  void set_allocated_ref(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_ref() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_ref(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_ref();

  public:
  // string title = 5;
  void clear_title() ;
  const ::std::string& title() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_title();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_title();
  void set_allocated_title(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_title() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_title(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_title();

  public:
  // string description = 6;
  void clear_description() ;
  const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // string default = 7;
  void clear_default_() ;
  const ::std::string& default_() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_default_(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_default_();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_default_();
  void set_allocated_default_(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_default_() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_default_(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_default_();

  public:
  // string example = 9;
  void clear_example() ;
  const ::std::string& example() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_example(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_example();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_example();
  void set_allocated_example(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_example() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_example(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_example();

  public:
  // string pattern = 17;
  void clear_pattern() ;
  const ::std::string& pattern() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_pattern(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_pattern();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_pattern();
  void set_allocated_pattern(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_pattern() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_pattern(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_pattern();

  public:
  // string format = 36;
  void clear_format() ;
  const ::std::string& format() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_format(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_format();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_format();
  void set_allocated_format(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_format() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_format(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_format();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration field_configuration = 1001;
  bool has_field_configuration() const;
  void clear_field_configuration() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration& field_configuration() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NULLABLE release_field_configuration();
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NONNULL mutable_field_configuration();
  void set_allocated_field_configuration(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_field_configuration(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NULLABLE unsafe_arena_release_field_configuration();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration& _internal_field_configuration() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NONNULL _internal_mutable_field_configuration();

  public:
  // double multiple_of = 10;
  void clear_multiple_of() ;
  double multiple_of() const;
  void set_multiple_of(double value);

  private:
  double _internal_multiple_of() const;
  void _internal_set_multiple_of(double value);

  public:
  // double maximum = 11;
  void clear_maximum() ;
  double maximum() const;
  void set_maximum(double value);

  private:
  double _internal_maximum() const;
  void _internal_set_maximum(double value);

  public:
  // double minimum = 13;
  void clear_minimum() ;
  double minimum() const;
  void set_minimum(double value);

  private:
  double _internal_minimum() const;
  void _internal_set_minimum(double value);

  public:
  // uint64 max_length = 15;
  void clear_max_length() ;
  ::uint64_t max_length() const;
  void set_max_length(::uint64_t value);

  private:
  ::uint64_t _internal_max_length() const;
  void _internal_set_max_length(::uint64_t value);

  public:
  // uint64 min_length = 16;
  void clear_min_length() ;
  ::uint64_t min_length() const;
  void set_min_length(::uint64_t value);

  private:
  ::uint64_t _internal_min_length() const;
  void _internal_set_min_length(::uint64_t value);

  public:
  // uint64 max_items = 20;
  void clear_max_items() ;
  ::uint64_t max_items() const;
  void set_max_items(::uint64_t value);

  private:
  ::uint64_t _internal_max_items() const;
  void _internal_set_max_items(::uint64_t value);

  public:
  // uint64 min_items = 21;
  void clear_min_items() ;
  ::uint64_t min_items() const;
  void set_min_items(::uint64_t value);

  private:
  ::uint64_t _internal_min_items() const;
  void _internal_set_min_items(::uint64_t value);

  public:
  // uint64 max_properties = 24;
  void clear_max_properties() ;
  ::uint64_t max_properties() const;
  void set_max_properties(::uint64_t value);

  private:
  ::uint64_t _internal_max_properties() const;
  void _internal_set_max_properties(::uint64_t value);

  public:
  // uint64 min_properties = 25;
  void clear_min_properties() ;
  ::uint64_t min_properties() const;
  void set_min_properties(::uint64_t value);

  private:
  ::uint64_t _internal_min_properties() const;
  void _internal_set_min_properties(::uint64_t value);

  public:
  // bool read_only = 8;
  void clear_read_only() ;
  bool read_only() const;
  void set_read_only(bool value);

  private:
  bool _internal_read_only() const;
  void _internal_set_read_only(bool value);

  public:
  // bool exclusive_maximum = 12;
  void clear_exclusive_maximum() ;
  bool exclusive_maximum() const;
  void set_exclusive_maximum(bool value);

  private:
  bool _internal_exclusive_maximum() const;
  void _internal_set_exclusive_maximum(bool value);

  public:
  // bool exclusive_minimum = 14;
  void clear_exclusive_minimum() ;
  bool exclusive_minimum() const;
  void set_exclusive_minimum(bool value);

  private:
  bool _internal_exclusive_minimum() const;
  void _internal_set_exclusive_minimum(bool value);

  public:
  // bool unique_items = 22;
  void clear_unique_items() ;
  bool unique_items() const;
  void set_unique_items(bool value);

  private:
  bool _internal_unique_items() const;
  void _internal_set_unique_items(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<5, 26,
                                   3, 158,
                                   12>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 JSONSchema& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> required_;
    ::google::protobuf::RepeatedPtrField<::std::string> array_;
    ::google::protobuf::RepeatedField<int> type_;
    ::google::protobuf::internal::CachedSize _type_cached_byte_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> enum__;
    ::google::protobuf::internal::MapField<JSONSchema_ExtensionsEntry_DoNotUse, std::string, ::google::protobuf::Value,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        extensions_;
    ::google::protobuf::internal::ArenaStringPtr ref_;
    ::google::protobuf::internal::ArenaStringPtr title_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::google::protobuf::internal::ArenaStringPtr default__;
    ::google::protobuf::internal::ArenaStringPtr example_;
    ::google::protobuf::internal::ArenaStringPtr pattern_;
    ::google::protobuf::internal::ArenaStringPtr format_;
    ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NULLABLE field_configuration_;
    double multiple_of_;
    double maximum_;
    double minimum_;
    ::uint64_t max_length_;
    ::uint64_t min_length_;
    ::uint64_t max_items_;
    ::uint64_t min_items_;
    ::uint64_t max_properties_;
    ::uint64_t min_properties_;
    bool read_only_;
    bool exclusive_maximum_;
    bool exclusive_minimum_;
    bool unique_items_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull JSONSchema_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Info final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.Info) */ {
 public:
  inline Info() : Info(nullptr) {}
  ~Info() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Info(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Info& default_instance() {
    return *reinterpret_cast<const Info*>(
        &_Info_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(Info& a, Info& b) { a.Swap(&b); }
  inline void Swap(Info* 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(Info* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Info(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Info(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Info& from);
  Info(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Info&& from) noexcept
      : Info(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kExtensionsFieldNumber = 7,
    kTitleFieldNumber = 1,
    kDescriptionFieldNumber = 2,
    kTermsOfServiceFieldNumber = 3,
    kVersionFieldNumber = 6,
    kContactFieldNumber = 4,
    kLicenseFieldNumber = 5,
  };
  // map<string, .google.protobuf.Value> extensions = 7;
  int extensions_size() const;
  private:
  int _internal_extensions_size() const;

  public:
  void clear_extensions() ;
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL mutable_extensions();

  private:
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& _internal_extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL _internal_mutable_extensions();

  public:
  // string title = 1;
  void clear_title() ;
  const ::std::string& title() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_title();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_title();
  void set_allocated_title(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_title() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_title(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_title();

  public:
  // string description = 2;
  void clear_description() ;
  const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // string terms_of_service = 3;
  void clear_terms_of_service() ;
  const ::std::string& terms_of_service() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_terms_of_service(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_terms_of_service();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_terms_of_service();
  void set_allocated_terms_of_service(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_terms_of_service() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_terms_of_service(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_terms_of_service();

  public:
  // string version = 6;
  void clear_version() ;
  const ::std::string& version() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_version(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_version();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_version();
  void set_allocated_version(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_version() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_version(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_version();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.Contact contact = 4;
  bool has_contact() const;
  void clear_contact() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::Contact& contact() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NULLABLE release_contact();
  ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NONNULL mutable_contact();
  void set_allocated_contact(::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_contact(::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NULLABLE unsafe_arena_release_contact();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::Contact& _internal_contact() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NONNULL _internal_mutable_contact();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.License license = 5;
  bool has_license() const;
  void clear_license() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::License& license() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NULLABLE release_license();
  ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NONNULL mutable_license();
  void set_allocated_license(::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_license(::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NULLABLE unsafe_arena_release_license();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::License& _internal_license() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NONNULL _internal_mutable_license();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Info)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 7,
                                   4, 104,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Info& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::MapField<Info_ExtensionsEntry_DoNotUse, std::string, ::google::protobuf::Value,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        extensions_;
    ::google::protobuf::internal::ArenaStringPtr title_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::google::protobuf::internal::ArenaStringPtr terms_of_service_;
    ::google::protobuf::internal::ArenaStringPtr version_;
    ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NULLABLE contact_;
    ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NULLABLE license_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Info_class_data_;
// -------------------------------------------------------------------

class SecurityDefinitions_SecurityEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  SecurityDefinitions_SecurityEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SecurityDefinitions_SecurityEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit SecurityDefinitions_SecurityEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_SecurityDefinitions_SecurityEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 87,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityDefinitions_SecurityEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Schema final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.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 PROTOBUF_CONSTEXPR Schema(::google::protobuf::internal::ConstantInitialized);

  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;
  }

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Schema& default_instance() {
    return *reinterpret_cast<const Schema*>(
        &_Schema_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 16;
  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 ----------------------------------------------

  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:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  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 "grpc.gateway.protoc_gen_openapiv2.options.Schema"; }

 protected:
  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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDiscriminatorFieldNumber = 2,
    kExampleFieldNumber = 6,
    kJsonSchemaFieldNumber = 1,
    kExternalDocsFieldNumber = 5,
    kReadOnlyFieldNumber = 3,
  };
  // string discriminator = 2;
  void clear_discriminator() ;
  const ::std::string& discriminator() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_discriminator(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_discriminator();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_discriminator();
  void set_allocated_discriminator(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_discriminator() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_discriminator(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_discriminator();

  public:
  // string example = 6;
  void clear_example() ;
  const ::std::string& example() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_example(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_example();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_example();
  void set_allocated_example(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_example() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_example(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_example();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema json_schema = 1;
  bool has_json_schema() const;
  void clear_json_schema() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema& json_schema() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NULLABLE release_json_schema();
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NONNULL mutable_json_schema();
  void set_allocated_json_schema(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_json_schema(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NULLABLE unsafe_arena_release_json_schema();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema& _internal_json_schema() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NONNULL _internal_mutable_json_schema();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 5;
  bool has_external_docs() const;
  void clear_external_docs() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& external_docs() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE release_external_docs();
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL mutable_external_docs();
  void set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE unsafe_arena_release_external_docs();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& _internal_external_docs() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL _internal_mutable_external_docs();

  public:
  // bool read_only = 3;
  void clear_read_only() ;
  bool read_only() const;
  void set_read_only(bool value);

  private:
  bool _internal_read_only() const;
  void _internal_set_read_only(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Schema)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   2, 77,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 discriminator_;
    ::google::protobuf::internal::ArenaStringPtr example_;
    ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NULLABLE json_schema_;
    ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE external_docs_;
    bool read_only_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Schema_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT SecurityDefinitions final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions) */ {
 public:
  inline SecurityDefinitions() : SecurityDefinitions(nullptr) {}
  ~SecurityDefinitions() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SecurityDefinitions(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const SecurityDefinitions& default_instance() {
    return *reinterpret_cast<const SecurityDefinitions*>(
        &_SecurityDefinitions_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 22;
  friend void swap(SecurityDefinitions& a, SecurityDefinitions& b) { a.Swap(&b); }
  inline void Swap(SecurityDefinitions* 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(SecurityDefinitions* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit SecurityDefinitions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SecurityDefinitions(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SecurityDefinitions& from);
  SecurityDefinitions(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SecurityDefinitions&& from) noexcept
      : SecurityDefinitions(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSecurityFieldNumber = 1,
  };
  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme> security = 1;
  int security_size() const;
  private:
  int _internal_security_size() const;

  public:
  void clear_security() ;
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>& security() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>* PROTOBUF_NONNULL mutable_security();

  private:
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>& _internal_security() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>* PROTOBUF_NONNULL _internal_mutable_security();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   2, 78,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 SecurityDefinitions& from_msg);
    ::google::protobuf::internal::MapField<SecurityDefinitions_SecurityEntry_DoNotUse, std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        security_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull SecurityDefinitions_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Response final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.Response) */ {
 public:
  inline Response() : Response(nullptr) {}
  ~Response() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Response(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Response& default_instance() {
    return *reinterpret_cast<const Response*>(
        &_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 10;
  friend void swap(Response& a, Response& b) { a.Swap(&b); }
  inline void Swap(Response* 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(Response* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Response(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Response(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Response& from);
  Response(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Response&& from) noexcept
      : Response(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kHeadersFieldNumber = 3,
    kExamplesFieldNumber = 4,
    kExtensionsFieldNumber = 5,
    kDescriptionFieldNumber = 1,
    kSchemaFieldNumber = 2,
  };
  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Header> headers = 3;
  int headers_size() const;
  private:
  int _internal_headers_size() const;

  public:
  void clear_headers() ;
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>& headers() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>* PROTOBUF_NONNULL mutable_headers();

  private:
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>& _internal_headers() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>* PROTOBUF_NONNULL _internal_mutable_headers();

  public:
  // map<string, string> examples = 4;
  int examples_size() const;
  private:
  int _internal_examples_size() const;

  public:
  void clear_examples() ;
  const ::google::protobuf::Map<std::string, std::string>& examples() const;
  ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL mutable_examples();

  private:
  const ::google::protobuf::Map<std::string, std::string>& _internal_examples() const;
  ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL _internal_mutable_examples();

  public:
  // map<string, .google.protobuf.Value> extensions = 5;
  int extensions_size() const;
  private:
  int _internal_extensions_size() const;

  public:
  void clear_extensions() ;
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL mutable_extensions();

  private:
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& _internal_extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL _internal_mutable_extensions();

  public:
  // string description = 1;
  void clear_description() ;
  const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.Schema schema = 2;
  bool has_schema() const;
  void clear_schema() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::Schema& schema() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NULLABLE release_schema();
  ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NONNULL mutable_schema();
  void set_allocated_schema(::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_schema(::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NULLABLE unsafe_arena_release_schema();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::Schema& _internal_schema() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NONNULL _internal_mutable_schema();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Response)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 5,
                                   6, 95,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Response& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::MapField<Response_HeadersEntry_DoNotUse, std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        headers_;
    ::google::protobuf::internal::MapField<Response_ExamplesEntry_DoNotUse, std::string, std::string,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING>
        examples_;
    ::google::protobuf::internal::MapField<Response_ExtensionsEntry_DoNotUse, std::string, ::google::protobuf::Value,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        extensions_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NULLABLE schema_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Response_class_data_;
// -------------------------------------------------------------------

class Swagger_ResponsesEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  Swagger_ResponsesEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Swagger_ResponsesEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Swagger_ResponsesEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Swagger_ResponsesEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 76,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Swagger_ResponsesEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class Operation_ResponsesEntry_DoNotUse final
    : public ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                             ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                             ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE> {
 public:
  using SuperType =
      ::google::protobuf::internal::MapEntry<std::string, ::google::protobuf::Message,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>;
  Operation_ResponsesEntry_DoNotUse();
  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Operation_ResponsesEntry_DoNotUse(::google::protobuf::internal::ConstantInitialized);
  explicit Operation_ResponsesEntry_DoNotUse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr const void* PROTOBUF_NONNULL internal_default_instance() {
    return &_Operation_ResponsesEntry_DoNotUse_default_instance_;
  }


  static constexpr auto InternalGenerateClassData_();

 private:
  friend class ::google::protobuf::MessageLite;
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;

  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 78,
                                   2>
      _table_;

  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_();
};
AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Operation_ResponsesEntry_DoNotUse_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Swagger final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.Swagger) */ {
 public:
  inline Swagger() : Swagger(nullptr) {}
  ~Swagger() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Swagger(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Swagger& default_instance() {
    return *reinterpret_cast<const Swagger*>(
        &_Swagger_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(Swagger& a, Swagger& b) { a.Swap(&b); }
  inline void Swap(Swagger* 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(Swagger* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Swagger(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Swagger(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Swagger& from);
  Swagger(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Swagger&& from) noexcept
      : Swagger(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSchemesFieldNumber = 5,
    kConsumesFieldNumber = 6,
    kProducesFieldNumber = 7,
    kResponsesFieldNumber = 10,
    kSecurityFieldNumber = 12,
    kExtensionsFieldNumber = 15,
    kSwaggerFieldNumber = 1,
    kHostFieldNumber = 3,
    kBasePathFieldNumber = 4,
    kInfoFieldNumber = 2,
    kSecurityDefinitionsFieldNumber = 11,
    kExternalDocsFieldNumber = 14,
  };
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 5;
  int schemes_size() const;
  private:
  int _internal_schemes_size() const;

  public:
  void clear_schemes() ;
  public:
  ::grpc::gateway::protoc_gen_openapiv2::options::Scheme schemes(int index) const;
  void set_schemes(int index, ::grpc::gateway::protoc_gen_openapiv2::options::Scheme value);
  void add_schemes(::grpc::gateway::protoc_gen_openapiv2::options::Scheme value);
  const ::google::protobuf::RepeatedField<int>& schemes() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_schemes();

  private:
  const ::google::protobuf::RepeatedField<int>& _internal_schemes() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_schemes();

  public:
  // repeated string consumes = 6;
  int consumes_size() const;
  private:
  int _internal_consumes_size() const;

  public:
  void clear_consumes() ;
  const ::std::string& consumes(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_consumes(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_consumes(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_consumes();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_consumes(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& consumes() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_consumes();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_consumes() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_consumes();

  public:
  // repeated string produces = 7;
  int produces_size() const;
  private:
  int _internal_produces_size() const;

  public:
  void clear_produces() ;
  const ::std::string& produces(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_produces(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_produces(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_produces();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_produces(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& produces() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_produces();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_produces() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_produces();

  public:
  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 10;
  int responses_size() const;
  private:
  int _internal_responses_size() const;

  public:
  void clear_responses() ;
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>& responses() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>* PROTOBUF_NONNULL mutable_responses();

  private:
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>& _internal_responses() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>* PROTOBUF_NONNULL _internal_mutable_responses();

  public:
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
  int security_size() const;
  private:
  int _internal_security_size() const;

  public:
  void clear_security() ;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* PROTOBUF_NONNULL mutable_security(int index);
  ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>* PROTOBUF_NONNULL mutable_security();

  private:
  const ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>& _internal_security() const;
  ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>* PROTOBUF_NONNULL _internal_mutable_security();
  public:
  const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement& security(int index) const;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* PROTOBUF_NONNULL add_security();
  const ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>& security() const;
  // map<string, .google.protobuf.Value> extensions = 15;
  int extensions_size() const;
  private:
  int _internal_extensions_size() const;

  public:
  void clear_extensions() ;
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL mutable_extensions();

  private:
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& _internal_extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL _internal_mutable_extensions();

  public:
  // string swagger = 1;
  void clear_swagger() ;
  const ::std::string& swagger() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_swagger(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_swagger();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_swagger();
  void set_allocated_swagger(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_swagger() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_swagger(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_swagger();

  public:
  // string host = 3;
  void clear_host() ;
  const ::std::string& host() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_host(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_host();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_host();
  void set_allocated_host(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_host() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_host(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_host();

  public:
  // string base_path = 4;
  void clear_base_path() ;
  const ::std::string& base_path() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_base_path(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_base_path();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_base_path();
  void set_allocated_base_path(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_base_path() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_base_path(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_base_path();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.Info info = 2;
  bool has_info() const;
  void clear_info() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::Info& info() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NULLABLE release_info();
  ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NONNULL mutable_info();
  void set_allocated_info(::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_info(::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NULLABLE unsafe_arena_release_info();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::Info& _internal_info() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NONNULL _internal_mutable_info();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions security_definitions = 11;
  bool has_security_definitions() const;
  void clear_security_definitions() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions& security_definitions() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NULLABLE release_security_definitions();
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NONNULL mutable_security_definitions();
  void set_allocated_security_definitions(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_security_definitions(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NULLABLE unsafe_arena_release_security_definitions();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions& _internal_security_definitions() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NONNULL _internal_mutable_security_definitions();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 14;
  bool has_external_docs() const;
  void clear_external_docs() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& external_docs() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE release_external_docs();
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL mutable_external_docs();
  void set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE unsafe_arena_release_external_docs();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& _internal_external_docs() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL _internal_mutable_external_docs();

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Swagger)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<4, 12,
                                   8, 121,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Swagger& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<int> schemes_;
    ::google::protobuf::internal::CachedSize _schemes_cached_byte_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> consumes_;
    ::google::protobuf::RepeatedPtrField<::std::string> produces_;
    ::google::protobuf::internal::MapField<Swagger_ResponsesEntry_DoNotUse, std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        responses_;
    ::google::protobuf::RepeatedPtrField< ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement > security_;
    ::google::protobuf::internal::MapField<Swagger_ExtensionsEntry_DoNotUse, std::string, ::google::protobuf::Value,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        extensions_;
    ::google::protobuf::internal::ArenaStringPtr swagger_;
    ::google::protobuf::internal::ArenaStringPtr host_;
    ::google::protobuf::internal::ArenaStringPtr base_path_;
    ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NULLABLE info_;
    ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NULLABLE security_definitions_;
    ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE external_docs_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Swagger_class_data_;
// -------------------------------------------------------------------

class AGONES_EXPORT Operation final : public ::google::protobuf::Message
/* @@protoc_insertion_point(class_definition:grpc.gateway.protoc_gen_openapiv2.options.Operation) */ {
 public:
  inline Operation() : Operation(nullptr) {}
  ~Operation() PROTOBUF_FINAL;

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

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Operation(::google::protobuf::internal::ConstantInitialized);

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

  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);
  }
  inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
  }

  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
    return GetDescriptor();
  }
  static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Operation& default_instance() {
    return *reinterpret_cast<const Operation*>(
        &_Operation_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(Operation& a, Operation& b) { a.Swap(&b); }
  inline void Swap(Operation* 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(Operation* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::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
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

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

 protected:
  explicit Operation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Operation(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Operation& from);
  Operation(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Operation&& from) noexcept
      : Operation(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_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kTagsFieldNumber = 1,
    kConsumesFieldNumber = 6,
    kProducesFieldNumber = 7,
    kResponsesFieldNumber = 9,
    kSchemesFieldNumber = 10,
    kSecurityFieldNumber = 12,
    kExtensionsFieldNumber = 13,
    kSummaryFieldNumber = 2,
    kDescriptionFieldNumber = 3,
    kOperationIdFieldNumber = 5,
    kExternalDocsFieldNumber = 4,
    kDeprecatedFieldNumber = 11,
  };
  // repeated string tags = 1;
  int tags_size() const;
  private:
  int _internal_tags_size() const;

  public:
  void clear_tags() ;
  const ::std::string& tags(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_tags(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_tags(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_tags();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_tags(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& tags() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_tags();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_tags() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_tags();

  public:
  // repeated string consumes = 6;
  int consumes_size() const;
  private:
  int _internal_consumes_size() const;

  public:
  void clear_consumes() ;
  const ::std::string& consumes(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_consumes(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_consumes(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_consumes();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_consumes(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& consumes() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_consumes();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_consumes() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_consumes();

  public:
  // repeated string produces = 7;
  int produces_size() const;
  private:
  int _internal_produces_size() const;

  public:
  void clear_produces() ;
  const ::std::string& produces(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_produces(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_produces(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_produces();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_produces(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& produces() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_produces();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_produces() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_produces();

  public:
  // map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 9;
  int responses_size() const;
  private:
  int _internal_responses_size() const;

  public:
  void clear_responses() ;
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>& responses() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>* PROTOBUF_NONNULL mutable_responses();

  private:
  const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>& _internal_responses() const;
  ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>* PROTOBUF_NONNULL _internal_mutable_responses();

  public:
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 10;
  int schemes_size() const;
  private:
  int _internal_schemes_size() const;

  public:
  void clear_schemes() ;
  public:
  ::grpc::gateway::protoc_gen_openapiv2::options::Scheme schemes(int index) const;
  void set_schemes(int index, ::grpc::gateway::protoc_gen_openapiv2::options::Scheme value);
  void add_schemes(::grpc::gateway::protoc_gen_openapiv2::options::Scheme value);
  const ::google::protobuf::RepeatedField<int>& schemes() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL mutable_schemes();

  private:
  const ::google::protobuf::RepeatedField<int>& _internal_schemes() const;
  ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL _internal_mutable_schemes();

  public:
  // repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
  int security_size() const;
  private:
  int _internal_security_size() const;

  public:
  void clear_security() ;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* PROTOBUF_NONNULL mutable_security(int index);
  ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>* PROTOBUF_NONNULL mutable_security();

  private:
  const ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>& _internal_security() const;
  ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>* PROTOBUF_NONNULL _internal_mutable_security();
  public:
  const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement& security(int index) const;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* PROTOBUF_NONNULL add_security();
  const ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>& security() const;
  // map<string, .google.protobuf.Value> extensions = 13;
  int extensions_size() const;
  private:
  int _internal_extensions_size() const;

  public:
  void clear_extensions() ;
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL mutable_extensions();

  private:
  const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& _internal_extensions() const;
  ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL _internal_mutable_extensions();

  public:
  // string summary = 2;
  void clear_summary() ;
  const ::std::string& summary() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_summary(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_summary();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_summary();
  void set_allocated_summary(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_summary() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_summary(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_summary();

  public:
  // string description = 3;
  void clear_description() ;
  const ::std::string& description() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_description(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_description();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_description();
  void set_allocated_description(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_description() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_description(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_description();

  public:
  // string operation_id = 5;
  void clear_operation_id() ;
  const ::std::string& operation_id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_operation_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_operation_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_operation_id();
  void set_allocated_operation_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_operation_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_operation_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_operation_id();

  public:
  // .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 4;
  bool has_external_docs() const;
  void clear_external_docs() ;
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& external_docs() const;
  [[nodiscard]] ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE release_external_docs();
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL mutable_external_docs();
  void set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value);
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE unsafe_arena_release_external_docs();

  private:
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& _internal_external_docs() const;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL _internal_mutable_external_docs();

  public:
  // bool deprecated = 11;
  void clear_deprecated() ;
  bool deprecated() const;
  void set_deprecated(bool value);

  private:
  bool _internal_deprecated() const;
  void _internal_set_deprecated(bool value);

  public:
  // @@protoc_insertion_point(class_scope:grpc.gateway.protoc_gen_openapiv2.options.Operation)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<4, 12,
                                   6, 137,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::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 Operation& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> tags_;
    ::google::protobuf::RepeatedPtrField<::std::string> consumes_;
    ::google::protobuf::RepeatedPtrField<::std::string> produces_;
    ::google::protobuf::internal::MapField<Operation_ResponsesEntry_DoNotUse, std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        responses_;
    ::google::protobuf::RepeatedField<int> schemes_;
    ::google::protobuf::internal::CachedSize _schemes_cached_byte_size_;
    ::google::protobuf::RepeatedPtrField< ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement > security_;
    ::google::protobuf::internal::MapField<Operation_ExtensionsEntry_DoNotUse, std::string, ::google::protobuf::Value,
                      ::google::protobuf::internal::WireFormatLite::TYPE_STRING,
                      ::google::protobuf::internal::WireFormatLite::TYPE_MESSAGE>
        extensions_;
    ::google::protobuf::internal::ArenaStringPtr summary_;
    ::google::protobuf::internal::ArenaStringPtr description_;
    ::google::protobuf::internal::ArenaStringPtr operation_id_;
    ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE external_docs_;
    bool deprecated_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto;
};

AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Operation_class_data_;

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




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


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

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

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

// Swagger

// string swagger = 1;
inline void Swagger::clear_swagger() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.swagger_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& Swagger::swagger() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.swagger)
  return _internal_swagger();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Swagger::set_swagger(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.swagger_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Swagger.swagger)
}
inline ::std::string* PROTOBUF_NONNULL Swagger::mutable_swagger()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_swagger();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.swagger)
  return _s;
}
inline const ::std::string& Swagger::_internal_swagger() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.swagger_.Get();
}
inline void Swagger::_internal_set_swagger(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.swagger_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Swagger::_internal_mutable_swagger() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.swagger_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Swagger::release_swagger() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Swagger.swagger)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.swagger_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.swagger_.Set("", GetArena());
  }
  return released;
}
inline void Swagger::set_allocated_swagger(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.swagger_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.swagger_.IsDefault()) {
    _impl_.swagger_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.swagger)
}

// .grpc.gateway.protoc_gen_openapiv2.options.Info info = 2;
inline bool Swagger::has_info() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.info_ != nullptr);
  return value;
}
inline void Swagger::clear_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.info_ != nullptr) _impl_.info_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::Info& Swagger::_internal_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::Info* p = _impl_.info_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::Info&>(::grpc::gateway::protoc_gen_openapiv2::options::_Info_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::Info& Swagger::info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.info)
  return _internal_info();
}
inline void Swagger::unsafe_arena_set_allocated_info(
    ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.info_);
  }
  _impl_.info_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Info*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.info)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NULLABLE Swagger::release_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Info* released = _impl_.info_;
  _impl_.info_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NULLABLE Swagger::unsafe_arena_release_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Swagger.info)

  _impl_._has_bits_[0] &= ~0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Info* temp = _impl_.info_;
  _impl_.info_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NONNULL Swagger::_internal_mutable_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.info_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Info>(GetArena());
    _impl_.info_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Info*>(p);
  }
  return _impl_.info_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Info* PROTOBUF_NONNULL Swagger::mutable_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Info* _msg = _internal_mutable_info();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.info)
  return _msg;
}
inline void Swagger::set_allocated_info(::grpc::gateway::protoc_gen_openapiv2::options::Info* 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_.info_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }

  _impl_.info_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Info*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.info)
}

// string host = 3;
inline void Swagger::clear_host() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.host_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& Swagger::host() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.host)
  return _internal_host();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Swagger::set_host(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.host_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Swagger.host)
}
inline ::std::string* PROTOBUF_NONNULL Swagger::mutable_host()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_host();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.host)
  return _s;
}
inline const ::std::string& Swagger::_internal_host() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.host_.Get();
}
inline void Swagger::_internal_set_host(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.host_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Swagger::_internal_mutable_host() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.host_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Swagger::release_host() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Swagger.host)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.host_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.host_.Set("", GetArena());
  }
  return released;
}
inline void Swagger::set_allocated_host(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.host_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.host_.IsDefault()) {
    _impl_.host_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.host)
}

// string base_path = 4;
inline void Swagger::clear_base_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.base_path_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::std::string& Swagger::base_path() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.base_path)
  return _internal_base_path();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Swagger::set_base_path(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.base_path_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Swagger.base_path)
}
inline ::std::string* PROTOBUF_NONNULL Swagger::mutable_base_path()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_base_path();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.base_path)
  return _s;
}
inline const ::std::string& Swagger::_internal_base_path() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.base_path_.Get();
}
inline void Swagger::_internal_set_base_path(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.base_path_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Swagger::_internal_mutable_base_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.base_path_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Swagger::release_base_path() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Swagger.base_path)
  if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* released = _impl_.base_path_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.base_path_.Set("", GetArena());
  }
  return released;
}
inline void Swagger::set_allocated_base_path(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.base_path_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.base_path_.IsDefault()) {
    _impl_.base_path_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.base_path)
}

// repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 5;
inline int Swagger::_internal_schemes_size() const {
  return _internal_schemes().size();
}
inline int Swagger::schemes_size() const {
  return _internal_schemes_size();
}
inline void Swagger::clear_schemes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.schemes_.Clear();
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Scheme Swagger::schemes(int index) const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.schemes)
  return static_cast<::grpc::gateway::protoc_gen_openapiv2::options::Scheme>(_internal_schemes().Get(index));
}
inline void Swagger::set_schemes(int index, ::grpc::gateway::protoc_gen_openapiv2::options::Scheme value) {
  _internal_mutable_schemes()->Set(index, value);
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Swagger.schemes)
}
inline void Swagger::add_schemes(::grpc::gateway::protoc_gen_openapiv2::options::Scheme value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_schemes()->Add(value);
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Swagger.schemes)
}
inline const ::google::protobuf::RepeatedField<int>& Swagger::schemes() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Swagger.schemes)
  return _internal_schemes();
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL Swagger::mutable_schemes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Swagger.schemes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_schemes();
}
inline const ::google::protobuf::RepeatedField<int>& Swagger::_internal_schemes()
    const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.schemes_;
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
Swagger::_internal_mutable_schemes() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.schemes_;
}

// repeated string consumes = 6;
inline int Swagger::_internal_consumes_size() const {
  return _internal_consumes().size();
}
inline int Swagger::consumes_size() const {
  return _internal_consumes_size();
}
inline void Swagger::clear_consumes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.consumes_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL Swagger::add_consumes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_consumes()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.consumes)
  return _s;
}
inline const ::std::string& Swagger::consumes(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.consumes)
  return _internal_consumes().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL Swagger::mutable_consumes(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.consumes)
  return _internal_mutable_consumes()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void Swagger::set_consumes(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_consumes()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Swagger.consumes)
}
template <typename Arg_, typename... Args_>
inline void Swagger::add_consumes(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_consumes(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Swagger.consumes)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& Swagger::consumes()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Swagger.consumes)
  return _internal_consumes();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Swagger::mutable_consumes() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Swagger.consumes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_consumes();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
Swagger::_internal_consumes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.consumes_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Swagger::_internal_mutable_consumes() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.consumes_;
}

// repeated string produces = 7;
inline int Swagger::_internal_produces_size() const {
  return _internal_produces().size();
}
inline int Swagger::produces_size() const {
  return _internal_produces_size();
}
inline void Swagger::clear_produces() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.produces_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL Swagger::add_produces()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_produces()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.produces)
  return _s;
}
inline const ::std::string& Swagger::produces(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.produces)
  return _internal_produces().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL Swagger::mutable_produces(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.produces)
  return _internal_mutable_produces()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void Swagger::set_produces(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_produces()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Swagger.produces)
}
template <typename Arg_, typename... Args_>
inline void Swagger::add_produces(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_produces(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Swagger.produces)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& Swagger::produces()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Swagger.produces)
  return _internal_produces();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Swagger::mutable_produces() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Swagger.produces)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_produces();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
Swagger::_internal_produces() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.produces_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Swagger::_internal_mutable_produces() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.produces_;
}

// map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 10;
inline int Swagger::_internal_responses_size() const {
  return _internal_responses().size();
}
inline int Swagger::responses_size() const {
  return _internal_responses_size();
}
inline void Swagger::clear_responses() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.responses_.Clear();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>& Swagger::_internal_responses() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.responses_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>& Swagger::responses() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Swagger.responses)
  return _internal_responses();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>* PROTOBUF_NONNULL Swagger::_internal_mutable_responses() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.responses_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>* PROTOBUF_NONNULL Swagger::mutable_responses()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Swagger.responses)
  return _internal_mutable_responses();
}

// .grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions security_definitions = 11;
inline bool Swagger::has_security_definitions() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.security_definitions_ != nullptr);
  return value;
}
inline void Swagger::clear_security_definitions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.security_definitions_ != nullptr) _impl_.security_definitions_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions& Swagger::_internal_security_definitions() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* p = _impl_.security_definitions_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions&>(::grpc::gateway::protoc_gen_openapiv2::options::_SecurityDefinitions_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions& Swagger::security_definitions() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security_definitions)
  return _internal_security_definitions();
}
inline void Swagger::unsafe_arena_set_allocated_security_definitions(
    ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.security_definitions_);
  }
  _impl_.security_definitions_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security_definitions)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NULLABLE Swagger::release_security_definitions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* released = _impl_.security_definitions_;
  _impl_.security_definitions_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NULLABLE Swagger::unsafe_arena_release_security_definitions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security_definitions)

  _impl_._has_bits_[0] &= ~0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* temp = _impl_.security_definitions_;
  _impl_.security_definitions_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NONNULL Swagger::_internal_mutable_security_definitions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.security_definitions_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions>(GetArena());
    _impl_.security_definitions_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions*>(p);
  }
  return _impl_.security_definitions_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* PROTOBUF_NONNULL Swagger::mutable_security_definitions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* _msg = _internal_mutable_security_definitions();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security_definitions)
  return _msg;
}
inline void Swagger::set_allocated_security_definitions(::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions* 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_.security_definitions_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }

  _impl_.security_definitions_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::SecurityDefinitions*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security_definitions)
}

// repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
inline int Swagger::_internal_security_size() const {
  return _internal_security().size();
}
inline int Swagger::security_size() const {
  return _internal_security_size();
}
inline void Swagger::clear_security() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.security_.Clear();
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* PROTOBUF_NONNULL Swagger::mutable_security(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security)
  return _internal_mutable_security()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>* PROTOBUF_NONNULL Swagger::mutable_security()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_security();
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement& Swagger::security(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security)
  return _internal_security().Get(index);
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* PROTOBUF_NONNULL Swagger::add_security()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* _add = _internal_mutable_security()->Add();
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>& Swagger::security() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Swagger.security)
  return _internal_security();
}
inline const ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>&
Swagger::_internal_security() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.security_;
}
inline ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>* PROTOBUF_NONNULL
Swagger::_internal_mutable_security() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.security_;
}

// .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 14;
inline bool Swagger::has_external_docs() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.external_docs_ != nullptr);
  return value;
}
inline void Swagger::clear_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.external_docs_ != nullptr) _impl_.external_docs_->Clear();
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& Swagger::_internal_external_docs() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* p = _impl_.external_docs_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation&>(::grpc::gateway::protoc_gen_openapiv2::options::_ExternalDocumentation_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& Swagger::external_docs() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Swagger.external_docs)
  return _internal_external_docs();
}
inline void Swagger::unsafe_arena_set_allocated_external_docs(
    ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.external_docs_);
  }
  _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.external_docs)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE Swagger::release_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000020u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* released = _impl_.external_docs_;
  _impl_.external_docs_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE Swagger::unsafe_arena_release_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Swagger.external_docs)

  _impl_._has_bits_[0] &= ~0x00000020u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* temp = _impl_.external_docs_;
  _impl_.external_docs_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL Swagger::_internal_mutable_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.external_docs_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(GetArena());
    _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(p);
  }
  return _impl_.external_docs_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL Swagger::mutable_external_docs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000020u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* _msg = _internal_mutable_external_docs();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Swagger.external_docs)
  return _msg;
}
inline void Swagger::set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* 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_.external_docs_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }

  _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Swagger.external_docs)
}

// map<string, .google.protobuf.Value> extensions = 15;
inline int Swagger::_internal_extensions_size() const {
  return _internal_extensions().size();
}
inline int Swagger::extensions_size() const {
  return _internal_extensions_size();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& Swagger::_internal_extensions() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.extensions_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& Swagger::extensions() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Swagger.extensions)
  return _internal_extensions();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Swagger::_internal_mutable_extensions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.extensions_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Swagger::mutable_extensions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Swagger.extensions)
  return _internal_mutable_extensions();
}

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

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

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

// Operation

// repeated string tags = 1;
inline int Operation::_internal_tags_size() const {
  return _internal_tags().size();
}
inline int Operation::tags_size() const {
  return _internal_tags_size();
}
inline void Operation::clear_tags() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.tags_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL Operation::add_tags()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_tags()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.tags)
  return _s;
}
inline const ::std::string& Operation::tags(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.tags)
  return _internal_tags().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL Operation::mutable_tags(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.tags)
  return _internal_mutable_tags()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void Operation::set_tags(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_tags()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Operation.tags)
}
template <typename Arg_, typename... Args_>
inline void Operation::add_tags(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_tags(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Operation.tags)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& Operation::tags()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.tags)
  return _internal_tags();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Operation::mutable_tags() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.tags)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_tags();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
Operation::_internal_tags() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.tags_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Operation::_internal_mutable_tags() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.tags_;
}

// string summary = 2;
inline void Operation::clear_summary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.summary_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& Operation::summary() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.summary)
  return _internal_summary();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Operation::set_summary(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.summary_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Operation.summary)
}
inline ::std::string* PROTOBUF_NONNULL Operation::mutable_summary()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_summary();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.summary)
  return _s;
}
inline const ::std::string& Operation::_internal_summary() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.summary_.Get();
}
inline void Operation::_internal_set_summary(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.summary_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Operation::_internal_mutable_summary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.summary_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Operation::release_summary() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Operation.summary)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.summary_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.summary_.Set("", GetArena());
  }
  return released;
}
inline void Operation::set_allocated_summary(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.summary_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.summary_.IsDefault()) {
    _impl_.summary_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Operation.summary)
}

// string description = 3;
inline void Operation::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& Operation::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Operation::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Operation.description)
}
inline ::std::string* PROTOBUF_NONNULL Operation::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.description)
  return _s;
}
inline const ::std::string& Operation::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void Operation::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Operation::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Operation::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Operation.description)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void Operation::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Operation.description)
}

// .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 4;
inline bool Operation::has_external_docs() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.external_docs_ != nullptr);
  return value;
}
inline void Operation::clear_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.external_docs_ != nullptr) _impl_.external_docs_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& Operation::_internal_external_docs() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* p = _impl_.external_docs_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation&>(::grpc::gateway::protoc_gen_openapiv2::options::_ExternalDocumentation_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& Operation::external_docs() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.external_docs)
  return _internal_external_docs();
}
inline void Operation::unsafe_arena_set_allocated_external_docs(
    ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.external_docs_);
  }
  _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Operation.external_docs)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE Operation::release_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* released = _impl_.external_docs_;
  _impl_.external_docs_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE Operation::unsafe_arena_release_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Operation.external_docs)

  _impl_._has_bits_[0] &= ~0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* temp = _impl_.external_docs_;
  _impl_.external_docs_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL Operation::_internal_mutable_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.external_docs_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(GetArena());
    _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(p);
  }
  return _impl_.external_docs_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL Operation::mutable_external_docs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* _msg = _internal_mutable_external_docs();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.external_docs)
  return _msg;
}
inline void Operation::set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* 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_.external_docs_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }

  _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Operation.external_docs)
}

// string operation_id = 5;
inline void Operation::clear_operation_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.operation_id_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::std::string& Operation::operation_id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.operation_id)
  return _internal_operation_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Operation::set_operation_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.operation_id_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Operation.operation_id)
}
inline ::std::string* PROTOBUF_NONNULL Operation::mutable_operation_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_operation_id();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.operation_id)
  return _s;
}
inline const ::std::string& Operation::_internal_operation_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.operation_id_.Get();
}
inline void Operation::_internal_set_operation_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.operation_id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Operation::_internal_mutable_operation_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.operation_id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Operation::release_operation_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Operation.operation_id)
  if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* released = _impl_.operation_id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.operation_id_.Set("", GetArena());
  }
  return released;
}
inline void Operation::set_allocated_operation_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.operation_id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.operation_id_.IsDefault()) {
    _impl_.operation_id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Operation.operation_id)
}

// repeated string consumes = 6;
inline int Operation::_internal_consumes_size() const {
  return _internal_consumes().size();
}
inline int Operation::consumes_size() const {
  return _internal_consumes_size();
}
inline void Operation::clear_consumes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.consumes_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL Operation::add_consumes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_consumes()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.consumes)
  return _s;
}
inline const ::std::string& Operation::consumes(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.consumes)
  return _internal_consumes().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL Operation::mutable_consumes(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.consumes)
  return _internal_mutable_consumes()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void Operation::set_consumes(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_consumes()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Operation.consumes)
}
template <typename Arg_, typename... Args_>
inline void Operation::add_consumes(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_consumes(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Operation.consumes)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& Operation::consumes()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.consumes)
  return _internal_consumes();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Operation::mutable_consumes() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.consumes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_consumes();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
Operation::_internal_consumes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.consumes_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Operation::_internal_mutable_consumes() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.consumes_;
}

// repeated string produces = 7;
inline int Operation::_internal_produces_size() const {
  return _internal_produces().size();
}
inline int Operation::produces_size() const {
  return _internal_produces_size();
}
inline void Operation::clear_produces() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.produces_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL Operation::add_produces()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_produces()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.produces)
  return _s;
}
inline const ::std::string& Operation::produces(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.produces)
  return _internal_produces().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL Operation::mutable_produces(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.produces)
  return _internal_mutable_produces()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void Operation::set_produces(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_produces()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Operation.produces)
}
template <typename Arg_, typename... Args_>
inline void Operation::add_produces(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_produces(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Operation.produces)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& Operation::produces()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.produces)
  return _internal_produces();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Operation::mutable_produces() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.produces)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_produces();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
Operation::_internal_produces() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.produces_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
Operation::_internal_mutable_produces() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.produces_;
}

// map<string, .grpc.gateway.protoc_gen_openapiv2.options.Response> responses = 9;
inline int Operation::_internal_responses_size() const {
  return _internal_responses().size();
}
inline int Operation::responses_size() const {
  return _internal_responses_size();
}
inline void Operation::clear_responses() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.responses_.Clear();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>& Operation::_internal_responses() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.responses_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>& Operation::responses() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Operation.responses)
  return _internal_responses();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>* PROTOBUF_NONNULL Operation::_internal_mutable_responses() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.responses_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Response>* PROTOBUF_NONNULL Operation::mutable_responses()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Operation.responses)
  return _internal_mutable_responses();
}

// repeated .grpc.gateway.protoc_gen_openapiv2.options.Scheme schemes = 10;
inline int Operation::_internal_schemes_size() const {
  return _internal_schemes().size();
}
inline int Operation::schemes_size() const {
  return _internal_schemes_size();
}
inline void Operation::clear_schemes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.schemes_.Clear();
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Scheme Operation::schemes(int index) const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.schemes)
  return static_cast<::grpc::gateway::protoc_gen_openapiv2::options::Scheme>(_internal_schemes().Get(index));
}
inline void Operation::set_schemes(int index, ::grpc::gateway::protoc_gen_openapiv2::options::Scheme value) {
  _internal_mutable_schemes()->Set(index, value);
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Operation.schemes)
}
inline void Operation::add_schemes(::grpc::gateway::protoc_gen_openapiv2::options::Scheme value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_schemes()->Add(value);
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Operation.schemes)
}
inline const ::google::protobuf::RepeatedField<int>& Operation::schemes() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.schemes)
  return _internal_schemes();
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL Operation::mutable_schemes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.schemes)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_schemes();
}
inline const ::google::protobuf::RepeatedField<int>& Operation::_internal_schemes()
    const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.schemes_;
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
Operation::_internal_mutable_schemes() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.schemes_;
}

// bool deprecated = 11;
inline void Operation::clear_deprecated() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.deprecated_ = false;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline bool Operation::deprecated() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.deprecated)
  return _internal_deprecated();
}
inline void Operation::set_deprecated(bool value) {
  _internal_set_deprecated(value);
  _impl_._has_bits_[0] |= 0x00000010u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Operation.deprecated)
}
inline bool Operation::_internal_deprecated() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.deprecated_;
}
inline void Operation::_internal_set_deprecated(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.deprecated_ = value;
}

// repeated .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement security = 12;
inline int Operation::_internal_security_size() const {
  return _internal_security().size();
}
inline int Operation::security_size() const {
  return _internal_security_size();
}
inline void Operation::clear_security() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.security_.Clear();
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* PROTOBUF_NONNULL Operation::mutable_security(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Operation.security)
  return _internal_mutable_security()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>* PROTOBUF_NONNULL Operation::mutable_security()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.security)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_security();
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement& Operation::security(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Operation.security)
  return _internal_security().Get(index);
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* PROTOBUF_NONNULL Operation::add_security()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement* _add = _internal_mutable_security()->Add();
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.Operation.security)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>& Operation::security() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.Operation.security)
  return _internal_security();
}
inline const ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>&
Operation::_internal_security() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.security_;
}
inline ::google::protobuf::RepeatedPtrField<::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement>* PROTOBUF_NONNULL
Operation::_internal_mutable_security() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.security_;
}

// map<string, .google.protobuf.Value> extensions = 13;
inline int Operation::_internal_extensions_size() const {
  return _internal_extensions().size();
}
inline int Operation::extensions_size() const {
  return _internal_extensions_size();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& Operation::_internal_extensions() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.extensions_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& Operation::extensions() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Operation.extensions)
  return _internal_extensions();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Operation::_internal_mutable_extensions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.extensions_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Operation::mutable_extensions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Operation.extensions)
  return _internal_mutable_extensions();
}

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

// Header

// string description = 1;
inline void Header::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& Header::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Header.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Header::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Header.description)
}
inline ::std::string* PROTOBUF_NONNULL Header::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Header.description)
  return _s;
}
inline const ::std::string& Header::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void Header::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Header::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Header::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Header.description)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void Header::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Header.description)
}

// string type = 2;
inline void Header::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& Header::type() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Header.type)
  return _internal_type();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Header::set_type(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.type_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Header.type)
}
inline ::std::string* PROTOBUF_NONNULL Header::mutable_type()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_type();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Header.type)
  return _s;
}
inline const ::std::string& Header::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.type_.Get();
}
inline void Header::_internal_set_type(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.type_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Header::_internal_mutable_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.type_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Header::release_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Header.type)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.type_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.type_.Set("", GetArena());
  }
  return released;
}
inline void Header::set_allocated_type(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.type_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.type_.IsDefault()) {
    _impl_.type_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Header.type)
}

// string format = 3;
inline void Header::clear_format() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.format_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::std::string& Header::format() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Header.format)
  return _internal_format();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Header::set_format(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.format_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Header.format)
}
inline ::std::string* PROTOBUF_NONNULL Header::mutable_format()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_format();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Header.format)
  return _s;
}
inline const ::std::string& Header::_internal_format() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.format_.Get();
}
inline void Header::_internal_set_format(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.format_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Header::_internal_mutable_format() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.format_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Header::release_format() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Header.format)
  if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* released = _impl_.format_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.format_.Set("", GetArena());
  }
  return released;
}
inline void Header::set_allocated_format(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.format_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.format_.IsDefault()) {
    _impl_.format_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Header.format)
}

// string default = 6;
inline void Header::clear_default_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.default__.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::std::string& Header::default_() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Header.default)
  return _internal_default_();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Header::set_default_(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.default__.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Header.default)
}
inline ::std::string* PROTOBUF_NONNULL Header::mutable_default_()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_default_();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Header.default)
  return _s;
}
inline const ::std::string& Header::_internal_default_() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.default__.Get();
}
inline void Header::_internal_set_default_(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.default__.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Header::_internal_mutable_default_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.default__.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Header::release_default_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Header.default)
  if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* released = _impl_.default__.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.default__.Set("", GetArena());
  }
  return released;
}
inline void Header::set_allocated_default_(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.default__.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.default__.IsDefault()) {
    _impl_.default__.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Header.default)
}

// string pattern = 13;
inline void Header::clear_pattern() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pattern_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::std::string& Header::pattern() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Header.pattern)
  return _internal_pattern();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Header::set_pattern(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.pattern_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Header.pattern)
}
inline ::std::string* PROTOBUF_NONNULL Header::mutable_pattern()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_pattern();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Header.pattern)
  return _s;
}
inline const ::std::string& Header::_internal_pattern() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pattern_.Get();
}
inline void Header::_internal_set_pattern(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.pattern_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Header::_internal_mutable_pattern() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000010u;
  return _impl_.pattern_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Header::release_pattern() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Header.pattern)
  if ((_impl_._has_bits_[0] & 0x00000010u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000010u;
  auto* released = _impl_.pattern_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.pattern_.Set("", GetArena());
  }
  return released;
}
inline void Header::set_allocated_pattern(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.pattern_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.pattern_.IsDefault()) {
    _impl_.pattern_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Header.pattern)
}

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

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

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

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

// Response

// string description = 1;
inline void Response::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& Response::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Response.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Response::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Response.description)
}
inline ::std::string* PROTOBUF_NONNULL Response::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Response.description)
  return _s;
}
inline const ::std::string& Response::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void Response::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Response::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Response::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Response.description)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void Response::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Response.description)
}

// .grpc.gateway.protoc_gen_openapiv2.options.Schema schema = 2;
inline bool Response::has_schema() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.schema_ != nullptr);
  return value;
}
inline void Response::clear_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.schema_ != nullptr) _impl_.schema_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::Schema& Response::_internal_schema() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::Schema* p = _impl_.schema_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::Schema&>(::grpc::gateway::protoc_gen_openapiv2::options::_Schema_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::Schema& Response::schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Response.schema)
  return _internal_schema();
}
inline void Response::unsafe_arena_set_allocated_schema(
    ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.schema_);
  }
  _impl_.schema_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Schema*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Response.schema)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NULLABLE Response::release_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000002u;
  ::grpc::gateway::protoc_gen_openapiv2::options::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 ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NULLABLE Response::unsafe_arena_release_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Response.schema)

  _impl_._has_bits_[0] &= ~0x00000002u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Schema* temp = _impl_.schema_;
  _impl_.schema_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NONNULL Response::_internal_mutable_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.schema_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Schema>(GetArena());
    _impl_.schema_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Schema*>(p);
  }
  return _impl_.schema_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Schema* PROTOBUF_NONNULL Response::mutable_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000002u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Schema* _msg = _internal_mutable_schema();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Response.schema)
  return _msg;
}
inline void Response::set_allocated_schema(::grpc::gateway::protoc_gen_openapiv2::options::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);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }

  _impl_.schema_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Schema*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Response.schema)
}

// map<string, .grpc.gateway.protoc_gen_openapiv2.options.Header> headers = 3;
inline int Response::_internal_headers_size() const {
  return _internal_headers().size();
}
inline int Response::headers_size() const {
  return _internal_headers_size();
}
inline void Response::clear_headers() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.headers_.Clear();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>& Response::_internal_headers() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.headers_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>& Response::headers() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Response.headers)
  return _internal_headers();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>* PROTOBUF_NONNULL Response::_internal_mutable_headers() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.headers_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::Header>* PROTOBUF_NONNULL Response::mutable_headers()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Response.headers)
  return _internal_mutable_headers();
}

// map<string, string> examples = 4;
inline int Response::_internal_examples_size() const {
  return _internal_examples().size();
}
inline int Response::examples_size() const {
  return _internal_examples_size();
}
inline void Response::clear_examples() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.examples_.Clear();
}
inline const ::google::protobuf::Map<std::string, std::string>& Response::_internal_examples() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.examples_.GetMap();
}
inline const ::google::protobuf::Map<std::string, std::string>& Response::examples() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Response.examples)
  return _internal_examples();
}
inline ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL Response::_internal_mutable_examples() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.examples_.MutableMap();
}
inline ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL Response::mutable_examples()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Response.examples)
  return _internal_mutable_examples();
}

// map<string, .google.protobuf.Value> extensions = 5;
inline int Response::_internal_extensions_size() const {
  return _internal_extensions().size();
}
inline int Response::extensions_size() const {
  return _internal_extensions_size();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& Response::_internal_extensions() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.extensions_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& Response::extensions() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Response.extensions)
  return _internal_extensions();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Response::_internal_mutable_extensions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.extensions_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Response::mutable_extensions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Response.extensions)
  return _internal_mutable_extensions();
}

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

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

// Info

// string title = 1;
inline void Info::clear_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& Info::title() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Info.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Info::set_title(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Info.title)
}
inline ::std::string* PROTOBUF_NONNULL Info::mutable_title()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Info.title)
  return _s;
}
inline const ::std::string& Info::_internal_title() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.title_.Get();
}
inline void Info::_internal_set_title(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.title_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Info::_internal_mutable_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.title_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Info::release_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Info.title)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.title_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.title_.Set("", GetArena());
  }
  return released;
}
inline void Info::set_allocated_title(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.title_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.title_.IsDefault()) {
    _impl_.title_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Info.title)
}

// string description = 2;
inline void Info::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& Info::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Info.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Info::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Info.description)
}
inline ::std::string* PROTOBUF_NONNULL Info::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Info.description)
  return _s;
}
inline const ::std::string& Info::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void Info::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Info::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Info::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Info.description)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void Info::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Info.description)
}

// string terms_of_service = 3;
inline void Info::clear_terms_of_service() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.terms_of_service_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::std::string& Info::terms_of_service() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Info.terms_of_service)
  return _internal_terms_of_service();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Info::set_terms_of_service(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.terms_of_service_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Info.terms_of_service)
}
inline ::std::string* PROTOBUF_NONNULL Info::mutable_terms_of_service()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_terms_of_service();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Info.terms_of_service)
  return _s;
}
inline const ::std::string& Info::_internal_terms_of_service() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.terms_of_service_.Get();
}
inline void Info::_internal_set_terms_of_service(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.terms_of_service_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Info::_internal_mutable_terms_of_service() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.terms_of_service_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Info::release_terms_of_service() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Info.terms_of_service)
  if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* released = _impl_.terms_of_service_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.terms_of_service_.Set("", GetArena());
  }
  return released;
}
inline void Info::set_allocated_terms_of_service(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.terms_of_service_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.terms_of_service_.IsDefault()) {
    _impl_.terms_of_service_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Info.terms_of_service)
}

// .grpc.gateway.protoc_gen_openapiv2.options.Contact contact = 4;
inline bool Info::has_contact() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.contact_ != nullptr);
  return value;
}
inline void Info::clear_contact() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.contact_ != nullptr) _impl_.contact_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::Contact& Info::_internal_contact() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::Contact* p = _impl_.contact_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::Contact&>(::grpc::gateway::protoc_gen_openapiv2::options::_Contact_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::Contact& Info::contact() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Info.contact)
  return _internal_contact();
}
inline void Info::unsafe_arena_set_allocated_contact(
    ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.contact_);
  }
  _impl_.contact_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Contact*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Info.contact)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NULLABLE Info::release_contact() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Contact* released = _impl_.contact_;
  _impl_.contact_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NULLABLE Info::unsafe_arena_release_contact() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Info.contact)

  _impl_._has_bits_[0] &= ~0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Contact* temp = _impl_.contact_;
  _impl_.contact_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NONNULL Info::_internal_mutable_contact() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.contact_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Contact>(GetArena());
    _impl_.contact_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Contact*>(p);
  }
  return _impl_.contact_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Contact* PROTOBUF_NONNULL Info::mutable_contact()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Contact* _msg = _internal_mutable_contact();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Info.contact)
  return _msg;
}
inline void Info::set_allocated_contact(::grpc::gateway::protoc_gen_openapiv2::options::Contact* 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_.contact_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }

  _impl_.contact_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Contact*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Info.contact)
}

// .grpc.gateway.protoc_gen_openapiv2.options.License license = 5;
inline bool Info::has_license() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.license_ != nullptr);
  return value;
}
inline void Info::clear_license() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.license_ != nullptr) _impl_.license_->Clear();
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::License& Info::_internal_license() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::License* p = _impl_.license_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::License&>(::grpc::gateway::protoc_gen_openapiv2::options::_License_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::License& Info::license() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Info.license)
  return _internal_license();
}
inline void Info::unsafe_arena_set_allocated_license(
    ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.license_);
  }
  _impl_.license_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::License*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Info.license)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NULLABLE Info::release_license() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000020u;
  ::grpc::gateway::protoc_gen_openapiv2::options::License* released = _impl_.license_;
  _impl_.license_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NULLABLE Info::unsafe_arena_release_license() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Info.license)

  _impl_._has_bits_[0] &= ~0x00000020u;
  ::grpc::gateway::protoc_gen_openapiv2::options::License* temp = _impl_.license_;
  _impl_.license_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NONNULL Info::_internal_mutable_license() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.license_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::License>(GetArena());
    _impl_.license_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::License*>(p);
  }
  return _impl_.license_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::License* PROTOBUF_NONNULL Info::mutable_license()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000020u;
  ::grpc::gateway::protoc_gen_openapiv2::options::License* _msg = _internal_mutable_license();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Info.license)
  return _msg;
}
inline void Info::set_allocated_license(::grpc::gateway::protoc_gen_openapiv2::options::License* 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_.license_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }

  _impl_.license_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::License*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Info.license)
}

// string version = 6;
inline void Info::clear_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.version_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::std::string& Info::version() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Info.version)
  return _internal_version();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Info::set_version(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.version_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Info.version)
}
inline ::std::string* PROTOBUF_NONNULL Info::mutable_version()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Info.version)
  return _s;
}
inline const ::std::string& Info::_internal_version() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.version_.Get();
}
inline void Info::_internal_set_version(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.version_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Info::_internal_mutable_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.version_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Info::release_version() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Info.version)
  if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* released = _impl_.version_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.version_.Set("", GetArena());
  }
  return released;
}
inline void Info::set_allocated_version(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.version_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.version_.IsDefault()) {
    _impl_.version_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Info.version)
}

// map<string, .google.protobuf.Value> extensions = 7;
inline int Info::_internal_extensions_size() const {
  return _internal_extensions().size();
}
inline int Info::extensions_size() const {
  return _internal_extensions_size();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& Info::_internal_extensions() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.extensions_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& Info::extensions() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Info.extensions)
  return _internal_extensions();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Info::_internal_mutable_extensions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.extensions_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL Info::mutable_extensions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Info.extensions)
  return _internal_mutable_extensions();
}

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

// Contact

// string name = 1;
inline void Contact::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& Contact::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Contact.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Contact::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Contact.name)
}
inline ::std::string* PROTOBUF_NONNULL Contact::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Contact.name)
  return _s;
}
inline const ::std::string& Contact::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void Contact::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Contact::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Contact::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Contact.name)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void Contact::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _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:grpc.gateway.protoc_gen_openapiv2.options.Contact.name)
}

// string url = 2;
inline void Contact::clear_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& Contact::url() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Contact.url)
  return _internal_url();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Contact::set_url(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Contact.url)
}
inline ::std::string* PROTOBUF_NONNULL Contact::mutable_url()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Contact.url)
  return _s;
}
inline const ::std::string& Contact::_internal_url() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.url_.Get();
}
inline void Contact::_internal_set_url(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Contact::_internal_mutable_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.url_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Contact::release_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Contact.url)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.url_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.url_.Set("", GetArena());
  }
  return released;
}
inline void Contact::set_allocated_url(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.url_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Contact.url)
}

// string email = 3;
inline void Contact::clear_email() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.email_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::std::string& Contact::email() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Contact.email)
  return _internal_email();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Contact::set_email(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.email_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Contact.email)
}
inline ::std::string* PROTOBUF_NONNULL Contact::mutable_email()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_email();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Contact.email)
  return _s;
}
inline const ::std::string& Contact::_internal_email() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.email_.Get();
}
inline void Contact::_internal_set_email(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.email_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Contact::_internal_mutable_email() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.email_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Contact::release_email() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Contact.email)
  if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* released = _impl_.email_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.email_.Set("", GetArena());
  }
  return released;
}
inline void Contact::set_allocated_email(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.email_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.email_.IsDefault()) {
    _impl_.email_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Contact.email)
}

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

// License

// string name = 1;
inline void License::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& License::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.License.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void License::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.License.name)
}
inline ::std::string* PROTOBUF_NONNULL License::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.License.name)
  return _s;
}
inline const ::std::string& License::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void License::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL License::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE License::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.License.name)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void License::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _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:grpc.gateway.protoc_gen_openapiv2.options.License.name)
}

// string url = 2;
inline void License::clear_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& License::url() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.License.url)
  return _internal_url();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void License::set_url(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.License.url)
}
inline ::std::string* PROTOBUF_NONNULL License::mutable_url()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.License.url)
  return _s;
}
inline const ::std::string& License::_internal_url() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.url_.Get();
}
inline void License::_internal_set_url(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL License::_internal_mutable_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.url_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE License::release_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.License.url)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.url_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.url_.Set("", GetArena());
  }
  return released;
}
inline void License::set_allocated_url(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.url_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.License.url)
}

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

// ExternalDocumentation

// string description = 1;
inline void ExternalDocumentation::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& ExternalDocumentation::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ExternalDocumentation::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.description)
}
inline ::std::string* PROTOBUF_NONNULL ExternalDocumentation::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.description)
  return _s;
}
inline const ::std::string& ExternalDocumentation::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void ExternalDocumentation::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ExternalDocumentation::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ExternalDocumentation::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.description)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void ExternalDocumentation::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.description)
}

// string url = 2;
inline void ExternalDocumentation::clear_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& ExternalDocumentation::url() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.url)
  return _internal_url();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ExternalDocumentation::set_url(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.url)
}
inline ::std::string* PROTOBUF_NONNULL ExternalDocumentation::mutable_url()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_url();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.url)
  return _s;
}
inline const ::std::string& ExternalDocumentation::_internal_url() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.url_.Get();
}
inline void ExternalDocumentation::_internal_set_url(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.url_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ExternalDocumentation::_internal_mutable_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.url_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ExternalDocumentation::release_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.url)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.url_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.url_.Set("", GetArena());
  }
  return released;
}
inline void ExternalDocumentation::set_allocated_url(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.url_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.url_.IsDefault()) {
    _impl_.url_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation.url)
}

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

// Schema

// .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema json_schema = 1;
inline bool Schema::has_json_schema() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.json_schema_ != nullptr);
  return value;
}
inline void Schema::clear_json_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.json_schema_ != nullptr) _impl_.json_schema_->Clear();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema& Schema::_internal_json_schema() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* p = _impl_.json_schema_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema&>(::grpc::gateway::protoc_gen_openapiv2::options::_JSONSchema_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema& Schema::json_schema() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Schema.json_schema)
  return _internal_json_schema();
}
inline void Schema::unsafe_arena_set_allocated_json_schema(
    ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.json_schema_);
  }
  _impl_.json_schema_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Schema.json_schema)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NULLABLE Schema::release_json_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000004u;
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* released = _impl_.json_schema_;
  _impl_.json_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 ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NULLABLE Schema::unsafe_arena_release_json_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Schema.json_schema)

  _impl_._has_bits_[0] &= ~0x00000004u;
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* temp = _impl_.json_schema_;
  _impl_.json_schema_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NONNULL Schema::_internal_mutable_json_schema() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.json_schema_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema>(GetArena());
    _impl_.json_schema_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema*>(p);
  }
  return _impl_.json_schema_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* PROTOBUF_NONNULL Schema::mutable_json_schema()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000004u;
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* _msg = _internal_mutable_json_schema();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Schema.json_schema)
  return _msg;
}
inline void Schema::set_allocated_json_schema(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema* 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_.json_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);
    }
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }

  _impl_.json_schema_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Schema.json_schema)
}

// string discriminator = 2;
inline void Schema::clear_discriminator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.discriminator_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& Schema::discriminator() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Schema.discriminator)
  return _internal_discriminator();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Schema::set_discriminator(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.discriminator_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Schema.discriminator)
}
inline ::std::string* PROTOBUF_NONNULL Schema::mutable_discriminator()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_discriminator();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Schema.discriminator)
  return _s;
}
inline const ::std::string& Schema::_internal_discriminator() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.discriminator_.Get();
}
inline void Schema::_internal_set_discriminator(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.discriminator_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Schema::_internal_mutable_discriminator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.discriminator_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Schema::release_discriminator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Schema.discriminator)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.discriminator_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.discriminator_.Set("", GetArena());
  }
  return released;
}
inline void Schema::set_allocated_discriminator(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.discriminator_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.discriminator_.IsDefault()) {
    _impl_.discriminator_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Schema.discriminator)
}

// bool read_only = 3;
inline void Schema::clear_read_only() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.read_only_ = false;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline bool Schema::read_only() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Schema.read_only)
  return _internal_read_only();
}
inline void Schema::set_read_only(bool value) {
  _internal_set_read_only(value);
  _impl_._has_bits_[0] |= 0x00000010u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Schema.read_only)
}
inline bool Schema::_internal_read_only() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.read_only_;
}
inline void Schema::_internal_set_read_only(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.read_only_ = value;
}

// .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 5;
inline bool Schema::has_external_docs() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.external_docs_ != nullptr);
  return value;
}
inline void Schema::clear_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.external_docs_ != nullptr) _impl_.external_docs_->Clear();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& Schema::_internal_external_docs() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* p = _impl_.external_docs_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation&>(::grpc::gateway::protoc_gen_openapiv2::options::_ExternalDocumentation_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& Schema::external_docs() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Schema.external_docs)
  return _internal_external_docs();
}
inline void Schema::unsafe_arena_set_allocated_external_docs(
    ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.external_docs_);
  }
  _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Schema.external_docs)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE Schema::release_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* released = _impl_.external_docs_;
  _impl_.external_docs_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE Schema::unsafe_arena_release_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Schema.external_docs)

  _impl_._has_bits_[0] &= ~0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* temp = _impl_.external_docs_;
  _impl_.external_docs_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL Schema::_internal_mutable_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.external_docs_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(GetArena());
    _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(p);
  }
  return _impl_.external_docs_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL Schema::mutable_external_docs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000008u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* _msg = _internal_mutable_external_docs();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Schema.external_docs)
  return _msg;
}
inline void Schema::set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* 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_.external_docs_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }

  _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Schema.external_docs)
}

// string example = 6;
inline void Schema::clear_example() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.example_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& Schema::example() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Schema.example)
  return _internal_example();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Schema::set_example(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.example_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Schema.example)
}
inline ::std::string* PROTOBUF_NONNULL Schema::mutable_example()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_example();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Schema.example)
  return _s;
}
inline const ::std::string& Schema::_internal_example() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.example_.Get();
}
inline void Schema::_internal_set_example(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.example_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Schema::_internal_mutable_example() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.example_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Schema::release_example() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Schema.example)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.example_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.example_.Set("", GetArena());
  }
  return released;
}
inline void Schema::set_allocated_example(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.example_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.example_.IsDefault()) {
    _impl_.example_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Schema.example)
}

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

// JSONSchema_FieldConfiguration

// string path_param_name = 47;
inline void JSONSchema_FieldConfiguration::clear_path_param_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.path_param_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& JSONSchema_FieldConfiguration::path_param_name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration.path_param_name)
  return _internal_path_param_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JSONSchema_FieldConfiguration::set_path_param_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.path_param_name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration.path_param_name)
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema_FieldConfiguration::mutable_path_param_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_path_param_name();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration.path_param_name)
  return _s;
}
inline const ::std::string& JSONSchema_FieldConfiguration::_internal_path_param_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.path_param_name_.Get();
}
inline void JSONSchema_FieldConfiguration::_internal_set_path_param_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.path_param_name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema_FieldConfiguration::_internal_mutable_path_param_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.path_param_name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JSONSchema_FieldConfiguration::release_path_param_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration.path_param_name)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.path_param_name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.path_param_name_.Set("", GetArena());
  }
  return released;
}
inline void JSONSchema_FieldConfiguration::set_allocated_path_param_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.path_param_name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.path_param_name_.IsDefault()) {
    _impl_.path_param_name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration.path_param_name)
}

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

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

// JSONSchema

// string ref = 3;
inline void JSONSchema::clear_ref() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ref_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& JSONSchema::ref() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.ref)
  return _internal_ref();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JSONSchema::set_ref(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.ref_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.ref)
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_ref()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_ref();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.ref)
  return _s;
}
inline const ::std::string& JSONSchema::_internal_ref() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ref_.Get();
}
inline void JSONSchema::_internal_set_ref(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.ref_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::_internal_mutable_ref() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.ref_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JSONSchema::release_ref() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.ref)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.ref_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.ref_.Set("", GetArena());
  }
  return released;
}
inline void JSONSchema::set_allocated_ref(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.ref_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.ref_.IsDefault()) {
    _impl_.ref_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.ref)
}

// string title = 5;
inline void JSONSchema::clear_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& JSONSchema::title() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JSONSchema::set_title(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.title)
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_title()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.title)
  return _s;
}
inline const ::std::string& JSONSchema::_internal_title() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.title_.Get();
}
inline void JSONSchema::_internal_set_title(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.title_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::_internal_mutable_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.title_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JSONSchema::release_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.title)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.title_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.title_.Set("", GetArena());
  }
  return released;
}
inline void JSONSchema::set_allocated_title(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.title_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.title_.IsDefault()) {
    _impl_.title_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.title)
}

// string description = 6;
inline void JSONSchema::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::std::string& JSONSchema::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JSONSchema::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.description)
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.description)
  return _s;
}
inline const ::std::string& JSONSchema::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void JSONSchema::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JSONSchema::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.description)
  if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void JSONSchema::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.description)
}

// string default = 7;
inline void JSONSchema::clear_default_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.default__.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::std::string& JSONSchema::default_() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.default)
  return _internal_default_();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JSONSchema::set_default_(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.default__.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.default)
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_default_()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_default_();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.default)
  return _s;
}
inline const ::std::string& JSONSchema::_internal_default_() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.default__.Get();
}
inline void JSONSchema::_internal_set_default_(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.default__.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::_internal_mutable_default_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.default__.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JSONSchema::release_default_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.default)
  if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* released = _impl_.default__.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.default__.Set("", GetArena());
  }
  return released;
}
inline void JSONSchema::set_allocated_default_(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.default__.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.default__.IsDefault()) {
    _impl_.default__.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.default)
}

// bool read_only = 8;
inline void JSONSchema::clear_read_only() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.read_only_ = false;
  _impl_._has_bits_[0] &= ~0x00020000u;
}
inline bool JSONSchema::read_only() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.read_only)
  return _internal_read_only();
}
inline void JSONSchema::set_read_only(bool value) {
  _internal_set_read_only(value);
  _impl_._has_bits_[0] |= 0x00020000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.read_only)
}
inline bool JSONSchema::_internal_read_only() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.read_only_;
}
inline void JSONSchema::_internal_set_read_only(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.read_only_ = value;
}

// string example = 9;
inline void JSONSchema::clear_example() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.example_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::std::string& JSONSchema::example() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.example)
  return _internal_example();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JSONSchema::set_example(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.example_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.example)
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_example()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_example();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.example)
  return _s;
}
inline const ::std::string& JSONSchema::_internal_example() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.example_.Get();
}
inline void JSONSchema::_internal_set_example(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.example_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::_internal_mutable_example() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000010u;
  return _impl_.example_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JSONSchema::release_example() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.example)
  if ((_impl_._has_bits_[0] & 0x00000010u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000010u;
  auto* released = _impl_.example_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.example_.Set("", GetArena());
  }
  return released;
}
inline void JSONSchema::set_allocated_example(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.example_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.example_.IsDefault()) {
    _impl_.example_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.example)
}

// double multiple_of = 10;
inline void JSONSchema::clear_multiple_of() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.multiple_of_ = 0;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline double JSONSchema::multiple_of() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.multiple_of)
  return _internal_multiple_of();
}
inline void JSONSchema::set_multiple_of(double value) {
  _internal_set_multiple_of(value);
  _impl_._has_bits_[0] |= 0x00000100u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.multiple_of)
}
inline double JSONSchema::_internal_multiple_of() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.multiple_of_;
}
inline void JSONSchema::_internal_set_multiple_of(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.multiple_of_ = value;
}

// double maximum = 11;
inline void JSONSchema::clear_maximum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.maximum_ = 0;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline double JSONSchema::maximum() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.maximum)
  return _internal_maximum();
}
inline void JSONSchema::set_maximum(double value) {
  _internal_set_maximum(value);
  _impl_._has_bits_[0] |= 0x00000200u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.maximum)
}
inline double JSONSchema::_internal_maximum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.maximum_;
}
inline void JSONSchema::_internal_set_maximum(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.maximum_ = value;
}

// bool exclusive_maximum = 12;
inline void JSONSchema::clear_exclusive_maximum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.exclusive_maximum_ = false;
  _impl_._has_bits_[0] &= ~0x00040000u;
}
inline bool JSONSchema::exclusive_maximum() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.exclusive_maximum)
  return _internal_exclusive_maximum();
}
inline void JSONSchema::set_exclusive_maximum(bool value) {
  _internal_set_exclusive_maximum(value);
  _impl_._has_bits_[0] |= 0x00040000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.exclusive_maximum)
}
inline bool JSONSchema::_internal_exclusive_maximum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.exclusive_maximum_;
}
inline void JSONSchema::_internal_set_exclusive_maximum(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.exclusive_maximum_ = value;
}

// double minimum = 13;
inline void JSONSchema::clear_minimum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.minimum_ = 0;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline double JSONSchema::minimum() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.minimum)
  return _internal_minimum();
}
inline void JSONSchema::set_minimum(double value) {
  _internal_set_minimum(value);
  _impl_._has_bits_[0] |= 0x00000400u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.minimum)
}
inline double JSONSchema::_internal_minimum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.minimum_;
}
inline void JSONSchema::_internal_set_minimum(double value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.minimum_ = value;
}

// bool exclusive_minimum = 14;
inline void JSONSchema::clear_exclusive_minimum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.exclusive_minimum_ = false;
  _impl_._has_bits_[0] &= ~0x00080000u;
}
inline bool JSONSchema::exclusive_minimum() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.exclusive_minimum)
  return _internal_exclusive_minimum();
}
inline void JSONSchema::set_exclusive_minimum(bool value) {
  _internal_set_exclusive_minimum(value);
  _impl_._has_bits_[0] |= 0x00080000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.exclusive_minimum)
}
inline bool JSONSchema::_internal_exclusive_minimum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.exclusive_minimum_;
}
inline void JSONSchema::_internal_set_exclusive_minimum(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.exclusive_minimum_ = value;
}

// uint64 max_length = 15;
inline void JSONSchema::clear_max_length() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_length_ = ::uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline ::uint64_t JSONSchema::max_length() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.max_length)
  return _internal_max_length();
}
inline void JSONSchema::set_max_length(::uint64_t value) {
  _internal_set_max_length(value);
  _impl_._has_bits_[0] |= 0x00000800u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.max_length)
}
inline ::uint64_t JSONSchema::_internal_max_length() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.max_length_;
}
inline void JSONSchema::_internal_set_max_length(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_length_ = value;
}

// uint64 min_length = 16;
inline void JSONSchema::clear_min_length() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.min_length_ = ::uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00001000u;
}
inline ::uint64_t JSONSchema::min_length() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.min_length)
  return _internal_min_length();
}
inline void JSONSchema::set_min_length(::uint64_t value) {
  _internal_set_min_length(value);
  _impl_._has_bits_[0] |= 0x00001000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.min_length)
}
inline ::uint64_t JSONSchema::_internal_min_length() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.min_length_;
}
inline void JSONSchema::_internal_set_min_length(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.min_length_ = value;
}

// string pattern = 17;
inline void JSONSchema::clear_pattern() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pattern_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline const ::std::string& JSONSchema::pattern() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.pattern)
  return _internal_pattern();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JSONSchema::set_pattern(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.pattern_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.pattern)
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_pattern()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_pattern();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.pattern)
  return _s;
}
inline const ::std::string& JSONSchema::_internal_pattern() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pattern_.Get();
}
inline void JSONSchema::_internal_set_pattern(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.pattern_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::_internal_mutable_pattern() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000020u;
  return _impl_.pattern_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JSONSchema::release_pattern() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.pattern)
  if ((_impl_._has_bits_[0] & 0x00000020u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000020u;
  auto* released = _impl_.pattern_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.pattern_.Set("", GetArena());
  }
  return released;
}
inline void JSONSchema::set_allocated_pattern(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  _impl_.pattern_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.pattern_.IsDefault()) {
    _impl_.pattern_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.pattern)
}

// uint64 max_items = 20;
inline void JSONSchema::clear_max_items() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_items_ = ::uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00002000u;
}
inline ::uint64_t JSONSchema::max_items() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.max_items)
  return _internal_max_items();
}
inline void JSONSchema::set_max_items(::uint64_t value) {
  _internal_set_max_items(value);
  _impl_._has_bits_[0] |= 0x00002000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.max_items)
}
inline ::uint64_t JSONSchema::_internal_max_items() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.max_items_;
}
inline void JSONSchema::_internal_set_max_items(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_items_ = value;
}

// uint64 min_items = 21;
inline void JSONSchema::clear_min_items() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.min_items_ = ::uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00004000u;
}
inline ::uint64_t JSONSchema::min_items() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.min_items)
  return _internal_min_items();
}
inline void JSONSchema::set_min_items(::uint64_t value) {
  _internal_set_min_items(value);
  _impl_._has_bits_[0] |= 0x00004000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.min_items)
}
inline ::uint64_t JSONSchema::_internal_min_items() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.min_items_;
}
inline void JSONSchema::_internal_set_min_items(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.min_items_ = value;
}

// bool unique_items = 22;
inline void JSONSchema::clear_unique_items() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.unique_items_ = false;
  _impl_._has_bits_[0] &= ~0x00100000u;
}
inline bool JSONSchema::unique_items() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.unique_items)
  return _internal_unique_items();
}
inline void JSONSchema::set_unique_items(bool value) {
  _internal_set_unique_items(value);
  _impl_._has_bits_[0] |= 0x00100000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.unique_items)
}
inline bool JSONSchema::_internal_unique_items() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.unique_items_;
}
inline void JSONSchema::_internal_set_unique_items(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.unique_items_ = value;
}

// uint64 max_properties = 24;
inline void JSONSchema::clear_max_properties() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_properties_ = ::uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00008000u;
}
inline ::uint64_t JSONSchema::max_properties() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.max_properties)
  return _internal_max_properties();
}
inline void JSONSchema::set_max_properties(::uint64_t value) {
  _internal_set_max_properties(value);
  _impl_._has_bits_[0] |= 0x00008000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.max_properties)
}
inline ::uint64_t JSONSchema::_internal_max_properties() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.max_properties_;
}
inline void JSONSchema::_internal_set_max_properties(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_properties_ = value;
}

// uint64 min_properties = 25;
inline void JSONSchema::clear_min_properties() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.min_properties_ = ::uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00010000u;
}
inline ::uint64_t JSONSchema::min_properties() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.min_properties)
  return _internal_min_properties();
}
inline void JSONSchema::set_min_properties(::uint64_t value) {
  _internal_set_min_properties(value);
  _impl_._has_bits_[0] |= 0x00010000u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.min_properties)
}
inline ::uint64_t JSONSchema::_internal_min_properties() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.min_properties_;
}
inline void JSONSchema::_internal_set_min_properties(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.min_properties_ = value;
}

// repeated string required = 26;
inline int JSONSchema::_internal_required_size() const {
  return _internal_required().size();
}
inline int JSONSchema::required_size() const {
  return _internal_required_size();
}
inline void JSONSchema::clear_required() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.required_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::add_required()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_required()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.required)
  return _s;
}
inline const ::std::string& JSONSchema::required(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.required)
  return _internal_required().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_required(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.required)
  return _internal_mutable_required()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void JSONSchema::set_required(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_required()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.required)
}
template <typename Arg_, typename... Args_>
inline void JSONSchema::add_required(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_required(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.required)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& JSONSchema::required()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.required)
  return _internal_required();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
JSONSchema::mutable_required() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.required)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_required();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
JSONSchema::_internal_required() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.required_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
JSONSchema::_internal_mutable_required() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.required_;
}

// repeated string array = 34;
inline int JSONSchema::_internal_array_size() const {
  return _internal_array().size();
}
inline int JSONSchema::array_size() const {
  return _internal_array_size();
}
inline void JSONSchema::clear_array() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.array_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::add_array()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_array()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.array)
  return _s;
}
inline const ::std::string& JSONSchema::array(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.array)
  return _internal_array().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_array(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.array)
  return _internal_mutable_array()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void JSONSchema::set_array(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_array()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.array)
}
template <typename Arg_, typename... Args_>
inline void JSONSchema::add_array(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_array(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.array)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& JSONSchema::array()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.array)
  return _internal_array();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
JSONSchema::mutable_array() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.array)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_array();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
JSONSchema::_internal_array() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.array_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
JSONSchema::_internal_mutable_array() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.array_;
}

// repeated .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.JSONSchemaSimpleTypes type = 35;
inline int JSONSchema::_internal_type_size() const {
  return _internal_type().size();
}
inline int JSONSchema::type_size() const {
  return _internal_type_size();
}
inline void JSONSchema::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_.Clear();
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes JSONSchema::type(int index) const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.type)
  return static_cast<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes>(_internal_type().Get(index));
}
inline void JSONSchema::set_type(int index, ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes value) {
  _internal_mutable_type()->Set(index, value);
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.type)
}
inline void JSONSchema::add_type(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_type()->Add(value);
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.type)
}
inline const ::google::protobuf::RepeatedField<int>& JSONSchema::type() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.type)
  return _internal_type();
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL JSONSchema::mutable_type()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.type)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_type();
}
inline const ::google::protobuf::RepeatedField<int>& JSONSchema::_internal_type()
    const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.type_;
}
inline ::google::protobuf::RepeatedField<int>* PROTOBUF_NONNULL
JSONSchema::_internal_mutable_type() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.type_;
}

// string format = 36;
inline void JSONSchema::clear_format() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.format_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline const ::std::string& JSONSchema::format() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.format)
  return _internal_format();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JSONSchema::set_format(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.format_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.format)
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_format()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_format();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.format)
  return _s;
}
inline const ::std::string& JSONSchema::_internal_format() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.format_.Get();
}
inline void JSONSchema::_internal_set_format(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.format_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::_internal_mutable_format() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000040u;
  return _impl_.format_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JSONSchema::release_format() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.format)
  if ((_impl_._has_bits_[0] & 0x00000040u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000040u;
  auto* released = _impl_.format_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.format_.Set("", GetArena());
  }
  return released;
}
inline void JSONSchema::set_allocated_format(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000040u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000040u;
  }
  _impl_.format_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.format_.IsDefault()) {
    _impl_.format_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.format)
}

// repeated string enum = 46;
inline int JSONSchema::_internal_enum__size() const {
  return _internal_enum_().size();
}
inline int JSONSchema::enum__size() const {
  return _internal_enum__size();
}
inline void JSONSchema::clear_enum_() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.enum__.Clear();
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::add_enum_()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_enum_()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.enum)
  return _s;
}
inline const ::std::string& JSONSchema::enum_(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.enum)
  return _internal_enum_().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL JSONSchema::mutable_enum_(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.enum)
  return _internal_mutable_enum_()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void JSONSchema::set_enum_(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_enum_()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.enum)
}
template <typename Arg_, typename... Args_>
inline void JSONSchema::add_enum_(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_enum_(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.enum)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& JSONSchema::enum_()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.enum)
  return _internal_enum_();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
JSONSchema::mutable_enum_() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.enum)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_enum_();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
JSONSchema::_internal_enum_() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.enum__;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
JSONSchema::_internal_mutable_enum_() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.enum__;
}

// .grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration field_configuration = 1001;
inline bool JSONSchema::has_field_configuration() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.field_configuration_ != nullptr);
  return value;
}
inline void JSONSchema::clear_field_configuration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.field_configuration_ != nullptr) _impl_.field_configuration_->Clear();
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration& JSONSchema::_internal_field_configuration() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* p = _impl_.field_configuration_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration&>(::grpc::gateway::protoc_gen_openapiv2::options::_JSONSchema_FieldConfiguration_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration& JSONSchema::field_configuration() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.field_configuration)
  return _internal_field_configuration();
}
inline void JSONSchema::unsafe_arena_set_allocated_field_configuration(
    ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.field_configuration_);
  }
  _impl_.field_configuration_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000080u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000080u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.field_configuration)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NULLABLE JSONSchema::release_field_configuration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000080u;
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* released = _impl_.field_configuration_;
  _impl_.field_configuration_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NULLABLE JSONSchema::unsafe_arena_release_field_configuration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.field_configuration)

  _impl_._has_bits_[0] &= ~0x00000080u;
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* temp = _impl_.field_configuration_;
  _impl_.field_configuration_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NONNULL JSONSchema::_internal_mutable_field_configuration() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.field_configuration_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration>(GetArena());
    _impl_.field_configuration_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration*>(p);
  }
  return _impl_.field_configuration_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* PROTOBUF_NONNULL JSONSchema::mutable_field_configuration()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000080u;
  ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* _msg = _internal_mutable_field_configuration();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.field_configuration)
  return _msg;
}
inline void JSONSchema::set_allocated_field_configuration(::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration* 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_.field_configuration_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000080u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000080u;
  }

  _impl_.field_configuration_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_FieldConfiguration*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.field_configuration)
}

// map<string, .google.protobuf.Value> extensions = 48;
inline int JSONSchema::_internal_extensions_size() const {
  return _internal_extensions().size();
}
inline int JSONSchema::extensions_size() const {
  return _internal_extensions_size();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& JSONSchema::_internal_extensions() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.extensions_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& JSONSchema::extensions() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.extensions)
  return _internal_extensions();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL JSONSchema::_internal_mutable_extensions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.extensions_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL JSONSchema::mutable_extensions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.extensions)
  return _internal_mutable_extensions();
}

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

// Tag

// string description = 2;
inline void Tag::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& Tag::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Tag.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void Tag::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.Tag.description)
}
inline ::std::string* PROTOBUF_NONNULL Tag::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Tag.description)
  return _s;
}
inline const ::std::string& Tag::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void Tag::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL Tag::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE Tag::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Tag.description)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void Tag::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Tag.description)
}

// .grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation external_docs = 3;
inline bool Tag::has_external_docs() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.external_docs_ != nullptr);
  return value;
}
inline void Tag::clear_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.external_docs_ != nullptr) _impl_.external_docs_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& Tag::_internal_external_docs() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* p = _impl_.external_docs_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation&>(::grpc::gateway::protoc_gen_openapiv2::options::_ExternalDocumentation_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation& Tag::external_docs() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.Tag.external_docs)
  return _internal_external_docs();
}
inline void Tag::unsafe_arena_set_allocated_external_docs(
    ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.external_docs_);
  }
  _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Tag.external_docs)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE Tag::release_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000002u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* released = _impl_.external_docs_;
  _impl_.external_docs_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NULLABLE Tag::unsafe_arena_release_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.Tag.external_docs)

  _impl_._has_bits_[0] &= ~0x00000002u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* temp = _impl_.external_docs_;
  _impl_.external_docs_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL Tag::_internal_mutable_external_docs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.external_docs_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation>(GetArena());
    _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(p);
  }
  return _impl_.external_docs_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* PROTOBUF_NONNULL Tag::mutable_external_docs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000002u;
  ::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* _msg = _internal_mutable_external_docs();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.Tag.external_docs)
  return _msg;
}
inline void Tag::set_allocated_external_docs(::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation* 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_.external_docs_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }

  _impl_.external_docs_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::ExternalDocumentation*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.Tag.external_docs)
}

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

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

// SecurityDefinitions

// map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme> security = 1;
inline int SecurityDefinitions::_internal_security_size() const {
  return _internal_security().size();
}
inline int SecurityDefinitions::security_size() const {
  return _internal_security_size();
}
inline void SecurityDefinitions::clear_security() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.security_.Clear();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>& SecurityDefinitions::_internal_security() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.security_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>& SecurityDefinitions::security() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions.security)
  return _internal_security();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>* PROTOBUF_NONNULL SecurityDefinitions::_internal_mutable_security() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.security_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme>* PROTOBUF_NONNULL SecurityDefinitions::mutable_security()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions.security)
  return _internal_mutable_security();
}

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

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

// SecurityScheme

// .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Type type = 1;
inline void SecurityScheme::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = 0;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type SecurityScheme::type() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.type)
  return _internal_type();
}
inline void SecurityScheme::set_type(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type value) {
  _internal_set_type(value);
  _impl_._has_bits_[0] |= 0x00000020u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.type)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type SecurityScheme::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type>(_impl_.type_);
}
inline void SecurityScheme::_internal_set_type(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.type_ = value;
}

// string description = 2;
inline void SecurityScheme::clear_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::std::string& SecurityScheme::description() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.description)
  return _internal_description();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SecurityScheme::set_description(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.description)
}
inline ::std::string* PROTOBUF_NONNULL SecurityScheme::mutable_description()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.description)
  return _s;
}
inline const ::std::string& SecurityScheme::_internal_description() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.description_.Get();
}
inline void SecurityScheme::_internal_set_description(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.description_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SecurityScheme::_internal_mutable_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.description_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SecurityScheme::release_description() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.description)
  if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* released = _impl_.description_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.description_.Set("", GetArena());
  }
  return released;
}
inline void SecurityScheme::set_allocated_description(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.description_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.description_.IsDefault()) {
    _impl_.description_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.description)
}

// string name = 3;
inline void SecurityScheme::clear_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::std::string& SecurityScheme::name() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.name)
  return _internal_name();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SecurityScheme::set_name(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.name_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.name)
}
inline ::std::string* PROTOBUF_NONNULL SecurityScheme::mutable_name()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.name)
  return _s;
}
inline const ::std::string& SecurityScheme::_internal_name() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.name_.Get();
}
inline void SecurityScheme::_internal_set_name(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.name_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SecurityScheme::_internal_mutable_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.name_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SecurityScheme::release_name() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.name)
  if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* released = _impl_.name_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.name_.Set("", GetArena());
  }
  return released;
}
inline void SecurityScheme::set_allocated_name(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.name_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.name)
}

// .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.In in = 4;
inline void SecurityScheme::clear_in() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.in_ = 0;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In SecurityScheme::in() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.in)
  return _internal_in();
}
inline void SecurityScheme::set_in(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In value) {
  _internal_set_in(value);
  _impl_._has_bits_[0] |= 0x00000040u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.in)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In SecurityScheme::_internal_in() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In>(_impl_.in_);
}
inline void SecurityScheme::_internal_set_in(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.in_ = value;
}

// .grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.Flow flow = 5;
inline void SecurityScheme::clear_flow() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flow_ = 0;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow SecurityScheme::flow() const {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.flow)
  return _internal_flow();
}
inline void SecurityScheme::set_flow(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow value) {
  _internal_set_flow(value);
  _impl_._has_bits_[0] |= 0x00000080u;
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.flow)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow SecurityScheme::_internal_flow() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return static_cast<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow>(_impl_.flow_);
}
inline void SecurityScheme::_internal_set_flow(::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flow_ = value;
}

// string authorization_url = 6;
inline void SecurityScheme::clear_authorization_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.authorization_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const ::std::string& SecurityScheme::authorization_url() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.authorization_url)
  return _internal_authorization_url();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SecurityScheme::set_authorization_url(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.authorization_url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.authorization_url)
}
inline ::std::string* PROTOBUF_NONNULL SecurityScheme::mutable_authorization_url()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_authorization_url();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.authorization_url)
  return _s;
}
inline const ::std::string& SecurityScheme::_internal_authorization_url() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.authorization_url_.Get();
}
inline void SecurityScheme::_internal_set_authorization_url(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.authorization_url_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SecurityScheme::_internal_mutable_authorization_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.authorization_url_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SecurityScheme::release_authorization_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.authorization_url)
  if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* released = _impl_.authorization_url_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.authorization_url_.Set("", GetArena());
  }
  return released;
}
inline void SecurityScheme::set_allocated_authorization_url(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.authorization_url_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.authorization_url_.IsDefault()) {
    _impl_.authorization_url_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.authorization_url)
}

// string token_url = 7;
inline void SecurityScheme::clear_token_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.token_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const ::std::string& SecurityScheme::token_url() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.token_url)
  return _internal_token_url();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SecurityScheme::set_token_url(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.token_url_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.token_url)
}
inline ::std::string* PROTOBUF_NONNULL SecurityScheme::mutable_token_url()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::std::string* _s = _internal_mutable_token_url();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.token_url)
  return _s;
}
inline const ::std::string& SecurityScheme::_internal_token_url() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.token_url_.Get();
}
inline void SecurityScheme::_internal_set_token_url(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.token_url_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SecurityScheme::_internal_mutable_token_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.token_url_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SecurityScheme::release_token_url() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.token_url)
  if ((_impl_._has_bits_[0] & 0x00000008u) == 0) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* released = _impl_.token_url_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.token_url_.Set("", GetArena());
  }
  return released;
}
inline void SecurityScheme::set_allocated_token_url(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.token_url_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.token_url_.IsDefault()) {
    _impl_.token_url_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.token_url)
}

// .grpc.gateway.protoc_gen_openapiv2.options.Scopes scopes = 8;
inline bool SecurityScheme::has_scopes() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.scopes_ != nullptr);
  return value;
}
inline void SecurityScheme::clear_scopes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.scopes_ != nullptr) _impl_.scopes_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::Scopes& SecurityScheme::_internal_scopes() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* p = _impl_.scopes_;
  return p != nullptr ? *p : reinterpret_cast<const ::grpc::gateway::protoc_gen_openapiv2::options::Scopes&>(::grpc::gateway::protoc_gen_openapiv2::options::_Scopes_default_instance_);
}
inline const ::grpc::gateway::protoc_gen_openapiv2::options::Scopes& SecurityScheme::scopes() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.scopes)
  return _internal_scopes();
}
inline void SecurityScheme::unsafe_arena_set_allocated_scopes(
    ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.scopes_);
  }
  _impl_.scopes_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Scopes*>(value);
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.scopes)
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NULLABLE SecurityScheme::release_scopes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  _impl_._has_bits_[0] &= ~0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* released = _impl_.scopes_;
  _impl_.scopes_ = 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 ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NULLABLE SecurityScheme::unsafe_arena_release_scopes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.scopes)

  _impl_._has_bits_[0] &= ~0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* temp = _impl_.scopes_;
  _impl_.scopes_ = nullptr;
  return temp;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NONNULL SecurityScheme::_internal_mutable_scopes() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.scopes_ == nullptr) {
    auto* p = ::google::protobuf::Message::DefaultConstruct<::grpc::gateway::protoc_gen_openapiv2::options::Scopes>(GetArena());
    _impl_.scopes_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Scopes*>(p);
  }
  return _impl_.scopes_;
}
inline ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* PROTOBUF_NONNULL SecurityScheme::mutable_scopes()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  _impl_._has_bits_[0] |= 0x00000010u;
  ::grpc::gateway::protoc_gen_openapiv2::options::Scopes* _msg = _internal_mutable_scopes();
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.scopes)
  return _msg;
}
inline void SecurityScheme::set_allocated_scopes(::grpc::gateway::protoc_gen_openapiv2::options::Scopes* 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_.scopes_);
  }

  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);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }

  _impl_.scopes_ = reinterpret_cast<::grpc::gateway::protoc_gen_openapiv2::options::Scopes*>(value);
  // @@protoc_insertion_point(field_set_allocated:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.scopes)
}

// map<string, .google.protobuf.Value> extensions = 9;
inline int SecurityScheme::_internal_extensions_size() const {
  return _internal_extensions().size();
}
inline int SecurityScheme::extensions_size() const {
  return _internal_extensions_size();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& SecurityScheme::_internal_extensions() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.extensions_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::google::protobuf::Value>& SecurityScheme::extensions() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.extensions)
  return _internal_extensions();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL SecurityScheme::_internal_mutable_extensions() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.extensions_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::google::protobuf::Value>* PROTOBUF_NONNULL SecurityScheme::mutable_extensions()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme.extensions)
  return _internal_mutable_extensions();
}

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

// SecurityRequirement_SecurityRequirementValue

// repeated string scope = 1;
inline int SecurityRequirement_SecurityRequirementValue::_internal_scope_size() const {
  return _internal_scope().size();
}
inline int SecurityRequirement_SecurityRequirementValue::scope_size() const {
  return _internal_scope_size();
}
inline void SecurityRequirement_SecurityRequirementValue::clear_scope() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.scope_.Clear();
}
inline ::std::string* PROTOBUF_NONNULL SecurityRequirement_SecurityRequirementValue::add_scope()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s = _internal_mutable_scope()->Add();
  // @@protoc_insertion_point(field_add_mutable:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue.scope)
  return _s;
}
inline const ::std::string& SecurityRequirement_SecurityRequirementValue::scope(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue.scope)
  return _internal_scope().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL SecurityRequirement_SecurityRequirementValue::mutable_scope(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue.scope)
  return _internal_mutable_scope()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void SecurityRequirement_SecurityRequirementValue::set_scope(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_scope()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue.scope)
}
template <typename Arg_, typename... Args_>
inline void SecurityRequirement_SecurityRequirementValue::add_scope(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(*_internal_mutable_scope(),
                               ::std::forward<Arg_>(value),
                               args... );
  // @@protoc_insertion_point(field_add:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue.scope)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& SecurityRequirement_SecurityRequirementValue::scope()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue.scope)
  return _internal_scope();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
SecurityRequirement_SecurityRequirementValue::mutable_scope() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_list:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue.scope)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_scope();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
SecurityRequirement_SecurityRequirementValue::_internal_scope() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.scope_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
SecurityRequirement_SecurityRequirementValue::_internal_mutable_scope() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.scope_;
}

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

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

// SecurityRequirement

// map<string, .grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue> security_requirement = 1;
inline int SecurityRequirement::_internal_security_requirement_size() const {
  return _internal_security_requirement().size();
}
inline int SecurityRequirement::security_requirement_size() const {
  return _internal_security_requirement_size();
}
inline void SecurityRequirement::clear_security_requirement() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.security_requirement_.Clear();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>& SecurityRequirement::_internal_security_requirement() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.security_requirement_.GetMap();
}
inline const ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>& SecurityRequirement::security_requirement() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.security_requirement)
  return _internal_security_requirement();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>* PROTOBUF_NONNULL SecurityRequirement::_internal_mutable_security_requirement() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.security_requirement_.MutableMap();
}
inline ::google::protobuf::Map<std::string, ::grpc::gateway::protoc_gen_openapiv2::options::SecurityRequirement_SecurityRequirementValue>* PROTOBUF_NONNULL SecurityRequirement::mutable_security_requirement()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.security_requirement)
  return _internal_mutable_security_requirement();
}

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

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

// Scopes

// map<string, string> scope = 1;
inline int Scopes::_internal_scope_size() const {
  return _internal_scope().size();
}
inline int Scopes::scope_size() const {
  return _internal_scope_size();
}
inline void Scopes::clear_scope() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.scope_.Clear();
}
inline const ::google::protobuf::Map<std::string, std::string>& Scopes::_internal_scope() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.scope_.GetMap();
}
inline const ::google::protobuf::Map<std::string, std::string>& Scopes::scope() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_map:grpc.gateway.protoc_gen_openapiv2.options.Scopes.scope)
  return _internal_scope();
}
inline ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL Scopes::_internal_mutable_scope() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.scope_.MutableMap();
}
inline ::google::protobuf::Map<std::string, std::string>* PROTOBUF_NONNULL Scopes::mutable_scope()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable_map:grpc.gateway.protoc_gen_openapiv2.options.Scopes.scope)
  return _internal_mutable_scope();
}

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

// @@protoc_insertion_point(namespace_scope)
}  // namespace options
}  // namespace protoc_gen_openapiv2
}  // namespace gateway
}  // namespace grpc


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes>() {
  return ::grpc::gateway::protoc_gen_openapiv2::options::JSONSchema_JSONSchemaSimpleTypes_descriptor();
}
template <>
struct is_proto_enum<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type>() {
  return ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Type_descriptor();
}
template <>
struct is_proto_enum<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In>() {
  return ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_In_descriptor();
}
template <>
struct is_proto_enum<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow>() {
  return ::grpc::gateway::protoc_gen_openapiv2::options::SecurityScheme_Flow_descriptor();
}
template <>
struct is_proto_enum<::grpc::gateway::protoc_gen_openapiv2::options::Scheme> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::grpc::gateway::protoc_gen_openapiv2::options::Scheme>() {
  return ::grpc::gateway::protoc_gen_openapiv2::options::Scheme_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // protoc_2dgen_2dopenapiv2_2foptions_2fopenapiv2_2eproto_2epb_2eh
