// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: gcsdk_gcmessages.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_gcsdk_5fgcmessages_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_gcsdk_5fgcmessages_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_bases.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "steammessages.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_gcsdk_5fgcmessages_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_gcsdk_5fgcmessages_2eproto {
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_gcsdk_5fgcmessages_2eproto;
class CGCToGCMsgMasterAck;
struct CGCToGCMsgMasterAckDefaultTypeInternal;
extern CGCToGCMsgMasterAckDefaultTypeInternal _CGCToGCMsgMasterAck_default_instance_;
class CGCToGCMsgMasterAck_Response;
struct CGCToGCMsgMasterAck_ResponseDefaultTypeInternal;
extern CGCToGCMsgMasterAck_ResponseDefaultTypeInternal _CGCToGCMsgMasterAck_Response_default_instance_;
class CGCToGCMsgMasterStartupComplete;
struct CGCToGCMsgMasterStartupCompleteDefaultTypeInternal;
extern CGCToGCMsgMasterStartupCompleteDefaultTypeInternal _CGCToGCMsgMasterStartupComplete_default_instance_;
class CGCToGCMsgRouted;
struct CGCToGCMsgRoutedDefaultTypeInternal;
extern CGCToGCMsgRoutedDefaultTypeInternal _CGCToGCMsgRouted_default_instance_;
class CGCToGCMsgRoutedReply;
struct CGCToGCMsgRoutedReplyDefaultTypeInternal;
extern CGCToGCMsgRoutedReplyDefaultTypeInternal _CGCToGCMsgRoutedReply_default_instance_;
class CGameServers_AggregationQuery_Request;
struct CGameServers_AggregationQuery_RequestDefaultTypeInternal;
extern CGameServers_AggregationQuery_RequestDefaultTypeInternal _CGameServers_AggregationQuery_Request_default_instance_;
class CGameServers_AggregationQuery_Response;
struct CGameServers_AggregationQuery_ResponseDefaultTypeInternal;
extern CGameServers_AggregationQuery_ResponseDefaultTypeInternal _CGameServers_AggregationQuery_Response_default_instance_;
class CGameServers_AggregationQuery_Response_Group;
struct CGameServers_AggregationQuery_Response_GroupDefaultTypeInternal;
extern CGameServers_AggregationQuery_Response_GroupDefaultTypeInternal _CGameServers_AggregationQuery_Response_Group_default_instance_;
class CMsgAccountDetails;
struct CMsgAccountDetailsDefaultTypeInternal;
extern CMsgAccountDetailsDefaultTypeInternal _CMsgAccountDetails_default_instance_;
class CMsgClientHello;
struct CMsgClientHelloDefaultTypeInternal;
extern CMsgClientHelloDefaultTypeInternal _CMsgClientHello_default_instance_;
class CMsgClientWelcome;
struct CMsgClientWelcomeDefaultTypeInternal;
extern CMsgClientWelcomeDefaultTypeInternal _CMsgClientWelcome_default_instance_;
class CMsgClientWelcome_Location;
struct CMsgClientWelcome_LocationDefaultTypeInternal;
extern CMsgClientWelcome_LocationDefaultTypeInternal _CMsgClientWelcome_Location_default_instance_;
class CMsgConnectionStatus;
struct CMsgConnectionStatusDefaultTypeInternal;
extern CMsgConnectionStatusDefaultTypeInternal _CMsgConnectionStatus_default_instance_;
class CMsgGCMultiplexMessage;
struct CMsgGCMultiplexMessageDefaultTypeInternal;
extern CMsgGCMultiplexMessageDefaultTypeInternal _CMsgGCMultiplexMessage_default_instance_;
class CMsgGCMultiplexMessage_Response;
struct CMsgGCMultiplexMessage_ResponseDefaultTypeInternal;
extern CMsgGCMultiplexMessage_ResponseDefaultTypeInternal _CMsgGCMultiplexMessage_Response_default_instance_;
class CMsgGCRequestSessionIP;
struct CMsgGCRequestSessionIPDefaultTypeInternal;
extern CMsgGCRequestSessionIPDefaultTypeInternal _CMsgGCRequestSessionIP_default_instance_;
class CMsgGCRequestSessionIPResponse;
struct CMsgGCRequestSessionIPResponseDefaultTypeInternal;
extern CMsgGCRequestSessionIPResponseDefaultTypeInternal _CMsgGCRequestSessionIPResponse_default_instance_;
class CMsgGCUpdateSessionIP;
struct CMsgGCUpdateSessionIPDefaultTypeInternal;
extern CMsgGCUpdateSessionIPDefaultTypeInternal _CMsgGCUpdateSessionIP_default_instance_;
class CMsgSOCacheHaveVersion;
struct CMsgSOCacheHaveVersionDefaultTypeInternal;
extern CMsgSOCacheHaveVersionDefaultTypeInternal _CMsgSOCacheHaveVersion_default_instance_;
class CMsgSOCacheSubscribed;
struct CMsgSOCacheSubscribedDefaultTypeInternal;
extern CMsgSOCacheSubscribedDefaultTypeInternal _CMsgSOCacheSubscribed_default_instance_;
class CMsgSOCacheSubscribed_SubscribedType;
struct CMsgSOCacheSubscribed_SubscribedTypeDefaultTypeInternal;
extern CMsgSOCacheSubscribed_SubscribedTypeDefaultTypeInternal _CMsgSOCacheSubscribed_SubscribedType_default_instance_;
class CMsgSOCacheSubscriptionCheck;
struct CMsgSOCacheSubscriptionCheckDefaultTypeInternal;
extern CMsgSOCacheSubscriptionCheckDefaultTypeInternal _CMsgSOCacheSubscriptionCheck_default_instance_;
class CMsgSOCacheSubscriptionRefresh;
struct CMsgSOCacheSubscriptionRefreshDefaultTypeInternal;
extern CMsgSOCacheSubscriptionRefreshDefaultTypeInternal _CMsgSOCacheSubscriptionRefresh_default_instance_;
class CMsgSOCacheUnsubscribed;
struct CMsgSOCacheUnsubscribedDefaultTypeInternal;
extern CMsgSOCacheUnsubscribedDefaultTypeInternal _CMsgSOCacheUnsubscribed_default_instance_;
class CMsgSOCacheVersion;
struct CMsgSOCacheVersionDefaultTypeInternal;
extern CMsgSOCacheVersionDefaultTypeInternal _CMsgSOCacheVersion_default_instance_;
class CMsgSOIDOwner;
struct CMsgSOIDOwnerDefaultTypeInternal;
extern CMsgSOIDOwnerDefaultTypeInternal _CMsgSOIDOwner_default_instance_;
class CMsgSOMultipleObjects;
struct CMsgSOMultipleObjectsDefaultTypeInternal;
extern CMsgSOMultipleObjectsDefaultTypeInternal _CMsgSOMultipleObjects_default_instance_;
class CMsgSOMultipleObjects_SingleObject;
struct CMsgSOMultipleObjects_SingleObjectDefaultTypeInternal;
extern CMsgSOMultipleObjects_SingleObjectDefaultTypeInternal _CMsgSOMultipleObjects_SingleObject_default_instance_;
class CMsgSOSingleObject;
struct CMsgSOSingleObjectDefaultTypeInternal;
extern CMsgSOSingleObjectDefaultTypeInternal _CMsgSOSingleObject_default_instance_;
class CMsgSerializedSOCache;
struct CMsgSerializedSOCacheDefaultTypeInternal;
extern CMsgSerializedSOCacheDefaultTypeInternal _CMsgSerializedSOCache_default_instance_;
class CMsgSerializedSOCache_Cache;
struct CMsgSerializedSOCache_CacheDefaultTypeInternal;
extern CMsgSerializedSOCache_CacheDefaultTypeInternal _CMsgSerializedSOCache_Cache_default_instance_;
class CMsgSerializedSOCache_Cache_Version;
struct CMsgSerializedSOCache_Cache_VersionDefaultTypeInternal;
extern CMsgSerializedSOCache_Cache_VersionDefaultTypeInternal _CMsgSerializedSOCache_Cache_Version_default_instance_;
class CMsgSerializedSOCache_TypeCache;
struct CMsgSerializedSOCache_TypeCacheDefaultTypeInternal;
extern CMsgSerializedSOCache_TypeCacheDefaultTypeInternal _CMsgSerializedSOCache_TypeCache_default_instance_;
class CMsgServerHello;
struct CMsgServerHelloDefaultTypeInternal;
extern CMsgServerHelloDefaultTypeInternal _CMsgServerHello_default_instance_;
class CProductInfo_SetRichPresenceLocalization_Request;
struct CProductInfo_SetRichPresenceLocalization_RequestDefaultTypeInternal;
extern CProductInfo_SetRichPresenceLocalization_RequestDefaultTypeInternal _CProductInfo_SetRichPresenceLocalization_Request_default_instance_;
class CProductInfo_SetRichPresenceLocalization_Request_LanguageSection;
struct CProductInfo_SetRichPresenceLocalization_Request_LanguageSectionDefaultTypeInternal;
extern CProductInfo_SetRichPresenceLocalization_Request_LanguageSectionDefaultTypeInternal _CProductInfo_SetRichPresenceLocalization_Request_LanguageSection_default_instance_;
class CProductInfo_SetRichPresenceLocalization_Request_Token;
struct CProductInfo_SetRichPresenceLocalization_Request_TokenDefaultTypeInternal;
extern CProductInfo_SetRichPresenceLocalization_Request_TokenDefaultTypeInternal _CProductInfo_SetRichPresenceLocalization_Request_Token_default_instance_;
class CProductInfo_SetRichPresenceLocalization_Response;
struct CProductInfo_SetRichPresenceLocalization_ResponseDefaultTypeInternal;
extern CProductInfo_SetRichPresenceLocalization_ResponseDefaultTypeInternal _CProductInfo_SetRichPresenceLocalization_Response_default_instance_;
class CWorkshop_AddSpecialPayment_Request;
struct CWorkshop_AddSpecialPayment_RequestDefaultTypeInternal;
extern CWorkshop_AddSpecialPayment_RequestDefaultTypeInternal _CWorkshop_AddSpecialPayment_Request_default_instance_;
class CWorkshop_AddSpecialPayment_Response;
struct CWorkshop_AddSpecialPayment_ResponseDefaultTypeInternal;
extern CWorkshop_AddSpecialPayment_ResponseDefaultTypeInternal _CWorkshop_AddSpecialPayment_Response_default_instance_;
class CWorkshop_GetContributors_Request;
struct CWorkshop_GetContributors_RequestDefaultTypeInternal;
extern CWorkshop_GetContributors_RequestDefaultTypeInternal _CWorkshop_GetContributors_Request_default_instance_;
class CWorkshop_GetContributors_Response;
struct CWorkshop_GetContributors_ResponseDefaultTypeInternal;
extern CWorkshop_GetContributors_ResponseDefaultTypeInternal _CWorkshop_GetContributors_Response_default_instance_;
class CWorkshop_PopulateItemDescriptions_Request;
struct CWorkshop_PopulateItemDescriptions_RequestDefaultTypeInternal;
extern CWorkshop_PopulateItemDescriptions_RequestDefaultTypeInternal _CWorkshop_PopulateItemDescriptions_Request_default_instance_;
class CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock;
struct CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlockDefaultTypeInternal;
extern CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlockDefaultTypeInternal _CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_default_instance_;
class CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription;
struct CWorkshop_PopulateItemDescriptions_Request_SingleItemDescriptionDefaultTypeInternal;
extern CWorkshop_PopulateItemDescriptions_Request_SingleItemDescriptionDefaultTypeInternal _CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_default_instance_;
class CWorkshop_SetItemPaymentRules_Request;
struct CWorkshop_SetItemPaymentRules_RequestDefaultTypeInternal;
extern CWorkshop_SetItemPaymentRules_RequestDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Request_default_instance_;
class CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule;
struct CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRuleDefaultTypeInternal;
extern CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRuleDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_default_instance_;
class CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule;
struct CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRuleDefaultTypeInternal;
extern CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRuleDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule_default_instance_;
class CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule;
struct CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRuleDefaultTypeInternal;
extern CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRuleDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_default_instance_;
class CWorkshop_SetItemPaymentRules_Response;
struct CWorkshop_SetItemPaymentRules_ResponseDefaultTypeInternal;
extern CWorkshop_SetItemPaymentRules_ResponseDefaultTypeInternal _CWorkshop_SetItemPaymentRules_Response_default_instance_;
PROTOBUF_NAMESPACE_OPEN
template<> ::CGCToGCMsgMasterAck* Arena::CreateMaybeMessage<::CGCToGCMsgMasterAck>(Arena*);
template<> ::CGCToGCMsgMasterAck_Response* Arena::CreateMaybeMessage<::CGCToGCMsgMasterAck_Response>(Arena*);
template<> ::CGCToGCMsgMasterStartupComplete* Arena::CreateMaybeMessage<::CGCToGCMsgMasterStartupComplete>(Arena*);
template<> ::CGCToGCMsgRouted* Arena::CreateMaybeMessage<::CGCToGCMsgRouted>(Arena*);
template<> ::CGCToGCMsgRoutedReply* Arena::CreateMaybeMessage<::CGCToGCMsgRoutedReply>(Arena*);
template<> ::CGameServers_AggregationQuery_Request* Arena::CreateMaybeMessage<::CGameServers_AggregationQuery_Request>(Arena*);
template<> ::CGameServers_AggregationQuery_Response* Arena::CreateMaybeMessage<::CGameServers_AggregationQuery_Response>(Arena*);
template<> ::CGameServers_AggregationQuery_Response_Group* Arena::CreateMaybeMessage<::CGameServers_AggregationQuery_Response_Group>(Arena*);
template<> ::CMsgAccountDetails* Arena::CreateMaybeMessage<::CMsgAccountDetails>(Arena*);
template<> ::CMsgClientHello* Arena::CreateMaybeMessage<::CMsgClientHello>(Arena*);
template<> ::CMsgClientWelcome* Arena::CreateMaybeMessage<::CMsgClientWelcome>(Arena*);
template<> ::CMsgClientWelcome_Location* Arena::CreateMaybeMessage<::CMsgClientWelcome_Location>(Arena*);
template<> ::CMsgConnectionStatus* Arena::CreateMaybeMessage<::CMsgConnectionStatus>(Arena*);
template<> ::CMsgGCMultiplexMessage* Arena::CreateMaybeMessage<::CMsgGCMultiplexMessage>(Arena*);
template<> ::CMsgGCMultiplexMessage_Response* Arena::CreateMaybeMessage<::CMsgGCMultiplexMessage_Response>(Arena*);
template<> ::CMsgGCRequestSessionIP* Arena::CreateMaybeMessage<::CMsgGCRequestSessionIP>(Arena*);
template<> ::CMsgGCRequestSessionIPResponse* Arena::CreateMaybeMessage<::CMsgGCRequestSessionIPResponse>(Arena*);
template<> ::CMsgGCUpdateSessionIP* Arena::CreateMaybeMessage<::CMsgGCUpdateSessionIP>(Arena*);
template<> ::CMsgSOCacheHaveVersion* Arena::CreateMaybeMessage<::CMsgSOCacheHaveVersion>(Arena*);
template<> ::CMsgSOCacheSubscribed* Arena::CreateMaybeMessage<::CMsgSOCacheSubscribed>(Arena*);
template<> ::CMsgSOCacheSubscribed_SubscribedType* Arena::CreateMaybeMessage<::CMsgSOCacheSubscribed_SubscribedType>(Arena*);
template<> ::CMsgSOCacheSubscriptionCheck* Arena::CreateMaybeMessage<::CMsgSOCacheSubscriptionCheck>(Arena*);
template<> ::CMsgSOCacheSubscriptionRefresh* Arena::CreateMaybeMessage<::CMsgSOCacheSubscriptionRefresh>(Arena*);
template<> ::CMsgSOCacheUnsubscribed* Arena::CreateMaybeMessage<::CMsgSOCacheUnsubscribed>(Arena*);
template<> ::CMsgSOCacheVersion* Arena::CreateMaybeMessage<::CMsgSOCacheVersion>(Arena*);
template<> ::CMsgSOIDOwner* Arena::CreateMaybeMessage<::CMsgSOIDOwner>(Arena*);
template<> ::CMsgSOMultipleObjects* Arena::CreateMaybeMessage<::CMsgSOMultipleObjects>(Arena*);
template<> ::CMsgSOMultipleObjects_SingleObject* Arena::CreateMaybeMessage<::CMsgSOMultipleObjects_SingleObject>(Arena*);
template<> ::CMsgSOSingleObject* Arena::CreateMaybeMessage<::CMsgSOSingleObject>(Arena*);
template<> ::CMsgSerializedSOCache* Arena::CreateMaybeMessage<::CMsgSerializedSOCache>(Arena*);
template<> ::CMsgSerializedSOCache_Cache* Arena::CreateMaybeMessage<::CMsgSerializedSOCache_Cache>(Arena*);
template<> ::CMsgSerializedSOCache_Cache_Version* Arena::CreateMaybeMessage<::CMsgSerializedSOCache_Cache_Version>(Arena*);
template<> ::CMsgSerializedSOCache_TypeCache* Arena::CreateMaybeMessage<::CMsgSerializedSOCache_TypeCache>(Arena*);
template<> ::CMsgServerHello* Arena::CreateMaybeMessage<::CMsgServerHello>(Arena*);
template<> ::CProductInfo_SetRichPresenceLocalization_Request* Arena::CreateMaybeMessage<::CProductInfo_SetRichPresenceLocalization_Request>(Arena*);
template<> ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* Arena::CreateMaybeMessage<::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection>(Arena*);
template<> ::CProductInfo_SetRichPresenceLocalization_Request_Token* Arena::CreateMaybeMessage<::CProductInfo_SetRichPresenceLocalization_Request_Token>(Arena*);
template<> ::CProductInfo_SetRichPresenceLocalization_Response* Arena::CreateMaybeMessage<::CProductInfo_SetRichPresenceLocalization_Response>(Arena*);
template<> ::CWorkshop_AddSpecialPayment_Request* Arena::CreateMaybeMessage<::CWorkshop_AddSpecialPayment_Request>(Arena*);
template<> ::CWorkshop_AddSpecialPayment_Response* Arena::CreateMaybeMessage<::CWorkshop_AddSpecialPayment_Response>(Arena*);
template<> ::CWorkshop_GetContributors_Request* Arena::CreateMaybeMessage<::CWorkshop_GetContributors_Request>(Arena*);
template<> ::CWorkshop_GetContributors_Response* Arena::CreateMaybeMessage<::CWorkshop_GetContributors_Response>(Arena*);
template<> ::CWorkshop_PopulateItemDescriptions_Request* Arena::CreateMaybeMessage<::CWorkshop_PopulateItemDescriptions_Request>(Arena*);
template<> ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* Arena::CreateMaybeMessage<::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock>(Arena*);
template<> ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* Arena::CreateMaybeMessage<::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription>(Arena*);
template<> ::CWorkshop_SetItemPaymentRules_Request* Arena::CreateMaybeMessage<::CWorkshop_SetItemPaymentRules_Request>(Arena*);
template<> ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* Arena::CreateMaybeMessage<::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule>(Arena*);
template<> ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* Arena::CreateMaybeMessage<::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule>(Arena*);
template<> ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* Arena::CreateMaybeMessage<::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule>(Arena*);
template<> ::CWorkshop_SetItemPaymentRules_Response* Arena::CreateMaybeMessage<::CWorkshop_SetItemPaymentRules_Response>(Arena*);
PROTOBUF_NAMESPACE_CLOSE

enum GCClientLauncherType : int {
  GCClientLauncherType_DEFAULT = 0,
  GCClientLauncherType_PERFECTWORLD = 1,
  GCClientLauncherType_STEAMCHINA = 2,
  GCClientLauncherType_SOURCE2 = 3
};
bool GCClientLauncherType_IsValid(int value);
constexpr GCClientLauncherType GCClientLauncherType_MIN = GCClientLauncherType_DEFAULT;
constexpr GCClientLauncherType GCClientLauncherType_MAX = GCClientLauncherType_SOURCE2;
constexpr int GCClientLauncherType_ARRAYSIZE = GCClientLauncherType_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GCClientLauncherType_descriptor();
template<typename T>
inline const std::string& GCClientLauncherType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, GCClientLauncherType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function GCClientLauncherType_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    GCClientLauncherType_descriptor(), enum_t_value);
}
inline bool GCClientLauncherType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GCClientLauncherType* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GCClientLauncherType>(
    GCClientLauncherType_descriptor(), name, value);
}
enum GCConnectionStatus : int {
  GCConnectionStatus_HAVE_SESSION = 0,
  GCConnectionStatus_GC_GOING_DOWN = 1,
  GCConnectionStatus_NO_SESSION = 2,
  GCConnectionStatus_NO_SESSION_IN_LOGON_QUEUE = 3,
  GCConnectionStatus_NO_STEAM = 4
};
bool GCConnectionStatus_IsValid(int value);
constexpr GCConnectionStatus GCConnectionStatus_MIN = GCConnectionStatus_HAVE_SESSION;
constexpr GCConnectionStatus GCConnectionStatus_MAX = GCConnectionStatus_NO_STEAM;
constexpr int GCConnectionStatus_ARRAYSIZE = GCConnectionStatus_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GCConnectionStatus_descriptor();
template<typename T>
inline const std::string& GCConnectionStatus_Name(T enum_t_value) {
  static_assert(::std::is_same<T, GCConnectionStatus>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function GCConnectionStatus_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    GCConnectionStatus_descriptor(), enum_t_value);
}
inline bool GCConnectionStatus_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, GCConnectionStatus* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<GCConnectionStatus>(
    GCConnectionStatus_descriptor(), name, value);
}
// ===================================================================

class CMsgSOIDOwner final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOIDOwner) */ {
 public:
  inline CMsgSOIDOwner() : CMsgSOIDOwner(nullptr) {}
  ~CMsgSOIDOwner() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOIDOwner(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOIDOwner(const CMsgSOIDOwner& from);
  CMsgSOIDOwner(CMsgSOIDOwner&& from) noexcept
    : CMsgSOIDOwner() {
    *this = ::std::move(from);
  }

  inline CMsgSOIDOwner& operator=(const CMsgSOIDOwner& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOIDOwner& operator=(CMsgSOIDOwner&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOIDOwner& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOIDOwner* internal_default_instance() {
    return reinterpret_cast<const CMsgSOIDOwner*>(
               &_CMsgSOIDOwner_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(CMsgSOIDOwner& a, CMsgSOIDOwner& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOIDOwner* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOIDOwner* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOIDOwner* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOIDOwner>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOIDOwner& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOIDOwner& from) {
    CMsgSOIDOwner::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOIDOwner* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOIDOwner";
  }
  protected:
  explicit CMsgSOIDOwner(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kIdFieldNumber = 2,
    kTypeFieldNumber = 1,
  };
  // optional uint64 id = 2;
  bool has_id() const;
  private:
  bool _internal_has_id() const;
  public:
  void clear_id();
  uint64_t id() const;
  void set_id(uint64_t value);
  private:
  uint64_t _internal_id() const;
  void _internal_set_id(uint64_t value);
  public:

  // optional uint32 type = 1;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  uint32_t type() const;
  void set_type(uint32_t value);
  private:
  uint32_t _internal_type() const;
  void _internal_set_type(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOIDOwner)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t id_;
    uint32_t type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOSingleObject final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOSingleObject) */ {
 public:
  inline CMsgSOSingleObject() : CMsgSOSingleObject(nullptr) {}
  ~CMsgSOSingleObject() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOSingleObject(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOSingleObject(const CMsgSOSingleObject& from);
  CMsgSOSingleObject(CMsgSOSingleObject&& from) noexcept
    : CMsgSOSingleObject() {
    *this = ::std::move(from);
  }

  inline CMsgSOSingleObject& operator=(const CMsgSOSingleObject& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOSingleObject& operator=(CMsgSOSingleObject&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOSingleObject& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOSingleObject* internal_default_instance() {
    return reinterpret_cast<const CMsgSOSingleObject*>(
               &_CMsgSOSingleObject_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(CMsgSOSingleObject& a, CMsgSOSingleObject& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOSingleObject* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOSingleObject* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOSingleObject* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOSingleObject>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOSingleObject& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOSingleObject& from) {
    CMsgSOSingleObject::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOSingleObject* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOSingleObject";
  }
  protected:
  explicit CMsgSOSingleObject(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kObjectDataFieldNumber = 3,
    kOwnerSoidFieldNumber = 5,
    kVersionFieldNumber = 4,
    kTypeIdFieldNumber = 2,
  };
  // optional bytes object_data = 3;
  bool has_object_data() const;
  private:
  bool _internal_has_object_data() const;
  public:
  void clear_object_data();
  const std::string& object_data() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_object_data(ArgT0&& arg0, ArgT... args);
  std::string* mutable_object_data();
  PROTOBUF_NODISCARD std::string* release_object_data();
  void set_allocated_object_data(std::string* object_data);
  private:
  const std::string& _internal_object_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_object_data(const std::string& value);
  std::string* _internal_mutable_object_data();
  public:

  // optional .CMsgSOIDOwner owner_soid = 5;
  bool has_owner_soid() const;
  private:
  bool _internal_has_owner_soid() const;
  public:
  void clear_owner_soid();
  const ::CMsgSOIDOwner& owner_soid() const;
  PROTOBUF_NODISCARD ::CMsgSOIDOwner* release_owner_soid();
  ::CMsgSOIDOwner* mutable_owner_soid();
  void set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid);
  private:
  const ::CMsgSOIDOwner& _internal_owner_soid() const;
  ::CMsgSOIDOwner* _internal_mutable_owner_soid();
  public:
  void unsafe_arena_set_allocated_owner_soid(
      ::CMsgSOIDOwner* owner_soid);
  ::CMsgSOIDOwner* unsafe_arena_release_owner_soid();

  // optional fixed64 version = 4;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint64_t version() const;
  void set_version(uint64_t value);
  private:
  uint64_t _internal_version() const;
  void _internal_set_version(uint64_t value);
  public:

  // optional int32 type_id = 2;
  bool has_type_id() const;
  private:
  bool _internal_has_type_id() const;
  public:
  void clear_type_id();
  int32_t type_id() const;
  void set_type_id(int32_t value);
  private:
  int32_t _internal_type_id() const;
  void _internal_set_type_id(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOSingleObject)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr object_data_;
    ::CMsgSOIDOwner* owner_soid_;
    uint64_t version_;
    int32_t type_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOMultipleObjects_SingleObject final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOMultipleObjects.SingleObject) */ {
 public:
  inline CMsgSOMultipleObjects_SingleObject() : CMsgSOMultipleObjects_SingleObject(nullptr) {}
  ~CMsgSOMultipleObjects_SingleObject() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOMultipleObjects_SingleObject(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOMultipleObjects_SingleObject(const CMsgSOMultipleObjects_SingleObject& from);
  CMsgSOMultipleObjects_SingleObject(CMsgSOMultipleObjects_SingleObject&& from) noexcept
    : CMsgSOMultipleObjects_SingleObject() {
    *this = ::std::move(from);
  }

  inline CMsgSOMultipleObjects_SingleObject& operator=(const CMsgSOMultipleObjects_SingleObject& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOMultipleObjects_SingleObject& operator=(CMsgSOMultipleObjects_SingleObject&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOMultipleObjects_SingleObject& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOMultipleObjects_SingleObject* internal_default_instance() {
    return reinterpret_cast<const CMsgSOMultipleObjects_SingleObject*>(
               &_CMsgSOMultipleObjects_SingleObject_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(CMsgSOMultipleObjects_SingleObject& a, CMsgSOMultipleObjects_SingleObject& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOMultipleObjects_SingleObject* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOMultipleObjects_SingleObject* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOMultipleObjects_SingleObject* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOMultipleObjects_SingleObject>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOMultipleObjects_SingleObject& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOMultipleObjects_SingleObject& from) {
    CMsgSOMultipleObjects_SingleObject::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOMultipleObjects_SingleObject* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOMultipleObjects.SingleObject";
  }
  protected:
  explicit CMsgSOMultipleObjects_SingleObject(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kObjectDataFieldNumber = 2,
    kTypeIdFieldNumber = 1,
  };
  // optional bytes object_data = 2;
  bool has_object_data() const;
  private:
  bool _internal_has_object_data() const;
  public:
  void clear_object_data();
  const std::string& object_data() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_object_data(ArgT0&& arg0, ArgT... args);
  std::string* mutable_object_data();
  PROTOBUF_NODISCARD std::string* release_object_data();
  void set_allocated_object_data(std::string* object_data);
  private:
  const std::string& _internal_object_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_object_data(const std::string& value);
  std::string* _internal_mutable_object_data();
  public:

  // optional int32 type_id = 1;
  bool has_type_id() const;
  private:
  bool _internal_has_type_id() const;
  public:
  void clear_type_id();
  int32_t type_id() const;
  void set_type_id(int32_t value);
  private:
  int32_t _internal_type_id() const;
  void _internal_set_type_id(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOMultipleObjects.SingleObject)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr object_data_;
    int32_t type_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOMultipleObjects final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOMultipleObjects) */ {
 public:
  inline CMsgSOMultipleObjects() : CMsgSOMultipleObjects(nullptr) {}
  ~CMsgSOMultipleObjects() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOMultipleObjects(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOMultipleObjects(const CMsgSOMultipleObjects& from);
  CMsgSOMultipleObjects(CMsgSOMultipleObjects&& from) noexcept
    : CMsgSOMultipleObjects() {
    *this = ::std::move(from);
  }

  inline CMsgSOMultipleObjects& operator=(const CMsgSOMultipleObjects& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOMultipleObjects& operator=(CMsgSOMultipleObjects&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOMultipleObjects& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOMultipleObjects* internal_default_instance() {
    return reinterpret_cast<const CMsgSOMultipleObjects*>(
               &_CMsgSOMultipleObjects_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(CMsgSOMultipleObjects& a, CMsgSOMultipleObjects& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOMultipleObjects* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOMultipleObjects* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOMultipleObjects* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOMultipleObjects>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOMultipleObjects& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOMultipleObjects& from) {
    CMsgSOMultipleObjects::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOMultipleObjects* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOMultipleObjects";
  }
  protected:
  explicit CMsgSOMultipleObjects(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CMsgSOMultipleObjects_SingleObject SingleObject;

  // accessors -------------------------------------------------------

  enum : int {
    kObjectsModifiedFieldNumber = 2,
    kOwnerSoidFieldNumber = 6,
    kVersionFieldNumber = 3,
  };
  // repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2;
  int objects_modified_size() const;
  private:
  int _internal_objects_modified_size() const;
  public:
  void clear_objects_modified();
  ::CMsgSOMultipleObjects_SingleObject* mutable_objects_modified(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOMultipleObjects_SingleObject >*
      mutable_objects_modified();
  private:
  const ::CMsgSOMultipleObjects_SingleObject& _internal_objects_modified(int index) const;
  ::CMsgSOMultipleObjects_SingleObject* _internal_add_objects_modified();
  public:
  const ::CMsgSOMultipleObjects_SingleObject& objects_modified(int index) const;
  ::CMsgSOMultipleObjects_SingleObject* add_objects_modified();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOMultipleObjects_SingleObject >&
      objects_modified() const;

  // optional .CMsgSOIDOwner owner_soid = 6;
  bool has_owner_soid() const;
  private:
  bool _internal_has_owner_soid() const;
  public:
  void clear_owner_soid();
  const ::CMsgSOIDOwner& owner_soid() const;
  PROTOBUF_NODISCARD ::CMsgSOIDOwner* release_owner_soid();
  ::CMsgSOIDOwner* mutable_owner_soid();
  void set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid);
  private:
  const ::CMsgSOIDOwner& _internal_owner_soid() const;
  ::CMsgSOIDOwner* _internal_mutable_owner_soid();
  public:
  void unsafe_arena_set_allocated_owner_soid(
      ::CMsgSOIDOwner* owner_soid);
  ::CMsgSOIDOwner* unsafe_arena_release_owner_soid();

  // optional fixed64 version = 3;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint64_t version() const;
  void set_version(uint64_t value);
  private:
  uint64_t _internal_version() const;
  void _internal_set_version(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOMultipleObjects)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOMultipleObjects_SingleObject > objects_modified_;
    ::CMsgSOIDOwner* owner_soid_;
    uint64_t version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOCacheSubscribed_SubscribedType final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOCacheSubscribed.SubscribedType) */ {
 public:
  inline CMsgSOCacheSubscribed_SubscribedType() : CMsgSOCacheSubscribed_SubscribedType(nullptr) {}
  ~CMsgSOCacheSubscribed_SubscribedType() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOCacheSubscribed_SubscribedType(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOCacheSubscribed_SubscribedType(const CMsgSOCacheSubscribed_SubscribedType& from);
  CMsgSOCacheSubscribed_SubscribedType(CMsgSOCacheSubscribed_SubscribedType&& from) noexcept
    : CMsgSOCacheSubscribed_SubscribedType() {
    *this = ::std::move(from);
  }

  inline CMsgSOCacheSubscribed_SubscribedType& operator=(const CMsgSOCacheSubscribed_SubscribedType& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOCacheSubscribed_SubscribedType& operator=(CMsgSOCacheSubscribed_SubscribedType&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOCacheSubscribed_SubscribedType& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOCacheSubscribed_SubscribedType* internal_default_instance() {
    return reinterpret_cast<const CMsgSOCacheSubscribed_SubscribedType*>(
               &_CMsgSOCacheSubscribed_SubscribedType_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(CMsgSOCacheSubscribed_SubscribedType& a, CMsgSOCacheSubscribed_SubscribedType& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOCacheSubscribed_SubscribedType* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOCacheSubscribed_SubscribedType* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOCacheSubscribed_SubscribedType* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOCacheSubscribed_SubscribedType>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOCacheSubscribed_SubscribedType& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOCacheSubscribed_SubscribedType& from) {
    CMsgSOCacheSubscribed_SubscribedType::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOCacheSubscribed_SubscribedType* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOCacheSubscribed.SubscribedType";
  }
  protected:
  explicit CMsgSOCacheSubscribed_SubscribedType(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kObjectDataFieldNumber = 2,
    kTypeIdFieldNumber = 1,
  };
  // repeated bytes object_data = 2;
  int object_data_size() const;
  private:
  int _internal_object_data_size() const;
  public:
  void clear_object_data();
  const std::string& object_data(int index) const;
  std::string* mutable_object_data(int index);
  void set_object_data(int index, const std::string& value);
  void set_object_data(int index, std::string&& value);
  void set_object_data(int index, const char* value);
  void set_object_data(int index, const void* value, size_t size);
  std::string* add_object_data();
  void add_object_data(const std::string& value);
  void add_object_data(std::string&& value);
  void add_object_data(const char* value);
  void add_object_data(const void* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& object_data() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_object_data();
  private:
  const std::string& _internal_object_data(int index) const;
  std::string* _internal_add_object_data();
  public:

  // optional int32 type_id = 1;
  bool has_type_id() const;
  private:
  bool _internal_has_type_id() const;
  public:
  void clear_type_id();
  int32_t type_id() const;
  void set_type_id(int32_t value);
  private:
  int32_t _internal_type_id() const;
  void _internal_set_type_id(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOCacheSubscribed.SubscribedType)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> object_data_;
    int32_t type_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOCacheSubscribed final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOCacheSubscribed) */ {
 public:
  inline CMsgSOCacheSubscribed() : CMsgSOCacheSubscribed(nullptr) {}
  ~CMsgSOCacheSubscribed() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOCacheSubscribed(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOCacheSubscribed(const CMsgSOCacheSubscribed& from);
  CMsgSOCacheSubscribed(CMsgSOCacheSubscribed&& from) noexcept
    : CMsgSOCacheSubscribed() {
    *this = ::std::move(from);
  }

  inline CMsgSOCacheSubscribed& operator=(const CMsgSOCacheSubscribed& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOCacheSubscribed& operator=(CMsgSOCacheSubscribed&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOCacheSubscribed& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOCacheSubscribed* internal_default_instance() {
    return reinterpret_cast<const CMsgSOCacheSubscribed*>(
               &_CMsgSOCacheSubscribed_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(CMsgSOCacheSubscribed& a, CMsgSOCacheSubscribed& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOCacheSubscribed* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOCacheSubscribed* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOCacheSubscribed* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOCacheSubscribed>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOCacheSubscribed& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOCacheSubscribed& from) {
    CMsgSOCacheSubscribed::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOCacheSubscribed* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOCacheSubscribed";
  }
  protected:
  explicit CMsgSOCacheSubscribed(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CMsgSOCacheSubscribed_SubscribedType SubscribedType;

  // accessors -------------------------------------------------------

  enum : int {
    kObjectsFieldNumber = 2,
    kOwnerSoidFieldNumber = 4,
    kVersionFieldNumber = 3,
  };
  // repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2;
  int objects_size() const;
  private:
  int _internal_objects_size() const;
  public:
  void clear_objects();
  ::CMsgSOCacheSubscribed_SubscribedType* mutable_objects(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed_SubscribedType >*
      mutable_objects();
  private:
  const ::CMsgSOCacheSubscribed_SubscribedType& _internal_objects(int index) const;
  ::CMsgSOCacheSubscribed_SubscribedType* _internal_add_objects();
  public:
  const ::CMsgSOCacheSubscribed_SubscribedType& objects(int index) const;
  ::CMsgSOCacheSubscribed_SubscribedType* add_objects();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed_SubscribedType >&
      objects() const;

  // optional .CMsgSOIDOwner owner_soid = 4;
  bool has_owner_soid() const;
  private:
  bool _internal_has_owner_soid() const;
  public:
  void clear_owner_soid();
  const ::CMsgSOIDOwner& owner_soid() const;
  PROTOBUF_NODISCARD ::CMsgSOIDOwner* release_owner_soid();
  ::CMsgSOIDOwner* mutable_owner_soid();
  void set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid);
  private:
  const ::CMsgSOIDOwner& _internal_owner_soid() const;
  ::CMsgSOIDOwner* _internal_mutable_owner_soid();
  public:
  void unsafe_arena_set_allocated_owner_soid(
      ::CMsgSOIDOwner* owner_soid);
  ::CMsgSOIDOwner* unsafe_arena_release_owner_soid();

  // optional fixed64 version = 3;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint64_t version() const;
  void set_version(uint64_t value);
  private:
  uint64_t _internal_version() const;
  void _internal_set_version(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOCacheSubscribed)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed_SubscribedType > objects_;
    ::CMsgSOIDOwner* owner_soid_;
    uint64_t version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOCacheUnsubscribed final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOCacheUnsubscribed) */ {
 public:
  inline CMsgSOCacheUnsubscribed() : CMsgSOCacheUnsubscribed(nullptr) {}
  ~CMsgSOCacheUnsubscribed() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOCacheUnsubscribed(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOCacheUnsubscribed(const CMsgSOCacheUnsubscribed& from);
  CMsgSOCacheUnsubscribed(CMsgSOCacheUnsubscribed&& from) noexcept
    : CMsgSOCacheUnsubscribed() {
    *this = ::std::move(from);
  }

  inline CMsgSOCacheUnsubscribed& operator=(const CMsgSOCacheUnsubscribed& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOCacheUnsubscribed& operator=(CMsgSOCacheUnsubscribed&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOCacheUnsubscribed& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOCacheUnsubscribed* internal_default_instance() {
    return reinterpret_cast<const CMsgSOCacheUnsubscribed*>(
               &_CMsgSOCacheUnsubscribed_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  friend void swap(CMsgSOCacheUnsubscribed& a, CMsgSOCacheUnsubscribed& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOCacheUnsubscribed* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOCacheUnsubscribed* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOCacheUnsubscribed* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOCacheUnsubscribed>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOCacheUnsubscribed& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOCacheUnsubscribed& from) {
    CMsgSOCacheUnsubscribed::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOCacheUnsubscribed* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOCacheUnsubscribed";
  }
  protected:
  explicit CMsgSOCacheUnsubscribed(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kOwnerSoidFieldNumber = 2,
  };
  // optional .CMsgSOIDOwner owner_soid = 2;
  bool has_owner_soid() const;
  private:
  bool _internal_has_owner_soid() const;
  public:
  void clear_owner_soid();
  const ::CMsgSOIDOwner& owner_soid() const;
  PROTOBUF_NODISCARD ::CMsgSOIDOwner* release_owner_soid();
  ::CMsgSOIDOwner* mutable_owner_soid();
  void set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid);
  private:
  const ::CMsgSOIDOwner& _internal_owner_soid() const;
  ::CMsgSOIDOwner* _internal_mutable_owner_soid();
  public:
  void unsafe_arena_set_allocated_owner_soid(
      ::CMsgSOIDOwner* owner_soid);
  ::CMsgSOIDOwner* unsafe_arena_release_owner_soid();

  // @@protoc_insertion_point(class_scope:CMsgSOCacheUnsubscribed)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::CMsgSOIDOwner* owner_soid_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOCacheSubscriptionCheck final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOCacheSubscriptionCheck) */ {
 public:
  inline CMsgSOCacheSubscriptionCheck() : CMsgSOCacheSubscriptionCheck(nullptr) {}
  ~CMsgSOCacheSubscriptionCheck() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOCacheSubscriptionCheck(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOCacheSubscriptionCheck(const CMsgSOCacheSubscriptionCheck& from);
  CMsgSOCacheSubscriptionCheck(CMsgSOCacheSubscriptionCheck&& from) noexcept
    : CMsgSOCacheSubscriptionCheck() {
    *this = ::std::move(from);
  }

  inline CMsgSOCacheSubscriptionCheck& operator=(const CMsgSOCacheSubscriptionCheck& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOCacheSubscriptionCheck& operator=(CMsgSOCacheSubscriptionCheck&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOCacheSubscriptionCheck& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOCacheSubscriptionCheck* internal_default_instance() {
    return reinterpret_cast<const CMsgSOCacheSubscriptionCheck*>(
               &_CMsgSOCacheSubscriptionCheck_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  friend void swap(CMsgSOCacheSubscriptionCheck& a, CMsgSOCacheSubscriptionCheck& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOCacheSubscriptionCheck* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOCacheSubscriptionCheck* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOCacheSubscriptionCheck* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOCacheSubscriptionCheck>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOCacheSubscriptionCheck& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOCacheSubscriptionCheck& from) {
    CMsgSOCacheSubscriptionCheck::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOCacheSubscriptionCheck* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOCacheSubscriptionCheck";
  }
  protected:
  explicit CMsgSOCacheSubscriptionCheck(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kOwnerSoidFieldNumber = 3,
    kVersionFieldNumber = 2,
  };
  // optional .CMsgSOIDOwner owner_soid = 3;
  bool has_owner_soid() const;
  private:
  bool _internal_has_owner_soid() const;
  public:
  void clear_owner_soid();
  const ::CMsgSOIDOwner& owner_soid() const;
  PROTOBUF_NODISCARD ::CMsgSOIDOwner* release_owner_soid();
  ::CMsgSOIDOwner* mutable_owner_soid();
  void set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid);
  private:
  const ::CMsgSOIDOwner& _internal_owner_soid() const;
  ::CMsgSOIDOwner* _internal_mutable_owner_soid();
  public:
  void unsafe_arena_set_allocated_owner_soid(
      ::CMsgSOIDOwner* owner_soid);
  ::CMsgSOIDOwner* unsafe_arena_release_owner_soid();

  // optional fixed64 version = 2;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint64_t version() const;
  void set_version(uint64_t value);
  private:
  uint64_t _internal_version() const;
  void _internal_set_version(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOCacheSubscriptionCheck)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::CMsgSOIDOwner* owner_soid_;
    uint64_t version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOCacheSubscriptionRefresh final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOCacheSubscriptionRefresh) */ {
 public:
  inline CMsgSOCacheSubscriptionRefresh() : CMsgSOCacheSubscriptionRefresh(nullptr) {}
  ~CMsgSOCacheSubscriptionRefresh() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOCacheSubscriptionRefresh(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOCacheSubscriptionRefresh(const CMsgSOCacheSubscriptionRefresh& from);
  CMsgSOCacheSubscriptionRefresh(CMsgSOCacheSubscriptionRefresh&& from) noexcept
    : CMsgSOCacheSubscriptionRefresh() {
    *this = ::std::move(from);
  }

  inline CMsgSOCacheSubscriptionRefresh& operator=(const CMsgSOCacheSubscriptionRefresh& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOCacheSubscriptionRefresh& operator=(CMsgSOCacheSubscriptionRefresh&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOCacheSubscriptionRefresh& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOCacheSubscriptionRefresh* internal_default_instance() {
    return reinterpret_cast<const CMsgSOCacheSubscriptionRefresh*>(
               &_CMsgSOCacheSubscriptionRefresh_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  friend void swap(CMsgSOCacheSubscriptionRefresh& a, CMsgSOCacheSubscriptionRefresh& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOCacheSubscriptionRefresh* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOCacheSubscriptionRefresh* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOCacheSubscriptionRefresh* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOCacheSubscriptionRefresh>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOCacheSubscriptionRefresh& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOCacheSubscriptionRefresh& from) {
    CMsgSOCacheSubscriptionRefresh::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOCacheSubscriptionRefresh* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOCacheSubscriptionRefresh";
  }
  protected:
  explicit CMsgSOCacheSubscriptionRefresh(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kOwnerSoidFieldNumber = 2,
  };
  // optional .CMsgSOIDOwner owner_soid = 2;
  bool has_owner_soid() const;
  private:
  bool _internal_has_owner_soid() const;
  public:
  void clear_owner_soid();
  const ::CMsgSOIDOwner& owner_soid() const;
  PROTOBUF_NODISCARD ::CMsgSOIDOwner* release_owner_soid();
  ::CMsgSOIDOwner* mutable_owner_soid();
  void set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid);
  private:
  const ::CMsgSOIDOwner& _internal_owner_soid() const;
  ::CMsgSOIDOwner* _internal_mutable_owner_soid();
  public:
  void unsafe_arena_set_allocated_owner_soid(
      ::CMsgSOIDOwner* owner_soid);
  ::CMsgSOIDOwner* unsafe_arena_release_owner_soid();

  // @@protoc_insertion_point(class_scope:CMsgSOCacheSubscriptionRefresh)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::CMsgSOIDOwner* owner_soid_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOCacheVersion final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOCacheVersion) */ {
 public:
  inline CMsgSOCacheVersion() : CMsgSOCacheVersion(nullptr) {}
  ~CMsgSOCacheVersion() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOCacheVersion(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOCacheVersion(const CMsgSOCacheVersion& from);
  CMsgSOCacheVersion(CMsgSOCacheVersion&& from) noexcept
    : CMsgSOCacheVersion() {
    *this = ::std::move(from);
  }

  inline CMsgSOCacheVersion& operator=(const CMsgSOCacheVersion& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOCacheVersion& operator=(CMsgSOCacheVersion&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOCacheVersion& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOCacheVersion* internal_default_instance() {
    return reinterpret_cast<const CMsgSOCacheVersion*>(
               &_CMsgSOCacheVersion_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  friend void swap(CMsgSOCacheVersion& a, CMsgSOCacheVersion& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOCacheVersion* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOCacheVersion* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOCacheVersion* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOCacheVersion>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOCacheVersion& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOCacheVersion& from) {
    CMsgSOCacheVersion::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOCacheVersion* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOCacheVersion";
  }
  protected:
  explicit CMsgSOCacheVersion(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kVersionFieldNumber = 1,
  };
  // optional fixed64 version = 1;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint64_t version() const;
  void set_version(uint64_t value);
  private:
  uint64_t _internal_version() const;
  void _internal_set_version(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOCacheVersion)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgAccountDetails final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgAccountDetails) */ {
 public:
  inline CMsgAccountDetails() : CMsgAccountDetails(nullptr) {}
  ~CMsgAccountDetails() override;
  explicit PROTOBUF_CONSTEXPR CMsgAccountDetails(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgAccountDetails(const CMsgAccountDetails& from);
  CMsgAccountDetails(CMsgAccountDetails&& from) noexcept
    : CMsgAccountDetails() {
    *this = ::std::move(from);
  }

  inline CMsgAccountDetails& operator=(const CMsgAccountDetails& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgAccountDetails& operator=(CMsgAccountDetails&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgAccountDetails& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgAccountDetails* internal_default_instance() {
    return reinterpret_cast<const CMsgAccountDetails*>(
               &_CMsgAccountDetails_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  friend void swap(CMsgAccountDetails& a, CMsgAccountDetails& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgAccountDetails* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgAccountDetails* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgAccountDetails* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgAccountDetails>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgAccountDetails& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgAccountDetails& from) {
    CMsgAccountDetails::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgAccountDetails* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgAccountDetails";
  }
  protected:
  explicit CMsgAccountDetails(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kAccountNameFieldNumber = 2,
    kValidFieldNumber = 1,
    kPublicProfileFieldNumber = 4,
    kPublicInventoryFieldNumber = 5,
    kVacBannedFieldNumber = 6,
    kCyberCafeFieldNumber = 7,
    kSchoolAccountFieldNumber = 8,
    kFreeTrialAccountFieldNumber = 9,
    kSubscribedFieldNumber = 10,
    kLowViolenceFieldNumber = 11,
    kLimitedFieldNumber = 12,
    kTrustedFieldNumber = 13,
    kAccountLockedFieldNumber = 16,
    kPackageFieldNumber = 14,
    kTimeCachedFieldNumber = 15,
    kCommunityBannedFieldNumber = 17,
    kTradeBannedFieldNumber = 18,
    kEligibleForCommunityMarketFieldNumber = 19,
  };
  // optional string account_name = 2;
  bool has_account_name() const;
  private:
  bool _internal_has_account_name() const;
  public:
  void clear_account_name();
  const std::string& account_name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_account_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_account_name();
  PROTOBUF_NODISCARD std::string* release_account_name();
  void set_allocated_account_name(std::string* account_name);
  private:
  const std::string& _internal_account_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_account_name(const std::string& value);
  std::string* _internal_mutable_account_name();
  public:

  // optional bool valid = 1;
  bool has_valid() const;
  private:
  bool _internal_has_valid() const;
  public:
  void clear_valid();
  bool valid() const;
  void set_valid(bool value);
  private:
  bool _internal_valid() const;
  void _internal_set_valid(bool value);
  public:

  // optional bool public_profile = 4;
  bool has_public_profile() const;
  private:
  bool _internal_has_public_profile() const;
  public:
  void clear_public_profile();
  bool public_profile() const;
  void set_public_profile(bool value);
  private:
  bool _internal_public_profile() const;
  void _internal_set_public_profile(bool value);
  public:

  // optional bool public_inventory = 5;
  bool has_public_inventory() const;
  private:
  bool _internal_has_public_inventory() const;
  public:
  void clear_public_inventory();
  bool public_inventory() const;
  void set_public_inventory(bool value);
  private:
  bool _internal_public_inventory() const;
  void _internal_set_public_inventory(bool value);
  public:

  // optional bool vac_banned = 6;
  bool has_vac_banned() const;
  private:
  bool _internal_has_vac_banned() const;
  public:
  void clear_vac_banned();
  bool vac_banned() const;
  void set_vac_banned(bool value);
  private:
  bool _internal_vac_banned() const;
  void _internal_set_vac_banned(bool value);
  public:

  // optional bool cyber_cafe = 7;
  bool has_cyber_cafe() const;
  private:
  bool _internal_has_cyber_cafe() const;
  public:
  void clear_cyber_cafe();
  bool cyber_cafe() const;
  void set_cyber_cafe(bool value);
  private:
  bool _internal_cyber_cafe() const;
  void _internal_set_cyber_cafe(bool value);
  public:

  // optional bool school_account = 8;
  bool has_school_account() const;
  private:
  bool _internal_has_school_account() const;
  public:
  void clear_school_account();
  bool school_account() const;
  void set_school_account(bool value);
  private:
  bool _internal_school_account() const;
  void _internal_set_school_account(bool value);
  public:

  // optional bool free_trial_account = 9;
  bool has_free_trial_account() const;
  private:
  bool _internal_has_free_trial_account() const;
  public:
  void clear_free_trial_account();
  bool free_trial_account() const;
  void set_free_trial_account(bool value);
  private:
  bool _internal_free_trial_account() const;
  void _internal_set_free_trial_account(bool value);
  public:

  // optional bool subscribed = 10;
  bool has_subscribed() const;
  private:
  bool _internal_has_subscribed() const;
  public:
  void clear_subscribed();
  bool subscribed() const;
  void set_subscribed(bool value);
  private:
  bool _internal_subscribed() const;
  void _internal_set_subscribed(bool value);
  public:

  // optional bool low_violence = 11;
  bool has_low_violence() const;
  private:
  bool _internal_has_low_violence() const;
  public:
  void clear_low_violence();
  bool low_violence() const;
  void set_low_violence(bool value);
  private:
  bool _internal_low_violence() const;
  void _internal_set_low_violence(bool value);
  public:

  // optional bool limited = 12;
  bool has_limited() const;
  private:
  bool _internal_has_limited() const;
  public:
  void clear_limited();
  bool limited() const;
  void set_limited(bool value);
  private:
  bool _internal_limited() const;
  void _internal_set_limited(bool value);
  public:

  // optional bool trusted = 13;
  bool has_trusted() const;
  private:
  bool _internal_has_trusted() const;
  public:
  void clear_trusted();
  bool trusted() const;
  void set_trusted(bool value);
  private:
  bool _internal_trusted() const;
  void _internal_set_trusted(bool value);
  public:

  // optional bool account_locked = 16;
  bool has_account_locked() const;
  private:
  bool _internal_has_account_locked() const;
  public:
  void clear_account_locked();
  bool account_locked() const;
  void set_account_locked(bool value);
  private:
  bool _internal_account_locked() const;
  void _internal_set_account_locked(bool value);
  public:

  // optional uint32 package = 14;
  bool has_package() const;
  private:
  bool _internal_has_package() const;
  public:
  void clear_package();
  uint32_t package() const;
  void set_package(uint32_t value);
  private:
  uint32_t _internal_package() const;
  void _internal_set_package(uint32_t value);
  public:

  // optional fixed32 time_cached = 15;
  bool has_time_cached() const;
  private:
  bool _internal_has_time_cached() const;
  public:
  void clear_time_cached();
  uint32_t time_cached() const;
  void set_time_cached(uint32_t value);
  private:
  uint32_t _internal_time_cached() const;
  void _internal_set_time_cached(uint32_t value);
  public:

  // optional bool community_banned = 17;
  bool has_community_banned() const;
  private:
  bool _internal_has_community_banned() const;
  public:
  void clear_community_banned();
  bool community_banned() const;
  void set_community_banned(bool value);
  private:
  bool _internal_community_banned() const;
  void _internal_set_community_banned(bool value);
  public:

  // optional bool trade_banned = 18;
  bool has_trade_banned() const;
  private:
  bool _internal_has_trade_banned() const;
  public:
  void clear_trade_banned();
  bool trade_banned() const;
  void set_trade_banned(bool value);
  private:
  bool _internal_trade_banned() const;
  void _internal_set_trade_banned(bool value);
  public:

  // optional bool eligible_for_community_market = 19;
  bool has_eligible_for_community_market() const;
  private:
  bool _internal_has_eligible_for_community_market() const;
  public:
  void clear_eligible_for_community_market();
  bool eligible_for_community_market() const;
  void set_eligible_for_community_market(bool value);
  private:
  bool _internal_eligible_for_community_market() const;
  void _internal_set_eligible_for_community_market(bool value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgAccountDetails)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr account_name_;
    bool valid_;
    bool public_profile_;
    bool public_inventory_;
    bool vac_banned_;
    bool cyber_cafe_;
    bool school_account_;
    bool free_trial_account_;
    bool subscribed_;
    bool low_violence_;
    bool limited_;
    bool trusted_;
    bool account_locked_;
    uint32_t package_;
    uint32_t time_cached_;
    bool community_banned_;
    bool trade_banned_;
    bool eligible_for_community_market_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgGCMultiplexMessage final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgGCMultiplexMessage) */ {
 public:
  inline CMsgGCMultiplexMessage() : CMsgGCMultiplexMessage(nullptr) {}
  ~CMsgGCMultiplexMessage() override;
  explicit PROTOBUF_CONSTEXPR CMsgGCMultiplexMessage(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgGCMultiplexMessage(const CMsgGCMultiplexMessage& from);
  CMsgGCMultiplexMessage(CMsgGCMultiplexMessage&& from) noexcept
    : CMsgGCMultiplexMessage() {
    *this = ::std::move(from);
  }

  inline CMsgGCMultiplexMessage& operator=(const CMsgGCMultiplexMessage& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgGCMultiplexMessage& operator=(CMsgGCMultiplexMessage&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgGCMultiplexMessage& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgGCMultiplexMessage* internal_default_instance() {
    return reinterpret_cast<const CMsgGCMultiplexMessage*>(
               &_CMsgGCMultiplexMessage_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  friend void swap(CMsgGCMultiplexMessage& a, CMsgGCMultiplexMessage& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgGCMultiplexMessage* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgGCMultiplexMessage* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgGCMultiplexMessage* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgGCMultiplexMessage>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgGCMultiplexMessage& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgGCMultiplexMessage& from) {
    CMsgGCMultiplexMessage::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgGCMultiplexMessage* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgGCMultiplexMessage";
  }
  protected:
  explicit CMsgGCMultiplexMessage(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSteamidsFieldNumber = 3,
    kPayloadFieldNumber = 2,
    kMsgtypeFieldNumber = 1,
    kReplytogcFieldNumber = 4,
  };
  // repeated fixed64 steamids = 3;
  int steamids_size() const;
  private:
  int _internal_steamids_size() const;
  public:
  void clear_steamids();
  private:
  uint64_t _internal_steamids(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >&
      _internal_steamids() const;
  void _internal_add_steamids(uint64_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >*
      _internal_mutable_steamids();
  public:
  uint64_t steamids(int index) const;
  void set_steamids(int index, uint64_t value);
  void add_steamids(uint64_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >&
      steamids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >*
      mutable_steamids();

  // optional bytes payload = 2;
  bool has_payload() const;
  private:
  bool _internal_has_payload() const;
  public:
  void clear_payload();
  const std::string& payload() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_payload(ArgT0&& arg0, ArgT... args);
  std::string* mutable_payload();
  PROTOBUF_NODISCARD std::string* release_payload();
  void set_allocated_payload(std::string* payload);
  private:
  const std::string& _internal_payload() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_payload(const std::string& value);
  std::string* _internal_mutable_payload();
  public:

  // optional uint32 msgtype = 1;
  bool has_msgtype() const;
  private:
  bool _internal_has_msgtype() const;
  public:
  void clear_msgtype();
  uint32_t msgtype() const;
  void set_msgtype(uint32_t value);
  private:
  uint32_t _internal_msgtype() const;
  void _internal_set_msgtype(uint32_t value);
  public:

  // optional bool replytogc = 4;
  bool has_replytogc() const;
  private:
  bool _internal_has_replytogc() const;
  public:
  void clear_replytogc();
  bool replytogc() const;
  void set_replytogc(bool value);
  private:
  bool _internal_replytogc() const;
  void _internal_set_replytogc(bool value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgGCMultiplexMessage)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > steamids_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr payload_;
    uint32_t msgtype_;
    bool replytogc_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgGCMultiplexMessage_Response final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgGCMultiplexMessage_Response) */ {
 public:
  inline CMsgGCMultiplexMessage_Response() : CMsgGCMultiplexMessage_Response(nullptr) {}
  ~CMsgGCMultiplexMessage_Response() override;
  explicit PROTOBUF_CONSTEXPR CMsgGCMultiplexMessage_Response(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgGCMultiplexMessage_Response(const CMsgGCMultiplexMessage_Response& from);
  CMsgGCMultiplexMessage_Response(CMsgGCMultiplexMessage_Response&& from) noexcept
    : CMsgGCMultiplexMessage_Response() {
    *this = ::std::move(from);
  }

  inline CMsgGCMultiplexMessage_Response& operator=(const CMsgGCMultiplexMessage_Response& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgGCMultiplexMessage_Response& operator=(CMsgGCMultiplexMessage_Response&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgGCMultiplexMessage_Response& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgGCMultiplexMessage_Response* internal_default_instance() {
    return reinterpret_cast<const CMsgGCMultiplexMessage_Response*>(
               &_CMsgGCMultiplexMessage_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  friend void swap(CMsgGCMultiplexMessage_Response& a, CMsgGCMultiplexMessage_Response& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgGCMultiplexMessage_Response* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgGCMultiplexMessage_Response* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgGCMultiplexMessage_Response* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgGCMultiplexMessage_Response>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgGCMultiplexMessage_Response& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgGCMultiplexMessage_Response& from) {
    CMsgGCMultiplexMessage_Response::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgGCMultiplexMessage_Response* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgGCMultiplexMessage_Response";
  }
  protected:
  explicit CMsgGCMultiplexMessage_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kMsgtypeFieldNumber = 1,
  };
  // optional uint32 msgtype = 1;
  bool has_msgtype() const;
  private:
  bool _internal_has_msgtype() const;
  public:
  void clear_msgtype();
  uint32_t msgtype() const;
  void set_msgtype(uint32_t value);
  private:
  uint32_t _internal_msgtype() const;
  void _internal_set_msgtype(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgGCMultiplexMessage_Response)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint32_t msgtype_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CGCToGCMsgMasterAck final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CGCToGCMsgMasterAck) */ {
 public:
  inline CGCToGCMsgMasterAck() : CGCToGCMsgMasterAck(nullptr) {}
  ~CGCToGCMsgMasterAck() override;
  explicit PROTOBUF_CONSTEXPR CGCToGCMsgMasterAck(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CGCToGCMsgMasterAck(const CGCToGCMsgMasterAck& from);
  CGCToGCMsgMasterAck(CGCToGCMsgMasterAck&& from) noexcept
    : CGCToGCMsgMasterAck() {
    *this = ::std::move(from);
  }

  inline CGCToGCMsgMasterAck& operator=(const CGCToGCMsgMasterAck& from) {
    CopyFrom(from);
    return *this;
  }
  inline CGCToGCMsgMasterAck& operator=(CGCToGCMsgMasterAck&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CGCToGCMsgMasterAck& default_instance() {
    return *internal_default_instance();
  }
  static inline const CGCToGCMsgMasterAck* internal_default_instance() {
    return reinterpret_cast<const CGCToGCMsgMasterAck*>(
               &_CGCToGCMsgMasterAck_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  friend void swap(CGCToGCMsgMasterAck& a, CGCToGCMsgMasterAck& b) {
    a.Swap(&b);
  }
  inline void Swap(CGCToGCMsgMasterAck* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CGCToGCMsgMasterAck* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CGCToGCMsgMasterAck* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CGCToGCMsgMasterAck>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CGCToGCMsgMasterAck& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CGCToGCMsgMasterAck& from) {
    CGCToGCMsgMasterAck::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CGCToGCMsgMasterAck* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CGCToGCMsgMasterAck";
  }
  protected:
  explicit CGCToGCMsgMasterAck(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDirIndexFieldNumber = 1,
    kGcTypeFieldNumber = 2,
  };
  // optional uint32 dir_index = 1;
  bool has_dir_index() const;
  private:
  bool _internal_has_dir_index() const;
  public:
  void clear_dir_index();
  uint32_t dir_index() const;
  void set_dir_index(uint32_t value);
  private:
  uint32_t _internal_dir_index() const;
  void _internal_set_dir_index(uint32_t value);
  public:

  // optional uint32 gc_type = 2;
  bool has_gc_type() const;
  private:
  bool _internal_has_gc_type() const;
  public:
  void clear_gc_type();
  uint32_t gc_type() const;
  void set_gc_type(uint32_t value);
  private:
  uint32_t _internal_gc_type() const;
  void _internal_set_gc_type(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CGCToGCMsgMasterAck)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint32_t dir_index_;
    uint32_t gc_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CGCToGCMsgMasterAck_Response final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CGCToGCMsgMasterAck_Response) */ {
 public:
  inline CGCToGCMsgMasterAck_Response() : CGCToGCMsgMasterAck_Response(nullptr) {}
  ~CGCToGCMsgMasterAck_Response() override;
  explicit PROTOBUF_CONSTEXPR CGCToGCMsgMasterAck_Response(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CGCToGCMsgMasterAck_Response(const CGCToGCMsgMasterAck_Response& from);
  CGCToGCMsgMasterAck_Response(CGCToGCMsgMasterAck_Response&& from) noexcept
    : CGCToGCMsgMasterAck_Response() {
    *this = ::std::move(from);
  }

  inline CGCToGCMsgMasterAck_Response& operator=(const CGCToGCMsgMasterAck_Response& from) {
    CopyFrom(from);
    return *this;
  }
  inline CGCToGCMsgMasterAck_Response& operator=(CGCToGCMsgMasterAck_Response&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CGCToGCMsgMasterAck_Response& default_instance() {
    return *internal_default_instance();
  }
  static inline const CGCToGCMsgMasterAck_Response* internal_default_instance() {
    return reinterpret_cast<const CGCToGCMsgMasterAck_Response*>(
               &_CGCToGCMsgMasterAck_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

  friend void swap(CGCToGCMsgMasterAck_Response& a, CGCToGCMsgMasterAck_Response& b) {
    a.Swap(&b);
  }
  inline void Swap(CGCToGCMsgMasterAck_Response* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CGCToGCMsgMasterAck_Response* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CGCToGCMsgMasterAck_Response* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CGCToGCMsgMasterAck_Response>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CGCToGCMsgMasterAck_Response& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CGCToGCMsgMasterAck_Response& from) {
    CGCToGCMsgMasterAck_Response::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CGCToGCMsgMasterAck_Response* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CGCToGCMsgMasterAck_Response";
  }
  protected:
  explicit CGCToGCMsgMasterAck_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kEresultFieldNumber = 1,
  };
  // optional int32 eresult = 1 [default = 2];
  bool has_eresult() const;
  private:
  bool _internal_has_eresult() const;
  public:
  void clear_eresult();
  int32_t eresult() const;
  void set_eresult(int32_t value);
  private:
  int32_t _internal_eresult() const;
  void _internal_set_eresult(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CGCToGCMsgMasterAck_Response)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    int32_t eresult_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CGCToGCMsgMasterStartupComplete final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:CGCToGCMsgMasterStartupComplete) */ {
 public:
  inline CGCToGCMsgMasterStartupComplete() : CGCToGCMsgMasterStartupComplete(nullptr) {}
  explicit PROTOBUF_CONSTEXPR CGCToGCMsgMasterStartupComplete(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CGCToGCMsgMasterStartupComplete(const CGCToGCMsgMasterStartupComplete& from);
  CGCToGCMsgMasterStartupComplete(CGCToGCMsgMasterStartupComplete&& from) noexcept
    : CGCToGCMsgMasterStartupComplete() {
    *this = ::std::move(from);
  }

  inline CGCToGCMsgMasterStartupComplete& operator=(const CGCToGCMsgMasterStartupComplete& from) {
    CopyFrom(from);
    return *this;
  }
  inline CGCToGCMsgMasterStartupComplete& operator=(CGCToGCMsgMasterStartupComplete&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CGCToGCMsgMasterStartupComplete& default_instance() {
    return *internal_default_instance();
  }
  static inline const CGCToGCMsgMasterStartupComplete* internal_default_instance() {
    return reinterpret_cast<const CGCToGCMsgMasterStartupComplete*>(
               &_CGCToGCMsgMasterStartupComplete_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    15;

  friend void swap(CGCToGCMsgMasterStartupComplete& a, CGCToGCMsgMasterStartupComplete& b) {
    a.Swap(&b);
  }
  inline void Swap(CGCToGCMsgMasterStartupComplete* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CGCToGCMsgMasterStartupComplete* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CGCToGCMsgMasterStartupComplete* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CGCToGCMsgMasterStartupComplete>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const CGCToGCMsgMasterStartupComplete& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const CGCToGCMsgMasterStartupComplete& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CGCToGCMsgMasterStartupComplete";
  }
  protected:
  explicit CGCToGCMsgMasterStartupComplete(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:CGCToGCMsgMasterStartupComplete)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
  };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CGCToGCMsgRouted final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CGCToGCMsgRouted) */ {
 public:
  inline CGCToGCMsgRouted() : CGCToGCMsgRouted(nullptr) {}
  ~CGCToGCMsgRouted() override;
  explicit PROTOBUF_CONSTEXPR CGCToGCMsgRouted(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CGCToGCMsgRouted(const CGCToGCMsgRouted& from);
  CGCToGCMsgRouted(CGCToGCMsgRouted&& from) noexcept
    : CGCToGCMsgRouted() {
    *this = ::std::move(from);
  }

  inline CGCToGCMsgRouted& operator=(const CGCToGCMsgRouted& from) {
    CopyFrom(from);
    return *this;
  }
  inline CGCToGCMsgRouted& operator=(CGCToGCMsgRouted&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CGCToGCMsgRouted& default_instance() {
    return *internal_default_instance();
  }
  static inline const CGCToGCMsgRouted* internal_default_instance() {
    return reinterpret_cast<const CGCToGCMsgRouted*>(
               &_CGCToGCMsgRouted_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    16;

  friend void swap(CGCToGCMsgRouted& a, CGCToGCMsgRouted& b) {
    a.Swap(&b);
  }
  inline void Swap(CGCToGCMsgRouted* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CGCToGCMsgRouted* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CGCToGCMsgRouted* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CGCToGCMsgRouted>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CGCToGCMsgRouted& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CGCToGCMsgRouted& from) {
    CGCToGCMsgRouted::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CGCToGCMsgRouted* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CGCToGCMsgRouted";
  }
  protected:
  explicit CGCToGCMsgRouted(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNetMessageFieldNumber = 3,
    kSenderIdFieldNumber = 2,
    kMsgTypeFieldNumber = 1,
    kIpFieldNumber = 4,
  };
  // optional bytes net_message = 3;
  bool has_net_message() const;
  private:
  bool _internal_has_net_message() const;
  public:
  void clear_net_message();
  const std::string& net_message() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_net_message(ArgT0&& arg0, ArgT... args);
  std::string* mutable_net_message();
  PROTOBUF_NODISCARD std::string* release_net_message();
  void set_allocated_net_message(std::string* net_message);
  private:
  const std::string& _internal_net_message() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_net_message(const std::string& value);
  std::string* _internal_mutable_net_message();
  public:

  // optional fixed64 sender_id = 2;
  bool has_sender_id() const;
  private:
  bool _internal_has_sender_id() const;
  public:
  void clear_sender_id();
  uint64_t sender_id() const;
  void set_sender_id(uint64_t value);
  private:
  uint64_t _internal_sender_id() const;
  void _internal_set_sender_id(uint64_t value);
  public:

  // optional uint32 msg_type = 1;
  bool has_msg_type() const;
  private:
  bool _internal_has_msg_type() const;
  public:
  void clear_msg_type();
  uint32_t msg_type() const;
  void set_msg_type(uint32_t value);
  private:
  uint32_t _internal_msg_type() const;
  void _internal_set_msg_type(uint32_t value);
  public:

  // optional uint32 ip = 4;
  bool has_ip() const;
  private:
  bool _internal_has_ip() const;
  public:
  void clear_ip();
  uint32_t ip() const;
  void set_ip(uint32_t value);
  private:
  uint32_t _internal_ip() const;
  void _internal_set_ip(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CGCToGCMsgRouted)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr net_message_;
    uint64_t sender_id_;
    uint32_t msg_type_;
    uint32_t ip_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CGCToGCMsgRoutedReply final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CGCToGCMsgRoutedReply) */ {
 public:
  inline CGCToGCMsgRoutedReply() : CGCToGCMsgRoutedReply(nullptr) {}
  ~CGCToGCMsgRoutedReply() override;
  explicit PROTOBUF_CONSTEXPR CGCToGCMsgRoutedReply(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CGCToGCMsgRoutedReply(const CGCToGCMsgRoutedReply& from);
  CGCToGCMsgRoutedReply(CGCToGCMsgRoutedReply&& from) noexcept
    : CGCToGCMsgRoutedReply() {
    *this = ::std::move(from);
  }

  inline CGCToGCMsgRoutedReply& operator=(const CGCToGCMsgRoutedReply& from) {
    CopyFrom(from);
    return *this;
  }
  inline CGCToGCMsgRoutedReply& operator=(CGCToGCMsgRoutedReply&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CGCToGCMsgRoutedReply& default_instance() {
    return *internal_default_instance();
  }
  static inline const CGCToGCMsgRoutedReply* internal_default_instance() {
    return reinterpret_cast<const CGCToGCMsgRoutedReply*>(
               &_CGCToGCMsgRoutedReply_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    17;

  friend void swap(CGCToGCMsgRoutedReply& a, CGCToGCMsgRoutedReply& b) {
    a.Swap(&b);
  }
  inline void Swap(CGCToGCMsgRoutedReply* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CGCToGCMsgRoutedReply* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CGCToGCMsgRoutedReply* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CGCToGCMsgRoutedReply>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CGCToGCMsgRoutedReply& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CGCToGCMsgRoutedReply& from) {
    CGCToGCMsgRoutedReply::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CGCToGCMsgRoutedReply* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CGCToGCMsgRoutedReply";
  }
  protected:
  explicit CGCToGCMsgRoutedReply(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kNetMessageFieldNumber = 2,
    kMsgTypeFieldNumber = 1,
  };
  // optional bytes net_message = 2;
  bool has_net_message() const;
  private:
  bool _internal_has_net_message() const;
  public:
  void clear_net_message();
  const std::string& net_message() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_net_message(ArgT0&& arg0, ArgT... args);
  std::string* mutable_net_message();
  PROTOBUF_NODISCARD std::string* release_net_message();
  void set_allocated_net_message(std::string* net_message);
  private:
  const std::string& _internal_net_message() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_net_message(const std::string& value);
  std::string* _internal_mutable_net_message();
  public:

  // optional uint32 msg_type = 1;
  bool has_msg_type() const;
  private:
  bool _internal_has_msg_type() const;
  public:
  void clear_msg_type();
  uint32_t msg_type() const;
  void set_msg_type(uint32_t value);
  private:
  uint32_t _internal_msg_type() const;
  void _internal_set_msg_type(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CGCToGCMsgRoutedReply)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr net_message_;
    uint32_t msg_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgGCUpdateSessionIP final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgGCUpdateSessionIP) */ {
 public:
  inline CMsgGCUpdateSessionIP() : CMsgGCUpdateSessionIP(nullptr) {}
  ~CMsgGCUpdateSessionIP() override;
  explicit PROTOBUF_CONSTEXPR CMsgGCUpdateSessionIP(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgGCUpdateSessionIP(const CMsgGCUpdateSessionIP& from);
  CMsgGCUpdateSessionIP(CMsgGCUpdateSessionIP&& from) noexcept
    : CMsgGCUpdateSessionIP() {
    *this = ::std::move(from);
  }

  inline CMsgGCUpdateSessionIP& operator=(const CMsgGCUpdateSessionIP& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgGCUpdateSessionIP& operator=(CMsgGCUpdateSessionIP&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgGCUpdateSessionIP& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgGCUpdateSessionIP* internal_default_instance() {
    return reinterpret_cast<const CMsgGCUpdateSessionIP*>(
               &_CMsgGCUpdateSessionIP_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    18;

  friend void swap(CMsgGCUpdateSessionIP& a, CMsgGCUpdateSessionIP& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgGCUpdateSessionIP* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgGCUpdateSessionIP* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgGCUpdateSessionIP* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgGCUpdateSessionIP>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgGCUpdateSessionIP& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgGCUpdateSessionIP& from) {
    CMsgGCUpdateSessionIP::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgGCUpdateSessionIP* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgGCUpdateSessionIP";
  }
  protected:
  explicit CMsgGCUpdateSessionIP(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSteamidFieldNumber = 1,
    kIpFieldNumber = 2,
  };
  // optional fixed64 steamid = 1;
  bool has_steamid() const;
  private:
  bool _internal_has_steamid() const;
  public:
  void clear_steamid();
  uint64_t steamid() const;
  void set_steamid(uint64_t value);
  private:
  uint64_t _internal_steamid() const;
  void _internal_set_steamid(uint64_t value);
  public:

  // optional fixed32 ip = 2;
  bool has_ip() const;
  private:
  bool _internal_has_ip() const;
  public:
  void clear_ip();
  uint32_t ip() const;
  void set_ip(uint32_t value);
  private:
  uint32_t _internal_ip() const;
  void _internal_set_ip(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgGCUpdateSessionIP)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t steamid_;
    uint32_t ip_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgGCRequestSessionIP final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgGCRequestSessionIP) */ {
 public:
  inline CMsgGCRequestSessionIP() : CMsgGCRequestSessionIP(nullptr) {}
  ~CMsgGCRequestSessionIP() override;
  explicit PROTOBUF_CONSTEXPR CMsgGCRequestSessionIP(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgGCRequestSessionIP(const CMsgGCRequestSessionIP& from);
  CMsgGCRequestSessionIP(CMsgGCRequestSessionIP&& from) noexcept
    : CMsgGCRequestSessionIP() {
    *this = ::std::move(from);
  }

  inline CMsgGCRequestSessionIP& operator=(const CMsgGCRequestSessionIP& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgGCRequestSessionIP& operator=(CMsgGCRequestSessionIP&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgGCRequestSessionIP& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgGCRequestSessionIP* internal_default_instance() {
    return reinterpret_cast<const CMsgGCRequestSessionIP*>(
               &_CMsgGCRequestSessionIP_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    19;

  friend void swap(CMsgGCRequestSessionIP& a, CMsgGCRequestSessionIP& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgGCRequestSessionIP* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgGCRequestSessionIP* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgGCRequestSessionIP* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgGCRequestSessionIP>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgGCRequestSessionIP& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgGCRequestSessionIP& from) {
    CMsgGCRequestSessionIP::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgGCRequestSessionIP* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgGCRequestSessionIP";
  }
  protected:
  explicit CMsgGCRequestSessionIP(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSteamidFieldNumber = 1,
  };
  // optional fixed64 steamid = 1;
  bool has_steamid() const;
  private:
  bool _internal_has_steamid() const;
  public:
  void clear_steamid();
  uint64_t steamid() const;
  void set_steamid(uint64_t value);
  private:
  uint64_t _internal_steamid() const;
  void _internal_set_steamid(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgGCRequestSessionIP)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t steamid_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgGCRequestSessionIPResponse final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgGCRequestSessionIPResponse) */ {
 public:
  inline CMsgGCRequestSessionIPResponse() : CMsgGCRequestSessionIPResponse(nullptr) {}
  ~CMsgGCRequestSessionIPResponse() override;
  explicit PROTOBUF_CONSTEXPR CMsgGCRequestSessionIPResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgGCRequestSessionIPResponse(const CMsgGCRequestSessionIPResponse& from);
  CMsgGCRequestSessionIPResponse(CMsgGCRequestSessionIPResponse&& from) noexcept
    : CMsgGCRequestSessionIPResponse() {
    *this = ::std::move(from);
  }

  inline CMsgGCRequestSessionIPResponse& operator=(const CMsgGCRequestSessionIPResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgGCRequestSessionIPResponse& operator=(CMsgGCRequestSessionIPResponse&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgGCRequestSessionIPResponse& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgGCRequestSessionIPResponse* internal_default_instance() {
    return reinterpret_cast<const CMsgGCRequestSessionIPResponse*>(
               &_CMsgGCRequestSessionIPResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    20;

  friend void swap(CMsgGCRequestSessionIPResponse& a, CMsgGCRequestSessionIPResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgGCRequestSessionIPResponse* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgGCRequestSessionIPResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgGCRequestSessionIPResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgGCRequestSessionIPResponse>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgGCRequestSessionIPResponse& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgGCRequestSessionIPResponse& from) {
    CMsgGCRequestSessionIPResponse::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgGCRequestSessionIPResponse* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgGCRequestSessionIPResponse";
  }
  protected:
  explicit CMsgGCRequestSessionIPResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kIpFieldNumber = 1,
  };
  // optional fixed32 ip = 1;
  bool has_ip() const;
  private:
  bool _internal_has_ip() const;
  public:
  void clear_ip();
  uint32_t ip() const;
  void set_ip(uint32_t value);
  private:
  uint32_t _internal_ip() const;
  void _internal_set_ip(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgGCRequestSessionIPResponse)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint32_t ip_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSOCacheHaveVersion final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSOCacheHaveVersion) */ {
 public:
  inline CMsgSOCacheHaveVersion() : CMsgSOCacheHaveVersion(nullptr) {}
  ~CMsgSOCacheHaveVersion() override;
  explicit PROTOBUF_CONSTEXPR CMsgSOCacheHaveVersion(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSOCacheHaveVersion(const CMsgSOCacheHaveVersion& from);
  CMsgSOCacheHaveVersion(CMsgSOCacheHaveVersion&& from) noexcept
    : CMsgSOCacheHaveVersion() {
    *this = ::std::move(from);
  }

  inline CMsgSOCacheHaveVersion& operator=(const CMsgSOCacheHaveVersion& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSOCacheHaveVersion& operator=(CMsgSOCacheHaveVersion&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSOCacheHaveVersion& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSOCacheHaveVersion* internal_default_instance() {
    return reinterpret_cast<const CMsgSOCacheHaveVersion*>(
               &_CMsgSOCacheHaveVersion_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    21;

  friend void swap(CMsgSOCacheHaveVersion& a, CMsgSOCacheHaveVersion& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSOCacheHaveVersion* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSOCacheHaveVersion* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSOCacheHaveVersion* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSOCacheHaveVersion>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSOCacheHaveVersion& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSOCacheHaveVersion& from) {
    CMsgSOCacheHaveVersion::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSOCacheHaveVersion* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSOCacheHaveVersion";
  }
  protected:
  explicit CMsgSOCacheHaveVersion(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSoidFieldNumber = 1,
    kVersionFieldNumber = 2,
  };
  // optional .CMsgSOIDOwner soid = 1;
  bool has_soid() const;
  private:
  bool _internal_has_soid() const;
  public:
  void clear_soid();
  const ::CMsgSOIDOwner& soid() const;
  PROTOBUF_NODISCARD ::CMsgSOIDOwner* release_soid();
  ::CMsgSOIDOwner* mutable_soid();
  void set_allocated_soid(::CMsgSOIDOwner* soid);
  private:
  const ::CMsgSOIDOwner& _internal_soid() const;
  ::CMsgSOIDOwner* _internal_mutable_soid();
  public:
  void unsafe_arena_set_allocated_soid(
      ::CMsgSOIDOwner* soid);
  ::CMsgSOIDOwner* unsafe_arena_release_soid();

  // optional fixed64 version = 2;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint64_t version() const;
  void set_version(uint64_t value);
  private:
  uint64_t _internal_version() const;
  void _internal_set_version(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSOCacheHaveVersion)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::CMsgSOIDOwner* soid_;
    uint64_t version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgClientHello final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgClientHello) */ {
 public:
  inline CMsgClientHello() : CMsgClientHello(nullptr) {}
  ~CMsgClientHello() override;
  explicit PROTOBUF_CONSTEXPR CMsgClientHello(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgClientHello(const CMsgClientHello& from);
  CMsgClientHello(CMsgClientHello&& from) noexcept
    : CMsgClientHello() {
    *this = ::std::move(from);
  }

  inline CMsgClientHello& operator=(const CMsgClientHello& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgClientHello& operator=(CMsgClientHello&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgClientHello& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgClientHello* internal_default_instance() {
    return reinterpret_cast<const CMsgClientHello*>(
               &_CMsgClientHello_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    22;

  friend void swap(CMsgClientHello& a, CMsgClientHello& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgClientHello* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgClientHello* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgClientHello* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgClientHello>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgClientHello& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgClientHello& from) {
    CMsgClientHello::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgClientHello* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgClientHello";
  }
  protected:
  explicit CMsgClientHello(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSocacheHaveVersionsFieldNumber = 2,
    kVersionFieldNumber = 1,
    kClientSessionNeedFieldNumber = 3,
    kClientLauncherFieldNumber = 4,
    kPartnerSrcidFieldNumber = 5,
    kPartnerAccountidFieldNumber = 6,
    kPartnerAccountflagsFieldNumber = 7,
    kPartnerAccountbalanceFieldNumber = 8,
    kSteamLauncherFieldNumber = 9,
  };
  // repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
  int socache_have_versions_size() const;
  private:
  int _internal_socache_have_versions_size() const;
  public:
  void clear_socache_have_versions();
  ::CMsgSOCacheHaveVersion* mutable_socache_have_versions(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion >*
      mutable_socache_have_versions();
  private:
  const ::CMsgSOCacheHaveVersion& _internal_socache_have_versions(int index) const;
  ::CMsgSOCacheHaveVersion* _internal_add_socache_have_versions();
  public:
  const ::CMsgSOCacheHaveVersion& socache_have_versions(int index) const;
  ::CMsgSOCacheHaveVersion* add_socache_have_versions();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion >&
      socache_have_versions() const;

  // optional uint32 version = 1;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint32_t version() const;
  void set_version(uint32_t value);
  private:
  uint32_t _internal_version() const;
  void _internal_set_version(uint32_t value);
  public:

  // optional uint32 client_session_need = 3;
  bool has_client_session_need() const;
  private:
  bool _internal_has_client_session_need() const;
  public:
  void clear_client_session_need();
  uint32_t client_session_need() const;
  void set_client_session_need(uint32_t value);
  private:
  uint32_t _internal_client_session_need() const;
  void _internal_set_client_session_need(uint32_t value);
  public:

  // optional uint32 client_launcher = 4;
  bool has_client_launcher() const;
  private:
  bool _internal_has_client_launcher() const;
  public:
  void clear_client_launcher();
  uint32_t client_launcher() const;
  void set_client_launcher(uint32_t value);
  private:
  uint32_t _internal_client_launcher() const;
  void _internal_set_client_launcher(uint32_t value);
  public:

  // optional uint32 partner_srcid = 5;
  bool has_partner_srcid() const;
  private:
  bool _internal_has_partner_srcid() const;
  public:
  void clear_partner_srcid();
  uint32_t partner_srcid() const;
  void set_partner_srcid(uint32_t value);
  private:
  uint32_t _internal_partner_srcid() const;
  void _internal_set_partner_srcid(uint32_t value);
  public:

  // optional uint32 partner_accountid = 6;
  bool has_partner_accountid() const;
  private:
  bool _internal_has_partner_accountid() const;
  public:
  void clear_partner_accountid();
  uint32_t partner_accountid() const;
  void set_partner_accountid(uint32_t value);
  private:
  uint32_t _internal_partner_accountid() const;
  void _internal_set_partner_accountid(uint32_t value);
  public:

  // optional uint32 partner_accountflags = 7;
  bool has_partner_accountflags() const;
  private:
  bool _internal_has_partner_accountflags() const;
  public:
  void clear_partner_accountflags();
  uint32_t partner_accountflags() const;
  void set_partner_accountflags(uint32_t value);
  private:
  uint32_t _internal_partner_accountflags() const;
  void _internal_set_partner_accountflags(uint32_t value);
  public:

  // optional uint32 partner_accountbalance = 8;
  bool has_partner_accountbalance() const;
  private:
  bool _internal_has_partner_accountbalance() const;
  public:
  void clear_partner_accountbalance();
  uint32_t partner_accountbalance() const;
  void set_partner_accountbalance(uint32_t value);
  private:
  uint32_t _internal_partner_accountbalance() const;
  void _internal_set_partner_accountbalance(uint32_t value);
  public:

  // optional uint32 steam_launcher = 9;
  bool has_steam_launcher() const;
  private:
  bool _internal_has_steam_launcher() const;
  public:
  void clear_steam_launcher();
  uint32_t steam_launcher() const;
  void set_steam_launcher(uint32_t value);
  private:
  uint32_t _internal_steam_launcher() const;
  void _internal_set_steam_launcher(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgClientHello)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion > socache_have_versions_;
    uint32_t version_;
    uint32_t client_session_need_;
    uint32_t client_launcher_;
    uint32_t partner_srcid_;
    uint32_t partner_accountid_;
    uint32_t partner_accountflags_;
    uint32_t partner_accountbalance_;
    uint32_t steam_launcher_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgServerHello final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgServerHello) */ {
 public:
  inline CMsgServerHello() : CMsgServerHello(nullptr) {}
  ~CMsgServerHello() override;
  explicit PROTOBUF_CONSTEXPR CMsgServerHello(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgServerHello(const CMsgServerHello& from);
  CMsgServerHello(CMsgServerHello&& from) noexcept
    : CMsgServerHello() {
    *this = ::std::move(from);
  }

  inline CMsgServerHello& operator=(const CMsgServerHello& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgServerHello& operator=(CMsgServerHello&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgServerHello& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgServerHello* internal_default_instance() {
    return reinterpret_cast<const CMsgServerHello*>(
               &_CMsgServerHello_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    23;

  friend void swap(CMsgServerHello& a, CMsgServerHello& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgServerHello* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgServerHello* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgServerHello* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgServerHello>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgServerHello& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgServerHello& from) {
    CMsgServerHello::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgServerHello* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgServerHello";
  }
  protected:
  explicit CMsgServerHello(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kSocacheHaveVersionsFieldNumber = 2,
    kLegacySteamdatagramRoutingFieldNumber = 6,
    kSteamdatagramLoginFieldNumber = 8,
    kVersionFieldNumber = 1,
    kLegacyClientSessionNeedFieldNumber = 3,
    kClientLauncherFieldNumber = 4,
    kRequiredInternalAddrFieldNumber = 7,
    kSocacheControlFieldNumber = 9,
  };
  // repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
  int socache_have_versions_size() const;
  private:
  int _internal_socache_have_versions_size() const;
  public:
  void clear_socache_have_versions();
  ::CMsgSOCacheHaveVersion* mutable_socache_have_versions(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion >*
      mutable_socache_have_versions();
  private:
  const ::CMsgSOCacheHaveVersion& _internal_socache_have_versions(int index) const;
  ::CMsgSOCacheHaveVersion* _internal_add_socache_have_versions();
  public:
  const ::CMsgSOCacheHaveVersion& socache_have_versions(int index) const;
  ::CMsgSOCacheHaveVersion* add_socache_have_versions();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion >&
      socache_have_versions() const;

  // optional bytes legacy_steamdatagram_routing = 6;
  bool has_legacy_steamdatagram_routing() const;
  private:
  bool _internal_has_legacy_steamdatagram_routing() const;
  public:
  void clear_legacy_steamdatagram_routing();
  const std::string& legacy_steamdatagram_routing() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_legacy_steamdatagram_routing(ArgT0&& arg0, ArgT... args);
  std::string* mutable_legacy_steamdatagram_routing();
  PROTOBUF_NODISCARD std::string* release_legacy_steamdatagram_routing();
  void set_allocated_legacy_steamdatagram_routing(std::string* legacy_steamdatagram_routing);
  private:
  const std::string& _internal_legacy_steamdatagram_routing() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_legacy_steamdatagram_routing(const std::string& value);
  std::string* _internal_mutable_legacy_steamdatagram_routing();
  public:

  // optional bytes steamdatagram_login = 8;
  bool has_steamdatagram_login() const;
  private:
  bool _internal_has_steamdatagram_login() const;
  public:
  void clear_steamdatagram_login();
  const std::string& steamdatagram_login() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_steamdatagram_login(ArgT0&& arg0, ArgT... args);
  std::string* mutable_steamdatagram_login();
  PROTOBUF_NODISCARD std::string* release_steamdatagram_login();
  void set_allocated_steamdatagram_login(std::string* steamdatagram_login);
  private:
  const std::string& _internal_steamdatagram_login() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_steamdatagram_login(const std::string& value);
  std::string* _internal_mutable_steamdatagram_login();
  public:

  // optional uint32 version = 1;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint32_t version() const;
  void set_version(uint32_t value);
  private:
  uint32_t _internal_version() const;
  void _internal_set_version(uint32_t value);
  public:

  // optional uint32 legacy_client_session_need = 3;
  bool has_legacy_client_session_need() const;
  private:
  bool _internal_has_legacy_client_session_need() const;
  public:
  void clear_legacy_client_session_need();
  uint32_t legacy_client_session_need() const;
  void set_legacy_client_session_need(uint32_t value);
  private:
  uint32_t _internal_legacy_client_session_need() const;
  void _internal_set_legacy_client_session_need(uint32_t value);
  public:

  // optional uint32 client_launcher = 4;
  bool has_client_launcher() const;
  private:
  bool _internal_has_client_launcher() const;
  public:
  void clear_client_launcher();
  uint32_t client_launcher() const;
  void set_client_launcher(uint32_t value);
  private:
  uint32_t _internal_client_launcher() const;
  void _internal_set_client_launcher(uint32_t value);
  public:

  // optional uint32 required_internal_addr = 7;
  bool has_required_internal_addr() const;
  private:
  bool _internal_has_required_internal_addr() const;
  public:
  void clear_required_internal_addr();
  uint32_t required_internal_addr() const;
  void set_required_internal_addr(uint32_t value);
  private:
  uint32_t _internal_required_internal_addr() const;
  void _internal_set_required_internal_addr(uint32_t value);
  public:

  // optional uint32 socache_control = 9;
  bool has_socache_control() const;
  private:
  bool _internal_has_socache_control() const;
  public:
  void clear_socache_control();
  uint32_t socache_control() const;
  void set_socache_control(uint32_t value);
  private:
  uint32_t _internal_socache_control() const;
  void _internal_set_socache_control(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgServerHello)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion > socache_have_versions_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr legacy_steamdatagram_routing_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr steamdatagram_login_;
    uint32_t version_;
    uint32_t legacy_client_session_need_;
    uint32_t client_launcher_;
    uint32_t required_internal_addr_;
    uint32_t socache_control_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgClientWelcome_Location final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgClientWelcome.Location) */ {
 public:
  inline CMsgClientWelcome_Location() : CMsgClientWelcome_Location(nullptr) {}
  ~CMsgClientWelcome_Location() override;
  explicit PROTOBUF_CONSTEXPR CMsgClientWelcome_Location(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgClientWelcome_Location(const CMsgClientWelcome_Location& from);
  CMsgClientWelcome_Location(CMsgClientWelcome_Location&& from) noexcept
    : CMsgClientWelcome_Location() {
    *this = ::std::move(from);
  }

  inline CMsgClientWelcome_Location& operator=(const CMsgClientWelcome_Location& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgClientWelcome_Location& operator=(CMsgClientWelcome_Location&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgClientWelcome_Location& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgClientWelcome_Location* internal_default_instance() {
    return reinterpret_cast<const CMsgClientWelcome_Location*>(
               &_CMsgClientWelcome_Location_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    24;

  friend void swap(CMsgClientWelcome_Location& a, CMsgClientWelcome_Location& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgClientWelcome_Location* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgClientWelcome_Location* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgClientWelcome_Location* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgClientWelcome_Location>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgClientWelcome_Location& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgClientWelcome_Location& from) {
    CMsgClientWelcome_Location::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgClientWelcome_Location* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgClientWelcome.Location";
  }
  protected:
  explicit CMsgClientWelcome_Location(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kCountryFieldNumber = 3,
    kLatitudeFieldNumber = 1,
    kLongitudeFieldNumber = 2,
  };
  // optional string country = 3;
  bool has_country() const;
  private:
  bool _internal_has_country() const;
  public:
  void clear_country();
  const std::string& country() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_country(ArgT0&& arg0, ArgT... args);
  std::string* mutable_country();
  PROTOBUF_NODISCARD std::string* release_country();
  void set_allocated_country(std::string* country);
  private:
  const std::string& _internal_country() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_country(const std::string& value);
  std::string* _internal_mutable_country();
  public:

  // optional float latitude = 1;
  bool has_latitude() const;
  private:
  bool _internal_has_latitude() const;
  public:
  void clear_latitude();
  float latitude() const;
  void set_latitude(float value);
  private:
  float _internal_latitude() const;
  void _internal_set_latitude(float value);
  public:

  // optional float longitude = 2;
  bool has_longitude() const;
  private:
  bool _internal_has_longitude() const;
  public:
  void clear_longitude();
  float longitude() const;
  void set_longitude(float value);
  private:
  float _internal_longitude() const;
  void _internal_set_longitude(float value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgClientWelcome.Location)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr country_;
    float latitude_;
    float longitude_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgClientWelcome final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgClientWelcome) */ {
 public:
  inline CMsgClientWelcome() : CMsgClientWelcome(nullptr) {}
  ~CMsgClientWelcome() override;
  explicit PROTOBUF_CONSTEXPR CMsgClientWelcome(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgClientWelcome(const CMsgClientWelcome& from);
  CMsgClientWelcome(CMsgClientWelcome&& from) noexcept
    : CMsgClientWelcome() {
    *this = ::std::move(from);
  }

  inline CMsgClientWelcome& operator=(const CMsgClientWelcome& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgClientWelcome& operator=(CMsgClientWelcome&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgClientWelcome& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgClientWelcome* internal_default_instance() {
    return reinterpret_cast<const CMsgClientWelcome*>(
               &_CMsgClientWelcome_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    25;

  friend void swap(CMsgClientWelcome& a, CMsgClientWelcome& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgClientWelcome* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgClientWelcome* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgClientWelcome* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgClientWelcome>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgClientWelcome& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgClientWelcome& from) {
    CMsgClientWelcome::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgClientWelcome* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgClientWelcome";
  }
  protected:
  explicit CMsgClientWelcome(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CMsgClientWelcome_Location Location;

  // accessors -------------------------------------------------------

  enum : int {
    kOutofdateSubscribedCachesFieldNumber = 3,
    kUptodateSubscribedCachesFieldNumber = 4,
    kGameDataFieldNumber = 2,
    kGameData2FieldNumber = 6,
    kBalanceUrlFieldNumber = 10,
    kTxnCountryCodeFieldNumber = 11,
    kLocationFieldNumber = 5,
    kVersionFieldNumber = 1,
    kRtime32GcWelcomeTimestampFieldNumber = 7,
    kCurrencyFieldNumber = 8,
    kBalanceFieldNumber = 9,
  };
  // repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3;
  int outofdate_subscribed_caches_size() const;
  private:
  int _internal_outofdate_subscribed_caches_size() const;
  public:
  void clear_outofdate_subscribed_caches();
  ::CMsgSOCacheSubscribed* mutable_outofdate_subscribed_caches(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed >*
      mutable_outofdate_subscribed_caches();
  private:
  const ::CMsgSOCacheSubscribed& _internal_outofdate_subscribed_caches(int index) const;
  ::CMsgSOCacheSubscribed* _internal_add_outofdate_subscribed_caches();
  public:
  const ::CMsgSOCacheSubscribed& outofdate_subscribed_caches(int index) const;
  ::CMsgSOCacheSubscribed* add_outofdate_subscribed_caches();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed >&
      outofdate_subscribed_caches() const;

  // repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4;
  int uptodate_subscribed_caches_size() const;
  private:
  int _internal_uptodate_subscribed_caches_size() const;
  public:
  void clear_uptodate_subscribed_caches();
  ::CMsgSOCacheSubscriptionCheck* mutable_uptodate_subscribed_caches(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscriptionCheck >*
      mutable_uptodate_subscribed_caches();
  private:
  const ::CMsgSOCacheSubscriptionCheck& _internal_uptodate_subscribed_caches(int index) const;
  ::CMsgSOCacheSubscriptionCheck* _internal_add_uptodate_subscribed_caches();
  public:
  const ::CMsgSOCacheSubscriptionCheck& uptodate_subscribed_caches(int index) const;
  ::CMsgSOCacheSubscriptionCheck* add_uptodate_subscribed_caches();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscriptionCheck >&
      uptodate_subscribed_caches() const;

  // optional bytes game_data = 2;
  bool has_game_data() const;
  private:
  bool _internal_has_game_data() const;
  public:
  void clear_game_data();
  const std::string& game_data() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_game_data(ArgT0&& arg0, ArgT... args);
  std::string* mutable_game_data();
  PROTOBUF_NODISCARD std::string* release_game_data();
  void set_allocated_game_data(std::string* game_data);
  private:
  const std::string& _internal_game_data() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_game_data(const std::string& value);
  std::string* _internal_mutable_game_data();
  public:

  // optional bytes game_data2 = 6;
  bool has_game_data2() const;
  private:
  bool _internal_has_game_data2() const;
  public:
  void clear_game_data2();
  const std::string& game_data2() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_game_data2(ArgT0&& arg0, ArgT... args);
  std::string* mutable_game_data2();
  PROTOBUF_NODISCARD std::string* release_game_data2();
  void set_allocated_game_data2(std::string* game_data2);
  private:
  const std::string& _internal_game_data2() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_game_data2(const std::string& value);
  std::string* _internal_mutable_game_data2();
  public:

  // optional string balance_url = 10;
  bool has_balance_url() const;
  private:
  bool _internal_has_balance_url() const;
  public:
  void clear_balance_url();
  const std::string& balance_url() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_balance_url(ArgT0&& arg0, ArgT... args);
  std::string* mutable_balance_url();
  PROTOBUF_NODISCARD std::string* release_balance_url();
  void set_allocated_balance_url(std::string* balance_url);
  private:
  const std::string& _internal_balance_url() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_balance_url(const std::string& value);
  std::string* _internal_mutable_balance_url();
  public:

  // optional string txn_country_code = 11;
  bool has_txn_country_code() const;
  private:
  bool _internal_has_txn_country_code() const;
  public:
  void clear_txn_country_code();
  const std::string& txn_country_code() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_txn_country_code(ArgT0&& arg0, ArgT... args);
  std::string* mutable_txn_country_code();
  PROTOBUF_NODISCARD std::string* release_txn_country_code();
  void set_allocated_txn_country_code(std::string* txn_country_code);
  private:
  const std::string& _internal_txn_country_code() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_txn_country_code(const std::string& value);
  std::string* _internal_mutable_txn_country_code();
  public:

  // optional .CMsgClientWelcome.Location location = 5;
  bool has_location() const;
  private:
  bool _internal_has_location() const;
  public:
  void clear_location();
  const ::CMsgClientWelcome_Location& location() const;
  PROTOBUF_NODISCARD ::CMsgClientWelcome_Location* release_location();
  ::CMsgClientWelcome_Location* mutable_location();
  void set_allocated_location(::CMsgClientWelcome_Location* location);
  private:
  const ::CMsgClientWelcome_Location& _internal_location() const;
  ::CMsgClientWelcome_Location* _internal_mutable_location();
  public:
  void unsafe_arena_set_allocated_location(
      ::CMsgClientWelcome_Location* location);
  ::CMsgClientWelcome_Location* unsafe_arena_release_location();

  // optional uint32 version = 1;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint32_t version() const;
  void set_version(uint32_t value);
  private:
  uint32_t _internal_version() const;
  void _internal_set_version(uint32_t value);
  public:

  // optional uint32 rtime32_gc_welcome_timestamp = 7;
  bool has_rtime32_gc_welcome_timestamp() const;
  private:
  bool _internal_has_rtime32_gc_welcome_timestamp() const;
  public:
  void clear_rtime32_gc_welcome_timestamp();
  uint32_t rtime32_gc_welcome_timestamp() const;
  void set_rtime32_gc_welcome_timestamp(uint32_t value);
  private:
  uint32_t _internal_rtime32_gc_welcome_timestamp() const;
  void _internal_set_rtime32_gc_welcome_timestamp(uint32_t value);
  public:

  // optional uint32 currency = 8;
  bool has_currency() const;
  private:
  bool _internal_has_currency() const;
  public:
  void clear_currency();
  uint32_t currency() const;
  void set_currency(uint32_t value);
  private:
  uint32_t _internal_currency() const;
  void _internal_set_currency(uint32_t value);
  public:

  // optional uint32 balance = 9;
  bool has_balance() const;
  private:
  bool _internal_has_balance() const;
  public:
  void clear_balance();
  uint32_t balance() const;
  void set_balance(uint32_t value);
  private:
  uint32_t _internal_balance() const;
  void _internal_set_balance(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgClientWelcome)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed > outofdate_subscribed_caches_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscriptionCheck > uptodate_subscribed_caches_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr game_data_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr game_data2_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr balance_url_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr txn_country_code_;
    ::CMsgClientWelcome_Location* location_;
    uint32_t version_;
    uint32_t rtime32_gc_welcome_timestamp_;
    uint32_t currency_;
    uint32_t balance_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgConnectionStatus final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgConnectionStatus) */ {
 public:
  inline CMsgConnectionStatus() : CMsgConnectionStatus(nullptr) {}
  ~CMsgConnectionStatus() override;
  explicit PROTOBUF_CONSTEXPR CMsgConnectionStatus(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgConnectionStatus(const CMsgConnectionStatus& from);
  CMsgConnectionStatus(CMsgConnectionStatus&& from) noexcept
    : CMsgConnectionStatus() {
    *this = ::std::move(from);
  }

  inline CMsgConnectionStatus& operator=(const CMsgConnectionStatus& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgConnectionStatus& operator=(CMsgConnectionStatus&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgConnectionStatus& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgConnectionStatus* internal_default_instance() {
    return reinterpret_cast<const CMsgConnectionStatus*>(
               &_CMsgConnectionStatus_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    26;

  friend void swap(CMsgConnectionStatus& a, CMsgConnectionStatus& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgConnectionStatus* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgConnectionStatus* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgConnectionStatus* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgConnectionStatus>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgConnectionStatus& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgConnectionStatus& from) {
    CMsgConnectionStatus::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgConnectionStatus* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgConnectionStatus";
  }
  protected:
  explicit CMsgConnectionStatus(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kStatusFieldNumber = 1,
    kClientSessionNeedFieldNumber = 2,
    kQueuePositionFieldNumber = 3,
    kQueueSizeFieldNumber = 4,
    kWaitSecondsFieldNumber = 5,
    kEstimatedWaitSecondsRemainingFieldNumber = 6,
  };
  // optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION];
  bool has_status() const;
  private:
  bool _internal_has_status() const;
  public:
  void clear_status();
  ::GCConnectionStatus status() const;
  void set_status(::GCConnectionStatus value);
  private:
  ::GCConnectionStatus _internal_status() const;
  void _internal_set_status(::GCConnectionStatus value);
  public:

  // optional uint32 client_session_need = 2;
  bool has_client_session_need() const;
  private:
  bool _internal_has_client_session_need() const;
  public:
  void clear_client_session_need();
  uint32_t client_session_need() const;
  void set_client_session_need(uint32_t value);
  private:
  uint32_t _internal_client_session_need() const;
  void _internal_set_client_session_need(uint32_t value);
  public:

  // optional int32 queue_position = 3;
  bool has_queue_position() const;
  private:
  bool _internal_has_queue_position() const;
  public:
  void clear_queue_position();
  int32_t queue_position() const;
  void set_queue_position(int32_t value);
  private:
  int32_t _internal_queue_position() const;
  void _internal_set_queue_position(int32_t value);
  public:

  // optional int32 queue_size = 4;
  bool has_queue_size() const;
  private:
  bool _internal_has_queue_size() const;
  public:
  void clear_queue_size();
  int32_t queue_size() const;
  void set_queue_size(int32_t value);
  private:
  int32_t _internal_queue_size() const;
  void _internal_set_queue_size(int32_t value);
  public:

  // optional int32 wait_seconds = 5;
  bool has_wait_seconds() const;
  private:
  bool _internal_has_wait_seconds() const;
  public:
  void clear_wait_seconds();
  int32_t wait_seconds() const;
  void set_wait_seconds(int32_t value);
  private:
  int32_t _internal_wait_seconds() const;
  void _internal_set_wait_seconds(int32_t value);
  public:

  // optional int32 estimated_wait_seconds_remaining = 6;
  bool has_estimated_wait_seconds_remaining() const;
  private:
  bool _internal_has_estimated_wait_seconds_remaining() const;
  public:
  void clear_estimated_wait_seconds_remaining();
  int32_t estimated_wait_seconds_remaining() const;
  void set_estimated_wait_seconds_remaining(int32_t value);
  private:
  int32_t _internal_estimated_wait_seconds_remaining() const;
  void _internal_set_estimated_wait_seconds_remaining(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgConnectionStatus)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    int status_;
    uint32_t client_session_need_;
    int32_t queue_position_;
    int32_t queue_size_;
    int32_t wait_seconds_;
    int32_t estimated_wait_seconds_remaining_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription) */ {
 public:
  inline CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription() : CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription(nullptr) {}
  ~CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription(const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& from);
  CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription&& from) noexcept
    : CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription() {
    *this = ::std::move(from);
  }

  inline CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& operator=(const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& operator=(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription*>(
               &_CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    27;

  friend void swap(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& a, CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& from) {
    CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription";
  }
  protected:
  explicit CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kItemDescriptionFieldNumber = 2,
    kGameitemidFieldNumber = 1,
    kOnePerAccountFieldNumber = 3,
  };
  // optional string item_description = 2;
  bool has_item_description() const;
  private:
  bool _internal_has_item_description() const;
  public:
  void clear_item_description();
  const std::string& item_description() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_item_description(ArgT0&& arg0, ArgT... args);
  std::string* mutable_item_description();
  PROTOBUF_NODISCARD std::string* release_item_description();
  void set_allocated_item_description(std::string* item_description);
  private:
  const std::string& _internal_item_description() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_item_description(const std::string& value);
  std::string* _internal_mutable_item_description();
  public:

  // optional uint32 gameitemid = 1;
  bool has_gameitemid() const;
  private:
  bool _internal_has_gameitemid() const;
  public:
  void clear_gameitemid();
  uint32_t gameitemid() const;
  void set_gameitemid(uint32_t value);
  private:
  uint32_t _internal_gameitemid() const;
  void _internal_set_gameitemid(uint32_t value);
  public:

  // optional bool one_per_account = 3;
  bool has_one_per_account() const;
  private:
  bool _internal_has_one_per_account() const;
  public:
  void clear_one_per_account();
  bool one_per_account() const;
  void set_one_per_account(bool value);
  private:
  bool _internal_one_per_account() const;
  void _internal_set_one_per_account(bool value);
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr item_description_;
    uint32_t gameitemid_;
    bool one_per_account_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock) */ {
 public:
  inline CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock() : CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock(nullptr) {}
  ~CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock(const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& from);
  CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock(CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock&& from) noexcept
    : CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock() {
    *this = ::std::move(from);
  }

  inline CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& operator=(const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& operator=(CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock*>(
               &_CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    28;

  friend void swap(CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& a, CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& from) {
    CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock";
  }
  protected:
  explicit CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDescriptionsFieldNumber = 2,
    kLanguageFieldNumber = 1,
  };
  // repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
  int descriptions_size() const;
  private:
  int _internal_descriptions_size() const;
  public:
  void clear_descriptions();
  ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* mutable_descriptions(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription >*
      mutable_descriptions();
  private:
  const ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& _internal_descriptions(int index) const;
  ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* _internal_add_descriptions();
  public:
  const ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& descriptions(int index) const;
  ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* add_descriptions();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription >&
      descriptions() const;

  // optional string language = 1;
  bool has_language() const;
  private:
  bool _internal_has_language() const;
  public:
  void clear_language();
  const std::string& language() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_language(ArgT0&& arg0, ArgT... args);
  std::string* mutable_language();
  PROTOBUF_NODISCARD std::string* release_language();
  void set_allocated_language(std::string* language);
  private:
  const std::string& _internal_language() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_language(const std::string& value);
  std::string* _internal_mutable_language();
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription > descriptions_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr language_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_PopulateItemDescriptions_Request final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_PopulateItemDescriptions_Request) */ {
 public:
  inline CWorkshop_PopulateItemDescriptions_Request() : CWorkshop_PopulateItemDescriptions_Request(nullptr) {}
  ~CWorkshop_PopulateItemDescriptions_Request() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_PopulateItemDescriptions_Request(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_PopulateItemDescriptions_Request(const CWorkshop_PopulateItemDescriptions_Request& from);
  CWorkshop_PopulateItemDescriptions_Request(CWorkshop_PopulateItemDescriptions_Request&& from) noexcept
    : CWorkshop_PopulateItemDescriptions_Request() {
    *this = ::std::move(from);
  }

  inline CWorkshop_PopulateItemDescriptions_Request& operator=(const CWorkshop_PopulateItemDescriptions_Request& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_PopulateItemDescriptions_Request& operator=(CWorkshop_PopulateItemDescriptions_Request&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_PopulateItemDescriptions_Request& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_PopulateItemDescriptions_Request* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_PopulateItemDescriptions_Request*>(
               &_CWorkshop_PopulateItemDescriptions_Request_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    29;

  friend void swap(CWorkshop_PopulateItemDescriptions_Request& a, CWorkshop_PopulateItemDescriptions_Request& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_PopulateItemDescriptions_Request* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_PopulateItemDescriptions_Request* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_PopulateItemDescriptions_Request* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_PopulateItemDescriptions_Request>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_PopulateItemDescriptions_Request& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_PopulateItemDescriptions_Request& from) {
    CWorkshop_PopulateItemDescriptions_Request::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_PopulateItemDescriptions_Request* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_PopulateItemDescriptions_Request";
  }
  protected:
  explicit CWorkshop_PopulateItemDescriptions_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription SingleItemDescription;
  typedef CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock ItemDescriptionsLanguageBlock;

  // accessors -------------------------------------------------------

  enum : int {
    kLanguagesFieldNumber = 2,
    kAppidFieldNumber = 1,
  };
  // repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
  int languages_size() const;
  private:
  int _internal_languages_size() const;
  public:
  void clear_languages();
  ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* mutable_languages(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock >*
      mutable_languages();
  private:
  const ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& _internal_languages(int index) const;
  ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* _internal_add_languages();
  public:
  const ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& languages(int index) const;
  ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* add_languages();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock >&
      languages() const;

  // optional uint32 appid = 1;
  bool has_appid() const;
  private:
  bool _internal_has_appid() const;
  public:
  void clear_appid();
  uint32_t appid() const;
  void set_appid(uint32_t value);
  private:
  uint32_t _internal_appid() const;
  void _internal_set_appid(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_PopulateItemDescriptions_Request)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock > languages_;
    uint32_t appid_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_GetContributors_Request final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_GetContributors_Request) */ {
 public:
  inline CWorkshop_GetContributors_Request() : CWorkshop_GetContributors_Request(nullptr) {}
  ~CWorkshop_GetContributors_Request() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_GetContributors_Request(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_GetContributors_Request(const CWorkshop_GetContributors_Request& from);
  CWorkshop_GetContributors_Request(CWorkshop_GetContributors_Request&& from) noexcept
    : CWorkshop_GetContributors_Request() {
    *this = ::std::move(from);
  }

  inline CWorkshop_GetContributors_Request& operator=(const CWorkshop_GetContributors_Request& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_GetContributors_Request& operator=(CWorkshop_GetContributors_Request&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_GetContributors_Request& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_GetContributors_Request* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_GetContributors_Request*>(
               &_CWorkshop_GetContributors_Request_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    30;

  friend void swap(CWorkshop_GetContributors_Request& a, CWorkshop_GetContributors_Request& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_GetContributors_Request* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_GetContributors_Request* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_GetContributors_Request* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_GetContributors_Request>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_GetContributors_Request& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_GetContributors_Request& from) {
    CWorkshop_GetContributors_Request::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_GetContributors_Request* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_GetContributors_Request";
  }
  protected:
  explicit CWorkshop_GetContributors_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kAppidFieldNumber = 1,
    kGameitemidFieldNumber = 2,
  };
  // optional uint32 appid = 1;
  bool has_appid() const;
  private:
  bool _internal_has_appid() const;
  public:
  void clear_appid();
  uint32_t appid() const;
  void set_appid(uint32_t value);
  private:
  uint32_t _internal_appid() const;
  void _internal_set_appid(uint32_t value);
  public:

  // optional uint32 gameitemid = 2;
  bool has_gameitemid() const;
  private:
  bool _internal_has_gameitemid() const;
  public:
  void clear_gameitemid();
  uint32_t gameitemid() const;
  void set_gameitemid(uint32_t value);
  private:
  uint32_t _internal_gameitemid() const;
  void _internal_set_gameitemid(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_GetContributors_Request)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint32_t appid_;
    uint32_t gameitemid_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_GetContributors_Response final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_GetContributors_Response) */ {
 public:
  inline CWorkshop_GetContributors_Response() : CWorkshop_GetContributors_Response(nullptr) {}
  ~CWorkshop_GetContributors_Response() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_GetContributors_Response(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_GetContributors_Response(const CWorkshop_GetContributors_Response& from);
  CWorkshop_GetContributors_Response(CWorkshop_GetContributors_Response&& from) noexcept
    : CWorkshop_GetContributors_Response() {
    *this = ::std::move(from);
  }

  inline CWorkshop_GetContributors_Response& operator=(const CWorkshop_GetContributors_Response& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_GetContributors_Response& operator=(CWorkshop_GetContributors_Response&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_GetContributors_Response& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_GetContributors_Response* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_GetContributors_Response*>(
               &_CWorkshop_GetContributors_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    31;

  friend void swap(CWorkshop_GetContributors_Response& a, CWorkshop_GetContributors_Response& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_GetContributors_Response* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_GetContributors_Response* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_GetContributors_Response* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_GetContributors_Response>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_GetContributors_Response& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_GetContributors_Response& from) {
    CWorkshop_GetContributors_Response::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_GetContributors_Response* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_GetContributors_Response";
  }
  protected:
  explicit CWorkshop_GetContributors_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kContributorsFieldNumber = 1,
  };
  // repeated fixed64 contributors = 1;
  int contributors_size() const;
  private:
  int _internal_contributors_size() const;
  public:
  void clear_contributors();
  private:
  uint64_t _internal_contributors(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >&
      _internal_contributors() const;
  void _internal_add_contributors(uint64_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >*
      _internal_mutable_contributors();
  public:
  uint64_t contributors(int index) const;
  void set_contributors(int index, uint64_t value);
  void add_contributors(uint64_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >&
      contributors() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >*
      mutable_contributors();

  // @@protoc_insertion_point(class_scope:CWorkshop_GetContributors_Response)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t > contributors_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule) */ {
 public:
  inline CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule() : CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule(nullptr) {}
  ~CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule(const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& from);
  CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule&& from) noexcept
    : CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule() {
    *this = ::std::move(from);
  }

  inline CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& operator=(const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& operator=(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule*>(
               &_CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    32;

  friend void swap(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& a, CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& from) {
    CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule";
  }
  protected:
  explicit CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kRuleDescriptionFieldNumber = 3,
    kWorkshopFileIdFieldNumber = 1,
    kRevenuePercentageFieldNumber = 2,
    kRuleTypeFieldNumber = 4,
  };
  // optional string rule_description = 3;
  bool has_rule_description() const;
  private:
  bool _internal_has_rule_description() const;
  public:
  void clear_rule_description();
  const std::string& rule_description() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_rule_description(ArgT0&& arg0, ArgT... args);
  std::string* mutable_rule_description();
  PROTOBUF_NODISCARD std::string* release_rule_description();
  void set_allocated_rule_description(std::string* rule_description);
  private:
  const std::string& _internal_rule_description() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_rule_description(const std::string& value);
  std::string* _internal_mutable_rule_description();
  public:

  // optional uint64 workshop_file_id = 1;
  bool has_workshop_file_id() const;
  private:
  bool _internal_has_workshop_file_id() const;
  public:
  void clear_workshop_file_id();
  uint64_t workshop_file_id() const;
  void set_workshop_file_id(uint64_t value);
  private:
  uint64_t _internal_workshop_file_id() const;
  void _internal_set_workshop_file_id(uint64_t value);
  public:

  // optional float revenue_percentage = 2;
  bool has_revenue_percentage() const;
  private:
  bool _internal_has_revenue_percentage() const;
  public:
  void clear_revenue_percentage();
  float revenue_percentage() const;
  void set_revenue_percentage(float value);
  private:
  float _internal_revenue_percentage() const;
  void _internal_set_revenue_percentage(float value);
  public:

  // optional uint32 rule_type = 4 [default = 1];
  bool has_rule_type() const;
  private:
  bool _internal_has_rule_type() const;
  public:
  void clear_rule_type();
  uint32_t rule_type() const;
  void set_rule_type(uint32_t value);
  private:
  uint32_t _internal_rule_type() const;
  void _internal_set_rule_type(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr rule_description_;
    uint64_t workshop_file_id_;
    float revenue_percentage_;
    uint32_t rule_type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule) */ {
 public:
  inline CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule() : CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(nullptr) {}
  ~CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& from);
  CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule&& from) noexcept
    : CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule() {
    *this = ::std::move(from);
  }

  inline CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& operator=(const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& operator=(CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule*>(
               &_CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    33;

  friend void swap(CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& a, CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& from) {
    CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule";
  }
  protected:
  explicit CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kRuleDescriptionFieldNumber = 2,
    kWorkshopFileIdFieldNumber = 1,
  };
  // optional string rule_description = 2;
  bool has_rule_description() const;
  private:
  bool _internal_has_rule_description() const;
  public:
  void clear_rule_description();
  const std::string& rule_description() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_rule_description(ArgT0&& arg0, ArgT... args);
  std::string* mutable_rule_description();
  PROTOBUF_NODISCARD std::string* release_rule_description();
  void set_allocated_rule_description(std::string* rule_description);
  private:
  const std::string& _internal_rule_description() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_rule_description(const std::string& value);
  std::string* _internal_mutable_rule_description();
  public:

  // optional uint64 workshop_file_id = 1;
  bool has_workshop_file_id() const;
  private:
  bool _internal_has_workshop_file_id() const;
  public:
  void clear_workshop_file_id();
  uint64_t workshop_file_id() const;
  void set_workshop_file_id(uint64_t value);
  private:
  uint64_t _internal_workshop_file_id() const;
  void _internal_set_workshop_file_id(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr rule_description_;
    uint64_t workshop_file_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule) */ {
 public:
  inline CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule() : CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule(nullptr) {}
  ~CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule(const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& from);
  CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule&& from) noexcept
    : CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule() {
    *this = ::std::move(from);
  }

  inline CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& operator=(const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& operator=(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule*>(
               &_CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    34;

  friend void swap(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& a, CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& from) {
    CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule";
  }
  protected:
  explicit CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kRuleDescriptionFieldNumber = 3,
    kAccountIdFieldNumber = 1,
    kRevenuePercentageFieldNumber = 2,
  };
  // optional string rule_description = 3;
  bool has_rule_description() const;
  private:
  bool _internal_has_rule_description() const;
  public:
  void clear_rule_description();
  const std::string& rule_description() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_rule_description(ArgT0&& arg0, ArgT... args);
  std::string* mutable_rule_description();
  PROTOBUF_NODISCARD std::string* release_rule_description();
  void set_allocated_rule_description(std::string* rule_description);
  private:
  const std::string& _internal_rule_description() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_rule_description(const std::string& value);
  std::string* _internal_mutable_rule_description();
  public:

  // optional uint32 account_id = 1;
  bool has_account_id() const;
  private:
  bool _internal_has_account_id() const;
  public:
  void clear_account_id();
  uint32_t account_id() const;
  void set_account_id(uint32_t value);
  private:
  uint32_t _internal_account_id() const;
  void _internal_set_account_id(uint32_t value);
  public:

  // optional float revenue_percentage = 2;
  bool has_revenue_percentage() const;
  private:
  bool _internal_has_revenue_percentage() const;
  public:
  void clear_revenue_percentage();
  float revenue_percentage() const;
  void set_revenue_percentage(float value);
  private:
  float _internal_revenue_percentage() const;
  void _internal_set_revenue_percentage(float value);
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr rule_description_;
    uint32_t account_id_;
    float revenue_percentage_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_SetItemPaymentRules_Request final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_SetItemPaymentRules_Request) */ {
 public:
  inline CWorkshop_SetItemPaymentRules_Request() : CWorkshop_SetItemPaymentRules_Request(nullptr) {}
  ~CWorkshop_SetItemPaymentRules_Request() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Request(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_SetItemPaymentRules_Request(const CWorkshop_SetItemPaymentRules_Request& from);
  CWorkshop_SetItemPaymentRules_Request(CWorkshop_SetItemPaymentRules_Request&& from) noexcept
    : CWorkshop_SetItemPaymentRules_Request() {
    *this = ::std::move(from);
  }

  inline CWorkshop_SetItemPaymentRules_Request& operator=(const CWorkshop_SetItemPaymentRules_Request& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_SetItemPaymentRules_Request& operator=(CWorkshop_SetItemPaymentRules_Request&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_SetItemPaymentRules_Request& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_SetItemPaymentRules_Request* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_SetItemPaymentRules_Request*>(
               &_CWorkshop_SetItemPaymentRules_Request_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    35;

  friend void swap(CWorkshop_SetItemPaymentRules_Request& a, CWorkshop_SetItemPaymentRules_Request& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_SetItemPaymentRules_Request* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_SetItemPaymentRules_Request* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_SetItemPaymentRules_Request* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_SetItemPaymentRules_Request>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_SetItemPaymentRules_Request& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_SetItemPaymentRules_Request& from) {
    CWorkshop_SetItemPaymentRules_Request::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_SetItemPaymentRules_Request* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_SetItemPaymentRules_Request";
  }
  protected:
  explicit CWorkshop_SetItemPaymentRules_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule WorkshopItemPaymentRule;
  typedef CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule WorkshopDirectPaymentRule;
  typedef CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule PartnerItemPaymentRule;

  // accessors -------------------------------------------------------

  enum : int {
    kAssociatedWorkshopFilesFieldNumber = 3,
    kPartnerAccountsFieldNumber = 4,
    kAssociatedWorkshopFileForDirectPaymentsFieldNumber = 7,
    kAppidFieldNumber = 1,
    kGameitemidFieldNumber = 2,
    kValidateOnlyFieldNumber = 5,
    kMakeWorkshopFilesSubscribableFieldNumber = 6,
  };
  // repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
  int associated_workshop_files_size() const;
  private:
  int _internal_associated_workshop_files_size() const;
  public:
  void clear_associated_workshop_files();
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* mutable_associated_workshop_files(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule >*
      mutable_associated_workshop_files();
  private:
  const ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& _internal_associated_workshop_files(int index) const;
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* _internal_add_associated_workshop_files();
  public:
  const ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& associated_workshop_files(int index) const;
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* add_associated_workshop_files();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule >&
      associated_workshop_files() const;

  // repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
  int partner_accounts_size() const;
  private:
  int _internal_partner_accounts_size() const;
  public:
  void clear_partner_accounts();
  ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* mutable_partner_accounts(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule >*
      mutable_partner_accounts();
  private:
  const ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& _internal_partner_accounts(int index) const;
  ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* _internal_add_partner_accounts();
  public:
  const ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& partner_accounts(int index) const;
  ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* add_partner_accounts();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule >&
      partner_accounts() const;

  // optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7;
  bool has_associated_workshop_file_for_direct_payments() const;
  private:
  bool _internal_has_associated_workshop_file_for_direct_payments() const;
  public:
  void clear_associated_workshop_file_for_direct_payments();
  const ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& associated_workshop_file_for_direct_payments() const;
  PROTOBUF_NODISCARD ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* release_associated_workshop_file_for_direct_payments();
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* mutable_associated_workshop_file_for_direct_payments();
  void set_allocated_associated_workshop_file_for_direct_payments(::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* associated_workshop_file_for_direct_payments);
  private:
  const ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& _internal_associated_workshop_file_for_direct_payments() const;
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* _internal_mutable_associated_workshop_file_for_direct_payments();
  public:
  void unsafe_arena_set_allocated_associated_workshop_file_for_direct_payments(
      ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* associated_workshop_file_for_direct_payments);
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* unsafe_arena_release_associated_workshop_file_for_direct_payments();

  // optional uint32 appid = 1;
  bool has_appid() const;
  private:
  bool _internal_has_appid() const;
  public:
  void clear_appid();
  uint32_t appid() const;
  void set_appid(uint32_t value);
  private:
  uint32_t _internal_appid() const;
  void _internal_set_appid(uint32_t value);
  public:

  // optional uint32 gameitemid = 2;
  bool has_gameitemid() const;
  private:
  bool _internal_has_gameitemid() const;
  public:
  void clear_gameitemid();
  uint32_t gameitemid() const;
  void set_gameitemid(uint32_t value);
  private:
  uint32_t _internal_gameitemid() const;
  void _internal_set_gameitemid(uint32_t value);
  public:

  // optional bool validate_only = 5;
  bool has_validate_only() const;
  private:
  bool _internal_has_validate_only() const;
  public:
  void clear_validate_only();
  bool validate_only() const;
  void set_validate_only(bool value);
  private:
  bool _internal_validate_only() const;
  void _internal_set_validate_only(bool value);
  public:

  // optional bool make_workshop_files_subscribable = 6;
  bool has_make_workshop_files_subscribable() const;
  private:
  bool _internal_has_make_workshop_files_subscribable() const;
  public:
  void clear_make_workshop_files_subscribable();
  bool make_workshop_files_subscribable() const;
  void set_make_workshop_files_subscribable(bool value);
  private:
  bool _internal_make_workshop_files_subscribable() const;
  void _internal_set_make_workshop_files_subscribable(bool value);
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Request)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule > associated_workshop_files_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule > partner_accounts_;
    ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* associated_workshop_file_for_direct_payments_;
    uint32_t appid_;
    uint32_t gameitemid_;
    bool validate_only_;
    bool make_workshop_files_subscribable_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_SetItemPaymentRules_Response final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:CWorkshop_SetItemPaymentRules_Response) */ {
 public:
  inline CWorkshop_SetItemPaymentRules_Response() : CWorkshop_SetItemPaymentRules_Response(nullptr) {}
  explicit PROTOBUF_CONSTEXPR CWorkshop_SetItemPaymentRules_Response(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_SetItemPaymentRules_Response(const CWorkshop_SetItemPaymentRules_Response& from);
  CWorkshop_SetItemPaymentRules_Response(CWorkshop_SetItemPaymentRules_Response&& from) noexcept
    : CWorkshop_SetItemPaymentRules_Response() {
    *this = ::std::move(from);
  }

  inline CWorkshop_SetItemPaymentRules_Response& operator=(const CWorkshop_SetItemPaymentRules_Response& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_SetItemPaymentRules_Response& operator=(CWorkshop_SetItemPaymentRules_Response&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_SetItemPaymentRules_Response& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_SetItemPaymentRules_Response* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_SetItemPaymentRules_Response*>(
               &_CWorkshop_SetItemPaymentRules_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    36;

  friend void swap(CWorkshop_SetItemPaymentRules_Response& a, CWorkshop_SetItemPaymentRules_Response& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_SetItemPaymentRules_Response* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_SetItemPaymentRules_Response* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_SetItemPaymentRules_Response* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_SetItemPaymentRules_Response>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const CWorkshop_SetItemPaymentRules_Response& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const CWorkshop_SetItemPaymentRules_Response& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_SetItemPaymentRules_Response";
  }
  protected:
  explicit CWorkshop_SetItemPaymentRules_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:CWorkshop_SetItemPaymentRules_Response)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
  };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CGameServers_AggregationQuery_Request final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CGameServers_AggregationQuery_Request) */ {
 public:
  inline CGameServers_AggregationQuery_Request() : CGameServers_AggregationQuery_Request(nullptr) {}
  ~CGameServers_AggregationQuery_Request() override;
  explicit PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_Request(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CGameServers_AggregationQuery_Request(const CGameServers_AggregationQuery_Request& from);
  CGameServers_AggregationQuery_Request(CGameServers_AggregationQuery_Request&& from) noexcept
    : CGameServers_AggregationQuery_Request() {
    *this = ::std::move(from);
  }

  inline CGameServers_AggregationQuery_Request& operator=(const CGameServers_AggregationQuery_Request& from) {
    CopyFrom(from);
    return *this;
  }
  inline CGameServers_AggregationQuery_Request& operator=(CGameServers_AggregationQuery_Request&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CGameServers_AggregationQuery_Request& default_instance() {
    return *internal_default_instance();
  }
  static inline const CGameServers_AggregationQuery_Request* internal_default_instance() {
    return reinterpret_cast<const CGameServers_AggregationQuery_Request*>(
               &_CGameServers_AggregationQuery_Request_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    37;

  friend void swap(CGameServers_AggregationQuery_Request& a, CGameServers_AggregationQuery_Request& b) {
    a.Swap(&b);
  }
  inline void Swap(CGameServers_AggregationQuery_Request* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CGameServers_AggregationQuery_Request* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CGameServers_AggregationQuery_Request* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CGameServers_AggregationQuery_Request>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CGameServers_AggregationQuery_Request& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CGameServers_AggregationQuery_Request& from) {
    CGameServers_AggregationQuery_Request::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CGameServers_AggregationQuery_Request* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CGameServers_AggregationQuery_Request";
  }
  protected:
  explicit CGameServers_AggregationQuery_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kGroupFieldsFieldNumber = 3,
    kFilterFieldNumber = 1,
  };
  // repeated string group_fields = 3;
  int group_fields_size() const;
  private:
  int _internal_group_fields_size() const;
  public:
  void clear_group_fields();
  const std::string& group_fields(int index) const;
  std::string* mutable_group_fields(int index);
  void set_group_fields(int index, const std::string& value);
  void set_group_fields(int index, std::string&& value);
  void set_group_fields(int index, const char* value);
  void set_group_fields(int index, const char* value, size_t size);
  std::string* add_group_fields();
  void add_group_fields(const std::string& value);
  void add_group_fields(std::string&& value);
  void add_group_fields(const char* value);
  void add_group_fields(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& group_fields() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_group_fields();
  private:
  const std::string& _internal_group_fields(int index) const;
  std::string* _internal_add_group_fields();
  public:

  // optional string filter = 1;
  bool has_filter() const;
  private:
  bool _internal_has_filter() const;
  public:
  void clear_filter();
  const std::string& filter() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_filter(ArgT0&& arg0, ArgT... args);
  std::string* mutable_filter();
  PROTOBUF_NODISCARD std::string* release_filter();
  void set_allocated_filter(std::string* filter);
  private:
  const std::string& _internal_filter() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_filter(const std::string& value);
  std::string* _internal_mutable_filter();
  public:

  // @@protoc_insertion_point(class_scope:CGameServers_AggregationQuery_Request)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> group_fields_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr filter_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CGameServers_AggregationQuery_Response_Group final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CGameServers_AggregationQuery_Response.Group) */ {
 public:
  inline CGameServers_AggregationQuery_Response_Group() : CGameServers_AggregationQuery_Response_Group(nullptr) {}
  ~CGameServers_AggregationQuery_Response_Group() override;
  explicit PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_Response_Group(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CGameServers_AggregationQuery_Response_Group(const CGameServers_AggregationQuery_Response_Group& from);
  CGameServers_AggregationQuery_Response_Group(CGameServers_AggregationQuery_Response_Group&& from) noexcept
    : CGameServers_AggregationQuery_Response_Group() {
    *this = ::std::move(from);
  }

  inline CGameServers_AggregationQuery_Response_Group& operator=(const CGameServers_AggregationQuery_Response_Group& from) {
    CopyFrom(from);
    return *this;
  }
  inline CGameServers_AggregationQuery_Response_Group& operator=(CGameServers_AggregationQuery_Response_Group&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CGameServers_AggregationQuery_Response_Group& default_instance() {
    return *internal_default_instance();
  }
  static inline const CGameServers_AggregationQuery_Response_Group* internal_default_instance() {
    return reinterpret_cast<const CGameServers_AggregationQuery_Response_Group*>(
               &_CGameServers_AggregationQuery_Response_Group_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    38;

  friend void swap(CGameServers_AggregationQuery_Response_Group& a, CGameServers_AggregationQuery_Response_Group& b) {
    a.Swap(&b);
  }
  inline void Swap(CGameServers_AggregationQuery_Response_Group* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CGameServers_AggregationQuery_Response_Group* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CGameServers_AggregationQuery_Response_Group* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CGameServers_AggregationQuery_Response_Group>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CGameServers_AggregationQuery_Response_Group& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CGameServers_AggregationQuery_Response_Group& from) {
    CGameServers_AggregationQuery_Response_Group::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CGameServers_AggregationQuery_Response_Group* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CGameServers_AggregationQuery_Response.Group";
  }
  protected:
  explicit CGameServers_AggregationQuery_Response_Group(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kGroupValuesFieldNumber = 1,
    kServersEmptyFieldNumber = 2,
    kServersFullFieldNumber = 3,
    kServersTotalFieldNumber = 4,
    kPlayersHumansFieldNumber = 5,
    kPlayersBotsFieldNumber = 6,
    kPlayerCapacityFieldNumber = 7,
  };
  // repeated string group_values = 1;
  int group_values_size() const;
  private:
  int _internal_group_values_size() const;
  public:
  void clear_group_values();
  const std::string& group_values(int index) const;
  std::string* mutable_group_values(int index);
  void set_group_values(int index, const std::string& value);
  void set_group_values(int index, std::string&& value);
  void set_group_values(int index, const char* value);
  void set_group_values(int index, const char* value, size_t size);
  std::string* add_group_values();
  void add_group_values(const std::string& value);
  void add_group_values(std::string&& value);
  void add_group_values(const char* value);
  void add_group_values(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& group_values() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_group_values();
  private:
  const std::string& _internal_group_values(int index) const;
  std::string* _internal_add_group_values();
  public:

  // optional uint32 servers_empty = 2;
  bool has_servers_empty() const;
  private:
  bool _internal_has_servers_empty() const;
  public:
  void clear_servers_empty();
  uint32_t servers_empty() const;
  void set_servers_empty(uint32_t value);
  private:
  uint32_t _internal_servers_empty() const;
  void _internal_set_servers_empty(uint32_t value);
  public:

  // optional uint32 servers_full = 3;
  bool has_servers_full() const;
  private:
  bool _internal_has_servers_full() const;
  public:
  void clear_servers_full();
  uint32_t servers_full() const;
  void set_servers_full(uint32_t value);
  private:
  uint32_t _internal_servers_full() const;
  void _internal_set_servers_full(uint32_t value);
  public:

  // optional uint32 servers_total = 4;
  bool has_servers_total() const;
  private:
  bool _internal_has_servers_total() const;
  public:
  void clear_servers_total();
  uint32_t servers_total() const;
  void set_servers_total(uint32_t value);
  private:
  uint32_t _internal_servers_total() const;
  void _internal_set_servers_total(uint32_t value);
  public:

  // optional uint32 players_humans = 5;
  bool has_players_humans() const;
  private:
  bool _internal_has_players_humans() const;
  public:
  void clear_players_humans();
  uint32_t players_humans() const;
  void set_players_humans(uint32_t value);
  private:
  uint32_t _internal_players_humans() const;
  void _internal_set_players_humans(uint32_t value);
  public:

  // optional uint32 players_bots = 6;
  bool has_players_bots() const;
  private:
  bool _internal_has_players_bots() const;
  public:
  void clear_players_bots();
  uint32_t players_bots() const;
  void set_players_bots(uint32_t value);
  private:
  uint32_t _internal_players_bots() const;
  void _internal_set_players_bots(uint32_t value);
  public:

  // optional uint32 player_capacity = 7;
  bool has_player_capacity() const;
  private:
  bool _internal_has_player_capacity() const;
  public:
  void clear_player_capacity();
  uint32_t player_capacity() const;
  void set_player_capacity(uint32_t value);
  private:
  uint32_t _internal_player_capacity() const;
  void _internal_set_player_capacity(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CGameServers_AggregationQuery_Response.Group)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> group_values_;
    uint32_t servers_empty_;
    uint32_t servers_full_;
    uint32_t servers_total_;
    uint32_t players_humans_;
    uint32_t players_bots_;
    uint32_t player_capacity_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CGameServers_AggregationQuery_Response final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CGameServers_AggregationQuery_Response) */ {
 public:
  inline CGameServers_AggregationQuery_Response() : CGameServers_AggregationQuery_Response(nullptr) {}
  ~CGameServers_AggregationQuery_Response() override;
  explicit PROTOBUF_CONSTEXPR CGameServers_AggregationQuery_Response(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CGameServers_AggregationQuery_Response(const CGameServers_AggregationQuery_Response& from);
  CGameServers_AggregationQuery_Response(CGameServers_AggregationQuery_Response&& from) noexcept
    : CGameServers_AggregationQuery_Response() {
    *this = ::std::move(from);
  }

  inline CGameServers_AggregationQuery_Response& operator=(const CGameServers_AggregationQuery_Response& from) {
    CopyFrom(from);
    return *this;
  }
  inline CGameServers_AggregationQuery_Response& operator=(CGameServers_AggregationQuery_Response&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CGameServers_AggregationQuery_Response& default_instance() {
    return *internal_default_instance();
  }
  static inline const CGameServers_AggregationQuery_Response* internal_default_instance() {
    return reinterpret_cast<const CGameServers_AggregationQuery_Response*>(
               &_CGameServers_AggregationQuery_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    39;

  friend void swap(CGameServers_AggregationQuery_Response& a, CGameServers_AggregationQuery_Response& b) {
    a.Swap(&b);
  }
  inline void Swap(CGameServers_AggregationQuery_Response* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CGameServers_AggregationQuery_Response* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CGameServers_AggregationQuery_Response* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CGameServers_AggregationQuery_Response>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CGameServers_AggregationQuery_Response& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CGameServers_AggregationQuery_Response& from) {
    CGameServers_AggregationQuery_Response::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CGameServers_AggregationQuery_Response* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CGameServers_AggregationQuery_Response";
  }
  protected:
  explicit CGameServers_AggregationQuery_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CGameServers_AggregationQuery_Response_Group Group;

  // accessors -------------------------------------------------------

  enum : int {
    kGroupsFieldNumber = 1,
  };
  // repeated .CGameServers_AggregationQuery_Response.Group groups = 1;
  int groups_size() const;
  private:
  int _internal_groups_size() const;
  public:
  void clear_groups();
  ::CGameServers_AggregationQuery_Response_Group* mutable_groups(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CGameServers_AggregationQuery_Response_Group >*
      mutable_groups();
  private:
  const ::CGameServers_AggregationQuery_Response_Group& _internal_groups(int index) const;
  ::CGameServers_AggregationQuery_Response_Group* _internal_add_groups();
  public:
  const ::CGameServers_AggregationQuery_Response_Group& groups(int index) const;
  ::CGameServers_AggregationQuery_Response_Group* add_groups();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CGameServers_AggregationQuery_Response_Group >&
      groups() const;

  // @@protoc_insertion_point(class_scope:CGameServers_AggregationQuery_Response)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CGameServers_AggregationQuery_Response_Group > groups_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_AddSpecialPayment_Request final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CWorkshop_AddSpecialPayment_Request) */ {
 public:
  inline CWorkshop_AddSpecialPayment_Request() : CWorkshop_AddSpecialPayment_Request(nullptr) {}
  ~CWorkshop_AddSpecialPayment_Request() override;
  explicit PROTOBUF_CONSTEXPR CWorkshop_AddSpecialPayment_Request(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_AddSpecialPayment_Request(const CWorkshop_AddSpecialPayment_Request& from);
  CWorkshop_AddSpecialPayment_Request(CWorkshop_AddSpecialPayment_Request&& from) noexcept
    : CWorkshop_AddSpecialPayment_Request() {
    *this = ::std::move(from);
  }

  inline CWorkshop_AddSpecialPayment_Request& operator=(const CWorkshop_AddSpecialPayment_Request& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_AddSpecialPayment_Request& operator=(CWorkshop_AddSpecialPayment_Request&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_AddSpecialPayment_Request& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_AddSpecialPayment_Request* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_AddSpecialPayment_Request*>(
               &_CWorkshop_AddSpecialPayment_Request_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    40;

  friend void swap(CWorkshop_AddSpecialPayment_Request& a, CWorkshop_AddSpecialPayment_Request& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_AddSpecialPayment_Request* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_AddSpecialPayment_Request* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_AddSpecialPayment_Request* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_AddSpecialPayment_Request>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CWorkshop_AddSpecialPayment_Request& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CWorkshop_AddSpecialPayment_Request& from) {
    CWorkshop_AddSpecialPayment_Request::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CWorkshop_AddSpecialPayment_Request* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_AddSpecialPayment_Request";
  }
  protected:
  explicit CWorkshop_AddSpecialPayment_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kDateFieldNumber = 3,
    kAppidFieldNumber = 1,
    kGameitemidFieldNumber = 2,
    kPaymentUsUsdFieldNumber = 4,
    kPaymentRowUsdFieldNumber = 5,
  };
  // optional string date = 3;
  bool has_date() const;
  private:
  bool _internal_has_date() const;
  public:
  void clear_date();
  const std::string& date() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_date(ArgT0&& arg0, ArgT... args);
  std::string* mutable_date();
  PROTOBUF_NODISCARD std::string* release_date();
  void set_allocated_date(std::string* date);
  private:
  const std::string& _internal_date() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_date(const std::string& value);
  std::string* _internal_mutable_date();
  public:

  // optional uint32 appid = 1;
  bool has_appid() const;
  private:
  bool _internal_has_appid() const;
  public:
  void clear_appid();
  uint32_t appid() const;
  void set_appid(uint32_t value);
  private:
  uint32_t _internal_appid() const;
  void _internal_set_appid(uint32_t value);
  public:

  // optional uint32 gameitemid = 2;
  bool has_gameitemid() const;
  private:
  bool _internal_has_gameitemid() const;
  public:
  void clear_gameitemid();
  uint32_t gameitemid() const;
  void set_gameitemid(uint32_t value);
  private:
  uint32_t _internal_gameitemid() const;
  void _internal_set_gameitemid(uint32_t value);
  public:

  // optional uint64 payment_us_usd = 4;
  bool has_payment_us_usd() const;
  private:
  bool _internal_has_payment_us_usd() const;
  public:
  void clear_payment_us_usd();
  uint64_t payment_us_usd() const;
  void set_payment_us_usd(uint64_t value);
  private:
  uint64_t _internal_payment_us_usd() const;
  void _internal_set_payment_us_usd(uint64_t value);
  public:

  // optional uint64 payment_row_usd = 5;
  bool has_payment_row_usd() const;
  private:
  bool _internal_has_payment_row_usd() const;
  public:
  void clear_payment_row_usd();
  uint64_t payment_row_usd() const;
  void set_payment_row_usd(uint64_t value);
  private:
  uint64_t _internal_payment_row_usd() const;
  void _internal_set_payment_row_usd(uint64_t value);
  public:

  // @@protoc_insertion_point(class_scope:CWorkshop_AddSpecialPayment_Request)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr date_;
    uint32_t appid_;
    uint32_t gameitemid_;
    uint64_t payment_us_usd_;
    uint64_t payment_row_usd_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CWorkshop_AddSpecialPayment_Response final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:CWorkshop_AddSpecialPayment_Response) */ {
 public:
  inline CWorkshop_AddSpecialPayment_Response() : CWorkshop_AddSpecialPayment_Response(nullptr) {}
  explicit PROTOBUF_CONSTEXPR CWorkshop_AddSpecialPayment_Response(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CWorkshop_AddSpecialPayment_Response(const CWorkshop_AddSpecialPayment_Response& from);
  CWorkshop_AddSpecialPayment_Response(CWorkshop_AddSpecialPayment_Response&& from) noexcept
    : CWorkshop_AddSpecialPayment_Response() {
    *this = ::std::move(from);
  }

  inline CWorkshop_AddSpecialPayment_Response& operator=(const CWorkshop_AddSpecialPayment_Response& from) {
    CopyFrom(from);
    return *this;
  }
  inline CWorkshop_AddSpecialPayment_Response& operator=(CWorkshop_AddSpecialPayment_Response&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CWorkshop_AddSpecialPayment_Response& default_instance() {
    return *internal_default_instance();
  }
  static inline const CWorkshop_AddSpecialPayment_Response* internal_default_instance() {
    return reinterpret_cast<const CWorkshop_AddSpecialPayment_Response*>(
               &_CWorkshop_AddSpecialPayment_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    41;

  friend void swap(CWorkshop_AddSpecialPayment_Response& a, CWorkshop_AddSpecialPayment_Response& b) {
    a.Swap(&b);
  }
  inline void Swap(CWorkshop_AddSpecialPayment_Response* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CWorkshop_AddSpecialPayment_Response* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CWorkshop_AddSpecialPayment_Response* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CWorkshop_AddSpecialPayment_Response>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const CWorkshop_AddSpecialPayment_Response& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const CWorkshop_AddSpecialPayment_Response& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CWorkshop_AddSpecialPayment_Response";
  }
  protected:
  explicit CWorkshop_AddSpecialPayment_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:CWorkshop_AddSpecialPayment_Response)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
  };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CProductInfo_SetRichPresenceLocalization_Request_Token final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CProductInfo_SetRichPresenceLocalization_Request.Token) */ {
 public:
  inline CProductInfo_SetRichPresenceLocalization_Request_Token() : CProductInfo_SetRichPresenceLocalization_Request_Token(nullptr) {}
  ~CProductInfo_SetRichPresenceLocalization_Request_Token() override;
  explicit PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Request_Token(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CProductInfo_SetRichPresenceLocalization_Request_Token(const CProductInfo_SetRichPresenceLocalization_Request_Token& from);
  CProductInfo_SetRichPresenceLocalization_Request_Token(CProductInfo_SetRichPresenceLocalization_Request_Token&& from) noexcept
    : CProductInfo_SetRichPresenceLocalization_Request_Token() {
    *this = ::std::move(from);
  }

  inline CProductInfo_SetRichPresenceLocalization_Request_Token& operator=(const CProductInfo_SetRichPresenceLocalization_Request_Token& from) {
    CopyFrom(from);
    return *this;
  }
  inline CProductInfo_SetRichPresenceLocalization_Request_Token& operator=(CProductInfo_SetRichPresenceLocalization_Request_Token&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CProductInfo_SetRichPresenceLocalization_Request_Token& default_instance() {
    return *internal_default_instance();
  }
  static inline const CProductInfo_SetRichPresenceLocalization_Request_Token* internal_default_instance() {
    return reinterpret_cast<const CProductInfo_SetRichPresenceLocalization_Request_Token*>(
               &_CProductInfo_SetRichPresenceLocalization_Request_Token_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    42;

  friend void swap(CProductInfo_SetRichPresenceLocalization_Request_Token& a, CProductInfo_SetRichPresenceLocalization_Request_Token& b) {
    a.Swap(&b);
  }
  inline void Swap(CProductInfo_SetRichPresenceLocalization_Request_Token* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CProductInfo_SetRichPresenceLocalization_Request_Token* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CProductInfo_SetRichPresenceLocalization_Request_Token* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CProductInfo_SetRichPresenceLocalization_Request_Token>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CProductInfo_SetRichPresenceLocalization_Request_Token& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CProductInfo_SetRichPresenceLocalization_Request_Token& from) {
    CProductInfo_SetRichPresenceLocalization_Request_Token::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CProductInfo_SetRichPresenceLocalization_Request_Token* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CProductInfo_SetRichPresenceLocalization_Request.Token";
  }
  protected:
  explicit CProductInfo_SetRichPresenceLocalization_Request_Token(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTokenFieldNumber = 1,
    kValueFieldNumber = 2,
  };
  // optional string token = 1;
  bool has_token() const;
  private:
  bool _internal_has_token() const;
  public:
  void clear_token();
  const std::string& token() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_token(ArgT0&& arg0, ArgT... args);
  std::string* mutable_token();
  PROTOBUF_NODISCARD std::string* release_token();
  void set_allocated_token(std::string* token);
  private:
  const std::string& _internal_token() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_token(const std::string& value);
  std::string* _internal_mutable_token();
  public:

  // optional string value = 2;
  bool has_value() const;
  private:
  bool _internal_has_value() const;
  public:
  void clear_value();
  const std::string& value() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_value(ArgT0&& arg0, ArgT... args);
  std::string* mutable_value();
  PROTOBUF_NODISCARD std::string* release_value();
  void set_allocated_value(std::string* value);
  private:
  const std::string& _internal_value() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_value(const std::string& value);
  std::string* _internal_mutable_value();
  public:

  // @@protoc_insertion_point(class_scope:CProductInfo_SetRichPresenceLocalization_Request.Token)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr token_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr value_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CProductInfo_SetRichPresenceLocalization_Request_LanguageSection final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection) */ {
 public:
  inline CProductInfo_SetRichPresenceLocalization_Request_LanguageSection() : CProductInfo_SetRichPresenceLocalization_Request_LanguageSection(nullptr) {}
  ~CProductInfo_SetRichPresenceLocalization_Request_LanguageSection() override;
  explicit PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Request_LanguageSection(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CProductInfo_SetRichPresenceLocalization_Request_LanguageSection(const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& from);
  CProductInfo_SetRichPresenceLocalization_Request_LanguageSection(CProductInfo_SetRichPresenceLocalization_Request_LanguageSection&& from) noexcept
    : CProductInfo_SetRichPresenceLocalization_Request_LanguageSection() {
    *this = ::std::move(from);
  }

  inline CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& operator=(const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& from) {
    CopyFrom(from);
    return *this;
  }
  inline CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& operator=(CProductInfo_SetRichPresenceLocalization_Request_LanguageSection&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& default_instance() {
    return *internal_default_instance();
  }
  static inline const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* internal_default_instance() {
    return reinterpret_cast<const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection*>(
               &_CProductInfo_SetRichPresenceLocalization_Request_LanguageSection_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    43;

  friend void swap(CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& a, CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& b) {
    a.Swap(&b);
  }
  inline void Swap(CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CProductInfo_SetRichPresenceLocalization_Request_LanguageSection>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& from) {
    CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CProductInfo_SetRichPresenceLocalization_Request.LanguageSection";
  }
  protected:
  explicit CProductInfo_SetRichPresenceLocalization_Request_LanguageSection(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTokensFieldNumber = 2,
    kLanguageFieldNumber = 1,
  };
  // repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2;
  int tokens_size() const;
  private:
  int _internal_tokens_size() const;
  public:
  void clear_tokens();
  ::CProductInfo_SetRichPresenceLocalization_Request_Token* mutable_tokens(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_Token >*
      mutable_tokens();
  private:
  const ::CProductInfo_SetRichPresenceLocalization_Request_Token& _internal_tokens(int index) const;
  ::CProductInfo_SetRichPresenceLocalization_Request_Token* _internal_add_tokens();
  public:
  const ::CProductInfo_SetRichPresenceLocalization_Request_Token& tokens(int index) const;
  ::CProductInfo_SetRichPresenceLocalization_Request_Token* add_tokens();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_Token >&
      tokens() const;

  // optional string language = 1;
  bool has_language() const;
  private:
  bool _internal_has_language() const;
  public:
  void clear_language();
  const std::string& language() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_language(ArgT0&& arg0, ArgT... args);
  std::string* mutable_language();
  PROTOBUF_NODISCARD std::string* release_language();
  void set_allocated_language(std::string* language);
  private:
  const std::string& _internal_language() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_language(const std::string& value);
  std::string* _internal_mutable_language();
  public:

  // @@protoc_insertion_point(class_scope:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_Token > tokens_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr language_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CProductInfo_SetRichPresenceLocalization_Request final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CProductInfo_SetRichPresenceLocalization_Request) */ {
 public:
  inline CProductInfo_SetRichPresenceLocalization_Request() : CProductInfo_SetRichPresenceLocalization_Request(nullptr) {}
  ~CProductInfo_SetRichPresenceLocalization_Request() override;
  explicit PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Request(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CProductInfo_SetRichPresenceLocalization_Request(const CProductInfo_SetRichPresenceLocalization_Request& from);
  CProductInfo_SetRichPresenceLocalization_Request(CProductInfo_SetRichPresenceLocalization_Request&& from) noexcept
    : CProductInfo_SetRichPresenceLocalization_Request() {
    *this = ::std::move(from);
  }

  inline CProductInfo_SetRichPresenceLocalization_Request& operator=(const CProductInfo_SetRichPresenceLocalization_Request& from) {
    CopyFrom(from);
    return *this;
  }
  inline CProductInfo_SetRichPresenceLocalization_Request& operator=(CProductInfo_SetRichPresenceLocalization_Request&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CProductInfo_SetRichPresenceLocalization_Request& default_instance() {
    return *internal_default_instance();
  }
  static inline const CProductInfo_SetRichPresenceLocalization_Request* internal_default_instance() {
    return reinterpret_cast<const CProductInfo_SetRichPresenceLocalization_Request*>(
               &_CProductInfo_SetRichPresenceLocalization_Request_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    44;

  friend void swap(CProductInfo_SetRichPresenceLocalization_Request& a, CProductInfo_SetRichPresenceLocalization_Request& b) {
    a.Swap(&b);
  }
  inline void Swap(CProductInfo_SetRichPresenceLocalization_Request* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CProductInfo_SetRichPresenceLocalization_Request* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CProductInfo_SetRichPresenceLocalization_Request* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CProductInfo_SetRichPresenceLocalization_Request>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CProductInfo_SetRichPresenceLocalization_Request& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CProductInfo_SetRichPresenceLocalization_Request& from) {
    CProductInfo_SetRichPresenceLocalization_Request::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CProductInfo_SetRichPresenceLocalization_Request* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CProductInfo_SetRichPresenceLocalization_Request";
  }
  protected:
  explicit CProductInfo_SetRichPresenceLocalization_Request(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CProductInfo_SetRichPresenceLocalization_Request_Token Token;
  typedef CProductInfo_SetRichPresenceLocalization_Request_LanguageSection LanguageSection;

  // accessors -------------------------------------------------------

  enum : int {
    kLanguagesFieldNumber = 2,
    kSteamidFieldNumber = 3,
    kAppidFieldNumber = 1,
  };
  // repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2;
  int languages_size() const;
  private:
  int _internal_languages_size() const;
  public:
  void clear_languages();
  ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* mutable_languages(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection >*
      mutable_languages();
  private:
  const ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& _internal_languages(int index) const;
  ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* _internal_add_languages();
  public:
  const ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& languages(int index) const;
  ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* add_languages();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection >&
      languages() const;

  // optional uint64 steamid = 3;
  bool has_steamid() const;
  private:
  bool _internal_has_steamid() const;
  public:
  void clear_steamid();
  uint64_t steamid() const;
  void set_steamid(uint64_t value);
  private:
  uint64_t _internal_steamid() const;
  void _internal_set_steamid(uint64_t value);
  public:

  // optional uint32 appid = 1;
  bool has_appid() const;
  private:
  bool _internal_has_appid() const;
  public:
  void clear_appid();
  uint32_t appid() const;
  void set_appid(uint32_t value);
  private:
  uint32_t _internal_appid() const;
  void _internal_set_appid(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CProductInfo_SetRichPresenceLocalization_Request)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection > languages_;
    uint64_t steamid_;
    uint32_t appid_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CProductInfo_SetRichPresenceLocalization_Response final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:CProductInfo_SetRichPresenceLocalization_Response) */ {
 public:
  inline CProductInfo_SetRichPresenceLocalization_Response() : CProductInfo_SetRichPresenceLocalization_Response(nullptr) {}
  explicit PROTOBUF_CONSTEXPR CProductInfo_SetRichPresenceLocalization_Response(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CProductInfo_SetRichPresenceLocalization_Response(const CProductInfo_SetRichPresenceLocalization_Response& from);
  CProductInfo_SetRichPresenceLocalization_Response(CProductInfo_SetRichPresenceLocalization_Response&& from) noexcept
    : CProductInfo_SetRichPresenceLocalization_Response() {
    *this = ::std::move(from);
  }

  inline CProductInfo_SetRichPresenceLocalization_Response& operator=(const CProductInfo_SetRichPresenceLocalization_Response& from) {
    CopyFrom(from);
    return *this;
  }
  inline CProductInfo_SetRichPresenceLocalization_Response& operator=(CProductInfo_SetRichPresenceLocalization_Response&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CProductInfo_SetRichPresenceLocalization_Response& default_instance() {
    return *internal_default_instance();
  }
  static inline const CProductInfo_SetRichPresenceLocalization_Response* internal_default_instance() {
    return reinterpret_cast<const CProductInfo_SetRichPresenceLocalization_Response*>(
               &_CProductInfo_SetRichPresenceLocalization_Response_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    45;

  friend void swap(CProductInfo_SetRichPresenceLocalization_Response& a, CProductInfo_SetRichPresenceLocalization_Response& b) {
    a.Swap(&b);
  }
  inline void Swap(CProductInfo_SetRichPresenceLocalization_Response* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CProductInfo_SetRichPresenceLocalization_Response* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CProductInfo_SetRichPresenceLocalization_Response* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CProductInfo_SetRichPresenceLocalization_Response>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const CProductInfo_SetRichPresenceLocalization_Response& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const CProductInfo_SetRichPresenceLocalization_Response& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CProductInfo_SetRichPresenceLocalization_Response";
  }
  protected:
  explicit CProductInfo_SetRichPresenceLocalization_Response(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:CProductInfo_SetRichPresenceLocalization_Response)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
  };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSerializedSOCache_TypeCache final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSerializedSOCache.TypeCache) */ {
 public:
  inline CMsgSerializedSOCache_TypeCache() : CMsgSerializedSOCache_TypeCache(nullptr) {}
  ~CMsgSerializedSOCache_TypeCache() override;
  explicit PROTOBUF_CONSTEXPR CMsgSerializedSOCache_TypeCache(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSerializedSOCache_TypeCache(const CMsgSerializedSOCache_TypeCache& from);
  CMsgSerializedSOCache_TypeCache(CMsgSerializedSOCache_TypeCache&& from) noexcept
    : CMsgSerializedSOCache_TypeCache() {
    *this = ::std::move(from);
  }

  inline CMsgSerializedSOCache_TypeCache& operator=(const CMsgSerializedSOCache_TypeCache& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSerializedSOCache_TypeCache& operator=(CMsgSerializedSOCache_TypeCache&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSerializedSOCache_TypeCache& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSerializedSOCache_TypeCache* internal_default_instance() {
    return reinterpret_cast<const CMsgSerializedSOCache_TypeCache*>(
               &_CMsgSerializedSOCache_TypeCache_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    46;

  friend void swap(CMsgSerializedSOCache_TypeCache& a, CMsgSerializedSOCache_TypeCache& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSerializedSOCache_TypeCache* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSerializedSOCache_TypeCache* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSerializedSOCache_TypeCache* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSerializedSOCache_TypeCache>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSerializedSOCache_TypeCache& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSerializedSOCache_TypeCache& from) {
    CMsgSerializedSOCache_TypeCache::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSerializedSOCache_TypeCache* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSerializedSOCache.TypeCache";
  }
  protected:
  explicit CMsgSerializedSOCache_TypeCache(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kObjectsFieldNumber = 2,
    kTypeFieldNumber = 1,
    kServiceIdFieldNumber = 3,
  };
  // repeated bytes objects = 2;
  int objects_size() const;
  private:
  int _internal_objects_size() const;
  public:
  void clear_objects();
  const std::string& objects(int index) const;
  std::string* mutable_objects(int index);
  void set_objects(int index, const std::string& value);
  void set_objects(int index, std::string&& value);
  void set_objects(int index, const char* value);
  void set_objects(int index, const void* value, size_t size);
  std::string* add_objects();
  void add_objects(const std::string& value);
  void add_objects(std::string&& value);
  void add_objects(const char* value);
  void add_objects(const void* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& objects() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_objects();
  private:
  const std::string& _internal_objects(int index) const;
  std::string* _internal_add_objects();
  public:

  // optional uint32 type = 1;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  uint32_t type() const;
  void set_type(uint32_t value);
  private:
  uint32_t _internal_type() const;
  void _internal_set_type(uint32_t value);
  public:

  // optional uint32 service_id = 3;
  bool has_service_id() const;
  private:
  bool _internal_has_service_id() const;
  public:
  void clear_service_id();
  uint32_t service_id() const;
  void set_service_id(uint32_t value);
  private:
  uint32_t _internal_service_id() const;
  void _internal_set_service_id(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSerializedSOCache.TypeCache)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> objects_;
    uint32_t type_;
    uint32_t service_id_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSerializedSOCache_Cache_Version final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSerializedSOCache.Cache.Version) */ {
 public:
  inline CMsgSerializedSOCache_Cache_Version() : CMsgSerializedSOCache_Cache_Version(nullptr) {}
  ~CMsgSerializedSOCache_Cache_Version() override;
  explicit PROTOBUF_CONSTEXPR CMsgSerializedSOCache_Cache_Version(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSerializedSOCache_Cache_Version(const CMsgSerializedSOCache_Cache_Version& from);
  CMsgSerializedSOCache_Cache_Version(CMsgSerializedSOCache_Cache_Version&& from) noexcept
    : CMsgSerializedSOCache_Cache_Version() {
    *this = ::std::move(from);
  }

  inline CMsgSerializedSOCache_Cache_Version& operator=(const CMsgSerializedSOCache_Cache_Version& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSerializedSOCache_Cache_Version& operator=(CMsgSerializedSOCache_Cache_Version&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSerializedSOCache_Cache_Version& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSerializedSOCache_Cache_Version* internal_default_instance() {
    return reinterpret_cast<const CMsgSerializedSOCache_Cache_Version*>(
               &_CMsgSerializedSOCache_Cache_Version_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    47;

  friend void swap(CMsgSerializedSOCache_Cache_Version& a, CMsgSerializedSOCache_Cache_Version& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSerializedSOCache_Cache_Version* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSerializedSOCache_Cache_Version* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSerializedSOCache_Cache_Version* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSerializedSOCache_Cache_Version>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSerializedSOCache_Cache_Version& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSerializedSOCache_Cache_Version& from) {
    CMsgSerializedSOCache_Cache_Version::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSerializedSOCache_Cache_Version* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSerializedSOCache.Cache.Version";
  }
  protected:
  explicit CMsgSerializedSOCache_Cache_Version(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kVersionFieldNumber = 2,
    kServiceFieldNumber = 1,
  };
  // optional uint64 version = 2;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  uint64_t version() const;
  void set_version(uint64_t value);
  private:
  uint64_t _internal_version() const;
  void _internal_set_version(uint64_t value);
  public:

  // optional uint32 service = 1;
  bool has_service() const;
  private:
  bool _internal_has_service() const;
  public:
  void clear_service();
  uint32_t service() const;
  void set_service(uint32_t value);
  private:
  uint32_t _internal_service() const;
  void _internal_set_service(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSerializedSOCache.Cache.Version)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    uint64_t version_;
    uint32_t service_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSerializedSOCache_Cache final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSerializedSOCache.Cache) */ {
 public:
  inline CMsgSerializedSOCache_Cache() : CMsgSerializedSOCache_Cache(nullptr) {}
  ~CMsgSerializedSOCache_Cache() override;
  explicit PROTOBUF_CONSTEXPR CMsgSerializedSOCache_Cache(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSerializedSOCache_Cache(const CMsgSerializedSOCache_Cache& from);
  CMsgSerializedSOCache_Cache(CMsgSerializedSOCache_Cache&& from) noexcept
    : CMsgSerializedSOCache_Cache() {
    *this = ::std::move(from);
  }

  inline CMsgSerializedSOCache_Cache& operator=(const CMsgSerializedSOCache_Cache& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSerializedSOCache_Cache& operator=(CMsgSerializedSOCache_Cache&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSerializedSOCache_Cache& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSerializedSOCache_Cache* internal_default_instance() {
    return reinterpret_cast<const CMsgSerializedSOCache_Cache*>(
               &_CMsgSerializedSOCache_Cache_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    48;

  friend void swap(CMsgSerializedSOCache_Cache& a, CMsgSerializedSOCache_Cache& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSerializedSOCache_Cache* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSerializedSOCache_Cache* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSerializedSOCache_Cache* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSerializedSOCache_Cache>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSerializedSOCache_Cache& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSerializedSOCache_Cache& from) {
    CMsgSerializedSOCache_Cache::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSerializedSOCache_Cache* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSerializedSOCache.Cache";
  }
  protected:
  explicit CMsgSerializedSOCache_Cache(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CMsgSerializedSOCache_Cache_Version Version;

  // accessors -------------------------------------------------------

  enum : int {
    kVersionsFieldNumber = 3,
    kTypeCachesFieldNumber = 4,
    kIdFieldNumber = 2,
    kTypeFieldNumber = 1,
  };
  // repeated .CMsgSerializedSOCache.Cache.Version versions = 3;
  int versions_size() const;
  private:
  int _internal_versions_size() const;
  public:
  void clear_versions();
  ::CMsgSerializedSOCache_Cache_Version* mutable_versions(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache_Version >*
      mutable_versions();
  private:
  const ::CMsgSerializedSOCache_Cache_Version& _internal_versions(int index) const;
  ::CMsgSerializedSOCache_Cache_Version* _internal_add_versions();
  public:
  const ::CMsgSerializedSOCache_Cache_Version& versions(int index) const;
  ::CMsgSerializedSOCache_Cache_Version* add_versions();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache_Version >&
      versions() const;

  // repeated .CMsgSerializedSOCache.TypeCache type_caches = 4;
  int type_caches_size() const;
  private:
  int _internal_type_caches_size() const;
  public:
  void clear_type_caches();
  ::CMsgSerializedSOCache_TypeCache* mutable_type_caches(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_TypeCache >*
      mutable_type_caches();
  private:
  const ::CMsgSerializedSOCache_TypeCache& _internal_type_caches(int index) const;
  ::CMsgSerializedSOCache_TypeCache* _internal_add_type_caches();
  public:
  const ::CMsgSerializedSOCache_TypeCache& type_caches(int index) const;
  ::CMsgSerializedSOCache_TypeCache* add_type_caches();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_TypeCache >&
      type_caches() const;

  // optional uint64 id = 2;
  bool has_id() const;
  private:
  bool _internal_has_id() const;
  public:
  void clear_id();
  uint64_t id() const;
  void set_id(uint64_t value);
  private:
  uint64_t _internal_id() const;
  void _internal_set_id(uint64_t value);
  public:

  // optional uint32 type = 1;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  uint32_t type() const;
  void set_type(uint32_t value);
  private:
  uint32_t _internal_type() const;
  void _internal_set_type(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSerializedSOCache.Cache)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache_Version > versions_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_TypeCache > type_caches_;
    uint64_t id_;
    uint32_t type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// -------------------------------------------------------------------

class CMsgSerializedSOCache final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CMsgSerializedSOCache) */ {
 public:
  inline CMsgSerializedSOCache() : CMsgSerializedSOCache(nullptr) {}
  ~CMsgSerializedSOCache() override;
  explicit PROTOBUF_CONSTEXPR CMsgSerializedSOCache(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  CMsgSerializedSOCache(const CMsgSerializedSOCache& from);
  CMsgSerializedSOCache(CMsgSerializedSOCache&& from) noexcept
    : CMsgSerializedSOCache() {
    *this = ::std::move(from);
  }

  inline CMsgSerializedSOCache& operator=(const CMsgSerializedSOCache& from) {
    CopyFrom(from);
    return *this;
  }
  inline CMsgSerializedSOCache& operator=(CMsgSerializedSOCache&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const CMsgSerializedSOCache& default_instance() {
    return *internal_default_instance();
  }
  static inline const CMsgSerializedSOCache* internal_default_instance() {
    return reinterpret_cast<const CMsgSerializedSOCache*>(
               &_CMsgSerializedSOCache_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    49;

  friend void swap(CMsgSerializedSOCache& a, CMsgSerializedSOCache& b) {
    a.Swap(&b);
  }
  inline void Swap(CMsgSerializedSOCache* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CMsgSerializedSOCache* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  CMsgSerializedSOCache* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<CMsgSerializedSOCache>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const CMsgSerializedSOCache& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const CMsgSerializedSOCache& from) {
    CMsgSerializedSOCache::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(CMsgSerializedSOCache* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "CMsgSerializedSOCache";
  }
  protected:
  explicit CMsgSerializedSOCache(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef CMsgSerializedSOCache_TypeCache TypeCache;
  typedef CMsgSerializedSOCache_Cache Cache;

  // accessors -------------------------------------------------------

  enum : int {
    kCachesFieldNumber = 2,
    kFileVersionFieldNumber = 1,
    kGcSocacheFileVersionFieldNumber = 3,
  };
  // repeated .CMsgSerializedSOCache.Cache caches = 2;
  int caches_size() const;
  private:
  int _internal_caches_size() const;
  public:
  void clear_caches();
  ::CMsgSerializedSOCache_Cache* mutable_caches(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache >*
      mutable_caches();
  private:
  const ::CMsgSerializedSOCache_Cache& _internal_caches(int index) const;
  ::CMsgSerializedSOCache_Cache* _internal_add_caches();
  public:
  const ::CMsgSerializedSOCache_Cache& caches(int index) const;
  ::CMsgSerializedSOCache_Cache* add_caches();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache >&
      caches() const;

  // optional uint32 file_version = 1;
  bool has_file_version() const;
  private:
  bool _internal_has_file_version() const;
  public:
  void clear_file_version();
  uint32_t file_version() const;
  void set_file_version(uint32_t value);
  private:
  uint32_t _internal_file_version() const;
  void _internal_set_file_version(uint32_t value);
  public:

  // optional uint32 gc_socache_file_version = 3;
  bool has_gc_socache_file_version() const;
  private:
  bool _internal_has_gc_socache_file_version() const;
  public:
  void clear_gc_socache_file_version();
  uint32_t gc_socache_file_version() const;
  void set_gc_socache_file_version(uint32_t value);
  private:
  uint32_t _internal_gc_socache_file_version() const;
  void _internal_set_gc_socache_file_version(uint32_t value);
  public:

  // @@protoc_insertion_point(class_scope:CMsgSerializedSOCache)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache > caches_;
    uint32_t file_version_;
    uint32_t gc_socache_file_version_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_gcsdk_5fgcmessages_2eproto;
};
// ===================================================================


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

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

// optional uint32 type = 1;
inline bool CMsgSOIDOwner::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSOIDOwner::has_type() const {
  return _internal_has_type();
}
inline void CMsgSOIDOwner::clear_type() {
  _impl_.type_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSOIDOwner::_internal_type() const {
  return _impl_.type_;
}
inline uint32_t CMsgSOIDOwner::type() const {
  // @@protoc_insertion_point(field_get:CMsgSOIDOwner.type)
  return _internal_type();
}
inline void CMsgSOIDOwner::_internal_set_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.type_ = value;
}
inline void CMsgSOIDOwner::set_type(uint32_t value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:CMsgSOIDOwner.type)
}

// optional uint64 id = 2;
inline bool CMsgSOIDOwner::_internal_has_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSOIDOwner::has_id() const {
  return _internal_has_id();
}
inline void CMsgSOIDOwner::clear_id() {
  _impl_.id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CMsgSOIDOwner::_internal_id() const {
  return _impl_.id_;
}
inline uint64_t CMsgSOIDOwner::id() const {
  // @@protoc_insertion_point(field_get:CMsgSOIDOwner.id)
  return _internal_id();
}
inline void CMsgSOIDOwner::_internal_set_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.id_ = value;
}
inline void CMsgSOIDOwner::set_id(uint64_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:CMsgSOIDOwner.id)
}

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

// CMsgSOSingleObject

// optional int32 type_id = 2;
inline bool CMsgSOSingleObject::_internal_has_type_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgSOSingleObject::has_type_id() const {
  return _internal_has_type_id();
}
inline void CMsgSOSingleObject::clear_type_id() {
  _impl_.type_id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int32_t CMsgSOSingleObject::_internal_type_id() const {
  return _impl_.type_id_;
}
inline int32_t CMsgSOSingleObject::type_id() const {
  // @@protoc_insertion_point(field_get:CMsgSOSingleObject.type_id)
  return _internal_type_id();
}
inline void CMsgSOSingleObject::_internal_set_type_id(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.type_id_ = value;
}
inline void CMsgSOSingleObject::set_type_id(int32_t value) {
  _internal_set_type_id(value);
  // @@protoc_insertion_point(field_set:CMsgSOSingleObject.type_id)
}

// optional bytes object_data = 3;
inline bool CMsgSOSingleObject::_internal_has_object_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSOSingleObject::has_object_data() const {
  return _internal_has_object_data();
}
inline void CMsgSOSingleObject::clear_object_data() {
  _impl_.object_data_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSOSingleObject::object_data() const {
  // @@protoc_insertion_point(field_get:CMsgSOSingleObject.object_data)
  return _internal_object_data();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSOSingleObject::set_object_data(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.object_data_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSOSingleObject.object_data)
}
inline std::string* CMsgSOSingleObject::mutable_object_data() {
  std::string* _s = _internal_mutable_object_data();
  // @@protoc_insertion_point(field_mutable:CMsgSOSingleObject.object_data)
  return _s;
}
inline const std::string& CMsgSOSingleObject::_internal_object_data() const {
  return _impl_.object_data_.Get();
}
inline void CMsgSOSingleObject::_internal_set_object_data(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.object_data_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSOSingleObject::_internal_mutable_object_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.object_data_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSOSingleObject::release_object_data() {
  // @@protoc_insertion_point(field_release:CMsgSOSingleObject.object_data)
  if (!_internal_has_object_data()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.object_data_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.object_data_.IsDefault()) {
    _impl_.object_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSOSingleObject::set_allocated_object_data(std::string* object_data) {
  if (object_data != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.object_data_.SetAllocated(object_data, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.object_data_.IsDefault()) {
    _impl_.object_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSOSingleObject.object_data)
}

// optional fixed64 version = 4;
inline bool CMsgSOSingleObject::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgSOSingleObject::has_version() const {
  return _internal_has_version();
}
inline void CMsgSOSingleObject::clear_version() {
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint64_t CMsgSOSingleObject::_internal_version() const {
  return _impl_.version_;
}
inline uint64_t CMsgSOSingleObject::version() const {
  // @@protoc_insertion_point(field_get:CMsgSOSingleObject.version)
  return _internal_version();
}
inline void CMsgSOSingleObject::_internal_set_version(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.version_ = value;
}
inline void CMsgSOSingleObject::set_version(uint64_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgSOSingleObject.version)
}

// optional .CMsgSOIDOwner owner_soid = 5;
inline bool CMsgSOSingleObject::_internal_has_owner_soid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.owner_soid_ != nullptr);
  return value;
}
inline bool CMsgSOSingleObject::has_owner_soid() const {
  return _internal_has_owner_soid();
}
inline void CMsgSOSingleObject::clear_owner_soid() {
  if (_impl_.owner_soid_ != nullptr) _impl_.owner_soid_->Clear();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const ::CMsgSOIDOwner& CMsgSOSingleObject::_internal_owner_soid() const {
  const ::CMsgSOIDOwner* p = _impl_.owner_soid_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSOIDOwner&>(
      ::_CMsgSOIDOwner_default_instance_);
}
inline const ::CMsgSOIDOwner& CMsgSOSingleObject::owner_soid() const {
  // @@protoc_insertion_point(field_get:CMsgSOSingleObject.owner_soid)
  return _internal_owner_soid();
}
inline void CMsgSOSingleObject::unsafe_arena_set_allocated_owner_soid(
    ::CMsgSOIDOwner* owner_soid) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.owner_soid_);
  }
  _impl_.owner_soid_ = owner_soid;
  if (owner_soid) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSOSingleObject.owner_soid)
}
inline ::CMsgSOIDOwner* CMsgSOSingleObject::release_owner_soid() {
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOSingleObject::unsafe_arena_release_owner_soid() {
  // @@protoc_insertion_point(field_release:CMsgSOSingleObject.owner_soid)
  _impl_._has_bits_[0] &= ~0x00000002u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOSingleObject::_internal_mutable_owner_soid() {
  _impl_._has_bits_[0] |= 0x00000002u;
  if (_impl_.owner_soid_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSOIDOwner>(GetArenaForAllocation());
    _impl_.owner_soid_ = p;
  }
  return _impl_.owner_soid_;
}
inline ::CMsgSOIDOwner* CMsgSOSingleObject::mutable_owner_soid() {
  ::CMsgSOIDOwner* _msg = _internal_mutable_owner_soid();
  // @@protoc_insertion_point(field_mutable:CMsgSOSingleObject.owner_soid)
  return _msg;
}
inline void CMsgSOSingleObject::set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.owner_soid_;
  }
  if (owner_soid) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(owner_soid);
    if (message_arena != submessage_arena) {
      owner_soid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, owner_soid, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.owner_soid_ = owner_soid;
  // @@protoc_insertion_point(field_set_allocated:CMsgSOSingleObject.owner_soid)
}

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

// CMsgSOMultipleObjects_SingleObject

// optional int32 type_id = 1;
inline bool CMsgSOMultipleObjects_SingleObject::_internal_has_type_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSOMultipleObjects_SingleObject::has_type_id() const {
  return _internal_has_type_id();
}
inline void CMsgSOMultipleObjects_SingleObject::clear_type_id() {
  _impl_.type_id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline int32_t CMsgSOMultipleObjects_SingleObject::_internal_type_id() const {
  return _impl_.type_id_;
}
inline int32_t CMsgSOMultipleObjects_SingleObject::type_id() const {
  // @@protoc_insertion_point(field_get:CMsgSOMultipleObjects.SingleObject.type_id)
  return _internal_type_id();
}
inline void CMsgSOMultipleObjects_SingleObject::_internal_set_type_id(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.type_id_ = value;
}
inline void CMsgSOMultipleObjects_SingleObject::set_type_id(int32_t value) {
  _internal_set_type_id(value);
  // @@protoc_insertion_point(field_set:CMsgSOMultipleObjects.SingleObject.type_id)
}

// optional bytes object_data = 2;
inline bool CMsgSOMultipleObjects_SingleObject::_internal_has_object_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSOMultipleObjects_SingleObject::has_object_data() const {
  return _internal_has_object_data();
}
inline void CMsgSOMultipleObjects_SingleObject::clear_object_data() {
  _impl_.object_data_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgSOMultipleObjects_SingleObject::object_data() const {
  // @@protoc_insertion_point(field_get:CMsgSOMultipleObjects.SingleObject.object_data)
  return _internal_object_data();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgSOMultipleObjects_SingleObject::set_object_data(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.object_data_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgSOMultipleObjects.SingleObject.object_data)
}
inline std::string* CMsgSOMultipleObjects_SingleObject::mutable_object_data() {
  std::string* _s = _internal_mutable_object_data();
  // @@protoc_insertion_point(field_mutable:CMsgSOMultipleObjects.SingleObject.object_data)
  return _s;
}
inline const std::string& CMsgSOMultipleObjects_SingleObject::_internal_object_data() const {
  return _impl_.object_data_.Get();
}
inline void CMsgSOMultipleObjects_SingleObject::_internal_set_object_data(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.object_data_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgSOMultipleObjects_SingleObject::_internal_mutable_object_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.object_data_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgSOMultipleObjects_SingleObject::release_object_data() {
  // @@protoc_insertion_point(field_release:CMsgSOMultipleObjects.SingleObject.object_data)
  if (!_internal_has_object_data()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.object_data_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.object_data_.IsDefault()) {
    _impl_.object_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgSOMultipleObjects_SingleObject::set_allocated_object_data(std::string* object_data) {
  if (object_data != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.object_data_.SetAllocated(object_data, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.object_data_.IsDefault()) {
    _impl_.object_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgSOMultipleObjects.SingleObject.object_data)
}

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

// CMsgSOMultipleObjects

// repeated .CMsgSOMultipleObjects.SingleObject objects_modified = 2;
inline int CMsgSOMultipleObjects::_internal_objects_modified_size() const {
  return _impl_.objects_modified_.size();
}
inline int CMsgSOMultipleObjects::objects_modified_size() const {
  return _internal_objects_modified_size();
}
inline void CMsgSOMultipleObjects::clear_objects_modified() {
  _impl_.objects_modified_.Clear();
}
inline ::CMsgSOMultipleObjects_SingleObject* CMsgSOMultipleObjects::mutable_objects_modified(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSOMultipleObjects.objects_modified)
  return _impl_.objects_modified_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOMultipleObjects_SingleObject >*
CMsgSOMultipleObjects::mutable_objects_modified() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSOMultipleObjects.objects_modified)
  return &_impl_.objects_modified_;
}
inline const ::CMsgSOMultipleObjects_SingleObject& CMsgSOMultipleObjects::_internal_objects_modified(int index) const {
  return _impl_.objects_modified_.Get(index);
}
inline const ::CMsgSOMultipleObjects_SingleObject& CMsgSOMultipleObjects::objects_modified(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSOMultipleObjects.objects_modified)
  return _internal_objects_modified(index);
}
inline ::CMsgSOMultipleObjects_SingleObject* CMsgSOMultipleObjects::_internal_add_objects_modified() {
  return _impl_.objects_modified_.Add();
}
inline ::CMsgSOMultipleObjects_SingleObject* CMsgSOMultipleObjects::add_objects_modified() {
  ::CMsgSOMultipleObjects_SingleObject* _add = _internal_add_objects_modified();
  // @@protoc_insertion_point(field_add:CMsgSOMultipleObjects.objects_modified)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOMultipleObjects_SingleObject >&
CMsgSOMultipleObjects::objects_modified() const {
  // @@protoc_insertion_point(field_list:CMsgSOMultipleObjects.objects_modified)
  return _impl_.objects_modified_;
}

// optional fixed64 version = 3;
inline bool CMsgSOMultipleObjects::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSOMultipleObjects::has_version() const {
  return _internal_has_version();
}
inline void CMsgSOMultipleObjects::clear_version() {
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t CMsgSOMultipleObjects::_internal_version() const {
  return _impl_.version_;
}
inline uint64_t CMsgSOMultipleObjects::version() const {
  // @@protoc_insertion_point(field_get:CMsgSOMultipleObjects.version)
  return _internal_version();
}
inline void CMsgSOMultipleObjects::_internal_set_version(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.version_ = value;
}
inline void CMsgSOMultipleObjects::set_version(uint64_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgSOMultipleObjects.version)
}

// optional .CMsgSOIDOwner owner_soid = 6;
inline bool CMsgSOMultipleObjects::_internal_has_owner_soid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.owner_soid_ != nullptr);
  return value;
}
inline bool CMsgSOMultipleObjects::has_owner_soid() const {
  return _internal_has_owner_soid();
}
inline void CMsgSOMultipleObjects::clear_owner_soid() {
  if (_impl_.owner_soid_ != nullptr) _impl_.owner_soid_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CMsgSOIDOwner& CMsgSOMultipleObjects::_internal_owner_soid() const {
  const ::CMsgSOIDOwner* p = _impl_.owner_soid_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSOIDOwner&>(
      ::_CMsgSOIDOwner_default_instance_);
}
inline const ::CMsgSOIDOwner& CMsgSOMultipleObjects::owner_soid() const {
  // @@protoc_insertion_point(field_get:CMsgSOMultipleObjects.owner_soid)
  return _internal_owner_soid();
}
inline void CMsgSOMultipleObjects::unsafe_arena_set_allocated_owner_soid(
    ::CMsgSOIDOwner* owner_soid) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.owner_soid_);
  }
  _impl_.owner_soid_ = owner_soid;
  if (owner_soid) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSOMultipleObjects.owner_soid)
}
inline ::CMsgSOIDOwner* CMsgSOMultipleObjects::release_owner_soid() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOMultipleObjects::unsafe_arena_release_owner_soid() {
  // @@protoc_insertion_point(field_release:CMsgSOMultipleObjects.owner_soid)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOMultipleObjects::_internal_mutable_owner_soid() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.owner_soid_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSOIDOwner>(GetArenaForAllocation());
    _impl_.owner_soid_ = p;
  }
  return _impl_.owner_soid_;
}
inline ::CMsgSOIDOwner* CMsgSOMultipleObjects::mutable_owner_soid() {
  ::CMsgSOIDOwner* _msg = _internal_mutable_owner_soid();
  // @@protoc_insertion_point(field_mutable:CMsgSOMultipleObjects.owner_soid)
  return _msg;
}
inline void CMsgSOMultipleObjects::set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.owner_soid_;
  }
  if (owner_soid) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(owner_soid);
    if (message_arena != submessage_arena) {
      owner_soid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, owner_soid, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.owner_soid_ = owner_soid;
  // @@protoc_insertion_point(field_set_allocated:CMsgSOMultipleObjects.owner_soid)
}

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

// CMsgSOCacheSubscribed_SubscribedType

// optional int32 type_id = 1;
inline bool CMsgSOCacheSubscribed_SubscribedType::_internal_has_type_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSOCacheSubscribed_SubscribedType::has_type_id() const {
  return _internal_has_type_id();
}
inline void CMsgSOCacheSubscribed_SubscribedType::clear_type_id() {
  _impl_.type_id_ = 0;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline int32_t CMsgSOCacheSubscribed_SubscribedType::_internal_type_id() const {
  return _impl_.type_id_;
}
inline int32_t CMsgSOCacheSubscribed_SubscribedType::type_id() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheSubscribed.SubscribedType.type_id)
  return _internal_type_id();
}
inline void CMsgSOCacheSubscribed_SubscribedType::_internal_set_type_id(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.type_id_ = value;
}
inline void CMsgSOCacheSubscribed_SubscribedType::set_type_id(int32_t value) {
  _internal_set_type_id(value);
  // @@protoc_insertion_point(field_set:CMsgSOCacheSubscribed.SubscribedType.type_id)
}

// repeated bytes object_data = 2;
inline int CMsgSOCacheSubscribed_SubscribedType::_internal_object_data_size() const {
  return _impl_.object_data_.size();
}
inline int CMsgSOCacheSubscribed_SubscribedType::object_data_size() const {
  return _internal_object_data_size();
}
inline void CMsgSOCacheSubscribed_SubscribedType::clear_object_data() {
  _impl_.object_data_.Clear();
}
inline std::string* CMsgSOCacheSubscribed_SubscribedType::add_object_data() {
  std::string* _s = _internal_add_object_data();
  // @@protoc_insertion_point(field_add_mutable:CMsgSOCacheSubscribed.SubscribedType.object_data)
  return _s;
}
inline const std::string& CMsgSOCacheSubscribed_SubscribedType::_internal_object_data(int index) const {
  return _impl_.object_data_.Get(index);
}
inline const std::string& CMsgSOCacheSubscribed_SubscribedType::object_data(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheSubscribed.SubscribedType.object_data)
  return _internal_object_data(index);
}
inline std::string* CMsgSOCacheSubscribed_SubscribedType::mutable_object_data(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSOCacheSubscribed.SubscribedType.object_data)
  return _impl_.object_data_.Mutable(index);
}
inline void CMsgSOCacheSubscribed_SubscribedType::set_object_data(int index, const std::string& value) {
  _impl_.object_data_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:CMsgSOCacheSubscribed.SubscribedType.object_data)
}
inline void CMsgSOCacheSubscribed_SubscribedType::set_object_data(int index, std::string&& value) {
  _impl_.object_data_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:CMsgSOCacheSubscribed.SubscribedType.object_data)
}
inline void CMsgSOCacheSubscribed_SubscribedType::set_object_data(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.object_data_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:CMsgSOCacheSubscribed.SubscribedType.object_data)
}
inline void CMsgSOCacheSubscribed_SubscribedType::set_object_data(int index, const void* value, size_t size) {
  _impl_.object_data_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:CMsgSOCacheSubscribed.SubscribedType.object_data)
}
inline std::string* CMsgSOCacheSubscribed_SubscribedType::_internal_add_object_data() {
  return _impl_.object_data_.Add();
}
inline void CMsgSOCacheSubscribed_SubscribedType::add_object_data(const std::string& value) {
  _impl_.object_data_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:CMsgSOCacheSubscribed.SubscribedType.object_data)
}
inline void CMsgSOCacheSubscribed_SubscribedType::add_object_data(std::string&& value) {
  _impl_.object_data_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:CMsgSOCacheSubscribed.SubscribedType.object_data)
}
inline void CMsgSOCacheSubscribed_SubscribedType::add_object_data(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.object_data_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:CMsgSOCacheSubscribed.SubscribedType.object_data)
}
inline void CMsgSOCacheSubscribed_SubscribedType::add_object_data(const void* value, size_t size) {
  _impl_.object_data_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:CMsgSOCacheSubscribed.SubscribedType.object_data)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CMsgSOCacheSubscribed_SubscribedType::object_data() const {
  // @@protoc_insertion_point(field_list:CMsgSOCacheSubscribed.SubscribedType.object_data)
  return _impl_.object_data_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CMsgSOCacheSubscribed_SubscribedType::mutable_object_data() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSOCacheSubscribed.SubscribedType.object_data)
  return &_impl_.object_data_;
}

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

// CMsgSOCacheSubscribed

// repeated .CMsgSOCacheSubscribed.SubscribedType objects = 2;
inline int CMsgSOCacheSubscribed::_internal_objects_size() const {
  return _impl_.objects_.size();
}
inline int CMsgSOCacheSubscribed::objects_size() const {
  return _internal_objects_size();
}
inline void CMsgSOCacheSubscribed::clear_objects() {
  _impl_.objects_.Clear();
}
inline ::CMsgSOCacheSubscribed_SubscribedType* CMsgSOCacheSubscribed::mutable_objects(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSOCacheSubscribed.objects)
  return _impl_.objects_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed_SubscribedType >*
CMsgSOCacheSubscribed::mutable_objects() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSOCacheSubscribed.objects)
  return &_impl_.objects_;
}
inline const ::CMsgSOCacheSubscribed_SubscribedType& CMsgSOCacheSubscribed::_internal_objects(int index) const {
  return _impl_.objects_.Get(index);
}
inline const ::CMsgSOCacheSubscribed_SubscribedType& CMsgSOCacheSubscribed::objects(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheSubscribed.objects)
  return _internal_objects(index);
}
inline ::CMsgSOCacheSubscribed_SubscribedType* CMsgSOCacheSubscribed::_internal_add_objects() {
  return _impl_.objects_.Add();
}
inline ::CMsgSOCacheSubscribed_SubscribedType* CMsgSOCacheSubscribed::add_objects() {
  ::CMsgSOCacheSubscribed_SubscribedType* _add = _internal_add_objects();
  // @@protoc_insertion_point(field_add:CMsgSOCacheSubscribed.objects)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed_SubscribedType >&
CMsgSOCacheSubscribed::objects() const {
  // @@protoc_insertion_point(field_list:CMsgSOCacheSubscribed.objects)
  return _impl_.objects_;
}

// optional fixed64 version = 3;
inline bool CMsgSOCacheSubscribed::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSOCacheSubscribed::has_version() const {
  return _internal_has_version();
}
inline void CMsgSOCacheSubscribed::clear_version() {
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t CMsgSOCacheSubscribed::_internal_version() const {
  return _impl_.version_;
}
inline uint64_t CMsgSOCacheSubscribed::version() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheSubscribed.version)
  return _internal_version();
}
inline void CMsgSOCacheSubscribed::_internal_set_version(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.version_ = value;
}
inline void CMsgSOCacheSubscribed::set_version(uint64_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgSOCacheSubscribed.version)
}

// optional .CMsgSOIDOwner owner_soid = 4;
inline bool CMsgSOCacheSubscribed::_internal_has_owner_soid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.owner_soid_ != nullptr);
  return value;
}
inline bool CMsgSOCacheSubscribed::has_owner_soid() const {
  return _internal_has_owner_soid();
}
inline void CMsgSOCacheSubscribed::clear_owner_soid() {
  if (_impl_.owner_soid_ != nullptr) _impl_.owner_soid_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CMsgSOIDOwner& CMsgSOCacheSubscribed::_internal_owner_soid() const {
  const ::CMsgSOIDOwner* p = _impl_.owner_soid_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSOIDOwner&>(
      ::_CMsgSOIDOwner_default_instance_);
}
inline const ::CMsgSOIDOwner& CMsgSOCacheSubscribed::owner_soid() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheSubscribed.owner_soid)
  return _internal_owner_soid();
}
inline void CMsgSOCacheSubscribed::unsafe_arena_set_allocated_owner_soid(
    ::CMsgSOIDOwner* owner_soid) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.owner_soid_);
  }
  _impl_.owner_soid_ = owner_soid;
  if (owner_soid) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSOCacheSubscribed.owner_soid)
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscribed::release_owner_soid() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscribed::unsafe_arena_release_owner_soid() {
  // @@protoc_insertion_point(field_release:CMsgSOCacheSubscribed.owner_soid)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscribed::_internal_mutable_owner_soid() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.owner_soid_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSOIDOwner>(GetArenaForAllocation());
    _impl_.owner_soid_ = p;
  }
  return _impl_.owner_soid_;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscribed::mutable_owner_soid() {
  ::CMsgSOIDOwner* _msg = _internal_mutable_owner_soid();
  // @@protoc_insertion_point(field_mutable:CMsgSOCacheSubscribed.owner_soid)
  return _msg;
}
inline void CMsgSOCacheSubscribed::set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.owner_soid_;
  }
  if (owner_soid) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(owner_soid);
    if (message_arena != submessage_arena) {
      owner_soid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, owner_soid, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.owner_soid_ = owner_soid;
  // @@protoc_insertion_point(field_set_allocated:CMsgSOCacheSubscribed.owner_soid)
}

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

// CMsgSOCacheUnsubscribed

// optional .CMsgSOIDOwner owner_soid = 2;
inline bool CMsgSOCacheUnsubscribed::_internal_has_owner_soid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.owner_soid_ != nullptr);
  return value;
}
inline bool CMsgSOCacheUnsubscribed::has_owner_soid() const {
  return _internal_has_owner_soid();
}
inline void CMsgSOCacheUnsubscribed::clear_owner_soid() {
  if (_impl_.owner_soid_ != nullptr) _impl_.owner_soid_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CMsgSOIDOwner& CMsgSOCacheUnsubscribed::_internal_owner_soid() const {
  const ::CMsgSOIDOwner* p = _impl_.owner_soid_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSOIDOwner&>(
      ::_CMsgSOIDOwner_default_instance_);
}
inline const ::CMsgSOIDOwner& CMsgSOCacheUnsubscribed::owner_soid() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheUnsubscribed.owner_soid)
  return _internal_owner_soid();
}
inline void CMsgSOCacheUnsubscribed::unsafe_arena_set_allocated_owner_soid(
    ::CMsgSOIDOwner* owner_soid) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.owner_soid_);
  }
  _impl_.owner_soid_ = owner_soid;
  if (owner_soid) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSOCacheUnsubscribed.owner_soid)
}
inline ::CMsgSOIDOwner* CMsgSOCacheUnsubscribed::release_owner_soid() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheUnsubscribed::unsafe_arena_release_owner_soid() {
  // @@protoc_insertion_point(field_release:CMsgSOCacheUnsubscribed.owner_soid)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheUnsubscribed::_internal_mutable_owner_soid() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.owner_soid_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSOIDOwner>(GetArenaForAllocation());
    _impl_.owner_soid_ = p;
  }
  return _impl_.owner_soid_;
}
inline ::CMsgSOIDOwner* CMsgSOCacheUnsubscribed::mutable_owner_soid() {
  ::CMsgSOIDOwner* _msg = _internal_mutable_owner_soid();
  // @@protoc_insertion_point(field_mutable:CMsgSOCacheUnsubscribed.owner_soid)
  return _msg;
}
inline void CMsgSOCacheUnsubscribed::set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.owner_soid_;
  }
  if (owner_soid) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(owner_soid);
    if (message_arena != submessage_arena) {
      owner_soid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, owner_soid, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.owner_soid_ = owner_soid;
  // @@protoc_insertion_point(field_set_allocated:CMsgSOCacheUnsubscribed.owner_soid)
}

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

// CMsgSOCacheSubscriptionCheck

// optional fixed64 version = 2;
inline bool CMsgSOCacheSubscriptionCheck::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSOCacheSubscriptionCheck::has_version() const {
  return _internal_has_version();
}
inline void CMsgSOCacheSubscriptionCheck::clear_version() {
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t CMsgSOCacheSubscriptionCheck::_internal_version() const {
  return _impl_.version_;
}
inline uint64_t CMsgSOCacheSubscriptionCheck::version() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheSubscriptionCheck.version)
  return _internal_version();
}
inline void CMsgSOCacheSubscriptionCheck::_internal_set_version(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.version_ = value;
}
inline void CMsgSOCacheSubscriptionCheck::set_version(uint64_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgSOCacheSubscriptionCheck.version)
}

// optional .CMsgSOIDOwner owner_soid = 3;
inline bool CMsgSOCacheSubscriptionCheck::_internal_has_owner_soid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.owner_soid_ != nullptr);
  return value;
}
inline bool CMsgSOCacheSubscriptionCheck::has_owner_soid() const {
  return _internal_has_owner_soid();
}
inline void CMsgSOCacheSubscriptionCheck::clear_owner_soid() {
  if (_impl_.owner_soid_ != nullptr) _impl_.owner_soid_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CMsgSOIDOwner& CMsgSOCacheSubscriptionCheck::_internal_owner_soid() const {
  const ::CMsgSOIDOwner* p = _impl_.owner_soid_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSOIDOwner&>(
      ::_CMsgSOIDOwner_default_instance_);
}
inline const ::CMsgSOIDOwner& CMsgSOCacheSubscriptionCheck::owner_soid() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheSubscriptionCheck.owner_soid)
  return _internal_owner_soid();
}
inline void CMsgSOCacheSubscriptionCheck::unsafe_arena_set_allocated_owner_soid(
    ::CMsgSOIDOwner* owner_soid) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.owner_soid_);
  }
  _impl_.owner_soid_ = owner_soid;
  if (owner_soid) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSOCacheSubscriptionCheck.owner_soid)
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscriptionCheck::release_owner_soid() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscriptionCheck::unsafe_arena_release_owner_soid() {
  // @@protoc_insertion_point(field_release:CMsgSOCacheSubscriptionCheck.owner_soid)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscriptionCheck::_internal_mutable_owner_soid() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.owner_soid_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSOIDOwner>(GetArenaForAllocation());
    _impl_.owner_soid_ = p;
  }
  return _impl_.owner_soid_;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscriptionCheck::mutable_owner_soid() {
  ::CMsgSOIDOwner* _msg = _internal_mutable_owner_soid();
  // @@protoc_insertion_point(field_mutable:CMsgSOCacheSubscriptionCheck.owner_soid)
  return _msg;
}
inline void CMsgSOCacheSubscriptionCheck::set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.owner_soid_;
  }
  if (owner_soid) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(owner_soid);
    if (message_arena != submessage_arena) {
      owner_soid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, owner_soid, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.owner_soid_ = owner_soid;
  // @@protoc_insertion_point(field_set_allocated:CMsgSOCacheSubscriptionCheck.owner_soid)
}

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

// CMsgSOCacheSubscriptionRefresh

// optional .CMsgSOIDOwner owner_soid = 2;
inline bool CMsgSOCacheSubscriptionRefresh::_internal_has_owner_soid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.owner_soid_ != nullptr);
  return value;
}
inline bool CMsgSOCacheSubscriptionRefresh::has_owner_soid() const {
  return _internal_has_owner_soid();
}
inline void CMsgSOCacheSubscriptionRefresh::clear_owner_soid() {
  if (_impl_.owner_soid_ != nullptr) _impl_.owner_soid_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CMsgSOIDOwner& CMsgSOCacheSubscriptionRefresh::_internal_owner_soid() const {
  const ::CMsgSOIDOwner* p = _impl_.owner_soid_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSOIDOwner&>(
      ::_CMsgSOIDOwner_default_instance_);
}
inline const ::CMsgSOIDOwner& CMsgSOCacheSubscriptionRefresh::owner_soid() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheSubscriptionRefresh.owner_soid)
  return _internal_owner_soid();
}
inline void CMsgSOCacheSubscriptionRefresh::unsafe_arena_set_allocated_owner_soid(
    ::CMsgSOIDOwner* owner_soid) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.owner_soid_);
  }
  _impl_.owner_soid_ = owner_soid;
  if (owner_soid) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSOCacheSubscriptionRefresh.owner_soid)
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscriptionRefresh::release_owner_soid() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscriptionRefresh::unsafe_arena_release_owner_soid() {
  // @@protoc_insertion_point(field_release:CMsgSOCacheSubscriptionRefresh.owner_soid)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.owner_soid_;
  _impl_.owner_soid_ = nullptr;
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscriptionRefresh::_internal_mutable_owner_soid() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.owner_soid_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSOIDOwner>(GetArenaForAllocation());
    _impl_.owner_soid_ = p;
  }
  return _impl_.owner_soid_;
}
inline ::CMsgSOIDOwner* CMsgSOCacheSubscriptionRefresh::mutable_owner_soid() {
  ::CMsgSOIDOwner* _msg = _internal_mutable_owner_soid();
  // @@protoc_insertion_point(field_mutable:CMsgSOCacheSubscriptionRefresh.owner_soid)
  return _msg;
}
inline void CMsgSOCacheSubscriptionRefresh::set_allocated_owner_soid(::CMsgSOIDOwner* owner_soid) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.owner_soid_;
  }
  if (owner_soid) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(owner_soid);
    if (message_arena != submessage_arena) {
      owner_soid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, owner_soid, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.owner_soid_ = owner_soid;
  // @@protoc_insertion_point(field_set_allocated:CMsgSOCacheSubscriptionRefresh.owner_soid)
}

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

// CMsgSOCacheVersion

// optional fixed64 version = 1;
inline bool CMsgSOCacheVersion::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSOCacheVersion::has_version() const {
  return _internal_has_version();
}
inline void CMsgSOCacheVersion::clear_version() {
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CMsgSOCacheVersion::_internal_version() const {
  return _impl_.version_;
}
inline uint64_t CMsgSOCacheVersion::version() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheVersion.version)
  return _internal_version();
}
inline void CMsgSOCacheVersion::_internal_set_version(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.version_ = value;
}
inline void CMsgSOCacheVersion::set_version(uint64_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgSOCacheVersion.version)
}

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

// CMsgAccountDetails

// optional bool valid = 1;
inline bool CMsgAccountDetails::_internal_has_valid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_valid() const {
  return _internal_has_valid();
}
inline void CMsgAccountDetails::clear_valid() {
  _impl_.valid_ = false;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline bool CMsgAccountDetails::_internal_valid() const {
  return _impl_.valid_;
}
inline bool CMsgAccountDetails::valid() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.valid)
  return _internal_valid();
}
inline void CMsgAccountDetails::_internal_set_valid(bool value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.valid_ = value;
}
inline void CMsgAccountDetails::set_valid(bool value) {
  _internal_set_valid(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.valid)
}

// optional string account_name = 2;
inline bool CMsgAccountDetails::_internal_has_account_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_account_name() const {
  return _internal_has_account_name();
}
inline void CMsgAccountDetails::clear_account_name() {
  _impl_.account_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgAccountDetails::account_name() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.account_name)
  return _internal_account_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgAccountDetails::set_account_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.account_name_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.account_name)
}
inline std::string* CMsgAccountDetails::mutable_account_name() {
  std::string* _s = _internal_mutable_account_name();
  // @@protoc_insertion_point(field_mutable:CMsgAccountDetails.account_name)
  return _s;
}
inline const std::string& CMsgAccountDetails::_internal_account_name() const {
  return _impl_.account_name_.Get();
}
inline void CMsgAccountDetails::_internal_set_account_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.account_name_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgAccountDetails::_internal_mutable_account_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.account_name_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgAccountDetails::release_account_name() {
  // @@protoc_insertion_point(field_release:CMsgAccountDetails.account_name)
  if (!_internal_has_account_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.account_name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.account_name_.IsDefault()) {
    _impl_.account_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgAccountDetails::set_allocated_account_name(std::string* account_name) {
  if (account_name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.account_name_.SetAllocated(account_name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.account_name_.IsDefault()) {
    _impl_.account_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgAccountDetails.account_name)
}

// optional bool public_profile = 4;
inline bool CMsgAccountDetails::_internal_has_public_profile() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_public_profile() const {
  return _internal_has_public_profile();
}
inline void CMsgAccountDetails::clear_public_profile() {
  _impl_.public_profile_ = false;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline bool CMsgAccountDetails::_internal_public_profile() const {
  return _impl_.public_profile_;
}
inline bool CMsgAccountDetails::public_profile() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.public_profile)
  return _internal_public_profile();
}
inline void CMsgAccountDetails::_internal_set_public_profile(bool value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.public_profile_ = value;
}
inline void CMsgAccountDetails::set_public_profile(bool value) {
  _internal_set_public_profile(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.public_profile)
}

// optional bool public_inventory = 5;
inline bool CMsgAccountDetails::_internal_has_public_inventory() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_public_inventory() const {
  return _internal_has_public_inventory();
}
inline void CMsgAccountDetails::clear_public_inventory() {
  _impl_.public_inventory_ = false;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline bool CMsgAccountDetails::_internal_public_inventory() const {
  return _impl_.public_inventory_;
}
inline bool CMsgAccountDetails::public_inventory() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.public_inventory)
  return _internal_public_inventory();
}
inline void CMsgAccountDetails::_internal_set_public_inventory(bool value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.public_inventory_ = value;
}
inline void CMsgAccountDetails::set_public_inventory(bool value) {
  _internal_set_public_inventory(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.public_inventory)
}

// optional bool vac_banned = 6;
inline bool CMsgAccountDetails::_internal_has_vac_banned() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_vac_banned() const {
  return _internal_has_vac_banned();
}
inline void CMsgAccountDetails::clear_vac_banned() {
  _impl_.vac_banned_ = false;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline bool CMsgAccountDetails::_internal_vac_banned() const {
  return _impl_.vac_banned_;
}
inline bool CMsgAccountDetails::vac_banned() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.vac_banned)
  return _internal_vac_banned();
}
inline void CMsgAccountDetails::_internal_set_vac_banned(bool value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.vac_banned_ = value;
}
inline void CMsgAccountDetails::set_vac_banned(bool value) {
  _internal_set_vac_banned(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.vac_banned)
}

// optional bool cyber_cafe = 7;
inline bool CMsgAccountDetails::_internal_has_cyber_cafe() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_cyber_cafe() const {
  return _internal_has_cyber_cafe();
}
inline void CMsgAccountDetails::clear_cyber_cafe() {
  _impl_.cyber_cafe_ = false;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline bool CMsgAccountDetails::_internal_cyber_cafe() const {
  return _impl_.cyber_cafe_;
}
inline bool CMsgAccountDetails::cyber_cafe() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.cyber_cafe)
  return _internal_cyber_cafe();
}
inline void CMsgAccountDetails::_internal_set_cyber_cafe(bool value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.cyber_cafe_ = value;
}
inline void CMsgAccountDetails::set_cyber_cafe(bool value) {
  _internal_set_cyber_cafe(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.cyber_cafe)
}

// optional bool school_account = 8;
inline bool CMsgAccountDetails::_internal_has_school_account() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_school_account() const {
  return _internal_has_school_account();
}
inline void CMsgAccountDetails::clear_school_account() {
  _impl_.school_account_ = false;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline bool CMsgAccountDetails::_internal_school_account() const {
  return _impl_.school_account_;
}
inline bool CMsgAccountDetails::school_account() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.school_account)
  return _internal_school_account();
}
inline void CMsgAccountDetails::_internal_set_school_account(bool value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.school_account_ = value;
}
inline void CMsgAccountDetails::set_school_account(bool value) {
  _internal_set_school_account(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.school_account)
}

// optional bool free_trial_account = 9;
inline bool CMsgAccountDetails::_internal_has_free_trial_account() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_free_trial_account() const {
  return _internal_has_free_trial_account();
}
inline void CMsgAccountDetails::clear_free_trial_account() {
  _impl_.free_trial_account_ = false;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline bool CMsgAccountDetails::_internal_free_trial_account() const {
  return _impl_.free_trial_account_;
}
inline bool CMsgAccountDetails::free_trial_account() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.free_trial_account)
  return _internal_free_trial_account();
}
inline void CMsgAccountDetails::_internal_set_free_trial_account(bool value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.free_trial_account_ = value;
}
inline void CMsgAccountDetails::set_free_trial_account(bool value) {
  _internal_set_free_trial_account(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.free_trial_account)
}

// optional bool subscribed = 10;
inline bool CMsgAccountDetails::_internal_has_subscribed() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_subscribed() const {
  return _internal_has_subscribed();
}
inline void CMsgAccountDetails::clear_subscribed() {
  _impl_.subscribed_ = false;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline bool CMsgAccountDetails::_internal_subscribed() const {
  return _impl_.subscribed_;
}
inline bool CMsgAccountDetails::subscribed() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.subscribed)
  return _internal_subscribed();
}
inline void CMsgAccountDetails::_internal_set_subscribed(bool value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.subscribed_ = value;
}
inline void CMsgAccountDetails::set_subscribed(bool value) {
  _internal_set_subscribed(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.subscribed)
}

// optional bool low_violence = 11;
inline bool CMsgAccountDetails::_internal_has_low_violence() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_low_violence() const {
  return _internal_has_low_violence();
}
inline void CMsgAccountDetails::clear_low_violence() {
  _impl_.low_violence_ = false;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline bool CMsgAccountDetails::_internal_low_violence() const {
  return _impl_.low_violence_;
}
inline bool CMsgAccountDetails::low_violence() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.low_violence)
  return _internal_low_violence();
}
inline void CMsgAccountDetails::_internal_set_low_violence(bool value) {
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.low_violence_ = value;
}
inline void CMsgAccountDetails::set_low_violence(bool value) {
  _internal_set_low_violence(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.low_violence)
}

// optional bool limited = 12;
inline bool CMsgAccountDetails::_internal_has_limited() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_limited() const {
  return _internal_has_limited();
}
inline void CMsgAccountDetails::clear_limited() {
  _impl_.limited_ = false;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline bool CMsgAccountDetails::_internal_limited() const {
  return _impl_.limited_;
}
inline bool CMsgAccountDetails::limited() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.limited)
  return _internal_limited();
}
inline void CMsgAccountDetails::_internal_set_limited(bool value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.limited_ = value;
}
inline void CMsgAccountDetails::set_limited(bool value) {
  _internal_set_limited(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.limited)
}

// optional bool trusted = 13;
inline bool CMsgAccountDetails::_internal_has_trusted() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_trusted() const {
  return _internal_has_trusted();
}
inline void CMsgAccountDetails::clear_trusted() {
  _impl_.trusted_ = false;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline bool CMsgAccountDetails::_internal_trusted() const {
  return _impl_.trusted_;
}
inline bool CMsgAccountDetails::trusted() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.trusted)
  return _internal_trusted();
}
inline void CMsgAccountDetails::_internal_set_trusted(bool value) {
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.trusted_ = value;
}
inline void CMsgAccountDetails::set_trusted(bool value) {
  _internal_set_trusted(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.trusted)
}

// optional uint32 package = 14;
inline bool CMsgAccountDetails::_internal_has_package() const {
  bool value = (_impl_._has_bits_[0] & 0x00002000u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_package() const {
  return _internal_has_package();
}
inline void CMsgAccountDetails::clear_package() {
  _impl_.package_ = 0u;
  _impl_._has_bits_[0] &= ~0x00002000u;
}
inline uint32_t CMsgAccountDetails::_internal_package() const {
  return _impl_.package_;
}
inline uint32_t CMsgAccountDetails::package() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.package)
  return _internal_package();
}
inline void CMsgAccountDetails::_internal_set_package(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00002000u;
  _impl_.package_ = value;
}
inline void CMsgAccountDetails::set_package(uint32_t value) {
  _internal_set_package(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.package)
}

// optional fixed32 time_cached = 15;
inline bool CMsgAccountDetails::_internal_has_time_cached() const {
  bool value = (_impl_._has_bits_[0] & 0x00004000u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_time_cached() const {
  return _internal_has_time_cached();
}
inline void CMsgAccountDetails::clear_time_cached() {
  _impl_.time_cached_ = 0u;
  _impl_._has_bits_[0] &= ~0x00004000u;
}
inline uint32_t CMsgAccountDetails::_internal_time_cached() const {
  return _impl_.time_cached_;
}
inline uint32_t CMsgAccountDetails::time_cached() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.time_cached)
  return _internal_time_cached();
}
inline void CMsgAccountDetails::_internal_set_time_cached(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00004000u;
  _impl_.time_cached_ = value;
}
inline void CMsgAccountDetails::set_time_cached(uint32_t value) {
  _internal_set_time_cached(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.time_cached)
}

// optional bool account_locked = 16;
inline bool CMsgAccountDetails::_internal_has_account_locked() const {
  bool value = (_impl_._has_bits_[0] & 0x00001000u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_account_locked() const {
  return _internal_has_account_locked();
}
inline void CMsgAccountDetails::clear_account_locked() {
  _impl_.account_locked_ = false;
  _impl_._has_bits_[0] &= ~0x00001000u;
}
inline bool CMsgAccountDetails::_internal_account_locked() const {
  return _impl_.account_locked_;
}
inline bool CMsgAccountDetails::account_locked() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.account_locked)
  return _internal_account_locked();
}
inline void CMsgAccountDetails::_internal_set_account_locked(bool value) {
  _impl_._has_bits_[0] |= 0x00001000u;
  _impl_.account_locked_ = value;
}
inline void CMsgAccountDetails::set_account_locked(bool value) {
  _internal_set_account_locked(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.account_locked)
}

// optional bool community_banned = 17;
inline bool CMsgAccountDetails::_internal_has_community_banned() const {
  bool value = (_impl_._has_bits_[0] & 0x00008000u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_community_banned() const {
  return _internal_has_community_banned();
}
inline void CMsgAccountDetails::clear_community_banned() {
  _impl_.community_banned_ = false;
  _impl_._has_bits_[0] &= ~0x00008000u;
}
inline bool CMsgAccountDetails::_internal_community_banned() const {
  return _impl_.community_banned_;
}
inline bool CMsgAccountDetails::community_banned() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.community_banned)
  return _internal_community_banned();
}
inline void CMsgAccountDetails::_internal_set_community_banned(bool value) {
  _impl_._has_bits_[0] |= 0x00008000u;
  _impl_.community_banned_ = value;
}
inline void CMsgAccountDetails::set_community_banned(bool value) {
  _internal_set_community_banned(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.community_banned)
}

// optional bool trade_banned = 18;
inline bool CMsgAccountDetails::_internal_has_trade_banned() const {
  bool value = (_impl_._has_bits_[0] & 0x00010000u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_trade_banned() const {
  return _internal_has_trade_banned();
}
inline void CMsgAccountDetails::clear_trade_banned() {
  _impl_.trade_banned_ = false;
  _impl_._has_bits_[0] &= ~0x00010000u;
}
inline bool CMsgAccountDetails::_internal_trade_banned() const {
  return _impl_.trade_banned_;
}
inline bool CMsgAccountDetails::trade_banned() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.trade_banned)
  return _internal_trade_banned();
}
inline void CMsgAccountDetails::_internal_set_trade_banned(bool value) {
  _impl_._has_bits_[0] |= 0x00010000u;
  _impl_.trade_banned_ = value;
}
inline void CMsgAccountDetails::set_trade_banned(bool value) {
  _internal_set_trade_banned(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.trade_banned)
}

// optional bool eligible_for_community_market = 19;
inline bool CMsgAccountDetails::_internal_has_eligible_for_community_market() const {
  bool value = (_impl_._has_bits_[0] & 0x00020000u) != 0;
  return value;
}
inline bool CMsgAccountDetails::has_eligible_for_community_market() const {
  return _internal_has_eligible_for_community_market();
}
inline void CMsgAccountDetails::clear_eligible_for_community_market() {
  _impl_.eligible_for_community_market_ = false;
  _impl_._has_bits_[0] &= ~0x00020000u;
}
inline bool CMsgAccountDetails::_internal_eligible_for_community_market() const {
  return _impl_.eligible_for_community_market_;
}
inline bool CMsgAccountDetails::eligible_for_community_market() const {
  // @@protoc_insertion_point(field_get:CMsgAccountDetails.eligible_for_community_market)
  return _internal_eligible_for_community_market();
}
inline void CMsgAccountDetails::_internal_set_eligible_for_community_market(bool value) {
  _impl_._has_bits_[0] |= 0x00020000u;
  _impl_.eligible_for_community_market_ = value;
}
inline void CMsgAccountDetails::set_eligible_for_community_market(bool value) {
  _internal_set_eligible_for_community_market(value);
  // @@protoc_insertion_point(field_set:CMsgAccountDetails.eligible_for_community_market)
}

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

// CMsgGCMultiplexMessage

// optional uint32 msgtype = 1;
inline bool CMsgGCMultiplexMessage::_internal_has_msgtype() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgGCMultiplexMessage::has_msgtype() const {
  return _internal_has_msgtype();
}
inline void CMsgGCMultiplexMessage::clear_msgtype() {
  _impl_.msgtype_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgGCMultiplexMessage::_internal_msgtype() const {
  return _impl_.msgtype_;
}
inline uint32_t CMsgGCMultiplexMessage::msgtype() const {
  // @@protoc_insertion_point(field_get:CMsgGCMultiplexMessage.msgtype)
  return _internal_msgtype();
}
inline void CMsgGCMultiplexMessage::_internal_set_msgtype(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.msgtype_ = value;
}
inline void CMsgGCMultiplexMessage::set_msgtype(uint32_t value) {
  _internal_set_msgtype(value);
  // @@protoc_insertion_point(field_set:CMsgGCMultiplexMessage.msgtype)
}

// optional bytes payload = 2;
inline bool CMsgGCMultiplexMessage::_internal_has_payload() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgGCMultiplexMessage::has_payload() const {
  return _internal_has_payload();
}
inline void CMsgGCMultiplexMessage::clear_payload() {
  _impl_.payload_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgGCMultiplexMessage::payload() const {
  // @@protoc_insertion_point(field_get:CMsgGCMultiplexMessage.payload)
  return _internal_payload();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgGCMultiplexMessage::set_payload(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.payload_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgGCMultiplexMessage.payload)
}
inline std::string* CMsgGCMultiplexMessage::mutable_payload() {
  std::string* _s = _internal_mutable_payload();
  // @@protoc_insertion_point(field_mutable:CMsgGCMultiplexMessage.payload)
  return _s;
}
inline const std::string& CMsgGCMultiplexMessage::_internal_payload() const {
  return _impl_.payload_.Get();
}
inline void CMsgGCMultiplexMessage::_internal_set_payload(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.payload_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgGCMultiplexMessage::_internal_mutable_payload() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.payload_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgGCMultiplexMessage::release_payload() {
  // @@protoc_insertion_point(field_release:CMsgGCMultiplexMessage.payload)
  if (!_internal_has_payload()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.payload_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.payload_.IsDefault()) {
    _impl_.payload_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgGCMultiplexMessage::set_allocated_payload(std::string* payload) {
  if (payload != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.payload_.SetAllocated(payload, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.payload_.IsDefault()) {
    _impl_.payload_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgGCMultiplexMessage.payload)
}

// repeated fixed64 steamids = 3;
inline int CMsgGCMultiplexMessage::_internal_steamids_size() const {
  return _impl_.steamids_.size();
}
inline int CMsgGCMultiplexMessage::steamids_size() const {
  return _internal_steamids_size();
}
inline void CMsgGCMultiplexMessage::clear_steamids() {
  _impl_.steamids_.Clear();
}
inline uint64_t CMsgGCMultiplexMessage::_internal_steamids(int index) const {
  return _impl_.steamids_.Get(index);
}
inline uint64_t CMsgGCMultiplexMessage::steamids(int index) const {
  // @@protoc_insertion_point(field_get:CMsgGCMultiplexMessage.steamids)
  return _internal_steamids(index);
}
inline void CMsgGCMultiplexMessage::set_steamids(int index, uint64_t value) {
  _impl_.steamids_.Set(index, value);
  // @@protoc_insertion_point(field_set:CMsgGCMultiplexMessage.steamids)
}
inline void CMsgGCMultiplexMessage::_internal_add_steamids(uint64_t value) {
  _impl_.steamids_.Add(value);
}
inline void CMsgGCMultiplexMessage::add_steamids(uint64_t value) {
  _internal_add_steamids(value);
  // @@protoc_insertion_point(field_add:CMsgGCMultiplexMessage.steamids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >&
CMsgGCMultiplexMessage::_internal_steamids() const {
  return _impl_.steamids_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >&
CMsgGCMultiplexMessage::steamids() const {
  // @@protoc_insertion_point(field_list:CMsgGCMultiplexMessage.steamids)
  return _internal_steamids();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >*
CMsgGCMultiplexMessage::_internal_mutable_steamids() {
  return &_impl_.steamids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >*
CMsgGCMultiplexMessage::mutable_steamids() {
  // @@protoc_insertion_point(field_mutable_list:CMsgGCMultiplexMessage.steamids)
  return _internal_mutable_steamids();
}

// optional bool replytogc = 4;
inline bool CMsgGCMultiplexMessage::_internal_has_replytogc() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgGCMultiplexMessage::has_replytogc() const {
  return _internal_has_replytogc();
}
inline void CMsgGCMultiplexMessage::clear_replytogc() {
  _impl_.replytogc_ = false;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline bool CMsgGCMultiplexMessage::_internal_replytogc() const {
  return _impl_.replytogc_;
}
inline bool CMsgGCMultiplexMessage::replytogc() const {
  // @@protoc_insertion_point(field_get:CMsgGCMultiplexMessage.replytogc)
  return _internal_replytogc();
}
inline void CMsgGCMultiplexMessage::_internal_set_replytogc(bool value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.replytogc_ = value;
}
inline void CMsgGCMultiplexMessage::set_replytogc(bool value) {
  _internal_set_replytogc(value);
  // @@protoc_insertion_point(field_set:CMsgGCMultiplexMessage.replytogc)
}

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

// CMsgGCMultiplexMessage_Response

// optional uint32 msgtype = 1;
inline bool CMsgGCMultiplexMessage_Response::_internal_has_msgtype() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgGCMultiplexMessage_Response::has_msgtype() const {
  return _internal_has_msgtype();
}
inline void CMsgGCMultiplexMessage_Response::clear_msgtype() {
  _impl_.msgtype_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CMsgGCMultiplexMessage_Response::_internal_msgtype() const {
  return _impl_.msgtype_;
}
inline uint32_t CMsgGCMultiplexMessage_Response::msgtype() const {
  // @@protoc_insertion_point(field_get:CMsgGCMultiplexMessage_Response.msgtype)
  return _internal_msgtype();
}
inline void CMsgGCMultiplexMessage_Response::_internal_set_msgtype(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.msgtype_ = value;
}
inline void CMsgGCMultiplexMessage_Response::set_msgtype(uint32_t value) {
  _internal_set_msgtype(value);
  // @@protoc_insertion_point(field_set:CMsgGCMultiplexMessage_Response.msgtype)
}

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

// CGCToGCMsgMasterAck

// optional uint32 dir_index = 1;
inline bool CGCToGCMsgMasterAck::_internal_has_dir_index() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CGCToGCMsgMasterAck::has_dir_index() const {
  return _internal_has_dir_index();
}
inline void CGCToGCMsgMasterAck::clear_dir_index() {
  _impl_.dir_index_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CGCToGCMsgMasterAck::_internal_dir_index() const {
  return _impl_.dir_index_;
}
inline uint32_t CGCToGCMsgMasterAck::dir_index() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgMasterAck.dir_index)
  return _internal_dir_index();
}
inline void CGCToGCMsgMasterAck::_internal_set_dir_index(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.dir_index_ = value;
}
inline void CGCToGCMsgMasterAck::set_dir_index(uint32_t value) {
  _internal_set_dir_index(value);
  // @@protoc_insertion_point(field_set:CGCToGCMsgMasterAck.dir_index)
}

// optional uint32 gc_type = 2;
inline bool CGCToGCMsgMasterAck::_internal_has_gc_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CGCToGCMsgMasterAck::has_gc_type() const {
  return _internal_has_gc_type();
}
inline void CGCToGCMsgMasterAck::clear_gc_type() {
  _impl_.gc_type_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CGCToGCMsgMasterAck::_internal_gc_type() const {
  return _impl_.gc_type_;
}
inline uint32_t CGCToGCMsgMasterAck::gc_type() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgMasterAck.gc_type)
  return _internal_gc_type();
}
inline void CGCToGCMsgMasterAck::_internal_set_gc_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.gc_type_ = value;
}
inline void CGCToGCMsgMasterAck::set_gc_type(uint32_t value) {
  _internal_set_gc_type(value);
  // @@protoc_insertion_point(field_set:CGCToGCMsgMasterAck.gc_type)
}

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

// CGCToGCMsgMasterAck_Response

// optional int32 eresult = 1 [default = 2];
inline bool CGCToGCMsgMasterAck_Response::_internal_has_eresult() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CGCToGCMsgMasterAck_Response::has_eresult() const {
  return _internal_has_eresult();
}
inline void CGCToGCMsgMasterAck_Response::clear_eresult() {
  _impl_.eresult_ = 2;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline int32_t CGCToGCMsgMasterAck_Response::_internal_eresult() const {
  return _impl_.eresult_;
}
inline int32_t CGCToGCMsgMasterAck_Response::eresult() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgMasterAck_Response.eresult)
  return _internal_eresult();
}
inline void CGCToGCMsgMasterAck_Response::_internal_set_eresult(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.eresult_ = value;
}
inline void CGCToGCMsgMasterAck_Response::set_eresult(int32_t value) {
  _internal_set_eresult(value);
  // @@protoc_insertion_point(field_set:CGCToGCMsgMasterAck_Response.eresult)
}

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

// CGCToGCMsgMasterStartupComplete

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

// CGCToGCMsgRouted

// optional uint32 msg_type = 1;
inline bool CGCToGCMsgRouted::_internal_has_msg_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CGCToGCMsgRouted::has_msg_type() const {
  return _internal_has_msg_type();
}
inline void CGCToGCMsgRouted::clear_msg_type() {
  _impl_.msg_type_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CGCToGCMsgRouted::_internal_msg_type() const {
  return _impl_.msg_type_;
}
inline uint32_t CGCToGCMsgRouted::msg_type() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgRouted.msg_type)
  return _internal_msg_type();
}
inline void CGCToGCMsgRouted::_internal_set_msg_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.msg_type_ = value;
}
inline void CGCToGCMsgRouted::set_msg_type(uint32_t value) {
  _internal_set_msg_type(value);
  // @@protoc_insertion_point(field_set:CGCToGCMsgRouted.msg_type)
}

// optional fixed64 sender_id = 2;
inline bool CGCToGCMsgRouted::_internal_has_sender_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CGCToGCMsgRouted::has_sender_id() const {
  return _internal_has_sender_id();
}
inline void CGCToGCMsgRouted::clear_sender_id() {
  _impl_.sender_id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t CGCToGCMsgRouted::_internal_sender_id() const {
  return _impl_.sender_id_;
}
inline uint64_t CGCToGCMsgRouted::sender_id() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgRouted.sender_id)
  return _internal_sender_id();
}
inline void CGCToGCMsgRouted::_internal_set_sender_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.sender_id_ = value;
}
inline void CGCToGCMsgRouted::set_sender_id(uint64_t value) {
  _internal_set_sender_id(value);
  // @@protoc_insertion_point(field_set:CGCToGCMsgRouted.sender_id)
}

// optional bytes net_message = 3;
inline bool CGCToGCMsgRouted::_internal_has_net_message() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CGCToGCMsgRouted::has_net_message() const {
  return _internal_has_net_message();
}
inline void CGCToGCMsgRouted::clear_net_message() {
  _impl_.net_message_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CGCToGCMsgRouted::net_message() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgRouted.net_message)
  return _internal_net_message();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CGCToGCMsgRouted::set_net_message(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.net_message_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CGCToGCMsgRouted.net_message)
}
inline std::string* CGCToGCMsgRouted::mutable_net_message() {
  std::string* _s = _internal_mutable_net_message();
  // @@protoc_insertion_point(field_mutable:CGCToGCMsgRouted.net_message)
  return _s;
}
inline const std::string& CGCToGCMsgRouted::_internal_net_message() const {
  return _impl_.net_message_.Get();
}
inline void CGCToGCMsgRouted::_internal_set_net_message(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.net_message_.Set(value, GetArenaForAllocation());
}
inline std::string* CGCToGCMsgRouted::_internal_mutable_net_message() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.net_message_.Mutable(GetArenaForAllocation());
}
inline std::string* CGCToGCMsgRouted::release_net_message() {
  // @@protoc_insertion_point(field_release:CGCToGCMsgRouted.net_message)
  if (!_internal_has_net_message()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.net_message_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.net_message_.IsDefault()) {
    _impl_.net_message_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CGCToGCMsgRouted::set_allocated_net_message(std::string* net_message) {
  if (net_message != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.net_message_.SetAllocated(net_message, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.net_message_.IsDefault()) {
    _impl_.net_message_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CGCToGCMsgRouted.net_message)
}

// optional uint32 ip = 4;
inline bool CGCToGCMsgRouted::_internal_has_ip() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CGCToGCMsgRouted::has_ip() const {
  return _internal_has_ip();
}
inline void CGCToGCMsgRouted::clear_ip() {
  _impl_.ip_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t CGCToGCMsgRouted::_internal_ip() const {
  return _impl_.ip_;
}
inline uint32_t CGCToGCMsgRouted::ip() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgRouted.ip)
  return _internal_ip();
}
inline void CGCToGCMsgRouted::_internal_set_ip(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.ip_ = value;
}
inline void CGCToGCMsgRouted::set_ip(uint32_t value) {
  _internal_set_ip(value);
  // @@protoc_insertion_point(field_set:CGCToGCMsgRouted.ip)
}

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

// CGCToGCMsgRoutedReply

// optional uint32 msg_type = 1;
inline bool CGCToGCMsgRoutedReply::_internal_has_msg_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CGCToGCMsgRoutedReply::has_msg_type() const {
  return _internal_has_msg_type();
}
inline void CGCToGCMsgRoutedReply::clear_msg_type() {
  _impl_.msg_type_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CGCToGCMsgRoutedReply::_internal_msg_type() const {
  return _impl_.msg_type_;
}
inline uint32_t CGCToGCMsgRoutedReply::msg_type() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgRoutedReply.msg_type)
  return _internal_msg_type();
}
inline void CGCToGCMsgRoutedReply::_internal_set_msg_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.msg_type_ = value;
}
inline void CGCToGCMsgRoutedReply::set_msg_type(uint32_t value) {
  _internal_set_msg_type(value);
  // @@protoc_insertion_point(field_set:CGCToGCMsgRoutedReply.msg_type)
}

// optional bytes net_message = 2;
inline bool CGCToGCMsgRoutedReply::_internal_has_net_message() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CGCToGCMsgRoutedReply::has_net_message() const {
  return _internal_has_net_message();
}
inline void CGCToGCMsgRoutedReply::clear_net_message() {
  _impl_.net_message_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CGCToGCMsgRoutedReply::net_message() const {
  // @@protoc_insertion_point(field_get:CGCToGCMsgRoutedReply.net_message)
  return _internal_net_message();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CGCToGCMsgRoutedReply::set_net_message(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.net_message_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CGCToGCMsgRoutedReply.net_message)
}
inline std::string* CGCToGCMsgRoutedReply::mutable_net_message() {
  std::string* _s = _internal_mutable_net_message();
  // @@protoc_insertion_point(field_mutable:CGCToGCMsgRoutedReply.net_message)
  return _s;
}
inline const std::string& CGCToGCMsgRoutedReply::_internal_net_message() const {
  return _impl_.net_message_.Get();
}
inline void CGCToGCMsgRoutedReply::_internal_set_net_message(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.net_message_.Set(value, GetArenaForAllocation());
}
inline std::string* CGCToGCMsgRoutedReply::_internal_mutable_net_message() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.net_message_.Mutable(GetArenaForAllocation());
}
inline std::string* CGCToGCMsgRoutedReply::release_net_message() {
  // @@protoc_insertion_point(field_release:CGCToGCMsgRoutedReply.net_message)
  if (!_internal_has_net_message()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.net_message_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.net_message_.IsDefault()) {
    _impl_.net_message_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CGCToGCMsgRoutedReply::set_allocated_net_message(std::string* net_message) {
  if (net_message != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.net_message_.SetAllocated(net_message, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.net_message_.IsDefault()) {
    _impl_.net_message_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CGCToGCMsgRoutedReply.net_message)
}

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

// CMsgGCUpdateSessionIP

// optional fixed64 steamid = 1;
inline bool CMsgGCUpdateSessionIP::_internal_has_steamid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgGCUpdateSessionIP::has_steamid() const {
  return _internal_has_steamid();
}
inline void CMsgGCUpdateSessionIP::clear_steamid() {
  _impl_.steamid_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CMsgGCUpdateSessionIP::_internal_steamid() const {
  return _impl_.steamid_;
}
inline uint64_t CMsgGCUpdateSessionIP::steamid() const {
  // @@protoc_insertion_point(field_get:CMsgGCUpdateSessionIP.steamid)
  return _internal_steamid();
}
inline void CMsgGCUpdateSessionIP::_internal_set_steamid(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.steamid_ = value;
}
inline void CMsgGCUpdateSessionIP::set_steamid(uint64_t value) {
  _internal_set_steamid(value);
  // @@protoc_insertion_point(field_set:CMsgGCUpdateSessionIP.steamid)
}

// optional fixed32 ip = 2;
inline bool CMsgGCUpdateSessionIP::_internal_has_ip() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgGCUpdateSessionIP::has_ip() const {
  return _internal_has_ip();
}
inline void CMsgGCUpdateSessionIP::clear_ip() {
  _impl_.ip_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgGCUpdateSessionIP::_internal_ip() const {
  return _impl_.ip_;
}
inline uint32_t CMsgGCUpdateSessionIP::ip() const {
  // @@protoc_insertion_point(field_get:CMsgGCUpdateSessionIP.ip)
  return _internal_ip();
}
inline void CMsgGCUpdateSessionIP::_internal_set_ip(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.ip_ = value;
}
inline void CMsgGCUpdateSessionIP::set_ip(uint32_t value) {
  _internal_set_ip(value);
  // @@protoc_insertion_point(field_set:CMsgGCUpdateSessionIP.ip)
}

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

// CMsgGCRequestSessionIP

// optional fixed64 steamid = 1;
inline bool CMsgGCRequestSessionIP::_internal_has_steamid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgGCRequestSessionIP::has_steamid() const {
  return _internal_has_steamid();
}
inline void CMsgGCRequestSessionIP::clear_steamid() {
  _impl_.steamid_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CMsgGCRequestSessionIP::_internal_steamid() const {
  return _impl_.steamid_;
}
inline uint64_t CMsgGCRequestSessionIP::steamid() const {
  // @@protoc_insertion_point(field_get:CMsgGCRequestSessionIP.steamid)
  return _internal_steamid();
}
inline void CMsgGCRequestSessionIP::_internal_set_steamid(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.steamid_ = value;
}
inline void CMsgGCRequestSessionIP::set_steamid(uint64_t value) {
  _internal_set_steamid(value);
  // @@protoc_insertion_point(field_set:CMsgGCRequestSessionIP.steamid)
}

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

// CMsgGCRequestSessionIPResponse

// optional fixed32 ip = 1;
inline bool CMsgGCRequestSessionIPResponse::_internal_has_ip() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgGCRequestSessionIPResponse::has_ip() const {
  return _internal_has_ip();
}
inline void CMsgGCRequestSessionIPResponse::clear_ip() {
  _impl_.ip_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CMsgGCRequestSessionIPResponse::_internal_ip() const {
  return _impl_.ip_;
}
inline uint32_t CMsgGCRequestSessionIPResponse::ip() const {
  // @@protoc_insertion_point(field_get:CMsgGCRequestSessionIPResponse.ip)
  return _internal_ip();
}
inline void CMsgGCRequestSessionIPResponse::_internal_set_ip(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.ip_ = value;
}
inline void CMsgGCRequestSessionIPResponse::set_ip(uint32_t value) {
  _internal_set_ip(value);
  // @@protoc_insertion_point(field_set:CMsgGCRequestSessionIPResponse.ip)
}

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

// CMsgSOCacheHaveVersion

// optional .CMsgSOIDOwner soid = 1;
inline bool CMsgSOCacheHaveVersion::_internal_has_soid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.soid_ != nullptr);
  return value;
}
inline bool CMsgSOCacheHaveVersion::has_soid() const {
  return _internal_has_soid();
}
inline void CMsgSOCacheHaveVersion::clear_soid() {
  if (_impl_.soid_ != nullptr) _impl_.soid_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CMsgSOIDOwner& CMsgSOCacheHaveVersion::_internal_soid() const {
  const ::CMsgSOIDOwner* p = _impl_.soid_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgSOIDOwner&>(
      ::_CMsgSOIDOwner_default_instance_);
}
inline const ::CMsgSOIDOwner& CMsgSOCacheHaveVersion::soid() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheHaveVersion.soid)
  return _internal_soid();
}
inline void CMsgSOCacheHaveVersion::unsafe_arena_set_allocated_soid(
    ::CMsgSOIDOwner* soid) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.soid_);
  }
  _impl_.soid_ = soid;
  if (soid) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgSOCacheHaveVersion.soid)
}
inline ::CMsgSOIDOwner* CMsgSOCacheHaveVersion::release_soid() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.soid_;
  _impl_.soid_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheHaveVersion::unsafe_arena_release_soid() {
  // @@protoc_insertion_point(field_release:CMsgSOCacheHaveVersion.soid)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CMsgSOIDOwner* temp = _impl_.soid_;
  _impl_.soid_ = nullptr;
  return temp;
}
inline ::CMsgSOIDOwner* CMsgSOCacheHaveVersion::_internal_mutable_soid() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.soid_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgSOIDOwner>(GetArenaForAllocation());
    _impl_.soid_ = p;
  }
  return _impl_.soid_;
}
inline ::CMsgSOIDOwner* CMsgSOCacheHaveVersion::mutable_soid() {
  ::CMsgSOIDOwner* _msg = _internal_mutable_soid();
  // @@protoc_insertion_point(field_mutable:CMsgSOCacheHaveVersion.soid)
  return _msg;
}
inline void CMsgSOCacheHaveVersion::set_allocated_soid(::CMsgSOIDOwner* soid) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.soid_;
  }
  if (soid) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(soid);
    if (message_arena != submessage_arena) {
      soid = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, soid, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.soid_ = soid;
  // @@protoc_insertion_point(field_set_allocated:CMsgSOCacheHaveVersion.soid)
}

// optional fixed64 version = 2;
inline bool CMsgSOCacheHaveVersion::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSOCacheHaveVersion::has_version() const {
  return _internal_has_version();
}
inline void CMsgSOCacheHaveVersion::clear_version() {
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t CMsgSOCacheHaveVersion::_internal_version() const {
  return _impl_.version_;
}
inline uint64_t CMsgSOCacheHaveVersion::version() const {
  // @@protoc_insertion_point(field_get:CMsgSOCacheHaveVersion.version)
  return _internal_version();
}
inline void CMsgSOCacheHaveVersion::_internal_set_version(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.version_ = value;
}
inline void CMsgSOCacheHaveVersion::set_version(uint64_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgSOCacheHaveVersion.version)
}

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

// CMsgClientHello

// optional uint32 version = 1;
inline bool CMsgClientHello::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgClientHello::has_version() const {
  return _internal_has_version();
}
inline void CMsgClientHello::clear_version() {
  _impl_.version_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CMsgClientHello::_internal_version() const {
  return _impl_.version_;
}
inline uint32_t CMsgClientHello::version() const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.version)
  return _internal_version();
}
inline void CMsgClientHello::_internal_set_version(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.version_ = value;
}
inline void CMsgClientHello::set_version(uint32_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgClientHello.version)
}

// repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
inline int CMsgClientHello::_internal_socache_have_versions_size() const {
  return _impl_.socache_have_versions_.size();
}
inline int CMsgClientHello::socache_have_versions_size() const {
  return _internal_socache_have_versions_size();
}
inline void CMsgClientHello::clear_socache_have_versions() {
  _impl_.socache_have_versions_.Clear();
}
inline ::CMsgSOCacheHaveVersion* CMsgClientHello::mutable_socache_have_versions(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgClientHello.socache_have_versions)
  return _impl_.socache_have_versions_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion >*
CMsgClientHello::mutable_socache_have_versions() {
  // @@protoc_insertion_point(field_mutable_list:CMsgClientHello.socache_have_versions)
  return &_impl_.socache_have_versions_;
}
inline const ::CMsgSOCacheHaveVersion& CMsgClientHello::_internal_socache_have_versions(int index) const {
  return _impl_.socache_have_versions_.Get(index);
}
inline const ::CMsgSOCacheHaveVersion& CMsgClientHello::socache_have_versions(int index) const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.socache_have_versions)
  return _internal_socache_have_versions(index);
}
inline ::CMsgSOCacheHaveVersion* CMsgClientHello::_internal_add_socache_have_versions() {
  return _impl_.socache_have_versions_.Add();
}
inline ::CMsgSOCacheHaveVersion* CMsgClientHello::add_socache_have_versions() {
  ::CMsgSOCacheHaveVersion* _add = _internal_add_socache_have_versions();
  // @@protoc_insertion_point(field_add:CMsgClientHello.socache_have_versions)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion >&
CMsgClientHello::socache_have_versions() const {
  // @@protoc_insertion_point(field_list:CMsgClientHello.socache_have_versions)
  return _impl_.socache_have_versions_;
}

// optional uint32 client_session_need = 3;
inline bool CMsgClientHello::_internal_has_client_session_need() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgClientHello::has_client_session_need() const {
  return _internal_has_client_session_need();
}
inline void CMsgClientHello::clear_client_session_need() {
  _impl_.client_session_need_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgClientHello::_internal_client_session_need() const {
  return _impl_.client_session_need_;
}
inline uint32_t CMsgClientHello::client_session_need() const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.client_session_need)
  return _internal_client_session_need();
}
inline void CMsgClientHello::_internal_set_client_session_need(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.client_session_need_ = value;
}
inline void CMsgClientHello::set_client_session_need(uint32_t value) {
  _internal_set_client_session_need(value);
  // @@protoc_insertion_point(field_set:CMsgClientHello.client_session_need)
}

// optional uint32 client_launcher = 4;
inline bool CMsgClientHello::_internal_has_client_launcher() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgClientHello::has_client_launcher() const {
  return _internal_has_client_launcher();
}
inline void CMsgClientHello::clear_client_launcher() {
  _impl_.client_launcher_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CMsgClientHello::_internal_client_launcher() const {
  return _impl_.client_launcher_;
}
inline uint32_t CMsgClientHello::client_launcher() const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.client_launcher)
  return _internal_client_launcher();
}
inline void CMsgClientHello::_internal_set_client_launcher(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.client_launcher_ = value;
}
inline void CMsgClientHello::set_client_launcher(uint32_t value) {
  _internal_set_client_launcher(value);
  // @@protoc_insertion_point(field_set:CMsgClientHello.client_launcher)
}

// optional uint32 partner_srcid = 5;
inline bool CMsgClientHello::_internal_has_partner_srcid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgClientHello::has_partner_srcid() const {
  return _internal_has_partner_srcid();
}
inline void CMsgClientHello::clear_partner_srcid() {
  _impl_.partner_srcid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t CMsgClientHello::_internal_partner_srcid() const {
  return _impl_.partner_srcid_;
}
inline uint32_t CMsgClientHello::partner_srcid() const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.partner_srcid)
  return _internal_partner_srcid();
}
inline void CMsgClientHello::_internal_set_partner_srcid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.partner_srcid_ = value;
}
inline void CMsgClientHello::set_partner_srcid(uint32_t value) {
  _internal_set_partner_srcid(value);
  // @@protoc_insertion_point(field_set:CMsgClientHello.partner_srcid)
}

// optional uint32 partner_accountid = 6;
inline bool CMsgClientHello::_internal_has_partner_accountid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgClientHello::has_partner_accountid() const {
  return _internal_has_partner_accountid();
}
inline void CMsgClientHello::clear_partner_accountid() {
  _impl_.partner_accountid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint32_t CMsgClientHello::_internal_partner_accountid() const {
  return _impl_.partner_accountid_;
}
inline uint32_t CMsgClientHello::partner_accountid() const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.partner_accountid)
  return _internal_partner_accountid();
}
inline void CMsgClientHello::_internal_set_partner_accountid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.partner_accountid_ = value;
}
inline void CMsgClientHello::set_partner_accountid(uint32_t value) {
  _internal_set_partner_accountid(value);
  // @@protoc_insertion_point(field_set:CMsgClientHello.partner_accountid)
}

// optional uint32 partner_accountflags = 7;
inline bool CMsgClientHello::_internal_has_partner_accountflags() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgClientHello::has_partner_accountflags() const {
  return _internal_has_partner_accountflags();
}
inline void CMsgClientHello::clear_partner_accountflags() {
  _impl_.partner_accountflags_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CMsgClientHello::_internal_partner_accountflags() const {
  return _impl_.partner_accountflags_;
}
inline uint32_t CMsgClientHello::partner_accountflags() const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.partner_accountflags)
  return _internal_partner_accountflags();
}
inline void CMsgClientHello::_internal_set_partner_accountflags(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.partner_accountflags_ = value;
}
inline void CMsgClientHello::set_partner_accountflags(uint32_t value) {
  _internal_set_partner_accountflags(value);
  // @@protoc_insertion_point(field_set:CMsgClientHello.partner_accountflags)
}

// optional uint32 partner_accountbalance = 8;
inline bool CMsgClientHello::_internal_has_partner_accountbalance() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgClientHello::has_partner_accountbalance() const {
  return _internal_has_partner_accountbalance();
}
inline void CMsgClientHello::clear_partner_accountbalance() {
  _impl_.partner_accountbalance_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint32_t CMsgClientHello::_internal_partner_accountbalance() const {
  return _impl_.partner_accountbalance_;
}
inline uint32_t CMsgClientHello::partner_accountbalance() const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.partner_accountbalance)
  return _internal_partner_accountbalance();
}
inline void CMsgClientHello::_internal_set_partner_accountbalance(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.partner_accountbalance_ = value;
}
inline void CMsgClientHello::set_partner_accountbalance(uint32_t value) {
  _internal_set_partner_accountbalance(value);
  // @@protoc_insertion_point(field_set:CMsgClientHello.partner_accountbalance)
}

// optional uint32 steam_launcher = 9;
inline bool CMsgClientHello::_internal_has_steam_launcher() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool CMsgClientHello::has_steam_launcher() const {
  return _internal_has_steam_launcher();
}
inline void CMsgClientHello::clear_steam_launcher() {
  _impl_.steam_launcher_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline uint32_t CMsgClientHello::_internal_steam_launcher() const {
  return _impl_.steam_launcher_;
}
inline uint32_t CMsgClientHello::steam_launcher() const {
  // @@protoc_insertion_point(field_get:CMsgClientHello.steam_launcher)
  return _internal_steam_launcher();
}
inline void CMsgClientHello::_internal_set_steam_launcher(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.steam_launcher_ = value;
}
inline void CMsgClientHello::set_steam_launcher(uint32_t value) {
  _internal_set_steam_launcher(value);
  // @@protoc_insertion_point(field_set:CMsgClientHello.steam_launcher)
}

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

// CMsgServerHello

// optional uint32 version = 1;
inline bool CMsgServerHello::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgServerHello::has_version() const {
  return _internal_has_version();
}
inline void CMsgServerHello::clear_version() {
  _impl_.version_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CMsgServerHello::_internal_version() const {
  return _impl_.version_;
}
inline uint32_t CMsgServerHello::version() const {
  // @@protoc_insertion_point(field_get:CMsgServerHello.version)
  return _internal_version();
}
inline void CMsgServerHello::_internal_set_version(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.version_ = value;
}
inline void CMsgServerHello::set_version(uint32_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgServerHello.version)
}

// repeated .CMsgSOCacheHaveVersion socache_have_versions = 2;
inline int CMsgServerHello::_internal_socache_have_versions_size() const {
  return _impl_.socache_have_versions_.size();
}
inline int CMsgServerHello::socache_have_versions_size() const {
  return _internal_socache_have_versions_size();
}
inline void CMsgServerHello::clear_socache_have_versions() {
  _impl_.socache_have_versions_.Clear();
}
inline ::CMsgSOCacheHaveVersion* CMsgServerHello::mutable_socache_have_versions(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgServerHello.socache_have_versions)
  return _impl_.socache_have_versions_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion >*
CMsgServerHello::mutable_socache_have_versions() {
  // @@protoc_insertion_point(field_mutable_list:CMsgServerHello.socache_have_versions)
  return &_impl_.socache_have_versions_;
}
inline const ::CMsgSOCacheHaveVersion& CMsgServerHello::_internal_socache_have_versions(int index) const {
  return _impl_.socache_have_versions_.Get(index);
}
inline const ::CMsgSOCacheHaveVersion& CMsgServerHello::socache_have_versions(int index) const {
  // @@protoc_insertion_point(field_get:CMsgServerHello.socache_have_versions)
  return _internal_socache_have_versions(index);
}
inline ::CMsgSOCacheHaveVersion* CMsgServerHello::_internal_add_socache_have_versions() {
  return _impl_.socache_have_versions_.Add();
}
inline ::CMsgSOCacheHaveVersion* CMsgServerHello::add_socache_have_versions() {
  ::CMsgSOCacheHaveVersion* _add = _internal_add_socache_have_versions();
  // @@protoc_insertion_point(field_add:CMsgServerHello.socache_have_versions)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheHaveVersion >&
CMsgServerHello::socache_have_versions() const {
  // @@protoc_insertion_point(field_list:CMsgServerHello.socache_have_versions)
  return _impl_.socache_have_versions_;
}

// optional uint32 legacy_client_session_need = 3;
inline bool CMsgServerHello::_internal_has_legacy_client_session_need() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgServerHello::has_legacy_client_session_need() const {
  return _internal_has_legacy_client_session_need();
}
inline void CMsgServerHello::clear_legacy_client_session_need() {
  _impl_.legacy_client_session_need_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t CMsgServerHello::_internal_legacy_client_session_need() const {
  return _impl_.legacy_client_session_need_;
}
inline uint32_t CMsgServerHello::legacy_client_session_need() const {
  // @@protoc_insertion_point(field_get:CMsgServerHello.legacy_client_session_need)
  return _internal_legacy_client_session_need();
}
inline void CMsgServerHello::_internal_set_legacy_client_session_need(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.legacy_client_session_need_ = value;
}
inline void CMsgServerHello::set_legacy_client_session_need(uint32_t value) {
  _internal_set_legacy_client_session_need(value);
  // @@protoc_insertion_point(field_set:CMsgServerHello.legacy_client_session_need)
}

// optional uint32 client_launcher = 4;
inline bool CMsgServerHello::_internal_has_client_launcher() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgServerHello::has_client_launcher() const {
  return _internal_has_client_launcher();
}
inline void CMsgServerHello::clear_client_launcher() {
  _impl_.client_launcher_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint32_t CMsgServerHello::_internal_client_launcher() const {
  return _impl_.client_launcher_;
}
inline uint32_t CMsgServerHello::client_launcher() const {
  // @@protoc_insertion_point(field_get:CMsgServerHello.client_launcher)
  return _internal_client_launcher();
}
inline void CMsgServerHello::_internal_set_client_launcher(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.client_launcher_ = value;
}
inline void CMsgServerHello::set_client_launcher(uint32_t value) {
  _internal_set_client_launcher(value);
  // @@protoc_insertion_point(field_set:CMsgServerHello.client_launcher)
}

// optional bytes legacy_steamdatagram_routing = 6;
inline bool CMsgServerHello::_internal_has_legacy_steamdatagram_routing() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgServerHello::has_legacy_steamdatagram_routing() const {
  return _internal_has_legacy_steamdatagram_routing();
}
inline void CMsgServerHello::clear_legacy_steamdatagram_routing() {
  _impl_.legacy_steamdatagram_routing_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgServerHello::legacy_steamdatagram_routing() const {
  // @@protoc_insertion_point(field_get:CMsgServerHello.legacy_steamdatagram_routing)
  return _internal_legacy_steamdatagram_routing();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgServerHello::set_legacy_steamdatagram_routing(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.legacy_steamdatagram_routing_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgServerHello.legacy_steamdatagram_routing)
}
inline std::string* CMsgServerHello::mutable_legacy_steamdatagram_routing() {
  std::string* _s = _internal_mutable_legacy_steamdatagram_routing();
  // @@protoc_insertion_point(field_mutable:CMsgServerHello.legacy_steamdatagram_routing)
  return _s;
}
inline const std::string& CMsgServerHello::_internal_legacy_steamdatagram_routing() const {
  return _impl_.legacy_steamdatagram_routing_.Get();
}
inline void CMsgServerHello::_internal_set_legacy_steamdatagram_routing(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.legacy_steamdatagram_routing_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgServerHello::_internal_mutable_legacy_steamdatagram_routing() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.legacy_steamdatagram_routing_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgServerHello::release_legacy_steamdatagram_routing() {
  // @@protoc_insertion_point(field_release:CMsgServerHello.legacy_steamdatagram_routing)
  if (!_internal_has_legacy_steamdatagram_routing()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.legacy_steamdatagram_routing_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.legacy_steamdatagram_routing_.IsDefault()) {
    _impl_.legacy_steamdatagram_routing_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgServerHello::set_allocated_legacy_steamdatagram_routing(std::string* legacy_steamdatagram_routing) {
  if (legacy_steamdatagram_routing != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.legacy_steamdatagram_routing_.SetAllocated(legacy_steamdatagram_routing, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.legacy_steamdatagram_routing_.IsDefault()) {
    _impl_.legacy_steamdatagram_routing_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgServerHello.legacy_steamdatagram_routing)
}

// optional uint32 required_internal_addr = 7;
inline bool CMsgServerHello::_internal_has_required_internal_addr() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgServerHello::has_required_internal_addr() const {
  return _internal_has_required_internal_addr();
}
inline void CMsgServerHello::clear_required_internal_addr() {
  _impl_.required_internal_addr_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CMsgServerHello::_internal_required_internal_addr() const {
  return _impl_.required_internal_addr_;
}
inline uint32_t CMsgServerHello::required_internal_addr() const {
  // @@protoc_insertion_point(field_get:CMsgServerHello.required_internal_addr)
  return _internal_required_internal_addr();
}
inline void CMsgServerHello::_internal_set_required_internal_addr(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.required_internal_addr_ = value;
}
inline void CMsgServerHello::set_required_internal_addr(uint32_t value) {
  _internal_set_required_internal_addr(value);
  // @@protoc_insertion_point(field_set:CMsgServerHello.required_internal_addr)
}

// optional bytes steamdatagram_login = 8;
inline bool CMsgServerHello::_internal_has_steamdatagram_login() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgServerHello::has_steamdatagram_login() const {
  return _internal_has_steamdatagram_login();
}
inline void CMsgServerHello::clear_steamdatagram_login() {
  _impl_.steamdatagram_login_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgServerHello::steamdatagram_login() const {
  // @@protoc_insertion_point(field_get:CMsgServerHello.steamdatagram_login)
  return _internal_steamdatagram_login();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgServerHello::set_steamdatagram_login(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.steamdatagram_login_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgServerHello.steamdatagram_login)
}
inline std::string* CMsgServerHello::mutable_steamdatagram_login() {
  std::string* _s = _internal_mutable_steamdatagram_login();
  // @@protoc_insertion_point(field_mutable:CMsgServerHello.steamdatagram_login)
  return _s;
}
inline const std::string& CMsgServerHello::_internal_steamdatagram_login() const {
  return _impl_.steamdatagram_login_.Get();
}
inline void CMsgServerHello::_internal_set_steamdatagram_login(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.steamdatagram_login_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgServerHello::_internal_mutable_steamdatagram_login() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.steamdatagram_login_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgServerHello::release_steamdatagram_login() {
  // @@protoc_insertion_point(field_release:CMsgServerHello.steamdatagram_login)
  if (!_internal_has_steamdatagram_login()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.steamdatagram_login_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.steamdatagram_login_.IsDefault()) {
    _impl_.steamdatagram_login_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgServerHello::set_allocated_steamdatagram_login(std::string* steamdatagram_login) {
  if (steamdatagram_login != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.steamdatagram_login_.SetAllocated(steamdatagram_login, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.steamdatagram_login_.IsDefault()) {
    _impl_.steamdatagram_login_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgServerHello.steamdatagram_login)
}

// optional uint32 socache_control = 9;
inline bool CMsgServerHello::_internal_has_socache_control() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgServerHello::has_socache_control() const {
  return _internal_has_socache_control();
}
inline void CMsgServerHello::clear_socache_control() {
  _impl_.socache_control_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint32_t CMsgServerHello::_internal_socache_control() const {
  return _impl_.socache_control_;
}
inline uint32_t CMsgServerHello::socache_control() const {
  // @@protoc_insertion_point(field_get:CMsgServerHello.socache_control)
  return _internal_socache_control();
}
inline void CMsgServerHello::_internal_set_socache_control(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.socache_control_ = value;
}
inline void CMsgServerHello::set_socache_control(uint32_t value) {
  _internal_set_socache_control(value);
  // @@protoc_insertion_point(field_set:CMsgServerHello.socache_control)
}

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

// CMsgClientWelcome_Location

// optional float latitude = 1;
inline bool CMsgClientWelcome_Location::_internal_has_latitude() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgClientWelcome_Location::has_latitude() const {
  return _internal_has_latitude();
}
inline void CMsgClientWelcome_Location::clear_latitude() {
  _impl_.latitude_ = 0;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline float CMsgClientWelcome_Location::_internal_latitude() const {
  return _impl_.latitude_;
}
inline float CMsgClientWelcome_Location::latitude() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.Location.latitude)
  return _internal_latitude();
}
inline void CMsgClientWelcome_Location::_internal_set_latitude(float value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.latitude_ = value;
}
inline void CMsgClientWelcome_Location::set_latitude(float value) {
  _internal_set_latitude(value);
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.Location.latitude)
}

// optional float longitude = 2;
inline bool CMsgClientWelcome_Location::_internal_has_longitude() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgClientWelcome_Location::has_longitude() const {
  return _internal_has_longitude();
}
inline void CMsgClientWelcome_Location::clear_longitude() {
  _impl_.longitude_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline float CMsgClientWelcome_Location::_internal_longitude() const {
  return _impl_.longitude_;
}
inline float CMsgClientWelcome_Location::longitude() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.Location.longitude)
  return _internal_longitude();
}
inline void CMsgClientWelcome_Location::_internal_set_longitude(float value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.longitude_ = value;
}
inline void CMsgClientWelcome_Location::set_longitude(float value) {
  _internal_set_longitude(value);
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.Location.longitude)
}

// optional string country = 3;
inline bool CMsgClientWelcome_Location::_internal_has_country() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgClientWelcome_Location::has_country() const {
  return _internal_has_country();
}
inline void CMsgClientWelcome_Location::clear_country() {
  _impl_.country_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgClientWelcome_Location::country() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.Location.country)
  return _internal_country();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgClientWelcome_Location::set_country(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.country_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.Location.country)
}
inline std::string* CMsgClientWelcome_Location::mutable_country() {
  std::string* _s = _internal_mutable_country();
  // @@protoc_insertion_point(field_mutable:CMsgClientWelcome.Location.country)
  return _s;
}
inline const std::string& CMsgClientWelcome_Location::_internal_country() const {
  return _impl_.country_.Get();
}
inline void CMsgClientWelcome_Location::_internal_set_country(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.country_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome_Location::_internal_mutable_country() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.country_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome_Location::release_country() {
  // @@protoc_insertion_point(field_release:CMsgClientWelcome.Location.country)
  if (!_internal_has_country()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.country_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.country_.IsDefault()) {
    _impl_.country_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgClientWelcome_Location::set_allocated_country(std::string* country) {
  if (country != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.country_.SetAllocated(country, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.country_.IsDefault()) {
    _impl_.country_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgClientWelcome.Location.country)
}

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

// CMsgClientWelcome

// optional uint32 version = 1;
inline bool CMsgClientWelcome::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgClientWelcome::has_version() const {
  return _internal_has_version();
}
inline void CMsgClientWelcome::clear_version() {
  _impl_.version_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CMsgClientWelcome::_internal_version() const {
  return _impl_.version_;
}
inline uint32_t CMsgClientWelcome::version() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.version)
  return _internal_version();
}
inline void CMsgClientWelcome::_internal_set_version(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.version_ = value;
}
inline void CMsgClientWelcome::set_version(uint32_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.version)
}

// optional bytes game_data = 2;
inline bool CMsgClientWelcome::_internal_has_game_data() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgClientWelcome::has_game_data() const {
  return _internal_has_game_data();
}
inline void CMsgClientWelcome::clear_game_data() {
  _impl_.game_data_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CMsgClientWelcome::game_data() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.game_data)
  return _internal_game_data();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgClientWelcome::set_game_data(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.game_data_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.game_data)
}
inline std::string* CMsgClientWelcome::mutable_game_data() {
  std::string* _s = _internal_mutable_game_data();
  // @@protoc_insertion_point(field_mutable:CMsgClientWelcome.game_data)
  return _s;
}
inline const std::string& CMsgClientWelcome::_internal_game_data() const {
  return _impl_.game_data_.Get();
}
inline void CMsgClientWelcome::_internal_set_game_data(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.game_data_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome::_internal_mutable_game_data() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.game_data_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome::release_game_data() {
  // @@protoc_insertion_point(field_release:CMsgClientWelcome.game_data)
  if (!_internal_has_game_data()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.game_data_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.game_data_.IsDefault()) {
    _impl_.game_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgClientWelcome::set_allocated_game_data(std::string* game_data) {
  if (game_data != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.game_data_.SetAllocated(game_data, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.game_data_.IsDefault()) {
    _impl_.game_data_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgClientWelcome.game_data)
}

// repeated .CMsgSOCacheSubscribed outofdate_subscribed_caches = 3;
inline int CMsgClientWelcome::_internal_outofdate_subscribed_caches_size() const {
  return _impl_.outofdate_subscribed_caches_.size();
}
inline int CMsgClientWelcome::outofdate_subscribed_caches_size() const {
  return _internal_outofdate_subscribed_caches_size();
}
inline void CMsgClientWelcome::clear_outofdate_subscribed_caches() {
  _impl_.outofdate_subscribed_caches_.Clear();
}
inline ::CMsgSOCacheSubscribed* CMsgClientWelcome::mutable_outofdate_subscribed_caches(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgClientWelcome.outofdate_subscribed_caches)
  return _impl_.outofdate_subscribed_caches_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed >*
CMsgClientWelcome::mutable_outofdate_subscribed_caches() {
  // @@protoc_insertion_point(field_mutable_list:CMsgClientWelcome.outofdate_subscribed_caches)
  return &_impl_.outofdate_subscribed_caches_;
}
inline const ::CMsgSOCacheSubscribed& CMsgClientWelcome::_internal_outofdate_subscribed_caches(int index) const {
  return _impl_.outofdate_subscribed_caches_.Get(index);
}
inline const ::CMsgSOCacheSubscribed& CMsgClientWelcome::outofdate_subscribed_caches(int index) const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.outofdate_subscribed_caches)
  return _internal_outofdate_subscribed_caches(index);
}
inline ::CMsgSOCacheSubscribed* CMsgClientWelcome::_internal_add_outofdate_subscribed_caches() {
  return _impl_.outofdate_subscribed_caches_.Add();
}
inline ::CMsgSOCacheSubscribed* CMsgClientWelcome::add_outofdate_subscribed_caches() {
  ::CMsgSOCacheSubscribed* _add = _internal_add_outofdate_subscribed_caches();
  // @@protoc_insertion_point(field_add:CMsgClientWelcome.outofdate_subscribed_caches)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscribed >&
CMsgClientWelcome::outofdate_subscribed_caches() const {
  // @@protoc_insertion_point(field_list:CMsgClientWelcome.outofdate_subscribed_caches)
  return _impl_.outofdate_subscribed_caches_;
}

// repeated .CMsgSOCacheSubscriptionCheck uptodate_subscribed_caches = 4;
inline int CMsgClientWelcome::_internal_uptodate_subscribed_caches_size() const {
  return _impl_.uptodate_subscribed_caches_.size();
}
inline int CMsgClientWelcome::uptodate_subscribed_caches_size() const {
  return _internal_uptodate_subscribed_caches_size();
}
inline void CMsgClientWelcome::clear_uptodate_subscribed_caches() {
  _impl_.uptodate_subscribed_caches_.Clear();
}
inline ::CMsgSOCacheSubscriptionCheck* CMsgClientWelcome::mutable_uptodate_subscribed_caches(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgClientWelcome.uptodate_subscribed_caches)
  return _impl_.uptodate_subscribed_caches_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscriptionCheck >*
CMsgClientWelcome::mutable_uptodate_subscribed_caches() {
  // @@protoc_insertion_point(field_mutable_list:CMsgClientWelcome.uptodate_subscribed_caches)
  return &_impl_.uptodate_subscribed_caches_;
}
inline const ::CMsgSOCacheSubscriptionCheck& CMsgClientWelcome::_internal_uptodate_subscribed_caches(int index) const {
  return _impl_.uptodate_subscribed_caches_.Get(index);
}
inline const ::CMsgSOCacheSubscriptionCheck& CMsgClientWelcome::uptodate_subscribed_caches(int index) const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.uptodate_subscribed_caches)
  return _internal_uptodate_subscribed_caches(index);
}
inline ::CMsgSOCacheSubscriptionCheck* CMsgClientWelcome::_internal_add_uptodate_subscribed_caches() {
  return _impl_.uptodate_subscribed_caches_.Add();
}
inline ::CMsgSOCacheSubscriptionCheck* CMsgClientWelcome::add_uptodate_subscribed_caches() {
  ::CMsgSOCacheSubscriptionCheck* _add = _internal_add_uptodate_subscribed_caches();
  // @@protoc_insertion_point(field_add:CMsgClientWelcome.uptodate_subscribed_caches)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSOCacheSubscriptionCheck >&
CMsgClientWelcome::uptodate_subscribed_caches() const {
  // @@protoc_insertion_point(field_list:CMsgClientWelcome.uptodate_subscribed_caches)
  return _impl_.uptodate_subscribed_caches_;
}

// optional .CMsgClientWelcome.Location location = 5;
inline bool CMsgClientWelcome::_internal_has_location() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.location_ != nullptr);
  return value;
}
inline bool CMsgClientWelcome::has_location() const {
  return _internal_has_location();
}
inline void CMsgClientWelcome::clear_location() {
  if (_impl_.location_ != nullptr) _impl_.location_->Clear();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const ::CMsgClientWelcome_Location& CMsgClientWelcome::_internal_location() const {
  const ::CMsgClientWelcome_Location* p = _impl_.location_;
  return p != nullptr ? *p : reinterpret_cast<const ::CMsgClientWelcome_Location&>(
      ::_CMsgClientWelcome_Location_default_instance_);
}
inline const ::CMsgClientWelcome_Location& CMsgClientWelcome::location() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.location)
  return _internal_location();
}
inline void CMsgClientWelcome::unsafe_arena_set_allocated_location(
    ::CMsgClientWelcome_Location* location) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.location_);
  }
  _impl_.location_ = location;
  if (location) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CMsgClientWelcome.location)
}
inline ::CMsgClientWelcome_Location* CMsgClientWelcome::release_location() {
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::CMsgClientWelcome_Location* temp = _impl_.location_;
  _impl_.location_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CMsgClientWelcome_Location* CMsgClientWelcome::unsafe_arena_release_location() {
  // @@protoc_insertion_point(field_release:CMsgClientWelcome.location)
  _impl_._has_bits_[0] &= ~0x00000010u;
  ::CMsgClientWelcome_Location* temp = _impl_.location_;
  _impl_.location_ = nullptr;
  return temp;
}
inline ::CMsgClientWelcome_Location* CMsgClientWelcome::_internal_mutable_location() {
  _impl_._has_bits_[0] |= 0x00000010u;
  if (_impl_.location_ == nullptr) {
    auto* p = CreateMaybeMessage<::CMsgClientWelcome_Location>(GetArenaForAllocation());
    _impl_.location_ = p;
  }
  return _impl_.location_;
}
inline ::CMsgClientWelcome_Location* CMsgClientWelcome::mutable_location() {
  ::CMsgClientWelcome_Location* _msg = _internal_mutable_location();
  // @@protoc_insertion_point(field_mutable:CMsgClientWelcome.location)
  return _msg;
}
inline void CMsgClientWelcome::set_allocated_location(::CMsgClientWelcome_Location* location) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.location_;
  }
  if (location) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(location);
    if (message_arena != submessage_arena) {
      location = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, location, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.location_ = location;
  // @@protoc_insertion_point(field_set_allocated:CMsgClientWelcome.location)
}

// optional bytes game_data2 = 6;
inline bool CMsgClientWelcome::_internal_has_game_data2() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgClientWelcome::has_game_data2() const {
  return _internal_has_game_data2();
}
inline void CMsgClientWelcome::clear_game_data2() {
  _impl_.game_data2_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CMsgClientWelcome::game_data2() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.game_data2)
  return _internal_game_data2();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgClientWelcome::set_game_data2(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.game_data2_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.game_data2)
}
inline std::string* CMsgClientWelcome::mutable_game_data2() {
  std::string* _s = _internal_mutable_game_data2();
  // @@protoc_insertion_point(field_mutable:CMsgClientWelcome.game_data2)
  return _s;
}
inline const std::string& CMsgClientWelcome::_internal_game_data2() const {
  return _impl_.game_data2_.Get();
}
inline void CMsgClientWelcome::_internal_set_game_data2(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.game_data2_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome::_internal_mutable_game_data2() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.game_data2_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome::release_game_data2() {
  // @@protoc_insertion_point(field_release:CMsgClientWelcome.game_data2)
  if (!_internal_has_game_data2()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.game_data2_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.game_data2_.IsDefault()) {
    _impl_.game_data2_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgClientWelcome::set_allocated_game_data2(std::string* game_data2) {
  if (game_data2 != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.game_data2_.SetAllocated(game_data2, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.game_data2_.IsDefault()) {
    _impl_.game_data2_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgClientWelcome.game_data2)
}

// optional uint32 rtime32_gc_welcome_timestamp = 7;
inline bool CMsgClientWelcome::_internal_has_rtime32_gc_welcome_timestamp() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool CMsgClientWelcome::has_rtime32_gc_welcome_timestamp() const {
  return _internal_has_rtime32_gc_welcome_timestamp();
}
inline void CMsgClientWelcome::clear_rtime32_gc_welcome_timestamp() {
  _impl_.rtime32_gc_welcome_timestamp_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint32_t CMsgClientWelcome::_internal_rtime32_gc_welcome_timestamp() const {
  return _impl_.rtime32_gc_welcome_timestamp_;
}
inline uint32_t CMsgClientWelcome::rtime32_gc_welcome_timestamp() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.rtime32_gc_welcome_timestamp)
  return _internal_rtime32_gc_welcome_timestamp();
}
inline void CMsgClientWelcome::_internal_set_rtime32_gc_welcome_timestamp(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.rtime32_gc_welcome_timestamp_ = value;
}
inline void CMsgClientWelcome::set_rtime32_gc_welcome_timestamp(uint32_t value) {
  _internal_set_rtime32_gc_welcome_timestamp(value);
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.rtime32_gc_welcome_timestamp)
}

// optional uint32 currency = 8;
inline bool CMsgClientWelcome::_internal_has_currency() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool CMsgClientWelcome::has_currency() const {
  return _internal_has_currency();
}
inline void CMsgClientWelcome::clear_currency() {
  _impl_.currency_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline uint32_t CMsgClientWelcome::_internal_currency() const {
  return _impl_.currency_;
}
inline uint32_t CMsgClientWelcome::currency() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.currency)
  return _internal_currency();
}
inline void CMsgClientWelcome::_internal_set_currency(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.currency_ = value;
}
inline void CMsgClientWelcome::set_currency(uint32_t value) {
  _internal_set_currency(value);
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.currency)
}

// optional uint32 balance = 9;
inline bool CMsgClientWelcome::_internal_has_balance() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool CMsgClientWelcome::has_balance() const {
  return _internal_has_balance();
}
inline void CMsgClientWelcome::clear_balance() {
  _impl_.balance_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline uint32_t CMsgClientWelcome::_internal_balance() const {
  return _impl_.balance_;
}
inline uint32_t CMsgClientWelcome::balance() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.balance)
  return _internal_balance();
}
inline void CMsgClientWelcome::_internal_set_balance(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.balance_ = value;
}
inline void CMsgClientWelcome::set_balance(uint32_t value) {
  _internal_set_balance(value);
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.balance)
}

// optional string balance_url = 10;
inline bool CMsgClientWelcome::_internal_has_balance_url() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgClientWelcome::has_balance_url() const {
  return _internal_has_balance_url();
}
inline void CMsgClientWelcome::clear_balance_url() {
  _impl_.balance_url_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& CMsgClientWelcome::balance_url() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.balance_url)
  return _internal_balance_url();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgClientWelcome::set_balance_url(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.balance_url_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.balance_url)
}
inline std::string* CMsgClientWelcome::mutable_balance_url() {
  std::string* _s = _internal_mutable_balance_url();
  // @@protoc_insertion_point(field_mutable:CMsgClientWelcome.balance_url)
  return _s;
}
inline const std::string& CMsgClientWelcome::_internal_balance_url() const {
  return _impl_.balance_url_.Get();
}
inline void CMsgClientWelcome::_internal_set_balance_url(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.balance_url_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome::_internal_mutable_balance_url() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.balance_url_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome::release_balance_url() {
  // @@protoc_insertion_point(field_release:CMsgClientWelcome.balance_url)
  if (!_internal_has_balance_url()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.balance_url_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.balance_url_.IsDefault()) {
    _impl_.balance_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgClientWelcome::set_allocated_balance_url(std::string* balance_url) {
  if (balance_url != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.balance_url_.SetAllocated(balance_url, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.balance_url_.IsDefault()) {
    _impl_.balance_url_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgClientWelcome.balance_url)
}

// optional string txn_country_code = 11;
inline bool CMsgClientWelcome::_internal_has_txn_country_code() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgClientWelcome::has_txn_country_code() const {
  return _internal_has_txn_country_code();
}
inline void CMsgClientWelcome::clear_txn_country_code() {
  _impl_.txn_country_code_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& CMsgClientWelcome::txn_country_code() const {
  // @@protoc_insertion_point(field_get:CMsgClientWelcome.txn_country_code)
  return _internal_txn_country_code();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CMsgClientWelcome::set_txn_country_code(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.txn_country_code_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CMsgClientWelcome.txn_country_code)
}
inline std::string* CMsgClientWelcome::mutable_txn_country_code() {
  std::string* _s = _internal_mutable_txn_country_code();
  // @@protoc_insertion_point(field_mutable:CMsgClientWelcome.txn_country_code)
  return _s;
}
inline const std::string& CMsgClientWelcome::_internal_txn_country_code() const {
  return _impl_.txn_country_code_.Get();
}
inline void CMsgClientWelcome::_internal_set_txn_country_code(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.txn_country_code_.Set(value, GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome::_internal_mutable_txn_country_code() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.txn_country_code_.Mutable(GetArenaForAllocation());
}
inline std::string* CMsgClientWelcome::release_txn_country_code() {
  // @@protoc_insertion_point(field_release:CMsgClientWelcome.txn_country_code)
  if (!_internal_has_txn_country_code()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.txn_country_code_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.txn_country_code_.IsDefault()) {
    _impl_.txn_country_code_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CMsgClientWelcome::set_allocated_txn_country_code(std::string* txn_country_code) {
  if (txn_country_code != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.txn_country_code_.SetAllocated(txn_country_code, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.txn_country_code_.IsDefault()) {
    _impl_.txn_country_code_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CMsgClientWelcome.txn_country_code)
}

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

// CMsgConnectionStatus

// optional .GCConnectionStatus status = 1 [default = GCConnectionStatus_HAVE_SESSION];
inline bool CMsgConnectionStatus::_internal_has_status() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgConnectionStatus::has_status() const {
  return _internal_has_status();
}
inline void CMsgConnectionStatus::clear_status() {
  _impl_.status_ = 0;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline ::GCConnectionStatus CMsgConnectionStatus::_internal_status() const {
  return static_cast< ::GCConnectionStatus >(_impl_.status_);
}
inline ::GCConnectionStatus CMsgConnectionStatus::status() const {
  // @@protoc_insertion_point(field_get:CMsgConnectionStatus.status)
  return _internal_status();
}
inline void CMsgConnectionStatus::_internal_set_status(::GCConnectionStatus value) {
  assert(::GCConnectionStatus_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.status_ = value;
}
inline void CMsgConnectionStatus::set_status(::GCConnectionStatus value) {
  _internal_set_status(value);
  // @@protoc_insertion_point(field_set:CMsgConnectionStatus.status)
}

// optional uint32 client_session_need = 2;
inline bool CMsgConnectionStatus::_internal_has_client_session_need() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgConnectionStatus::has_client_session_need() const {
  return _internal_has_client_session_need();
}
inline void CMsgConnectionStatus::clear_client_session_need() {
  _impl_.client_session_need_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgConnectionStatus::_internal_client_session_need() const {
  return _impl_.client_session_need_;
}
inline uint32_t CMsgConnectionStatus::client_session_need() const {
  // @@protoc_insertion_point(field_get:CMsgConnectionStatus.client_session_need)
  return _internal_client_session_need();
}
inline void CMsgConnectionStatus::_internal_set_client_session_need(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.client_session_need_ = value;
}
inline void CMsgConnectionStatus::set_client_session_need(uint32_t value) {
  _internal_set_client_session_need(value);
  // @@protoc_insertion_point(field_set:CMsgConnectionStatus.client_session_need)
}

// optional int32 queue_position = 3;
inline bool CMsgConnectionStatus::_internal_has_queue_position() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CMsgConnectionStatus::has_queue_position() const {
  return _internal_has_queue_position();
}
inline void CMsgConnectionStatus::clear_queue_position() {
  _impl_.queue_position_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline int32_t CMsgConnectionStatus::_internal_queue_position() const {
  return _impl_.queue_position_;
}
inline int32_t CMsgConnectionStatus::queue_position() const {
  // @@protoc_insertion_point(field_get:CMsgConnectionStatus.queue_position)
  return _internal_queue_position();
}
inline void CMsgConnectionStatus::_internal_set_queue_position(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.queue_position_ = value;
}
inline void CMsgConnectionStatus::set_queue_position(int32_t value) {
  _internal_set_queue_position(value);
  // @@protoc_insertion_point(field_set:CMsgConnectionStatus.queue_position)
}

// optional int32 queue_size = 4;
inline bool CMsgConnectionStatus::_internal_has_queue_size() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CMsgConnectionStatus::has_queue_size() const {
  return _internal_has_queue_size();
}
inline void CMsgConnectionStatus::clear_queue_size() {
  _impl_.queue_size_ = 0;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline int32_t CMsgConnectionStatus::_internal_queue_size() const {
  return _impl_.queue_size_;
}
inline int32_t CMsgConnectionStatus::queue_size() const {
  // @@protoc_insertion_point(field_get:CMsgConnectionStatus.queue_size)
  return _internal_queue_size();
}
inline void CMsgConnectionStatus::_internal_set_queue_size(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.queue_size_ = value;
}
inline void CMsgConnectionStatus::set_queue_size(int32_t value) {
  _internal_set_queue_size(value);
  // @@protoc_insertion_point(field_set:CMsgConnectionStatus.queue_size)
}

// optional int32 wait_seconds = 5;
inline bool CMsgConnectionStatus::_internal_has_wait_seconds() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CMsgConnectionStatus::has_wait_seconds() const {
  return _internal_has_wait_seconds();
}
inline void CMsgConnectionStatus::clear_wait_seconds() {
  _impl_.wait_seconds_ = 0;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline int32_t CMsgConnectionStatus::_internal_wait_seconds() const {
  return _impl_.wait_seconds_;
}
inline int32_t CMsgConnectionStatus::wait_seconds() const {
  // @@protoc_insertion_point(field_get:CMsgConnectionStatus.wait_seconds)
  return _internal_wait_seconds();
}
inline void CMsgConnectionStatus::_internal_set_wait_seconds(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.wait_seconds_ = value;
}
inline void CMsgConnectionStatus::set_wait_seconds(int32_t value) {
  _internal_set_wait_seconds(value);
  // @@protoc_insertion_point(field_set:CMsgConnectionStatus.wait_seconds)
}

// optional int32 estimated_wait_seconds_remaining = 6;
inline bool CMsgConnectionStatus::_internal_has_estimated_wait_seconds_remaining() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CMsgConnectionStatus::has_estimated_wait_seconds_remaining() const {
  return _internal_has_estimated_wait_seconds_remaining();
}
inline void CMsgConnectionStatus::clear_estimated_wait_seconds_remaining() {
  _impl_.estimated_wait_seconds_remaining_ = 0;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline int32_t CMsgConnectionStatus::_internal_estimated_wait_seconds_remaining() const {
  return _impl_.estimated_wait_seconds_remaining_;
}
inline int32_t CMsgConnectionStatus::estimated_wait_seconds_remaining() const {
  // @@protoc_insertion_point(field_get:CMsgConnectionStatus.estimated_wait_seconds_remaining)
  return _internal_estimated_wait_seconds_remaining();
}
inline void CMsgConnectionStatus::_internal_set_estimated_wait_seconds_remaining(int32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.estimated_wait_seconds_remaining_ = value;
}
inline void CMsgConnectionStatus::set_estimated_wait_seconds_remaining(int32_t value) {
  _internal_set_estimated_wait_seconds_remaining(value);
  // @@protoc_insertion_point(field_set:CMsgConnectionStatus.estimated_wait_seconds_remaining)
}

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

// CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription

// optional uint32 gameitemid = 1;
inline bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_has_gameitemid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::has_gameitemid() const {
  return _internal_has_gameitemid();
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::clear_gameitemid() {
  _impl_.gameitemid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_gameitemid() const {
  return _impl_.gameitemid_;
}
inline uint32_t CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::gameitemid() const {
  // @@protoc_insertion_point(field_get:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.gameitemid)
  return _internal_gameitemid();
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_set_gameitemid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.gameitemid_ = value;
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::set_gameitemid(uint32_t value) {
  _internal_set_gameitemid(value);
  // @@protoc_insertion_point(field_set:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.gameitemid)
}

// optional string item_description = 2;
inline bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_has_item_description() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::has_item_description() const {
  return _internal_has_item_description();
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::clear_item_description() {
  _impl_.item_description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::item_description() const {
  // @@protoc_insertion_point(field_get:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.item_description)
  return _internal_item_description();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::set_item_description(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.item_description_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.item_description)
}
inline std::string* CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::mutable_item_description() {
  std::string* _s = _internal_mutable_item_description();
  // @@protoc_insertion_point(field_mutable:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.item_description)
  return _s;
}
inline const std::string& CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_item_description() const {
  return _impl_.item_description_.Get();
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_set_item_description(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.item_description_.Set(value, GetArenaForAllocation());
}
inline std::string* CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_mutable_item_description() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.item_description_.Mutable(GetArenaForAllocation());
}
inline std::string* CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::release_item_description() {
  // @@protoc_insertion_point(field_release:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.item_description)
  if (!_internal_has_item_description()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.item_description_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.item_description_.IsDefault()) {
    _impl_.item_description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::set_allocated_item_description(std::string* item_description) {
  if (item_description != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.item_description_.SetAllocated(item_description, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.item_description_.IsDefault()) {
    _impl_.item_description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.item_description)
}

// optional bool one_per_account = 3;
inline bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_has_one_per_account() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::has_one_per_account() const {
  return _internal_has_one_per_account();
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::clear_one_per_account() {
  _impl_.one_per_account_ = false;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_one_per_account() const {
  return _impl_.one_per_account_;
}
inline bool CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::one_per_account() const {
  // @@protoc_insertion_point(field_get:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.one_per_account)
  return _internal_one_per_account();
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::_internal_set_one_per_account(bool value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.one_per_account_ = value;
}
inline void CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription::set_one_per_account(bool value) {
  _internal_set_one_per_account(value);
  // @@protoc_insertion_point(field_set:CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription.one_per_account)
}

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

// CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock

// optional string language = 1;
inline bool CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_internal_has_language() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::has_language() const {
  return _internal_has_language();
}
inline void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::clear_language() {
  _impl_.language_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::language() const {
  // @@protoc_insertion_point(field_get:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.language)
  return _internal_language();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::set_language(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.language_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.language)
}
inline std::string* CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::mutable_language() {
  std::string* _s = _internal_mutable_language();
  // @@protoc_insertion_point(field_mutable:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.language)
  return _s;
}
inline const std::string& CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_internal_language() const {
  return _impl_.language_.Get();
}
inline void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_internal_set_language(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.language_.Set(value, GetArenaForAllocation());
}
inline std::string* CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_internal_mutable_language() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.language_.Mutable(GetArenaForAllocation());
}
inline std::string* CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::release_language() {
  // @@protoc_insertion_point(field_release:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.language)
  if (!_internal_has_language()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.language_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.language_.IsDefault()) {
    _impl_.language_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::set_allocated_language(std::string* language) {
  if (language != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.language_.SetAllocated(language, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.language_.IsDefault()) {
    _impl_.language_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.language)
}

// repeated .CWorkshop_PopulateItemDescriptions_Request.SingleItemDescription descriptions = 2;
inline int CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_internal_descriptions_size() const {
  return _impl_.descriptions_.size();
}
inline int CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::descriptions_size() const {
  return _internal_descriptions_size();
}
inline void CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::clear_descriptions() {
  _impl_.descriptions_.Clear();
}
inline ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::mutable_descriptions(int index) {
  // @@protoc_insertion_point(field_mutable:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.descriptions)
  return _impl_.descriptions_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription >*
CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::mutable_descriptions() {
  // @@protoc_insertion_point(field_mutable_list:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.descriptions)
  return &_impl_.descriptions_;
}
inline const ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_internal_descriptions(int index) const {
  return _impl_.descriptions_.Get(index);
}
inline const ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription& CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::descriptions(int index) const {
  // @@protoc_insertion_point(field_get:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.descriptions)
  return _internal_descriptions(index);
}
inline ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::_internal_add_descriptions() {
  return _impl_.descriptions_.Add();
}
inline ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::add_descriptions() {
  ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription* _add = _internal_add_descriptions();
  // @@protoc_insertion_point(field_add:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.descriptions)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_SingleItemDescription >&
CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock::descriptions() const {
  // @@protoc_insertion_point(field_list:CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock.descriptions)
  return _impl_.descriptions_;
}

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

// CWorkshop_PopulateItemDescriptions_Request

// optional uint32 appid = 1;
inline bool CWorkshop_PopulateItemDescriptions_Request::_internal_has_appid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CWorkshop_PopulateItemDescriptions_Request::has_appid() const {
  return _internal_has_appid();
}
inline void CWorkshop_PopulateItemDescriptions_Request::clear_appid() {
  _impl_.appid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CWorkshop_PopulateItemDescriptions_Request::_internal_appid() const {
  return _impl_.appid_;
}
inline uint32_t CWorkshop_PopulateItemDescriptions_Request::appid() const {
  // @@protoc_insertion_point(field_get:CWorkshop_PopulateItemDescriptions_Request.appid)
  return _internal_appid();
}
inline void CWorkshop_PopulateItemDescriptions_Request::_internal_set_appid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.appid_ = value;
}
inline void CWorkshop_PopulateItemDescriptions_Request::set_appid(uint32_t value) {
  _internal_set_appid(value);
  // @@protoc_insertion_point(field_set:CWorkshop_PopulateItemDescriptions_Request.appid)
}

// repeated .CWorkshop_PopulateItemDescriptions_Request.ItemDescriptionsLanguageBlock languages = 2;
inline int CWorkshop_PopulateItemDescriptions_Request::_internal_languages_size() const {
  return _impl_.languages_.size();
}
inline int CWorkshop_PopulateItemDescriptions_Request::languages_size() const {
  return _internal_languages_size();
}
inline void CWorkshop_PopulateItemDescriptions_Request::clear_languages() {
  _impl_.languages_.Clear();
}
inline ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* CWorkshop_PopulateItemDescriptions_Request::mutable_languages(int index) {
  // @@protoc_insertion_point(field_mutable:CWorkshop_PopulateItemDescriptions_Request.languages)
  return _impl_.languages_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock >*
CWorkshop_PopulateItemDescriptions_Request::mutable_languages() {
  // @@protoc_insertion_point(field_mutable_list:CWorkshop_PopulateItemDescriptions_Request.languages)
  return &_impl_.languages_;
}
inline const ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& CWorkshop_PopulateItemDescriptions_Request::_internal_languages(int index) const {
  return _impl_.languages_.Get(index);
}
inline const ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock& CWorkshop_PopulateItemDescriptions_Request::languages(int index) const {
  // @@protoc_insertion_point(field_get:CWorkshop_PopulateItemDescriptions_Request.languages)
  return _internal_languages(index);
}
inline ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* CWorkshop_PopulateItemDescriptions_Request::_internal_add_languages() {
  return _impl_.languages_.Add();
}
inline ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* CWorkshop_PopulateItemDescriptions_Request::add_languages() {
  ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock* _add = _internal_add_languages();
  // @@protoc_insertion_point(field_add:CWorkshop_PopulateItemDescriptions_Request.languages)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_PopulateItemDescriptions_Request_ItemDescriptionsLanguageBlock >&
CWorkshop_PopulateItemDescriptions_Request::languages() const {
  // @@protoc_insertion_point(field_list:CWorkshop_PopulateItemDescriptions_Request.languages)
  return _impl_.languages_;
}

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

// CWorkshop_GetContributors_Request

// optional uint32 appid = 1;
inline bool CWorkshop_GetContributors_Request::_internal_has_appid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CWorkshop_GetContributors_Request::has_appid() const {
  return _internal_has_appid();
}
inline void CWorkshop_GetContributors_Request::clear_appid() {
  _impl_.appid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CWorkshop_GetContributors_Request::_internal_appid() const {
  return _impl_.appid_;
}
inline uint32_t CWorkshop_GetContributors_Request::appid() const {
  // @@protoc_insertion_point(field_get:CWorkshop_GetContributors_Request.appid)
  return _internal_appid();
}
inline void CWorkshop_GetContributors_Request::_internal_set_appid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.appid_ = value;
}
inline void CWorkshop_GetContributors_Request::set_appid(uint32_t value) {
  _internal_set_appid(value);
  // @@protoc_insertion_point(field_set:CWorkshop_GetContributors_Request.appid)
}

// optional uint32 gameitemid = 2;
inline bool CWorkshop_GetContributors_Request::_internal_has_gameitemid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CWorkshop_GetContributors_Request::has_gameitemid() const {
  return _internal_has_gameitemid();
}
inline void CWorkshop_GetContributors_Request::clear_gameitemid() {
  _impl_.gameitemid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CWorkshop_GetContributors_Request::_internal_gameitemid() const {
  return _impl_.gameitemid_;
}
inline uint32_t CWorkshop_GetContributors_Request::gameitemid() const {
  // @@protoc_insertion_point(field_get:CWorkshop_GetContributors_Request.gameitemid)
  return _internal_gameitemid();
}
inline void CWorkshop_GetContributors_Request::_internal_set_gameitemid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.gameitemid_ = value;
}
inline void CWorkshop_GetContributors_Request::set_gameitemid(uint32_t value) {
  _internal_set_gameitemid(value);
  // @@protoc_insertion_point(field_set:CWorkshop_GetContributors_Request.gameitemid)
}

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

// CWorkshop_GetContributors_Response

// repeated fixed64 contributors = 1;
inline int CWorkshop_GetContributors_Response::_internal_contributors_size() const {
  return _impl_.contributors_.size();
}
inline int CWorkshop_GetContributors_Response::contributors_size() const {
  return _internal_contributors_size();
}
inline void CWorkshop_GetContributors_Response::clear_contributors() {
  _impl_.contributors_.Clear();
}
inline uint64_t CWorkshop_GetContributors_Response::_internal_contributors(int index) const {
  return _impl_.contributors_.Get(index);
}
inline uint64_t CWorkshop_GetContributors_Response::contributors(int index) const {
  // @@protoc_insertion_point(field_get:CWorkshop_GetContributors_Response.contributors)
  return _internal_contributors(index);
}
inline void CWorkshop_GetContributors_Response::set_contributors(int index, uint64_t value) {
  _impl_.contributors_.Set(index, value);
  // @@protoc_insertion_point(field_set:CWorkshop_GetContributors_Response.contributors)
}
inline void CWorkshop_GetContributors_Response::_internal_add_contributors(uint64_t value) {
  _impl_.contributors_.Add(value);
}
inline void CWorkshop_GetContributors_Response::add_contributors(uint64_t value) {
  _internal_add_contributors(value);
  // @@protoc_insertion_point(field_add:CWorkshop_GetContributors_Response.contributors)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >&
CWorkshop_GetContributors_Response::_internal_contributors() const {
  return _impl_.contributors_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >&
CWorkshop_GetContributors_Response::contributors() const {
  // @@protoc_insertion_point(field_list:CWorkshop_GetContributors_Response.contributors)
  return _internal_contributors();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >*
CWorkshop_GetContributors_Response::_internal_mutable_contributors() {
  return &_impl_.contributors_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< uint64_t >*
CWorkshop_GetContributors_Response::mutable_contributors() {
  // @@protoc_insertion_point(field_mutable_list:CWorkshop_GetContributors_Response.contributors)
  return _internal_mutable_contributors();
}

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

// CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule

// optional uint64 workshop_file_id = 1;
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_has_workshop_file_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::has_workshop_file_id() const {
  return _internal_has_workshop_file_id();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::clear_workshop_file_id() {
  _impl_.workshop_file_id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_workshop_file_id() const {
  return _impl_.workshop_file_id_;
}
inline uint64_t CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::workshop_file_id() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.workshop_file_id)
  return _internal_workshop_file_id();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_set_workshop_file_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.workshop_file_id_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::set_workshop_file_id(uint64_t value) {
  _internal_set_workshop_file_id(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.workshop_file_id)
}

// optional float revenue_percentage = 2;
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_has_revenue_percentage() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::has_revenue_percentage() const {
  return _internal_has_revenue_percentage();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::clear_revenue_percentage() {
  _impl_.revenue_percentage_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline float CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_revenue_percentage() const {
  return _impl_.revenue_percentage_;
}
inline float CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::revenue_percentage() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.revenue_percentage)
  return _internal_revenue_percentage();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_set_revenue_percentage(float value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.revenue_percentage_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::set_revenue_percentage(float value) {
  _internal_set_revenue_percentage(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.revenue_percentage)
}

// optional string rule_description = 3;
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_has_rule_description() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::has_rule_description() const {
  return _internal_has_rule_description();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::clear_rule_description() {
  _impl_.rule_description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::rule_description() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_description)
  return _internal_rule_description();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::set_rule_description(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.rule_description_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_description)
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::mutable_rule_description() {
  std::string* _s = _internal_mutable_rule_description();
  // @@protoc_insertion_point(field_mutable:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_description)
  return _s;
}
inline const std::string& CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_rule_description() const {
  return _impl_.rule_description_.Get();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_set_rule_description(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.rule_description_.Set(value, GetArenaForAllocation());
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_mutable_rule_description() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.rule_description_.Mutable(GetArenaForAllocation());
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::release_rule_description() {
  // @@protoc_insertion_point(field_release:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_description)
  if (!_internal_has_rule_description()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.rule_description_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.rule_description_.IsDefault()) {
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::set_allocated_rule_description(std::string* rule_description) {
  if (rule_description != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.rule_description_.SetAllocated(rule_description, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.rule_description_.IsDefault()) {
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_description)
}

// optional uint32 rule_type = 4 [default = 1];
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_has_rule_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::has_rule_type() const {
  return _internal_has_rule_type();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::clear_rule_type() {
  _impl_.rule_type_ = 1u;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_rule_type() const {
  return _impl_.rule_type_;
}
inline uint32_t CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::rule_type() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_type)
  return _internal_rule_type();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::_internal_set_rule_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.rule_type_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule::set_rule_type(uint32_t value) {
  _internal_set_rule_type(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule.rule_type)
}

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

// CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule

// optional uint64 workshop_file_id = 1;
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_internal_has_workshop_file_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::has_workshop_file_id() const {
  return _internal_has_workshop_file_id();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::clear_workshop_file_id() {
  _impl_.workshop_file_id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint64_t CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_internal_workshop_file_id() const {
  return _impl_.workshop_file_id_;
}
inline uint64_t CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::workshop_file_id() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.workshop_file_id)
  return _internal_workshop_file_id();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_internal_set_workshop_file_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.workshop_file_id_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::set_workshop_file_id(uint64_t value) {
  _internal_set_workshop_file_id(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.workshop_file_id)
}

// optional string rule_description = 2;
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_internal_has_rule_description() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::has_rule_description() const {
  return _internal_has_rule_description();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::clear_rule_description() {
  _impl_.rule_description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::rule_description() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.rule_description)
  return _internal_rule_description();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::set_rule_description(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.rule_description_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.rule_description)
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::mutable_rule_description() {
  std::string* _s = _internal_mutable_rule_description();
  // @@protoc_insertion_point(field_mutable:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.rule_description)
  return _s;
}
inline const std::string& CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_internal_rule_description() const {
  return _impl_.rule_description_.Get();
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_internal_set_rule_description(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.rule_description_.Set(value, GetArenaForAllocation());
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::_internal_mutable_rule_description() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.rule_description_.Mutable(GetArenaForAllocation());
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::release_rule_description() {
  // @@protoc_insertion_point(field_release:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.rule_description)
  if (!_internal_has_rule_description()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.rule_description_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.rule_description_.IsDefault()) {
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule::set_allocated_rule_description(std::string* rule_description) {
  if (rule_description != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.rule_description_.SetAllocated(rule_description, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.rule_description_.IsDefault()) {
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule.rule_description)
}

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

// CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule

// optional uint32 account_id = 1;
inline bool CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_has_account_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::has_account_id() const {
  return _internal_has_account_id();
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::clear_account_id() {
  _impl_.account_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_account_id() const {
  return _impl_.account_id_;
}
inline uint32_t CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::account_id() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.account_id)
  return _internal_account_id();
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_set_account_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.account_id_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::set_account_id(uint32_t value) {
  _internal_set_account_id(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.account_id)
}

// optional float revenue_percentage = 2;
inline bool CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_has_revenue_percentage() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::has_revenue_percentage() const {
  return _internal_has_revenue_percentage();
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::clear_revenue_percentage() {
  _impl_.revenue_percentage_ = 0;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline float CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_revenue_percentage() const {
  return _impl_.revenue_percentage_;
}
inline float CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::revenue_percentage() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.revenue_percentage)
  return _internal_revenue_percentage();
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_set_revenue_percentage(float value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.revenue_percentage_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::set_revenue_percentage(float value) {
  _internal_set_revenue_percentage(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.revenue_percentage)
}

// optional string rule_description = 3;
inline bool CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_has_rule_description() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::has_rule_description() const {
  return _internal_has_rule_description();
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::clear_rule_description() {
  _impl_.rule_description_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::rule_description() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.rule_description)
  return _internal_rule_description();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::set_rule_description(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.rule_description_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.rule_description)
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::mutable_rule_description() {
  std::string* _s = _internal_mutable_rule_description();
  // @@protoc_insertion_point(field_mutable:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.rule_description)
  return _s;
}
inline const std::string& CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_rule_description() const {
  return _impl_.rule_description_.Get();
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_set_rule_description(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.rule_description_.Set(value, GetArenaForAllocation());
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::_internal_mutable_rule_description() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.rule_description_.Mutable(GetArenaForAllocation());
}
inline std::string* CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::release_rule_description() {
  // @@protoc_insertion_point(field_release:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.rule_description)
  if (!_internal_has_rule_description()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.rule_description_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.rule_description_.IsDefault()) {
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule::set_allocated_rule_description(std::string* rule_description) {
  if (rule_description != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.rule_description_.SetAllocated(rule_description, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.rule_description_.IsDefault()) {
    _impl_.rule_description_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule.rule_description)
}

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

// CWorkshop_SetItemPaymentRules_Request

// optional uint32 appid = 1;
inline bool CWorkshop_SetItemPaymentRules_Request::_internal_has_appid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request::has_appid() const {
  return _internal_has_appid();
}
inline void CWorkshop_SetItemPaymentRules_Request::clear_appid() {
  _impl_.appid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CWorkshop_SetItemPaymentRules_Request::_internal_appid() const {
  return _impl_.appid_;
}
inline uint32_t CWorkshop_SetItemPaymentRules_Request::appid() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.appid)
  return _internal_appid();
}
inline void CWorkshop_SetItemPaymentRules_Request::_internal_set_appid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.appid_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request::set_appid(uint32_t value) {
  _internal_set_appid(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.appid)
}

// optional uint32 gameitemid = 2;
inline bool CWorkshop_SetItemPaymentRules_Request::_internal_has_gameitemid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request::has_gameitemid() const {
  return _internal_has_gameitemid();
}
inline void CWorkshop_SetItemPaymentRules_Request::clear_gameitemid() {
  _impl_.gameitemid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CWorkshop_SetItemPaymentRules_Request::_internal_gameitemid() const {
  return _impl_.gameitemid_;
}
inline uint32_t CWorkshop_SetItemPaymentRules_Request::gameitemid() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.gameitemid)
  return _internal_gameitemid();
}
inline void CWorkshop_SetItemPaymentRules_Request::_internal_set_gameitemid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.gameitemid_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request::set_gameitemid(uint32_t value) {
  _internal_set_gameitemid(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.gameitemid)
}

// repeated .CWorkshop_SetItemPaymentRules_Request.WorkshopItemPaymentRule associated_workshop_files = 3;
inline int CWorkshop_SetItemPaymentRules_Request::_internal_associated_workshop_files_size() const {
  return _impl_.associated_workshop_files_.size();
}
inline int CWorkshop_SetItemPaymentRules_Request::associated_workshop_files_size() const {
  return _internal_associated_workshop_files_size();
}
inline void CWorkshop_SetItemPaymentRules_Request::clear_associated_workshop_files() {
  _impl_.associated_workshop_files_.Clear();
}
inline ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* CWorkshop_SetItemPaymentRules_Request::mutable_associated_workshop_files(int index) {
  // @@protoc_insertion_point(field_mutable:CWorkshop_SetItemPaymentRules_Request.associated_workshop_files)
  return _impl_.associated_workshop_files_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule >*
CWorkshop_SetItemPaymentRules_Request::mutable_associated_workshop_files() {
  // @@protoc_insertion_point(field_mutable_list:CWorkshop_SetItemPaymentRules_Request.associated_workshop_files)
  return &_impl_.associated_workshop_files_;
}
inline const ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& CWorkshop_SetItemPaymentRules_Request::_internal_associated_workshop_files(int index) const {
  return _impl_.associated_workshop_files_.Get(index);
}
inline const ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule& CWorkshop_SetItemPaymentRules_Request::associated_workshop_files(int index) const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.associated_workshop_files)
  return _internal_associated_workshop_files(index);
}
inline ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* CWorkshop_SetItemPaymentRules_Request::_internal_add_associated_workshop_files() {
  return _impl_.associated_workshop_files_.Add();
}
inline ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* CWorkshop_SetItemPaymentRules_Request::add_associated_workshop_files() {
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule* _add = _internal_add_associated_workshop_files();
  // @@protoc_insertion_point(field_add:CWorkshop_SetItemPaymentRules_Request.associated_workshop_files)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_WorkshopItemPaymentRule >&
CWorkshop_SetItemPaymentRules_Request::associated_workshop_files() const {
  // @@protoc_insertion_point(field_list:CWorkshop_SetItemPaymentRules_Request.associated_workshop_files)
  return _impl_.associated_workshop_files_;
}

// repeated .CWorkshop_SetItemPaymentRules_Request.PartnerItemPaymentRule partner_accounts = 4;
inline int CWorkshop_SetItemPaymentRules_Request::_internal_partner_accounts_size() const {
  return _impl_.partner_accounts_.size();
}
inline int CWorkshop_SetItemPaymentRules_Request::partner_accounts_size() const {
  return _internal_partner_accounts_size();
}
inline void CWorkshop_SetItemPaymentRules_Request::clear_partner_accounts() {
  _impl_.partner_accounts_.Clear();
}
inline ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* CWorkshop_SetItemPaymentRules_Request::mutable_partner_accounts(int index) {
  // @@protoc_insertion_point(field_mutable:CWorkshop_SetItemPaymentRules_Request.partner_accounts)
  return _impl_.partner_accounts_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule >*
CWorkshop_SetItemPaymentRules_Request::mutable_partner_accounts() {
  // @@protoc_insertion_point(field_mutable_list:CWorkshop_SetItemPaymentRules_Request.partner_accounts)
  return &_impl_.partner_accounts_;
}
inline const ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& CWorkshop_SetItemPaymentRules_Request::_internal_partner_accounts(int index) const {
  return _impl_.partner_accounts_.Get(index);
}
inline const ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule& CWorkshop_SetItemPaymentRules_Request::partner_accounts(int index) const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.partner_accounts)
  return _internal_partner_accounts(index);
}
inline ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* CWorkshop_SetItemPaymentRules_Request::_internal_add_partner_accounts() {
  return _impl_.partner_accounts_.Add();
}
inline ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* CWorkshop_SetItemPaymentRules_Request::add_partner_accounts() {
  ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule* _add = _internal_add_partner_accounts();
  // @@protoc_insertion_point(field_add:CWorkshop_SetItemPaymentRules_Request.partner_accounts)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CWorkshop_SetItemPaymentRules_Request_PartnerItemPaymentRule >&
CWorkshop_SetItemPaymentRules_Request::partner_accounts() const {
  // @@protoc_insertion_point(field_list:CWorkshop_SetItemPaymentRules_Request.partner_accounts)
  return _impl_.partner_accounts_;
}

// optional bool validate_only = 5;
inline bool CWorkshop_SetItemPaymentRules_Request::_internal_has_validate_only() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request::has_validate_only() const {
  return _internal_has_validate_only();
}
inline void CWorkshop_SetItemPaymentRules_Request::clear_validate_only() {
  _impl_.validate_only_ = false;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline bool CWorkshop_SetItemPaymentRules_Request::_internal_validate_only() const {
  return _impl_.validate_only_;
}
inline bool CWorkshop_SetItemPaymentRules_Request::validate_only() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.validate_only)
  return _internal_validate_only();
}
inline void CWorkshop_SetItemPaymentRules_Request::_internal_set_validate_only(bool value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.validate_only_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request::set_validate_only(bool value) {
  _internal_set_validate_only(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.validate_only)
}

// optional bool make_workshop_files_subscribable = 6;
inline bool CWorkshop_SetItemPaymentRules_Request::_internal_has_make_workshop_files_subscribable() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request::has_make_workshop_files_subscribable() const {
  return _internal_has_make_workshop_files_subscribable();
}
inline void CWorkshop_SetItemPaymentRules_Request::clear_make_workshop_files_subscribable() {
  _impl_.make_workshop_files_subscribable_ = false;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline bool CWorkshop_SetItemPaymentRules_Request::_internal_make_workshop_files_subscribable() const {
  return _impl_.make_workshop_files_subscribable_;
}
inline bool CWorkshop_SetItemPaymentRules_Request::make_workshop_files_subscribable() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.make_workshop_files_subscribable)
  return _internal_make_workshop_files_subscribable();
}
inline void CWorkshop_SetItemPaymentRules_Request::_internal_set_make_workshop_files_subscribable(bool value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.make_workshop_files_subscribable_ = value;
}
inline void CWorkshop_SetItemPaymentRules_Request::set_make_workshop_files_subscribable(bool value) {
  _internal_set_make_workshop_files_subscribable(value);
  // @@protoc_insertion_point(field_set:CWorkshop_SetItemPaymentRules_Request.make_workshop_files_subscribable)
}

// optional .CWorkshop_SetItemPaymentRules_Request.WorkshopDirectPaymentRule associated_workshop_file_for_direct_payments = 7;
inline bool CWorkshop_SetItemPaymentRules_Request::_internal_has_associated_workshop_file_for_direct_payments() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  PROTOBUF_ASSUME(!value || _impl_.associated_workshop_file_for_direct_payments_ != nullptr);
  return value;
}
inline bool CWorkshop_SetItemPaymentRules_Request::has_associated_workshop_file_for_direct_payments() const {
  return _internal_has_associated_workshop_file_for_direct_payments();
}
inline void CWorkshop_SetItemPaymentRules_Request::clear_associated_workshop_file_for_direct_payments() {
  if (_impl_.associated_workshop_file_for_direct_payments_ != nullptr) _impl_.associated_workshop_file_for_direct_payments_->Clear();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& CWorkshop_SetItemPaymentRules_Request::_internal_associated_workshop_file_for_direct_payments() const {
  const ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* p = _impl_.associated_workshop_file_for_direct_payments_;
  return p != nullptr ? *p : reinterpret_cast<const ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule&>(
      ::_CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule_default_instance_);
}
inline const ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule& CWorkshop_SetItemPaymentRules_Request::associated_workshop_file_for_direct_payments() const {
  // @@protoc_insertion_point(field_get:CWorkshop_SetItemPaymentRules_Request.associated_workshop_file_for_direct_payments)
  return _internal_associated_workshop_file_for_direct_payments();
}
inline void CWorkshop_SetItemPaymentRules_Request::unsafe_arena_set_allocated_associated_workshop_file_for_direct_payments(
    ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* associated_workshop_file_for_direct_payments) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.associated_workshop_file_for_direct_payments_);
  }
  _impl_.associated_workshop_file_for_direct_payments_ = associated_workshop_file_for_direct_payments;
  if (associated_workshop_file_for_direct_payments) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:CWorkshop_SetItemPaymentRules_Request.associated_workshop_file_for_direct_payments)
}
inline ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* CWorkshop_SetItemPaymentRules_Request::release_associated_workshop_file_for_direct_payments() {
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* temp = _impl_.associated_workshop_file_for_direct_payments_;
  _impl_.associated_workshop_file_for_direct_payments_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* CWorkshop_SetItemPaymentRules_Request::unsafe_arena_release_associated_workshop_file_for_direct_payments() {
  // @@protoc_insertion_point(field_release:CWorkshop_SetItemPaymentRules_Request.associated_workshop_file_for_direct_payments)
  _impl_._has_bits_[0] &= ~0x00000001u;
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* temp = _impl_.associated_workshop_file_for_direct_payments_;
  _impl_.associated_workshop_file_for_direct_payments_ = nullptr;
  return temp;
}
inline ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* CWorkshop_SetItemPaymentRules_Request::_internal_mutable_associated_workshop_file_for_direct_payments() {
  _impl_._has_bits_[0] |= 0x00000001u;
  if (_impl_.associated_workshop_file_for_direct_payments_ == nullptr) {
    auto* p = CreateMaybeMessage<::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule>(GetArenaForAllocation());
    _impl_.associated_workshop_file_for_direct_payments_ = p;
  }
  return _impl_.associated_workshop_file_for_direct_payments_;
}
inline ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* CWorkshop_SetItemPaymentRules_Request::mutable_associated_workshop_file_for_direct_payments() {
  ::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* _msg = _internal_mutable_associated_workshop_file_for_direct_payments();
  // @@protoc_insertion_point(field_mutable:CWorkshop_SetItemPaymentRules_Request.associated_workshop_file_for_direct_payments)
  return _msg;
}
inline void CWorkshop_SetItemPaymentRules_Request::set_allocated_associated_workshop_file_for_direct_payments(::CWorkshop_SetItemPaymentRules_Request_WorkshopDirectPaymentRule* associated_workshop_file_for_direct_payments) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete _impl_.associated_workshop_file_for_direct_payments_;
  }
  if (associated_workshop_file_for_direct_payments) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(associated_workshop_file_for_direct_payments);
    if (message_arena != submessage_arena) {
      associated_workshop_file_for_direct_payments = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, associated_workshop_file_for_direct_payments, submessage_arena);
    }
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.associated_workshop_file_for_direct_payments_ = associated_workshop_file_for_direct_payments;
  // @@protoc_insertion_point(field_set_allocated:CWorkshop_SetItemPaymentRules_Request.associated_workshop_file_for_direct_payments)
}

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

// CWorkshop_SetItemPaymentRules_Response

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

// CGameServers_AggregationQuery_Request

// optional string filter = 1;
inline bool CGameServers_AggregationQuery_Request::_internal_has_filter() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CGameServers_AggregationQuery_Request::has_filter() const {
  return _internal_has_filter();
}
inline void CGameServers_AggregationQuery_Request::clear_filter() {
  _impl_.filter_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CGameServers_AggregationQuery_Request::filter() const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Request.filter)
  return _internal_filter();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CGameServers_AggregationQuery_Request::set_filter(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.filter_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Request.filter)
}
inline std::string* CGameServers_AggregationQuery_Request::mutable_filter() {
  std::string* _s = _internal_mutable_filter();
  // @@protoc_insertion_point(field_mutable:CGameServers_AggregationQuery_Request.filter)
  return _s;
}
inline const std::string& CGameServers_AggregationQuery_Request::_internal_filter() const {
  return _impl_.filter_.Get();
}
inline void CGameServers_AggregationQuery_Request::_internal_set_filter(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.filter_.Set(value, GetArenaForAllocation());
}
inline std::string* CGameServers_AggregationQuery_Request::_internal_mutable_filter() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.filter_.Mutable(GetArenaForAllocation());
}
inline std::string* CGameServers_AggregationQuery_Request::release_filter() {
  // @@protoc_insertion_point(field_release:CGameServers_AggregationQuery_Request.filter)
  if (!_internal_has_filter()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.filter_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.filter_.IsDefault()) {
    _impl_.filter_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CGameServers_AggregationQuery_Request::set_allocated_filter(std::string* filter) {
  if (filter != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.filter_.SetAllocated(filter, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.filter_.IsDefault()) {
    _impl_.filter_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CGameServers_AggregationQuery_Request.filter)
}

// repeated string group_fields = 3;
inline int CGameServers_AggregationQuery_Request::_internal_group_fields_size() const {
  return _impl_.group_fields_.size();
}
inline int CGameServers_AggregationQuery_Request::group_fields_size() const {
  return _internal_group_fields_size();
}
inline void CGameServers_AggregationQuery_Request::clear_group_fields() {
  _impl_.group_fields_.Clear();
}
inline std::string* CGameServers_AggregationQuery_Request::add_group_fields() {
  std::string* _s = _internal_add_group_fields();
  // @@protoc_insertion_point(field_add_mutable:CGameServers_AggregationQuery_Request.group_fields)
  return _s;
}
inline const std::string& CGameServers_AggregationQuery_Request::_internal_group_fields(int index) const {
  return _impl_.group_fields_.Get(index);
}
inline const std::string& CGameServers_AggregationQuery_Request::group_fields(int index) const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Request.group_fields)
  return _internal_group_fields(index);
}
inline std::string* CGameServers_AggregationQuery_Request::mutable_group_fields(int index) {
  // @@protoc_insertion_point(field_mutable:CGameServers_AggregationQuery_Request.group_fields)
  return _impl_.group_fields_.Mutable(index);
}
inline void CGameServers_AggregationQuery_Request::set_group_fields(int index, const std::string& value) {
  _impl_.group_fields_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Request.group_fields)
}
inline void CGameServers_AggregationQuery_Request::set_group_fields(int index, std::string&& value) {
  _impl_.group_fields_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Request.group_fields)
}
inline void CGameServers_AggregationQuery_Request::set_group_fields(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.group_fields_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:CGameServers_AggregationQuery_Request.group_fields)
}
inline void CGameServers_AggregationQuery_Request::set_group_fields(int index, const char* value, size_t size) {
  _impl_.group_fields_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:CGameServers_AggregationQuery_Request.group_fields)
}
inline std::string* CGameServers_AggregationQuery_Request::_internal_add_group_fields() {
  return _impl_.group_fields_.Add();
}
inline void CGameServers_AggregationQuery_Request::add_group_fields(const std::string& value) {
  _impl_.group_fields_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:CGameServers_AggregationQuery_Request.group_fields)
}
inline void CGameServers_AggregationQuery_Request::add_group_fields(std::string&& value) {
  _impl_.group_fields_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:CGameServers_AggregationQuery_Request.group_fields)
}
inline void CGameServers_AggregationQuery_Request::add_group_fields(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.group_fields_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:CGameServers_AggregationQuery_Request.group_fields)
}
inline void CGameServers_AggregationQuery_Request::add_group_fields(const char* value, size_t size) {
  _impl_.group_fields_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:CGameServers_AggregationQuery_Request.group_fields)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CGameServers_AggregationQuery_Request::group_fields() const {
  // @@protoc_insertion_point(field_list:CGameServers_AggregationQuery_Request.group_fields)
  return _impl_.group_fields_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CGameServers_AggregationQuery_Request::mutable_group_fields() {
  // @@protoc_insertion_point(field_mutable_list:CGameServers_AggregationQuery_Request.group_fields)
  return &_impl_.group_fields_;
}

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

// CGameServers_AggregationQuery_Response_Group

// repeated string group_values = 1;
inline int CGameServers_AggregationQuery_Response_Group::_internal_group_values_size() const {
  return _impl_.group_values_.size();
}
inline int CGameServers_AggregationQuery_Response_Group::group_values_size() const {
  return _internal_group_values_size();
}
inline void CGameServers_AggregationQuery_Response_Group::clear_group_values() {
  _impl_.group_values_.Clear();
}
inline std::string* CGameServers_AggregationQuery_Response_Group::add_group_values() {
  std::string* _s = _internal_add_group_values();
  // @@protoc_insertion_point(field_add_mutable:CGameServers_AggregationQuery_Response.Group.group_values)
  return _s;
}
inline const std::string& CGameServers_AggregationQuery_Response_Group::_internal_group_values(int index) const {
  return _impl_.group_values_.Get(index);
}
inline const std::string& CGameServers_AggregationQuery_Response_Group::group_values(int index) const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Response.Group.group_values)
  return _internal_group_values(index);
}
inline std::string* CGameServers_AggregationQuery_Response_Group::mutable_group_values(int index) {
  // @@protoc_insertion_point(field_mutable:CGameServers_AggregationQuery_Response.Group.group_values)
  return _impl_.group_values_.Mutable(index);
}
inline void CGameServers_AggregationQuery_Response_Group::set_group_values(int index, const std::string& value) {
  _impl_.group_values_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Response.Group.group_values)
}
inline void CGameServers_AggregationQuery_Response_Group::set_group_values(int index, std::string&& value) {
  _impl_.group_values_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Response.Group.group_values)
}
inline void CGameServers_AggregationQuery_Response_Group::set_group_values(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.group_values_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:CGameServers_AggregationQuery_Response.Group.group_values)
}
inline void CGameServers_AggregationQuery_Response_Group::set_group_values(int index, const char* value, size_t size) {
  _impl_.group_values_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:CGameServers_AggregationQuery_Response.Group.group_values)
}
inline std::string* CGameServers_AggregationQuery_Response_Group::_internal_add_group_values() {
  return _impl_.group_values_.Add();
}
inline void CGameServers_AggregationQuery_Response_Group::add_group_values(const std::string& value) {
  _impl_.group_values_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:CGameServers_AggregationQuery_Response.Group.group_values)
}
inline void CGameServers_AggregationQuery_Response_Group::add_group_values(std::string&& value) {
  _impl_.group_values_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:CGameServers_AggregationQuery_Response.Group.group_values)
}
inline void CGameServers_AggregationQuery_Response_Group::add_group_values(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.group_values_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:CGameServers_AggregationQuery_Response.Group.group_values)
}
inline void CGameServers_AggregationQuery_Response_Group::add_group_values(const char* value, size_t size) {
  _impl_.group_values_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:CGameServers_AggregationQuery_Response.Group.group_values)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CGameServers_AggregationQuery_Response_Group::group_values() const {
  // @@protoc_insertion_point(field_list:CGameServers_AggregationQuery_Response.Group.group_values)
  return _impl_.group_values_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CGameServers_AggregationQuery_Response_Group::mutable_group_values() {
  // @@protoc_insertion_point(field_mutable_list:CGameServers_AggregationQuery_Response.Group.group_values)
  return &_impl_.group_values_;
}

// optional uint32 servers_empty = 2;
inline bool CGameServers_AggregationQuery_Response_Group::_internal_has_servers_empty() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CGameServers_AggregationQuery_Response_Group::has_servers_empty() const {
  return _internal_has_servers_empty();
}
inline void CGameServers_AggregationQuery_Response_Group::clear_servers_empty() {
  _impl_.servers_empty_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::_internal_servers_empty() const {
  return _impl_.servers_empty_;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::servers_empty() const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Response.Group.servers_empty)
  return _internal_servers_empty();
}
inline void CGameServers_AggregationQuery_Response_Group::_internal_set_servers_empty(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.servers_empty_ = value;
}
inline void CGameServers_AggregationQuery_Response_Group::set_servers_empty(uint32_t value) {
  _internal_set_servers_empty(value);
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Response.Group.servers_empty)
}

// optional uint32 servers_full = 3;
inline bool CGameServers_AggregationQuery_Response_Group::_internal_has_servers_full() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CGameServers_AggregationQuery_Response_Group::has_servers_full() const {
  return _internal_has_servers_full();
}
inline void CGameServers_AggregationQuery_Response_Group::clear_servers_full() {
  _impl_.servers_full_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::_internal_servers_full() const {
  return _impl_.servers_full_;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::servers_full() const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Response.Group.servers_full)
  return _internal_servers_full();
}
inline void CGameServers_AggregationQuery_Response_Group::_internal_set_servers_full(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.servers_full_ = value;
}
inline void CGameServers_AggregationQuery_Response_Group::set_servers_full(uint32_t value) {
  _internal_set_servers_full(value);
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Response.Group.servers_full)
}

// optional uint32 servers_total = 4;
inline bool CGameServers_AggregationQuery_Response_Group::_internal_has_servers_total() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CGameServers_AggregationQuery_Response_Group::has_servers_total() const {
  return _internal_has_servers_total();
}
inline void CGameServers_AggregationQuery_Response_Group::clear_servers_total() {
  _impl_.servers_total_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::_internal_servers_total() const {
  return _impl_.servers_total_;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::servers_total() const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Response.Group.servers_total)
  return _internal_servers_total();
}
inline void CGameServers_AggregationQuery_Response_Group::_internal_set_servers_total(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.servers_total_ = value;
}
inline void CGameServers_AggregationQuery_Response_Group::set_servers_total(uint32_t value) {
  _internal_set_servers_total(value);
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Response.Group.servers_total)
}

// optional uint32 players_humans = 5;
inline bool CGameServers_AggregationQuery_Response_Group::_internal_has_players_humans() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CGameServers_AggregationQuery_Response_Group::has_players_humans() const {
  return _internal_has_players_humans();
}
inline void CGameServers_AggregationQuery_Response_Group::clear_players_humans() {
  _impl_.players_humans_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::_internal_players_humans() const {
  return _impl_.players_humans_;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::players_humans() const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Response.Group.players_humans)
  return _internal_players_humans();
}
inline void CGameServers_AggregationQuery_Response_Group::_internal_set_players_humans(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.players_humans_ = value;
}
inline void CGameServers_AggregationQuery_Response_Group::set_players_humans(uint32_t value) {
  _internal_set_players_humans(value);
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Response.Group.players_humans)
}

// optional uint32 players_bots = 6;
inline bool CGameServers_AggregationQuery_Response_Group::_internal_has_players_bots() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CGameServers_AggregationQuery_Response_Group::has_players_bots() const {
  return _internal_has_players_bots();
}
inline void CGameServers_AggregationQuery_Response_Group::clear_players_bots() {
  _impl_.players_bots_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::_internal_players_bots() const {
  return _impl_.players_bots_;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::players_bots() const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Response.Group.players_bots)
  return _internal_players_bots();
}
inline void CGameServers_AggregationQuery_Response_Group::_internal_set_players_bots(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.players_bots_ = value;
}
inline void CGameServers_AggregationQuery_Response_Group::set_players_bots(uint32_t value) {
  _internal_set_players_bots(value);
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Response.Group.players_bots)
}

// optional uint32 player_capacity = 7;
inline bool CGameServers_AggregationQuery_Response_Group::_internal_has_player_capacity() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool CGameServers_AggregationQuery_Response_Group::has_player_capacity() const {
  return _internal_has_player_capacity();
}
inline void CGameServers_AggregationQuery_Response_Group::clear_player_capacity() {
  _impl_.player_capacity_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::_internal_player_capacity() const {
  return _impl_.player_capacity_;
}
inline uint32_t CGameServers_AggregationQuery_Response_Group::player_capacity() const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Response.Group.player_capacity)
  return _internal_player_capacity();
}
inline void CGameServers_AggregationQuery_Response_Group::_internal_set_player_capacity(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.player_capacity_ = value;
}
inline void CGameServers_AggregationQuery_Response_Group::set_player_capacity(uint32_t value) {
  _internal_set_player_capacity(value);
  // @@protoc_insertion_point(field_set:CGameServers_AggregationQuery_Response.Group.player_capacity)
}

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

// CGameServers_AggregationQuery_Response

// repeated .CGameServers_AggregationQuery_Response.Group groups = 1;
inline int CGameServers_AggregationQuery_Response::_internal_groups_size() const {
  return _impl_.groups_.size();
}
inline int CGameServers_AggregationQuery_Response::groups_size() const {
  return _internal_groups_size();
}
inline void CGameServers_AggregationQuery_Response::clear_groups() {
  _impl_.groups_.Clear();
}
inline ::CGameServers_AggregationQuery_Response_Group* CGameServers_AggregationQuery_Response::mutable_groups(int index) {
  // @@protoc_insertion_point(field_mutable:CGameServers_AggregationQuery_Response.groups)
  return _impl_.groups_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CGameServers_AggregationQuery_Response_Group >*
CGameServers_AggregationQuery_Response::mutable_groups() {
  // @@protoc_insertion_point(field_mutable_list:CGameServers_AggregationQuery_Response.groups)
  return &_impl_.groups_;
}
inline const ::CGameServers_AggregationQuery_Response_Group& CGameServers_AggregationQuery_Response::_internal_groups(int index) const {
  return _impl_.groups_.Get(index);
}
inline const ::CGameServers_AggregationQuery_Response_Group& CGameServers_AggregationQuery_Response::groups(int index) const {
  // @@protoc_insertion_point(field_get:CGameServers_AggregationQuery_Response.groups)
  return _internal_groups(index);
}
inline ::CGameServers_AggregationQuery_Response_Group* CGameServers_AggregationQuery_Response::_internal_add_groups() {
  return _impl_.groups_.Add();
}
inline ::CGameServers_AggregationQuery_Response_Group* CGameServers_AggregationQuery_Response::add_groups() {
  ::CGameServers_AggregationQuery_Response_Group* _add = _internal_add_groups();
  // @@protoc_insertion_point(field_add:CGameServers_AggregationQuery_Response.groups)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CGameServers_AggregationQuery_Response_Group >&
CGameServers_AggregationQuery_Response::groups() const {
  // @@protoc_insertion_point(field_list:CGameServers_AggregationQuery_Response.groups)
  return _impl_.groups_;
}

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

// CWorkshop_AddSpecialPayment_Request

// optional uint32 appid = 1;
inline bool CWorkshop_AddSpecialPayment_Request::_internal_has_appid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CWorkshop_AddSpecialPayment_Request::has_appid() const {
  return _internal_has_appid();
}
inline void CWorkshop_AddSpecialPayment_Request::clear_appid() {
  _impl_.appid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CWorkshop_AddSpecialPayment_Request::_internal_appid() const {
  return _impl_.appid_;
}
inline uint32_t CWorkshop_AddSpecialPayment_Request::appid() const {
  // @@protoc_insertion_point(field_get:CWorkshop_AddSpecialPayment_Request.appid)
  return _internal_appid();
}
inline void CWorkshop_AddSpecialPayment_Request::_internal_set_appid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.appid_ = value;
}
inline void CWorkshop_AddSpecialPayment_Request::set_appid(uint32_t value) {
  _internal_set_appid(value);
  // @@protoc_insertion_point(field_set:CWorkshop_AddSpecialPayment_Request.appid)
}

// optional uint32 gameitemid = 2;
inline bool CWorkshop_AddSpecialPayment_Request::_internal_has_gameitemid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool CWorkshop_AddSpecialPayment_Request::has_gameitemid() const {
  return _internal_has_gameitemid();
}
inline void CWorkshop_AddSpecialPayment_Request::clear_gameitemid() {
  _impl_.gameitemid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CWorkshop_AddSpecialPayment_Request::_internal_gameitemid() const {
  return _impl_.gameitemid_;
}
inline uint32_t CWorkshop_AddSpecialPayment_Request::gameitemid() const {
  // @@protoc_insertion_point(field_get:CWorkshop_AddSpecialPayment_Request.gameitemid)
  return _internal_gameitemid();
}
inline void CWorkshop_AddSpecialPayment_Request::_internal_set_gameitemid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.gameitemid_ = value;
}
inline void CWorkshop_AddSpecialPayment_Request::set_gameitemid(uint32_t value) {
  _internal_set_gameitemid(value);
  // @@protoc_insertion_point(field_set:CWorkshop_AddSpecialPayment_Request.gameitemid)
}

// optional string date = 3;
inline bool CWorkshop_AddSpecialPayment_Request::_internal_has_date() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CWorkshop_AddSpecialPayment_Request::has_date() const {
  return _internal_has_date();
}
inline void CWorkshop_AddSpecialPayment_Request::clear_date() {
  _impl_.date_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CWorkshop_AddSpecialPayment_Request::date() const {
  // @@protoc_insertion_point(field_get:CWorkshop_AddSpecialPayment_Request.date)
  return _internal_date();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CWorkshop_AddSpecialPayment_Request::set_date(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.date_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CWorkshop_AddSpecialPayment_Request.date)
}
inline std::string* CWorkshop_AddSpecialPayment_Request::mutable_date() {
  std::string* _s = _internal_mutable_date();
  // @@protoc_insertion_point(field_mutable:CWorkshop_AddSpecialPayment_Request.date)
  return _s;
}
inline const std::string& CWorkshop_AddSpecialPayment_Request::_internal_date() const {
  return _impl_.date_.Get();
}
inline void CWorkshop_AddSpecialPayment_Request::_internal_set_date(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.date_.Set(value, GetArenaForAllocation());
}
inline std::string* CWorkshop_AddSpecialPayment_Request::_internal_mutable_date() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.date_.Mutable(GetArenaForAllocation());
}
inline std::string* CWorkshop_AddSpecialPayment_Request::release_date() {
  // @@protoc_insertion_point(field_release:CWorkshop_AddSpecialPayment_Request.date)
  if (!_internal_has_date()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.date_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.date_.IsDefault()) {
    _impl_.date_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CWorkshop_AddSpecialPayment_Request::set_allocated_date(std::string* date) {
  if (date != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.date_.SetAllocated(date, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.date_.IsDefault()) {
    _impl_.date_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CWorkshop_AddSpecialPayment_Request.date)
}

// optional uint64 payment_us_usd = 4;
inline bool CWorkshop_AddSpecialPayment_Request::_internal_has_payment_us_usd() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool CWorkshop_AddSpecialPayment_Request::has_payment_us_usd() const {
  return _internal_has_payment_us_usd();
}
inline void CWorkshop_AddSpecialPayment_Request::clear_payment_us_usd() {
  _impl_.payment_us_usd_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint64_t CWorkshop_AddSpecialPayment_Request::_internal_payment_us_usd() const {
  return _impl_.payment_us_usd_;
}
inline uint64_t CWorkshop_AddSpecialPayment_Request::payment_us_usd() const {
  // @@protoc_insertion_point(field_get:CWorkshop_AddSpecialPayment_Request.payment_us_usd)
  return _internal_payment_us_usd();
}
inline void CWorkshop_AddSpecialPayment_Request::_internal_set_payment_us_usd(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.payment_us_usd_ = value;
}
inline void CWorkshop_AddSpecialPayment_Request::set_payment_us_usd(uint64_t value) {
  _internal_set_payment_us_usd(value);
  // @@protoc_insertion_point(field_set:CWorkshop_AddSpecialPayment_Request.payment_us_usd)
}

// optional uint64 payment_row_usd = 5;
inline bool CWorkshop_AddSpecialPayment_Request::_internal_has_payment_row_usd() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool CWorkshop_AddSpecialPayment_Request::has_payment_row_usd() const {
  return _internal_has_payment_row_usd();
}
inline void CWorkshop_AddSpecialPayment_Request::clear_payment_row_usd() {
  _impl_.payment_row_usd_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline uint64_t CWorkshop_AddSpecialPayment_Request::_internal_payment_row_usd() const {
  return _impl_.payment_row_usd_;
}
inline uint64_t CWorkshop_AddSpecialPayment_Request::payment_row_usd() const {
  // @@protoc_insertion_point(field_get:CWorkshop_AddSpecialPayment_Request.payment_row_usd)
  return _internal_payment_row_usd();
}
inline void CWorkshop_AddSpecialPayment_Request::_internal_set_payment_row_usd(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.payment_row_usd_ = value;
}
inline void CWorkshop_AddSpecialPayment_Request::set_payment_row_usd(uint64_t value) {
  _internal_set_payment_row_usd(value);
  // @@protoc_insertion_point(field_set:CWorkshop_AddSpecialPayment_Request.payment_row_usd)
}

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

// CWorkshop_AddSpecialPayment_Response

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

// CProductInfo_SetRichPresenceLocalization_Request_Token

// optional string token = 1;
inline bool CProductInfo_SetRichPresenceLocalization_Request_Token::_internal_has_token() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CProductInfo_SetRichPresenceLocalization_Request_Token::has_token() const {
  return _internal_has_token();
}
inline void CProductInfo_SetRichPresenceLocalization_Request_Token::clear_token() {
  _impl_.token_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CProductInfo_SetRichPresenceLocalization_Request_Token::token() const {
  // @@protoc_insertion_point(field_get:CProductInfo_SetRichPresenceLocalization_Request.Token.token)
  return _internal_token();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CProductInfo_SetRichPresenceLocalization_Request_Token::set_token(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.token_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CProductInfo_SetRichPresenceLocalization_Request.Token.token)
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_Token::mutable_token() {
  std::string* _s = _internal_mutable_token();
  // @@protoc_insertion_point(field_mutable:CProductInfo_SetRichPresenceLocalization_Request.Token.token)
  return _s;
}
inline const std::string& CProductInfo_SetRichPresenceLocalization_Request_Token::_internal_token() const {
  return _impl_.token_.Get();
}
inline void CProductInfo_SetRichPresenceLocalization_Request_Token::_internal_set_token(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.token_.Set(value, GetArenaForAllocation());
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_Token::_internal_mutable_token() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.token_.Mutable(GetArenaForAllocation());
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_Token::release_token() {
  // @@protoc_insertion_point(field_release:CProductInfo_SetRichPresenceLocalization_Request.Token.token)
  if (!_internal_has_token()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.token_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CProductInfo_SetRichPresenceLocalization_Request_Token::set_allocated_token(std::string* token) {
  if (token != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.token_.SetAllocated(token, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.token_.IsDefault()) {
    _impl_.token_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CProductInfo_SetRichPresenceLocalization_Request.Token.token)
}

// optional string value = 2;
inline bool CProductInfo_SetRichPresenceLocalization_Request_Token::_internal_has_value() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CProductInfo_SetRichPresenceLocalization_Request_Token::has_value() const {
  return _internal_has_value();
}
inline void CProductInfo_SetRichPresenceLocalization_Request_Token::clear_value() {
  _impl_.value_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& CProductInfo_SetRichPresenceLocalization_Request_Token::value() const {
  // @@protoc_insertion_point(field_get:CProductInfo_SetRichPresenceLocalization_Request.Token.value)
  return _internal_value();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CProductInfo_SetRichPresenceLocalization_Request_Token::set_value(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.value_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CProductInfo_SetRichPresenceLocalization_Request.Token.value)
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_Token::mutable_value() {
  std::string* _s = _internal_mutable_value();
  // @@protoc_insertion_point(field_mutable:CProductInfo_SetRichPresenceLocalization_Request.Token.value)
  return _s;
}
inline const std::string& CProductInfo_SetRichPresenceLocalization_Request_Token::_internal_value() const {
  return _impl_.value_.Get();
}
inline void CProductInfo_SetRichPresenceLocalization_Request_Token::_internal_set_value(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.value_.Set(value, GetArenaForAllocation());
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_Token::_internal_mutable_value() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.value_.Mutable(GetArenaForAllocation());
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_Token::release_value() {
  // @@protoc_insertion_point(field_release:CProductInfo_SetRichPresenceLocalization_Request.Token.value)
  if (!_internal_has_value()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.value_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CProductInfo_SetRichPresenceLocalization_Request_Token::set_allocated_value(std::string* value) {
  if (value != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.value_.SetAllocated(value, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.value_.IsDefault()) {
    _impl_.value_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CProductInfo_SetRichPresenceLocalization_Request.Token.value)
}

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

// CProductInfo_SetRichPresenceLocalization_Request_LanguageSection

// optional string language = 1;
inline bool CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_internal_has_language() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::has_language() const {
  return _internal_has_language();
}
inline void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::clear_language() {
  _impl_.language_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::language() const {
  // @@protoc_insertion_point(field_get:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.language)
  return _internal_language();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::set_language(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.language_.Set(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.language)
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::mutable_language() {
  std::string* _s = _internal_mutable_language();
  // @@protoc_insertion_point(field_mutable:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.language)
  return _s;
}
inline const std::string& CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_internal_language() const {
  return _impl_.language_.Get();
}
inline void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_internal_set_language(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.language_.Set(value, GetArenaForAllocation());
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_internal_mutable_language() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.language_.Mutable(GetArenaForAllocation());
}
inline std::string* CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::release_language() {
  // @@protoc_insertion_point(field_release:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.language)
  if (!_internal_has_language()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.language_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.language_.IsDefault()) {
    _impl_.language_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::set_allocated_language(std::string* language) {
  if (language != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.language_.SetAllocated(language, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.language_.IsDefault()) {
    _impl_.language_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.language)
}

// repeated .CProductInfo_SetRichPresenceLocalization_Request.Token tokens = 2;
inline int CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_internal_tokens_size() const {
  return _impl_.tokens_.size();
}
inline int CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::tokens_size() const {
  return _internal_tokens_size();
}
inline void CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::clear_tokens() {
  _impl_.tokens_.Clear();
}
inline ::CProductInfo_SetRichPresenceLocalization_Request_Token* CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::mutable_tokens(int index) {
  // @@protoc_insertion_point(field_mutable:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.tokens)
  return _impl_.tokens_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_Token >*
CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::mutable_tokens() {
  // @@protoc_insertion_point(field_mutable_list:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.tokens)
  return &_impl_.tokens_;
}
inline const ::CProductInfo_SetRichPresenceLocalization_Request_Token& CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_internal_tokens(int index) const {
  return _impl_.tokens_.Get(index);
}
inline const ::CProductInfo_SetRichPresenceLocalization_Request_Token& CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::tokens(int index) const {
  // @@protoc_insertion_point(field_get:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.tokens)
  return _internal_tokens(index);
}
inline ::CProductInfo_SetRichPresenceLocalization_Request_Token* CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::_internal_add_tokens() {
  return _impl_.tokens_.Add();
}
inline ::CProductInfo_SetRichPresenceLocalization_Request_Token* CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::add_tokens() {
  ::CProductInfo_SetRichPresenceLocalization_Request_Token* _add = _internal_add_tokens();
  // @@protoc_insertion_point(field_add:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.tokens)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_Token >&
CProductInfo_SetRichPresenceLocalization_Request_LanguageSection::tokens() const {
  // @@protoc_insertion_point(field_list:CProductInfo_SetRichPresenceLocalization_Request.LanguageSection.tokens)
  return _impl_.tokens_;
}

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

// CProductInfo_SetRichPresenceLocalization_Request

// optional uint32 appid = 1;
inline bool CProductInfo_SetRichPresenceLocalization_Request::_internal_has_appid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CProductInfo_SetRichPresenceLocalization_Request::has_appid() const {
  return _internal_has_appid();
}
inline void CProductInfo_SetRichPresenceLocalization_Request::clear_appid() {
  _impl_.appid_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CProductInfo_SetRichPresenceLocalization_Request::_internal_appid() const {
  return _impl_.appid_;
}
inline uint32_t CProductInfo_SetRichPresenceLocalization_Request::appid() const {
  // @@protoc_insertion_point(field_get:CProductInfo_SetRichPresenceLocalization_Request.appid)
  return _internal_appid();
}
inline void CProductInfo_SetRichPresenceLocalization_Request::_internal_set_appid(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.appid_ = value;
}
inline void CProductInfo_SetRichPresenceLocalization_Request::set_appid(uint32_t value) {
  _internal_set_appid(value);
  // @@protoc_insertion_point(field_set:CProductInfo_SetRichPresenceLocalization_Request.appid)
}

// repeated .CProductInfo_SetRichPresenceLocalization_Request.LanguageSection languages = 2;
inline int CProductInfo_SetRichPresenceLocalization_Request::_internal_languages_size() const {
  return _impl_.languages_.size();
}
inline int CProductInfo_SetRichPresenceLocalization_Request::languages_size() const {
  return _internal_languages_size();
}
inline void CProductInfo_SetRichPresenceLocalization_Request::clear_languages() {
  _impl_.languages_.Clear();
}
inline ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* CProductInfo_SetRichPresenceLocalization_Request::mutable_languages(int index) {
  // @@protoc_insertion_point(field_mutable:CProductInfo_SetRichPresenceLocalization_Request.languages)
  return _impl_.languages_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection >*
CProductInfo_SetRichPresenceLocalization_Request::mutable_languages() {
  // @@protoc_insertion_point(field_mutable_list:CProductInfo_SetRichPresenceLocalization_Request.languages)
  return &_impl_.languages_;
}
inline const ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& CProductInfo_SetRichPresenceLocalization_Request::_internal_languages(int index) const {
  return _impl_.languages_.Get(index);
}
inline const ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection& CProductInfo_SetRichPresenceLocalization_Request::languages(int index) const {
  // @@protoc_insertion_point(field_get:CProductInfo_SetRichPresenceLocalization_Request.languages)
  return _internal_languages(index);
}
inline ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* CProductInfo_SetRichPresenceLocalization_Request::_internal_add_languages() {
  return _impl_.languages_.Add();
}
inline ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* CProductInfo_SetRichPresenceLocalization_Request::add_languages() {
  ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection* _add = _internal_add_languages();
  // @@protoc_insertion_point(field_add:CProductInfo_SetRichPresenceLocalization_Request.languages)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CProductInfo_SetRichPresenceLocalization_Request_LanguageSection >&
CProductInfo_SetRichPresenceLocalization_Request::languages() const {
  // @@protoc_insertion_point(field_list:CProductInfo_SetRichPresenceLocalization_Request.languages)
  return _impl_.languages_;
}

// optional uint64 steamid = 3;
inline bool CProductInfo_SetRichPresenceLocalization_Request::_internal_has_steamid() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CProductInfo_SetRichPresenceLocalization_Request::has_steamid() const {
  return _internal_has_steamid();
}
inline void CProductInfo_SetRichPresenceLocalization_Request::clear_steamid() {
  _impl_.steamid_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CProductInfo_SetRichPresenceLocalization_Request::_internal_steamid() const {
  return _impl_.steamid_;
}
inline uint64_t CProductInfo_SetRichPresenceLocalization_Request::steamid() const {
  // @@protoc_insertion_point(field_get:CProductInfo_SetRichPresenceLocalization_Request.steamid)
  return _internal_steamid();
}
inline void CProductInfo_SetRichPresenceLocalization_Request::_internal_set_steamid(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.steamid_ = value;
}
inline void CProductInfo_SetRichPresenceLocalization_Request::set_steamid(uint64_t value) {
  _internal_set_steamid(value);
  // @@protoc_insertion_point(field_set:CProductInfo_SetRichPresenceLocalization_Request.steamid)
}

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

// CProductInfo_SetRichPresenceLocalization_Response

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

// CMsgSerializedSOCache_TypeCache

// optional uint32 type = 1;
inline bool CMsgSerializedSOCache_TypeCache::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSerializedSOCache_TypeCache::has_type() const {
  return _internal_has_type();
}
inline void CMsgSerializedSOCache_TypeCache::clear_type() {
  _impl_.type_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CMsgSerializedSOCache_TypeCache::_internal_type() const {
  return _impl_.type_;
}
inline uint32_t CMsgSerializedSOCache_TypeCache::type() const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.TypeCache.type)
  return _internal_type();
}
inline void CMsgSerializedSOCache_TypeCache::_internal_set_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.type_ = value;
}
inline void CMsgSerializedSOCache_TypeCache::set_type(uint32_t value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.TypeCache.type)
}

// repeated bytes objects = 2;
inline int CMsgSerializedSOCache_TypeCache::_internal_objects_size() const {
  return _impl_.objects_.size();
}
inline int CMsgSerializedSOCache_TypeCache::objects_size() const {
  return _internal_objects_size();
}
inline void CMsgSerializedSOCache_TypeCache::clear_objects() {
  _impl_.objects_.Clear();
}
inline std::string* CMsgSerializedSOCache_TypeCache::add_objects() {
  std::string* _s = _internal_add_objects();
  // @@protoc_insertion_point(field_add_mutable:CMsgSerializedSOCache.TypeCache.objects)
  return _s;
}
inline const std::string& CMsgSerializedSOCache_TypeCache::_internal_objects(int index) const {
  return _impl_.objects_.Get(index);
}
inline const std::string& CMsgSerializedSOCache_TypeCache::objects(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.TypeCache.objects)
  return _internal_objects(index);
}
inline std::string* CMsgSerializedSOCache_TypeCache::mutable_objects(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSerializedSOCache.TypeCache.objects)
  return _impl_.objects_.Mutable(index);
}
inline void CMsgSerializedSOCache_TypeCache::set_objects(int index, const std::string& value) {
  _impl_.objects_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.TypeCache.objects)
}
inline void CMsgSerializedSOCache_TypeCache::set_objects(int index, std::string&& value) {
  _impl_.objects_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.TypeCache.objects)
}
inline void CMsgSerializedSOCache_TypeCache::set_objects(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.objects_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:CMsgSerializedSOCache.TypeCache.objects)
}
inline void CMsgSerializedSOCache_TypeCache::set_objects(int index, const void* value, size_t size) {
  _impl_.objects_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:CMsgSerializedSOCache.TypeCache.objects)
}
inline std::string* CMsgSerializedSOCache_TypeCache::_internal_add_objects() {
  return _impl_.objects_.Add();
}
inline void CMsgSerializedSOCache_TypeCache::add_objects(const std::string& value) {
  _impl_.objects_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:CMsgSerializedSOCache.TypeCache.objects)
}
inline void CMsgSerializedSOCache_TypeCache::add_objects(std::string&& value) {
  _impl_.objects_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:CMsgSerializedSOCache.TypeCache.objects)
}
inline void CMsgSerializedSOCache_TypeCache::add_objects(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.objects_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:CMsgSerializedSOCache.TypeCache.objects)
}
inline void CMsgSerializedSOCache_TypeCache::add_objects(const void* value, size_t size) {
  _impl_.objects_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:CMsgSerializedSOCache.TypeCache.objects)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
CMsgSerializedSOCache_TypeCache::objects() const {
  // @@protoc_insertion_point(field_list:CMsgSerializedSOCache.TypeCache.objects)
  return _impl_.objects_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
CMsgSerializedSOCache_TypeCache::mutable_objects() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSerializedSOCache.TypeCache.objects)
  return &_impl_.objects_;
}

// optional uint32 service_id = 3;
inline bool CMsgSerializedSOCache_TypeCache::_internal_has_service_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSerializedSOCache_TypeCache::has_service_id() const {
  return _internal_has_service_id();
}
inline void CMsgSerializedSOCache_TypeCache::clear_service_id() {
  _impl_.service_id_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSerializedSOCache_TypeCache::_internal_service_id() const {
  return _impl_.service_id_;
}
inline uint32_t CMsgSerializedSOCache_TypeCache::service_id() const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.TypeCache.service_id)
  return _internal_service_id();
}
inline void CMsgSerializedSOCache_TypeCache::_internal_set_service_id(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.service_id_ = value;
}
inline void CMsgSerializedSOCache_TypeCache::set_service_id(uint32_t value) {
  _internal_set_service_id(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.TypeCache.service_id)
}

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

// CMsgSerializedSOCache_Cache_Version

// optional uint32 service = 1;
inline bool CMsgSerializedSOCache_Cache_Version::_internal_has_service() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSerializedSOCache_Cache_Version::has_service() const {
  return _internal_has_service();
}
inline void CMsgSerializedSOCache_Cache_Version::clear_service() {
  _impl_.service_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSerializedSOCache_Cache_Version::_internal_service() const {
  return _impl_.service_;
}
inline uint32_t CMsgSerializedSOCache_Cache_Version::service() const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.Cache.Version.service)
  return _internal_service();
}
inline void CMsgSerializedSOCache_Cache_Version::_internal_set_service(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.service_ = value;
}
inline void CMsgSerializedSOCache_Cache_Version::set_service(uint32_t value) {
  _internal_set_service(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.Cache.Version.service)
}

// optional uint64 version = 2;
inline bool CMsgSerializedSOCache_Cache_Version::_internal_has_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSerializedSOCache_Cache_Version::has_version() const {
  return _internal_has_version();
}
inline void CMsgSerializedSOCache_Cache_Version::clear_version() {
  _impl_.version_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CMsgSerializedSOCache_Cache_Version::_internal_version() const {
  return _impl_.version_;
}
inline uint64_t CMsgSerializedSOCache_Cache_Version::version() const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.Cache.Version.version)
  return _internal_version();
}
inline void CMsgSerializedSOCache_Cache_Version::_internal_set_version(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.version_ = value;
}
inline void CMsgSerializedSOCache_Cache_Version::set_version(uint64_t value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.Cache.Version.version)
}

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

// CMsgSerializedSOCache_Cache

// optional uint32 type = 1;
inline bool CMsgSerializedSOCache_Cache::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSerializedSOCache_Cache::has_type() const {
  return _internal_has_type();
}
inline void CMsgSerializedSOCache_Cache::clear_type() {
  _impl_.type_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSerializedSOCache_Cache::_internal_type() const {
  return _impl_.type_;
}
inline uint32_t CMsgSerializedSOCache_Cache::type() const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.Cache.type)
  return _internal_type();
}
inline void CMsgSerializedSOCache_Cache::_internal_set_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.type_ = value;
}
inline void CMsgSerializedSOCache_Cache::set_type(uint32_t value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.Cache.type)
}

// optional uint64 id = 2;
inline bool CMsgSerializedSOCache_Cache::_internal_has_id() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSerializedSOCache_Cache::has_id() const {
  return _internal_has_id();
}
inline void CMsgSerializedSOCache_Cache::clear_id() {
  _impl_.id_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CMsgSerializedSOCache_Cache::_internal_id() const {
  return _impl_.id_;
}
inline uint64_t CMsgSerializedSOCache_Cache::id() const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.Cache.id)
  return _internal_id();
}
inline void CMsgSerializedSOCache_Cache::_internal_set_id(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.id_ = value;
}
inline void CMsgSerializedSOCache_Cache::set_id(uint64_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.Cache.id)
}

// repeated .CMsgSerializedSOCache.Cache.Version versions = 3;
inline int CMsgSerializedSOCache_Cache::_internal_versions_size() const {
  return _impl_.versions_.size();
}
inline int CMsgSerializedSOCache_Cache::versions_size() const {
  return _internal_versions_size();
}
inline void CMsgSerializedSOCache_Cache::clear_versions() {
  _impl_.versions_.Clear();
}
inline ::CMsgSerializedSOCache_Cache_Version* CMsgSerializedSOCache_Cache::mutable_versions(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSerializedSOCache.Cache.versions)
  return _impl_.versions_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache_Version >*
CMsgSerializedSOCache_Cache::mutable_versions() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSerializedSOCache.Cache.versions)
  return &_impl_.versions_;
}
inline const ::CMsgSerializedSOCache_Cache_Version& CMsgSerializedSOCache_Cache::_internal_versions(int index) const {
  return _impl_.versions_.Get(index);
}
inline const ::CMsgSerializedSOCache_Cache_Version& CMsgSerializedSOCache_Cache::versions(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.Cache.versions)
  return _internal_versions(index);
}
inline ::CMsgSerializedSOCache_Cache_Version* CMsgSerializedSOCache_Cache::_internal_add_versions() {
  return _impl_.versions_.Add();
}
inline ::CMsgSerializedSOCache_Cache_Version* CMsgSerializedSOCache_Cache::add_versions() {
  ::CMsgSerializedSOCache_Cache_Version* _add = _internal_add_versions();
  // @@protoc_insertion_point(field_add:CMsgSerializedSOCache.Cache.versions)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache_Version >&
CMsgSerializedSOCache_Cache::versions() const {
  // @@protoc_insertion_point(field_list:CMsgSerializedSOCache.Cache.versions)
  return _impl_.versions_;
}

// repeated .CMsgSerializedSOCache.TypeCache type_caches = 4;
inline int CMsgSerializedSOCache_Cache::_internal_type_caches_size() const {
  return _impl_.type_caches_.size();
}
inline int CMsgSerializedSOCache_Cache::type_caches_size() const {
  return _internal_type_caches_size();
}
inline void CMsgSerializedSOCache_Cache::clear_type_caches() {
  _impl_.type_caches_.Clear();
}
inline ::CMsgSerializedSOCache_TypeCache* CMsgSerializedSOCache_Cache::mutable_type_caches(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSerializedSOCache.Cache.type_caches)
  return _impl_.type_caches_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_TypeCache >*
CMsgSerializedSOCache_Cache::mutable_type_caches() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSerializedSOCache.Cache.type_caches)
  return &_impl_.type_caches_;
}
inline const ::CMsgSerializedSOCache_TypeCache& CMsgSerializedSOCache_Cache::_internal_type_caches(int index) const {
  return _impl_.type_caches_.Get(index);
}
inline const ::CMsgSerializedSOCache_TypeCache& CMsgSerializedSOCache_Cache::type_caches(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.Cache.type_caches)
  return _internal_type_caches(index);
}
inline ::CMsgSerializedSOCache_TypeCache* CMsgSerializedSOCache_Cache::_internal_add_type_caches() {
  return _impl_.type_caches_.Add();
}
inline ::CMsgSerializedSOCache_TypeCache* CMsgSerializedSOCache_Cache::add_type_caches() {
  ::CMsgSerializedSOCache_TypeCache* _add = _internal_add_type_caches();
  // @@protoc_insertion_point(field_add:CMsgSerializedSOCache.Cache.type_caches)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_TypeCache >&
CMsgSerializedSOCache_Cache::type_caches() const {
  // @@protoc_insertion_point(field_list:CMsgSerializedSOCache.Cache.type_caches)
  return _impl_.type_caches_;
}

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

// CMsgSerializedSOCache

// optional uint32 file_version = 1;
inline bool CMsgSerializedSOCache::_internal_has_file_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool CMsgSerializedSOCache::has_file_version() const {
  return _internal_has_file_version();
}
inline void CMsgSerializedSOCache::clear_file_version() {
  _impl_.file_version_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint32_t CMsgSerializedSOCache::_internal_file_version() const {
  return _impl_.file_version_;
}
inline uint32_t CMsgSerializedSOCache::file_version() const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.file_version)
  return _internal_file_version();
}
inline void CMsgSerializedSOCache::_internal_set_file_version(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.file_version_ = value;
}
inline void CMsgSerializedSOCache::set_file_version(uint32_t value) {
  _internal_set_file_version(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.file_version)
}

// repeated .CMsgSerializedSOCache.Cache caches = 2;
inline int CMsgSerializedSOCache::_internal_caches_size() const {
  return _impl_.caches_.size();
}
inline int CMsgSerializedSOCache::caches_size() const {
  return _internal_caches_size();
}
inline void CMsgSerializedSOCache::clear_caches() {
  _impl_.caches_.Clear();
}
inline ::CMsgSerializedSOCache_Cache* CMsgSerializedSOCache::mutable_caches(int index) {
  // @@protoc_insertion_point(field_mutable:CMsgSerializedSOCache.caches)
  return _impl_.caches_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache >*
CMsgSerializedSOCache::mutable_caches() {
  // @@protoc_insertion_point(field_mutable_list:CMsgSerializedSOCache.caches)
  return &_impl_.caches_;
}
inline const ::CMsgSerializedSOCache_Cache& CMsgSerializedSOCache::_internal_caches(int index) const {
  return _impl_.caches_.Get(index);
}
inline const ::CMsgSerializedSOCache_Cache& CMsgSerializedSOCache::caches(int index) const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.caches)
  return _internal_caches(index);
}
inline ::CMsgSerializedSOCache_Cache* CMsgSerializedSOCache::_internal_add_caches() {
  return _impl_.caches_.Add();
}
inline ::CMsgSerializedSOCache_Cache* CMsgSerializedSOCache::add_caches() {
  ::CMsgSerializedSOCache_Cache* _add = _internal_add_caches();
  // @@protoc_insertion_point(field_add:CMsgSerializedSOCache.caches)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::CMsgSerializedSOCache_Cache >&
CMsgSerializedSOCache::caches() const {
  // @@protoc_insertion_point(field_list:CMsgSerializedSOCache.caches)
  return _impl_.caches_;
}

// optional uint32 gc_socache_file_version = 3;
inline bool CMsgSerializedSOCache::_internal_has_gc_socache_file_version() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool CMsgSerializedSOCache::has_gc_socache_file_version() const {
  return _internal_has_gc_socache_file_version();
}
inline void CMsgSerializedSOCache::clear_gc_socache_file_version() {
  _impl_.gc_socache_file_version_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CMsgSerializedSOCache::_internal_gc_socache_file_version() const {
  return _impl_.gc_socache_file_version_;
}
inline uint32_t CMsgSerializedSOCache::gc_socache_file_version() const {
  // @@protoc_insertion_point(field_get:CMsgSerializedSOCache.gc_socache_file_version)
  return _internal_gc_socache_file_version();
}
inline void CMsgSerializedSOCache::_internal_set_gc_socache_file_version(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.gc_socache_file_version_ = value;
}
inline void CMsgSerializedSOCache::set_gc_socache_file_version(uint32_t value) {
  _internal_set_gc_socache_file_version(value);
  // @@protoc_insertion_point(field_set:CMsgSerializedSOCache.gc_socache_file_version)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)


PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::GCClientLauncherType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::GCClientLauncherType>() {
  return ::GCClientLauncherType_descriptor();
}
template <> struct is_proto_enum< ::GCConnectionStatus> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::GCConnectionStatus>() {
  return ::GCConnectionStatus_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_gcsdk_5fgcmessages_2eproto
