// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: client/v3beta/dto/message/message_dto.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto

#include <limits>
#include <string>


#include <herogoogle/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3018000
#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 3018000 < 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 <herogoogle/protobuf/io/coded_stream.h>
#include <herogoogle/protobuf/arena.h>
#include <herogoogle/protobuf/arenastring.h>
#include <herogoogle/protobuf/generated_message_bases.h>
#include <herogoogle/protobuf/generated_message_table_driven.h>
#include <herogoogle/protobuf/generated_message_util.h>
#include <herogoogle/protobuf/metadata_lite.h>
#include <herogoogle/protobuf/generated_message_reflection.h>
#include <herogoogle/protobuf/message.h>
#include <herogoogle/protobuf/repeated_field.h>  // IWYU pragma: export
#include <herogoogle/protobuf/extension_set.h>  // IWYU pragma: export
#include <herogoogle/protobuf/map.h>  // IWYU pragma: export
#include <herogoogle/protobuf/map_entry.h>
#include <herogoogle/protobuf/map_field_inl.h>
#include <herogoogle/protobuf/generated_enum_reflection.h>
#include <herogoogle/protobuf/unknown_field_set.h>
#include "client/v3beta/dto/message/session_dto.pb.h"
#include "client/v3beta/dto/message/model/message_model.pb.h"
#include "client/v3beta/dto/shared/api.pb.h"
// @@protoc_insertion_point(includes)

#define PROTOBUF_INTERNAL_EXPORT_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto {
  static const ::herogoogle::protobuf::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::herogoogle::protobuf::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::herogoogle::protobuf::internal::ParseTable schema[15]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::herogoogle::protobuf::internal::FieldMetadata field_metadata[];
  static const ::herogoogle::protobuf::internal::SerializationTable serialization_table[];
  static const ::herogoogle::protobuf::uint32 offsets[];
};
extern const ::herogoogle::protobuf::internal::DescriptorTable descriptor_table_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace message {
class MessageCleanupRequest;
struct MessageCleanupRequestDefaultTypeInternal;
extern MessageCleanupRequestDefaultTypeInternal _MessageCleanupRequest_default_instance_;
class MessageCleanupResponse;
struct MessageCleanupResponseDefaultTypeInternal;
extern MessageCleanupResponseDefaultTypeInternal _MessageCleanupResponse_default_instance_;
class MessageDeleteRequest;
struct MessageDeleteRequestDefaultTypeInternal;
extern MessageDeleteRequestDefaultTypeInternal _MessageDeleteRequest_default_instance_;
class MessageDeleteResponse;
struct MessageDeleteResponseDefaultTypeInternal;
extern MessageDeleteResponseDefaultTypeInternal _MessageDeleteResponse_default_instance_;
class MessageHistoryRequest;
struct MessageHistoryRequestDefaultTypeInternal;
extern MessageHistoryRequestDefaultTypeInternal _MessageHistoryRequest_default_instance_;
class MessageHistoryResponse;
struct MessageHistoryResponseDefaultTypeInternal;
extern MessageHistoryResponseDefaultTypeInternal _MessageHistoryResponse_default_instance_;
class MessageNewRequest;
struct MessageNewRequestDefaultTypeInternal;
extern MessageNewRequestDefaultTypeInternal _MessageNewRequest_default_instance_;
class MessageNewResponse;
struct MessageNewResponseDefaultTypeInternal;
extern MessageNewResponseDefaultTypeInternal _MessageNewResponse_default_instance_;
class MessageRevokeRequest;
struct MessageRevokeRequestDefaultTypeInternal;
extern MessageRevokeRequestDefaultTypeInternal _MessageRevokeRequest_default_instance_;
class MessageRevokeResponse;
struct MessageRevokeResponseDefaultTypeInternal;
extern MessageRevokeResponseDefaultTypeInternal _MessageRevokeResponse_default_instance_;
class MessageSendRequest;
struct MessageSendRequestDefaultTypeInternal;
extern MessageSendRequestDefaultTypeInternal _MessageSendRequest_default_instance_;
class MessageSendRequest_PayloadEntry_DoNotUse;
struct MessageSendRequest_PayloadEntry_DoNotUseDefaultTypeInternal;
extern MessageSendRequest_PayloadEntry_DoNotUseDefaultTypeInternal _MessageSendRequest_PayloadEntry_DoNotUse_default_instance_;
class MessageSendResponse;
struct MessageSendResponseDefaultTypeInternal;
extern MessageSendResponseDefaultTypeInternal _MessageSendResponse_default_instance_;
class MessageTranslateRequest;
struct MessageTranslateRequestDefaultTypeInternal;
extern MessageTranslateRequestDefaultTypeInternal _MessageTranslateRequest_default_instance_;
class MessageTranslateResponse;
struct MessageTranslateResponseDefaultTypeInternal;
extern MessageTranslateResponseDefaultTypeInternal _MessageTranslateResponse_default_instance_;
}  // namespace message
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim
PROTOBUF_NAMESPACE_OPEN
template<> ::heroim::client::v3beta::dto::message::MessageCleanupRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageCleanupRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageCleanupResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageCleanupResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageDeleteRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageDeleteRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageDeleteResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageDeleteResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageHistoryRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageHistoryRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageHistoryResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageHistoryResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageNewRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageNewRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageNewResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageNewResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageRevokeRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageRevokeRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageRevokeResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageRevokeResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageSendRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageSendRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageSendRequest_PayloadEntry_DoNotUse>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageSendResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageSendResponse>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageTranslateRequest* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageTranslateRequest>(Arena*);
template<> ::heroim::client::v3beta::dto::message::MessageTranslateResponse* Arena::CreateMaybeMessage<::heroim::client::v3beta::dto::message::MessageTranslateResponse>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace message {

enum MessageNewRequest_QueryType : int {
  MessageNewRequest_QueryType_ALL = 0,
  MessageNewRequest_QueryType_Private = 1,
  MessageNewRequest_QueryType_MessageNewRequest_QueryType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::herogoogle::protobuf::int32>::min(),
  MessageNewRequest_QueryType_MessageNewRequest_QueryType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::herogoogle::protobuf::int32>::max()
};
bool MessageNewRequest_QueryType_IsValid(int value);
constexpr MessageNewRequest_QueryType MessageNewRequest_QueryType_QueryType_MIN = MessageNewRequest_QueryType_ALL;
constexpr MessageNewRequest_QueryType MessageNewRequest_QueryType_QueryType_MAX = MessageNewRequest_QueryType_Private;
constexpr int MessageNewRequest_QueryType_QueryType_ARRAYSIZE = MessageNewRequest_QueryType_QueryType_MAX + 1;

const ::herogoogle::protobuf::EnumDescriptor* MessageNewRequest_QueryType_descriptor();
template<typename T>
inline const std::string& MessageNewRequest_QueryType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, MessageNewRequest_QueryType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function MessageNewRequest_QueryType_Name.");
  return ::herogoogle::protobuf::internal::NameOfEnum(
    MessageNewRequest_QueryType_descriptor(), enum_t_value);
}
inline bool MessageNewRequest_QueryType_Parse(
    ::herogoogle::protobuf::ConstStringParam name, MessageNewRequest_QueryType* value) {
  return ::herogoogle::protobuf::internal::ParseNamedEnum<MessageNewRequest_QueryType>(
    MessageNewRequest_QueryType_descriptor(), name, value);
}
// ===================================================================

class MessageSendRequest_PayloadEntry_DoNotUse : public ::herogoogle::protobuf::internal::MapEntry<MessageSendRequest_PayloadEntry_DoNotUse, 
    std::string, std::string,
    ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING> {
public:
  typedef ::herogoogle::protobuf::internal::MapEntry<MessageSendRequest_PayloadEntry_DoNotUse, 
    std::string, std::string,
    ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING,
    ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING> SuperType;
  MessageSendRequest_PayloadEntry_DoNotUse();
  explicit constexpr MessageSendRequest_PayloadEntry_DoNotUse(
      ::herogoogle::protobuf::internal::ConstantInitialized);
  explicit MessageSendRequest_PayloadEntry_DoNotUse(::herogoogle::protobuf::Arena* arena);
  void MergeFrom(const MessageSendRequest_PayloadEntry_DoNotUse& other);
  static const MessageSendRequest_PayloadEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const MessageSendRequest_PayloadEntry_DoNotUse*>(&_MessageSendRequest_PayloadEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(std::string* s) {
    return ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::herogoogle::protobuf::internal::WireFormatLite::PARSE, "heroim.client.v3beta.dto.message.MessageSendRequest.PayloadEntry.key");
 }
  static bool ValidateValue(std::string* s) {
    return ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::herogoogle::protobuf::internal::WireFormatLite::PARSE, "heroim.client.v3beta.dto.message.MessageSendRequest.PayloadEntry.value");
 }
  using ::herogoogle::protobuf::Message::MergeFrom;
  ::herogoogle::protobuf::Metadata GetMetadata() const final;
};

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

class MessageSendRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageSendRequest) */ {
 public:
  inline MessageSendRequest() : MessageSendRequest(nullptr) {}
  ~MessageSendRequest() override;
  explicit constexpr MessageSendRequest(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageSendRequest& operator=(const MessageSendRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageSendRequest& operator=(MessageSendRequest&& 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;
  }

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

  friend void swap(MessageSendRequest& a, MessageSendRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageSendRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageSendRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageSendRequest* New() const final {
    return new MessageSendRequest();
  }

  MessageSendRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageSendRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageSendRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageSendRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageSendRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageSendRequest";
  }
  protected:
  explicit MessageSendRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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


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

  enum : int {
    kPayloadFieldNumber = 6,
    kMsgTypeFieldNumber = 3,
    kContentFieldNumber = 4,
    kClientMsgIdFieldNumber = 5,
    kBaseFieldNumber = 1,
    kSessionKeyFieldNumber = 2,
  };
  // map<string, string> payload = 6;
  int payload_size() const;
  private:
  int _internal_payload_size() const;
  public:
  void clear_payload();
  private:
  const ::herogoogle::protobuf::Map< std::string, std::string >&
      _internal_payload() const;
  ::herogoogle::protobuf::Map< std::string, std::string >*
      _internal_mutable_payload();
  public:
  const ::herogoogle::protobuf::Map< std::string, std::string >&
      payload() const;
  ::herogoogle::protobuf::Map< std::string, std::string >*
      mutable_payload();

  // string msgType = 3;
  void clear_msgtype();
  const std::string& msgtype() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_msgtype(ArgT0&& arg0, ArgT... args);
  std::string* mutable_msgtype();
  PROTOBUF_MUST_USE_RESULT std::string* release_msgtype();
  void set_allocated_msgtype(std::string* msgtype);
  private:
  const std::string& _internal_msgtype() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_msgtype(const std::string& value);
  std::string* _internal_mutable_msgtype();
  public:

  // string content = 4;
  void clear_content();
  const std::string& content() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_content(ArgT0&& arg0, ArgT... args);
  std::string* mutable_content();
  PROTOBUF_MUST_USE_RESULT std::string* release_content();
  void set_allocated_content(std::string* content);
  private:
  const std::string& _internal_content() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_content(const std::string& value);
  std::string* _internal_mutable_content();
  public:

  // string clientMsgId = 5;
  void clear_clientmsgid();
  const std::string& clientmsgid() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_clientmsgid(ArgT0&& arg0, ArgT... args);
  std::string* mutable_clientmsgid();
  PROTOBUF_MUST_USE_RESULT std::string* release_clientmsgid();
  void set_allocated_clientmsgid(std::string* clientmsgid);
  private:
  const std::string& _internal_clientmsgid() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_clientmsgid(const std::string& value);
  std::string* _internal_mutable_clientmsgid();
  public:

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  bool has_sessionkey() const;
  private:
  bool _internal_has_sessionkey() const;
  public:
  void clear_sessionkey();
  const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::message::model::SessionKey* release_sessionkey();
  ::heroim::client::v3beta::dto::message::model::SessionKey* mutable_sessionkey();
  void set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  private:
  const ::heroim::client::v3beta::dto::message::model::SessionKey& _internal_sessionkey() const;
  ::heroim::client::v3beta::dto::message::model::SessionKey* _internal_mutable_sessionkey();
  public:
  void unsafe_arena_set_allocated_sessionkey(
      ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  ::heroim::client::v3beta::dto::message::model::SessionKey* unsafe_arena_release_sessionkey();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageSendRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::internal::MapField<
      MessageSendRequest_PayloadEntry_DoNotUse,
      std::string, std::string,
      ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING,
      ::herogoogle::protobuf::internal::WireFormatLite::TYPE_STRING> payload_;
  ::herogoogle::protobuf::internal::ArenaStringPtr msgtype_;
  ::herogoogle::protobuf::internal::ArenaStringPtr content_;
  ::herogoogle::protobuf::internal::ArenaStringPtr clientmsgid_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageSendResponse final :
    public ::herogoogle::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageSendResponse) */ {
 public:
  inline MessageSendResponse() : MessageSendResponse(nullptr) {}
  explicit constexpr MessageSendResponse(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageSendResponse& operator=(const MessageSendResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageSendResponse& operator=(MessageSendResponse&& 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;
  }

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

  friend void swap(MessageSendResponse& a, MessageSendResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageSendResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageSendResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageSendResponse* New() const final {
    return new MessageSendResponse();
  }

  MessageSendResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageSendResponse>(arena);
  }
  using ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const MessageSendResponse& from) {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl(this, from);
  }
  using ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const MessageSendResponse& from) {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl(this, from);
  }
  public:
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageSendResponse";
  }
  protected:
  explicit MessageSendResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageSendResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageHistoryRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageHistoryRequest) */ {
 public:
  inline MessageHistoryRequest() : MessageHistoryRequest(nullptr) {}
  ~MessageHistoryRequest() override;
  explicit constexpr MessageHistoryRequest(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageHistoryRequest& operator=(const MessageHistoryRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageHistoryRequest& operator=(MessageHistoryRequest&& 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;
  }

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

  friend void swap(MessageHistoryRequest& a, MessageHistoryRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageHistoryRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageHistoryRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageHistoryRequest* New() const final {
    return new MessageHistoryRequest();
  }

  MessageHistoryRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageHistoryRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageHistoryRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageHistoryRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageHistoryRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageHistoryRequest";
  }
  protected:
  explicit MessageHistoryRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  enum : int {
    kLastMsgIdFieldNumber = 4,
    kBaseFieldNumber = 1,
    kSessionKeyFieldNumber = 2,
    kSizeFieldNumber = 3,
    kDirectionFieldNumber = 5,
  };
  // string lastMsgId = 4;
  void clear_lastmsgid();
  const std::string& lastmsgid() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_lastmsgid(ArgT0&& arg0, ArgT... args);
  std::string* mutable_lastmsgid();
  PROTOBUF_MUST_USE_RESULT std::string* release_lastmsgid();
  void set_allocated_lastmsgid(std::string* lastmsgid);
  private:
  const std::string& _internal_lastmsgid() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_lastmsgid(const std::string& value);
  std::string* _internal_mutable_lastmsgid();
  public:

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  bool has_sessionkey() const;
  private:
  bool _internal_has_sessionkey() const;
  public:
  void clear_sessionkey();
  const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::message::model::SessionKey* release_sessionkey();
  ::heroim::client::v3beta::dto::message::model::SessionKey* mutable_sessionkey();
  void set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  private:
  const ::heroim::client::v3beta::dto::message::model::SessionKey& _internal_sessionkey() const;
  ::heroim::client::v3beta::dto::message::model::SessionKey* _internal_mutable_sessionkey();
  public:
  void unsafe_arena_set_allocated_sessionkey(
      ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  ::heroim::client::v3beta::dto::message::model::SessionKey* unsafe_arena_release_sessionkey();

  // int32 size = 3;
  void clear_size();
  ::herogoogle::protobuf::int32 size() const;
  void set_size(::herogoogle::protobuf::int32 value);
  private:
  ::herogoogle::protobuf::int32 _internal_size() const;
  void _internal_set_size(::herogoogle::protobuf::int32 value);
  public:

  // .heroim.client.v3beta.dto.message.QueryDirection direction = 5;
  void clear_direction();
  ::heroim::client::v3beta::dto::message::QueryDirection direction() const;
  void set_direction(::heroim::client::v3beta::dto::message::QueryDirection value);
  private:
  ::heroim::client::v3beta::dto::message::QueryDirection _internal_direction() const;
  void _internal_set_direction(::heroim::client::v3beta::dto::message::QueryDirection value);
  public:

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageHistoryRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::internal::ArenaStringPtr lastmsgid_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey_;
  ::herogoogle::protobuf::int32 size_;
  int direction_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageHistoryResponse final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageHistoryResponse) */ {
 public:
  inline MessageHistoryResponse() : MessageHistoryResponse(nullptr) {}
  ~MessageHistoryResponse() override;
  explicit constexpr MessageHistoryResponse(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageHistoryResponse& operator=(const MessageHistoryResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageHistoryResponse& operator=(MessageHistoryResponse&& 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;
  }

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

  friend void swap(MessageHistoryResponse& a, MessageHistoryResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageHistoryResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageHistoryResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageHistoryResponse* New() const final {
    return new MessageHistoryResponse();
  }

  MessageHistoryResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageHistoryResponse>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageHistoryResponse& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageHistoryResponse& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageHistoryResponse* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageHistoryResponse";
  }
  protected:
  explicit MessageHistoryResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  enum : int {
    kListFieldNumber = 1,
  };
  // repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
  int list_size() const;
  private:
  int _internal_list_size() const;
  public:
  void clear_list();
  ::heroim::client::v3beta::dto::message::model::Message* mutable_list(int index);
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message >*
      mutable_list();
  private:
  const ::heroim::client::v3beta::dto::message::model::Message& _internal_list(int index) const;
  ::heroim::client::v3beta::dto::message::model::Message* _internal_add_list();
  public:
  const ::heroim::client::v3beta::dto::message::model::Message& list(int index) const;
  ::heroim::client::v3beta::dto::message::model::Message* add_list();
  const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message >&
      list() const;

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageHistoryResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message > list_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageTranslateRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageTranslateRequest) */ {
 public:
  inline MessageTranslateRequest() : MessageTranslateRequest(nullptr) {}
  ~MessageTranslateRequest() override;
  explicit constexpr MessageTranslateRequest(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageTranslateRequest& operator=(const MessageTranslateRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageTranslateRequest& operator=(MessageTranslateRequest&& 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;
  }

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

  friend void swap(MessageTranslateRequest& a, MessageTranslateRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageTranslateRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageTranslateRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageTranslateRequest* New() const final {
    return new MessageTranslateRequest();
  }

  MessageTranslateRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageTranslateRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageTranslateRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageTranslateRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageTranslateRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageTranslateRequest";
  }
  protected:
  explicit MessageTranslateRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  enum : int {
    kContentFieldNumber = 2,
    kSourceLanguageFieldNumber = 3,
    kTargetLanguageFieldNumber = 4,
    kBaseFieldNumber = 1,
  };
  // string content = 2;
  void clear_content();
  const std::string& content() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_content(ArgT0&& arg0, ArgT... args);
  std::string* mutable_content();
  PROTOBUF_MUST_USE_RESULT std::string* release_content();
  void set_allocated_content(std::string* content);
  private:
  const std::string& _internal_content() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_content(const std::string& value);
  std::string* _internal_mutable_content();
  public:

  // string sourceLanguage = 3;
  void clear_sourcelanguage();
  const std::string& sourcelanguage() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_sourcelanguage(ArgT0&& arg0, ArgT... args);
  std::string* mutable_sourcelanguage();
  PROTOBUF_MUST_USE_RESULT std::string* release_sourcelanguage();
  void set_allocated_sourcelanguage(std::string* sourcelanguage);
  private:
  const std::string& _internal_sourcelanguage() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_sourcelanguage(const std::string& value);
  std::string* _internal_mutable_sourcelanguage();
  public:

  // string targetLanguage = 4;
  void clear_targetlanguage();
  const std::string& targetlanguage() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_targetlanguage(ArgT0&& arg0, ArgT... args);
  std::string* mutable_targetlanguage();
  PROTOBUF_MUST_USE_RESULT std::string* release_targetlanguage();
  void set_allocated_targetlanguage(std::string* targetlanguage);
  private:
  const std::string& _internal_targetlanguage() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_targetlanguage(const std::string& value);
  std::string* _internal_mutable_targetlanguage();
  public:

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageTranslateRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::internal::ArenaStringPtr content_;
  ::herogoogle::protobuf::internal::ArenaStringPtr sourcelanguage_;
  ::herogoogle::protobuf::internal::ArenaStringPtr targetlanguage_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageTranslateResponse final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageTranslateResponse) */ {
 public:
  inline MessageTranslateResponse() : MessageTranslateResponse(nullptr) {}
  ~MessageTranslateResponse() override;
  explicit constexpr MessageTranslateResponse(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageTranslateResponse& operator=(const MessageTranslateResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageTranslateResponse& operator=(MessageTranslateResponse&& 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;
  }

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

  friend void swap(MessageTranslateResponse& a, MessageTranslateResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageTranslateResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageTranslateResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageTranslateResponse* New() const final {
    return new MessageTranslateResponse();
  }

  MessageTranslateResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageTranslateResponse>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageTranslateResponse& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageTranslateResponse& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageTranslateResponse* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageTranslateResponse";
  }
  protected:
  explicit MessageTranslateResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  enum : int {
    kContentFieldNumber = 1,
    kSourceLanguageFieldNumber = 2,
  };
  // string content = 1;
  void clear_content();
  const std::string& content() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_content(ArgT0&& arg0, ArgT... args);
  std::string* mutable_content();
  PROTOBUF_MUST_USE_RESULT std::string* release_content();
  void set_allocated_content(std::string* content);
  private:
  const std::string& _internal_content() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_content(const std::string& value);
  std::string* _internal_mutable_content();
  public:

  // string sourceLanguage = 2;
  void clear_sourcelanguage();
  const std::string& sourcelanguage() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_sourcelanguage(ArgT0&& arg0, ArgT... args);
  std::string* mutable_sourcelanguage();
  PROTOBUF_MUST_USE_RESULT std::string* release_sourcelanguage();
  void set_allocated_sourcelanguage(std::string* sourcelanguage);
  private:
  const std::string& _internal_sourcelanguage() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_sourcelanguage(const std::string& value);
  std::string* _internal_mutable_sourcelanguage();
  public:

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageTranslateResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::internal::ArenaStringPtr content_;
  ::herogoogle::protobuf::internal::ArenaStringPtr sourcelanguage_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageNewRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageNewRequest) */ {
 public:
  inline MessageNewRequest() : MessageNewRequest(nullptr) {}
  ~MessageNewRequest() override;
  explicit constexpr MessageNewRequest(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageNewRequest& operator=(const MessageNewRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageNewRequest& operator=(MessageNewRequest&& 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;
  }

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

  friend void swap(MessageNewRequest& a, MessageNewRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageNewRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageNewRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageNewRequest* New() const final {
    return new MessageNewRequest();
  }

  MessageNewRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageNewRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageNewRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageNewRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageNewRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageNewRequest";
  }
  protected:
  explicit MessageNewRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

  typedef MessageNewRequest_QueryType QueryType;
  static constexpr QueryType ALL =
    MessageNewRequest_QueryType_ALL;
  static constexpr QueryType Private =
    MessageNewRequest_QueryType_Private;
  static inline bool QueryType_IsValid(int value) {
    return MessageNewRequest_QueryType_IsValid(value);
  }
  static constexpr QueryType QueryType_MIN =
    MessageNewRequest_QueryType_QueryType_MIN;
  static constexpr QueryType QueryType_MAX =
    MessageNewRequest_QueryType_QueryType_MAX;
  static constexpr int QueryType_ARRAYSIZE =
    MessageNewRequest_QueryType_QueryType_ARRAYSIZE;
  static inline const ::herogoogle::protobuf::EnumDescriptor*
  QueryType_descriptor() {
    return MessageNewRequest_QueryType_descriptor();
  }
  template<typename T>
  static inline const std::string& QueryType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, QueryType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function QueryType_Name.");
    return MessageNewRequest_QueryType_Name(enum_t_value);
  }
  static inline bool QueryType_Parse(::herogoogle::protobuf::ConstStringParam name,
      QueryType* value) {
    return MessageNewRequest_QueryType_Parse(name, value);
  }

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

  enum : int {
    kBaseFieldNumber = 1,
    kSizeFieldNumber = 2,
    kQueryTypeFieldNumber = 3,
  };
  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // int32 size = 2;
  void clear_size();
  ::herogoogle::protobuf::int32 size() const;
  void set_size(::herogoogle::protobuf::int32 value);
  private:
  ::herogoogle::protobuf::int32 _internal_size() const;
  void _internal_set_size(::herogoogle::protobuf::int32 value);
  public:

  // .heroim.client.v3beta.dto.message.MessageNewRequest.QueryType queryType = 3;
  void clear_querytype();
  ::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType querytype() const;
  void set_querytype(::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType value);
  private:
  ::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType _internal_querytype() const;
  void _internal_set_querytype(::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType value);
  public:

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageNewRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  ::herogoogle::protobuf::int32 size_;
  int querytype_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageNewResponse final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageNewResponse) */ {
 public:
  inline MessageNewResponse() : MessageNewResponse(nullptr) {}
  ~MessageNewResponse() override;
  explicit constexpr MessageNewResponse(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageNewResponse& operator=(const MessageNewResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageNewResponse& operator=(MessageNewResponse&& 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;
  }

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

  friend void swap(MessageNewResponse& a, MessageNewResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageNewResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageNewResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageNewResponse* New() const final {
    return new MessageNewResponse();
  }

  MessageNewResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageNewResponse>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageNewResponse& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageNewResponse& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageNewResponse* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageNewResponse";
  }
  protected:
  explicit MessageNewResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  enum : int {
    kListFieldNumber = 1,
    kMoreFieldNumber = 2,
  };
  // repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
  int list_size() const;
  private:
  int _internal_list_size() const;
  public:
  void clear_list();
  ::heroim::client::v3beta::dto::message::model::Message* mutable_list(int index);
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message >*
      mutable_list();
  private:
  const ::heroim::client::v3beta::dto::message::model::Message& _internal_list(int index) const;
  ::heroim::client::v3beta::dto::message::model::Message* _internal_add_list();
  public:
  const ::heroim::client::v3beta::dto::message::model::Message& list(int index) const;
  ::heroim::client::v3beta::dto::message::model::Message* add_list();
  const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message >&
      list() const;

  // bool more = 2;
  void clear_more();
  bool more() const;
  void set_more(bool value);
  private:
  bool _internal_more() const;
  void _internal_set_more(bool value);
  public:

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageNewResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message > list_;
  bool more_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageRevokeRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageRevokeRequest) */ {
 public:
  inline MessageRevokeRequest() : MessageRevokeRequest(nullptr) {}
  ~MessageRevokeRequest() override;
  explicit constexpr MessageRevokeRequest(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageRevokeRequest& operator=(const MessageRevokeRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageRevokeRequest& operator=(MessageRevokeRequest&& 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;
  }

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

  friend void swap(MessageRevokeRequest& a, MessageRevokeRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageRevokeRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageRevokeRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageRevokeRequest* New() const final {
    return new MessageRevokeRequest();
  }

  MessageRevokeRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageRevokeRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageRevokeRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageRevokeRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageRevokeRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageRevokeRequest";
  }
  protected:
  explicit MessageRevokeRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  enum : int {
    kMsgIdFieldNumber = 3,
    kBaseFieldNumber = 1,
    kSessionKeyFieldNumber = 2,
  };
  // string msgId = 3;
  void clear_msgid();
  const std::string& msgid() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_msgid(ArgT0&& arg0, ArgT... args);
  std::string* mutable_msgid();
  PROTOBUF_MUST_USE_RESULT std::string* release_msgid();
  void set_allocated_msgid(std::string* msgid);
  private:
  const std::string& _internal_msgid() const;
  inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE void _internal_set_msgid(const std::string& value);
  std::string* _internal_mutable_msgid();
  public:

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  bool has_sessionkey() const;
  private:
  bool _internal_has_sessionkey() const;
  public:
  void clear_sessionkey();
  const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::message::model::SessionKey* release_sessionkey();
  ::heroim::client::v3beta::dto::message::model::SessionKey* mutable_sessionkey();
  void set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  private:
  const ::heroim::client::v3beta::dto::message::model::SessionKey& _internal_sessionkey() const;
  ::heroim::client::v3beta::dto::message::model::SessionKey* _internal_mutable_sessionkey();
  public:
  void unsafe_arena_set_allocated_sessionkey(
      ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  ::heroim::client::v3beta::dto::message::model::SessionKey* unsafe_arena_release_sessionkey();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageRevokeRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::internal::ArenaStringPtr msgid_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageRevokeResponse final :
    public ::herogoogle::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageRevokeResponse) */ {
 public:
  inline MessageRevokeResponse() : MessageRevokeResponse(nullptr) {}
  explicit constexpr MessageRevokeResponse(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageRevokeResponse& operator=(const MessageRevokeResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageRevokeResponse& operator=(MessageRevokeResponse&& 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;
  }

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

  friend void swap(MessageRevokeResponse& a, MessageRevokeResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageRevokeResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageRevokeResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageRevokeResponse* New() const final {
    return new MessageRevokeResponse();
  }

  MessageRevokeResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageRevokeResponse>(arena);
  }
  using ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const MessageRevokeResponse& from) {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl(this, from);
  }
  using ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const MessageRevokeResponse& from) {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl(this, from);
  }
  public:
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageRevokeResponse";
  }
  protected:
  explicit MessageRevokeResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageRevokeResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageDeleteRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageDeleteRequest) */ {
 public:
  inline MessageDeleteRequest() : MessageDeleteRequest(nullptr) {}
  ~MessageDeleteRequest() override;
  explicit constexpr MessageDeleteRequest(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageDeleteRequest& operator=(const MessageDeleteRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageDeleteRequest& operator=(MessageDeleteRequest&& 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;
  }

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

  friend void swap(MessageDeleteRequest& a, MessageDeleteRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageDeleteRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageDeleteRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageDeleteRequest* New() const final {
    return new MessageDeleteRequest();
  }

  MessageDeleteRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageDeleteRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageDeleteRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageDeleteRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageDeleteRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageDeleteRequest";
  }
  protected:
  explicit MessageDeleteRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  enum : int {
    kMsgIdsFieldNumber = 3,
    kBaseFieldNumber = 1,
    kSessionKeyFieldNumber = 2,
  };
  // repeated string msgIds = 3;
  int msgids_size() const;
  private:
  int _internal_msgids_size() const;
  public:
  void clear_msgids();
  const std::string& msgids(int index) const;
  std::string* mutable_msgids(int index);
  void set_msgids(int index, const std::string& value);
  void set_msgids(int index, std::string&& value);
  void set_msgids(int index, const char* value);
  void set_msgids(int index, const char* value, size_t size);
  std::string* add_msgids();
  void add_msgids(const std::string& value);
  void add_msgids(std::string&& value);
  void add_msgids(const char* value);
  void add_msgids(const char* value, size_t size);
  const ::herogoogle::protobuf::RepeatedPtrField<std::string>& msgids() const;
  ::herogoogle::protobuf::RepeatedPtrField<std::string>* mutable_msgids();
  private:
  const std::string& _internal_msgids(int index) const;
  std::string* _internal_add_msgids();
  public:

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  bool has_sessionkey() const;
  private:
  bool _internal_has_sessionkey() const;
  public:
  void clear_sessionkey();
  const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::message::model::SessionKey* release_sessionkey();
  ::heroim::client::v3beta::dto::message::model::SessionKey* mutable_sessionkey();
  void set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  private:
  const ::heroim::client::v3beta::dto::message::model::SessionKey& _internal_sessionkey() const;
  ::heroim::client::v3beta::dto::message::model::SessionKey* _internal_mutable_sessionkey();
  public:
  void unsafe_arena_set_allocated_sessionkey(
      ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  ::heroim::client::v3beta::dto::message::model::SessionKey* unsafe_arena_release_sessionkey();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageDeleteRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::herogoogle::protobuf::RepeatedPtrField<std::string> msgids_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageDeleteResponse final :
    public ::herogoogle::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageDeleteResponse) */ {
 public:
  inline MessageDeleteResponse() : MessageDeleteResponse(nullptr) {}
  explicit constexpr MessageDeleteResponse(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageDeleteResponse& operator=(const MessageDeleteResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageDeleteResponse& operator=(MessageDeleteResponse&& 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;
  }

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

  friend void swap(MessageDeleteResponse& a, MessageDeleteResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageDeleteResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageDeleteResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageDeleteResponse* New() const final {
    return new MessageDeleteResponse();
  }

  MessageDeleteResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageDeleteResponse>(arena);
  }
  using ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const MessageDeleteResponse& from) {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl(this, from);
  }
  using ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const MessageDeleteResponse& from) {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl(this, from);
  }
  public:
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageDeleteResponse";
  }
  protected:
  explicit MessageDeleteResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageDeleteResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageCleanupRequest final :
    public ::herogoogle::protobuf::Message /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageCleanupRequest) */ {
 public:
  inline MessageCleanupRequest() : MessageCleanupRequest(nullptr) {}
  ~MessageCleanupRequest() override;
  explicit constexpr MessageCleanupRequest(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageCleanupRequest& operator=(const MessageCleanupRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageCleanupRequest& operator=(MessageCleanupRequest&& 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;
  }

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

  friend void swap(MessageCleanupRequest& a, MessageCleanupRequest& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageCleanupRequest* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageCleanupRequest* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageCleanupRequest* New() const final {
    return new MessageCleanupRequest();
  }

  MessageCleanupRequest* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageCleanupRequest>(arena);
  }
  using ::herogoogle::protobuf::Message::CopyFrom;
  void CopyFrom(const MessageCleanupRequest& from);
  using ::herogoogle::protobuf::Message::MergeFrom;
  void MergeFrom(const MessageCleanupRequest& from);
  private:
  static void MergeImpl(::herogoogle::protobuf::Message* to, const ::herogoogle::protobuf::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MessageCleanupRequest* other);
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageCleanupRequest";
  }
  protected:
  explicit MessageCleanupRequest(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::herogoogle::protobuf::Arena* arena);
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  enum : int {
    kBaseFieldNumber = 1,
    kSessionKeyFieldNumber = 2,
  };
  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  bool has_base() const;
  private:
  bool _internal_has_base() const;
  public:
  void clear_base();
  const ::heroim::client::v3beta::dto::shared::APIRequest& base() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::shared::APIRequest* release_base();
  ::heroim::client::v3beta::dto::shared::APIRequest* mutable_base();
  void set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base);
  private:
  const ::heroim::client::v3beta::dto::shared::APIRequest& _internal_base() const;
  ::heroim::client::v3beta::dto::shared::APIRequest* _internal_mutable_base();
  public:
  void unsafe_arena_set_allocated_base(
      ::heroim::client::v3beta::dto::shared::APIRequest* base);
  ::heroim::client::v3beta::dto::shared::APIRequest* unsafe_arena_release_base();

  // .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
  bool has_sessionkey() const;
  private:
  bool _internal_has_sessionkey() const;
  public:
  void clear_sessionkey();
  const ::heroim::client::v3beta::dto::message::model::SessionKey& sessionkey() const;
  PROTOBUF_MUST_USE_RESULT ::heroim::client::v3beta::dto::message::model::SessionKey* release_sessionkey();
  ::heroim::client::v3beta::dto::message::model::SessionKey* mutable_sessionkey();
  void set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  private:
  const ::heroim::client::v3beta::dto::message::model::SessionKey& _internal_sessionkey() const;
  ::heroim::client::v3beta::dto::message::model::SessionKey* _internal_mutable_sessionkey();
  public:
  void unsafe_arena_set_allocated_sessionkey(
      ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey);
  ::heroim::client::v3beta::dto::message::model::SessionKey* unsafe_arena_release_sessionkey();

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageCleanupRequest)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::heroim::client::v3beta::dto::shared::APIRequest* base_;
  ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// -------------------------------------------------------------------

class MessageCleanupResponse final :
    public ::herogoogle::protobuf::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:heroim.client.v3beta.dto.message.MessageCleanupResponse) */ {
 public:
  inline MessageCleanupResponse() : MessageCleanupResponse(nullptr) {}
  explicit constexpr MessageCleanupResponse(::herogoogle::protobuf::internal::ConstantInitialized);

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

  inline MessageCleanupResponse& operator=(const MessageCleanupResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline MessageCleanupResponse& operator=(MessageCleanupResponse&& 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;
  }

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

  friend void swap(MessageCleanupResponse& a, MessageCleanupResponse& b) {
    a.Swap(&b);
  }
  inline void Swap(MessageCleanupResponse* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::herogoogle::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageCleanupResponse* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

  inline MessageCleanupResponse* New() const final {
    return new MessageCleanupResponse();
  }

  MessageCleanupResponse* New(::herogoogle::protobuf::Arena* arena) const final {
    return CreateMaybeMessage<MessageCleanupResponse>(arena);
  }
  using ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const MessageCleanupResponse& from) {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::CopyImpl(this, from);
  }
  using ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const MessageCleanupResponse& from) {
    ::herogoogle::protobuf::internal::ZeroFieldsBase::MergeImpl(this, from);
  }
  public:
  friend class ::herogoogle::protobuf::internal::AnyMetadata;
  static ::herogoogle::protobuf::StringPiece FullMessageName() {
    return "heroim.client.v3beta.dto.message.MessageCleanupResponse";
  }
  protected:
  explicit MessageCleanupResponse(::herogoogle::protobuf::Arena* arena,
                       bool is_message_owned = false);
  private:
  public:

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

  ::herogoogle::protobuf::Metadata GetMetadata() const final;

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

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

  // @@protoc_insertion_point(class_scope:heroim.client.v3beta.dto.message.MessageCleanupResponse)
 private:
  class _Internal;

  template <typename T> friend class ::herogoogle::protobuf::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  mutable ::herogoogle::protobuf::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto;
};
// ===================================================================


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

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

// MessageSendRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool MessageSendRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool MessageSendRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageSendRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageSendRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageSendRequest.base)
  return _internal_base();
}
inline void MessageSendRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageSendRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageSendRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageSendRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageSendRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageSendRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageSendRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageSendRequest.base)
  return _msg;
}
inline void MessageSendRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageSendRequest.base)
}

// .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
inline bool MessageSendRequest::_internal_has_sessionkey() const {
  return this != internal_default_instance() && sessionkey_ != nullptr;
}
inline bool MessageSendRequest::has_sessionkey() const {
  return _internal_has_sessionkey();
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageSendRequest::_internal_sessionkey() const {
  const ::heroim::client::v3beta::dto::message::model::SessionKey* p = sessionkey_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::message::model::SessionKey&>(
      ::heroim::client::v3beta::dto::message::model::_SessionKey_default_instance_);
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageSendRequest::sessionkey() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageSendRequest.sessionKey)
  return _internal_sessionkey();
}
inline void MessageSendRequest::unsafe_arena_set_allocated_sessionkey(
    ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  sessionkey_ = sessionkey;
  if (sessionkey) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageSendRequest.sessionKey)
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageSendRequest::release_sessionkey() {
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageSendRequest::unsafe_arena_release_sessionkey() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageSendRequest.sessionKey)
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageSendRequest::_internal_mutable_sessionkey() {
  
  if (sessionkey_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::message::model::SessionKey>(GetArenaForAllocation());
    sessionkey_ = p;
  }
  return sessionkey_;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageSendRequest::mutable_sessionkey() {
  ::heroim::client::v3beta::dto::message::model::SessionKey* _msg = _internal_mutable_sessionkey();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageSendRequest.sessionKey)
  return _msg;
}
inline void MessageSendRequest::set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  if (sessionkey) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey));
    if (message_arena != submessage_arena) {
      sessionkey = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, sessionkey, submessage_arena);
    }
    
  } else {
    
  }
  sessionkey_ = sessionkey;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageSendRequest.sessionKey)
}

// string msgType = 3;
inline void MessageSendRequest::clear_msgtype() {
  msgtype_.ClearToEmpty();
}
inline const std::string& MessageSendRequest::msgtype() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageSendRequest.msgType)
  return _internal_msgtype();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageSendRequest::set_msgtype(ArgT0&& arg0, ArgT... args) {
 
 msgtype_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageSendRequest.msgType)
}
inline std::string* MessageSendRequest::mutable_msgtype() {
  std::string* _s = _internal_mutable_msgtype();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageSendRequest.msgType)
  return _s;
}
inline const std::string& MessageSendRequest::_internal_msgtype() const {
  return msgtype_.Get();
}
inline void MessageSendRequest::_internal_set_msgtype(const std::string& value) {
  
  msgtype_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageSendRequest::_internal_mutable_msgtype() {
  
  return msgtype_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageSendRequest::release_msgtype() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageSendRequest.msgType)
  return msgtype_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageSendRequest::set_allocated_msgtype(std::string* msgtype) {
  if (msgtype != nullptr) {
    
  } else {
    
  }
  msgtype_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), msgtype,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageSendRequest.msgType)
}

// string content = 4;
inline void MessageSendRequest::clear_content() {
  content_.ClearToEmpty();
}
inline const std::string& MessageSendRequest::content() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageSendRequest.content)
  return _internal_content();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageSendRequest::set_content(ArgT0&& arg0, ArgT... args) {
 
 content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageSendRequest.content)
}
inline std::string* MessageSendRequest::mutable_content() {
  std::string* _s = _internal_mutable_content();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageSendRequest.content)
  return _s;
}
inline const std::string& MessageSendRequest::_internal_content() const {
  return content_.Get();
}
inline void MessageSendRequest::_internal_set_content(const std::string& value) {
  
  content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageSendRequest::_internal_mutable_content() {
  
  return content_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageSendRequest::release_content() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageSendRequest.content)
  return content_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageSendRequest::set_allocated_content(std::string* content) {
  if (content != nullptr) {
    
  } else {
    
  }
  content_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), content,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageSendRequest.content)
}

// string clientMsgId = 5;
inline void MessageSendRequest::clear_clientmsgid() {
  clientmsgid_.ClearToEmpty();
}
inline const std::string& MessageSendRequest::clientmsgid() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageSendRequest.clientMsgId)
  return _internal_clientmsgid();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageSendRequest::set_clientmsgid(ArgT0&& arg0, ArgT... args) {
 
 clientmsgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageSendRequest.clientMsgId)
}
inline std::string* MessageSendRequest::mutable_clientmsgid() {
  std::string* _s = _internal_mutable_clientmsgid();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageSendRequest.clientMsgId)
  return _s;
}
inline const std::string& MessageSendRequest::_internal_clientmsgid() const {
  return clientmsgid_.Get();
}
inline void MessageSendRequest::_internal_set_clientmsgid(const std::string& value) {
  
  clientmsgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageSendRequest::_internal_mutable_clientmsgid() {
  
  return clientmsgid_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageSendRequest::release_clientmsgid() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageSendRequest.clientMsgId)
  return clientmsgid_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageSendRequest::set_allocated_clientmsgid(std::string* clientmsgid) {
  if (clientmsgid != nullptr) {
    
  } else {
    
  }
  clientmsgid_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), clientmsgid,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageSendRequest.clientMsgId)
}

// map<string, string> payload = 6;
inline int MessageSendRequest::_internal_payload_size() const {
  return payload_.size();
}
inline int MessageSendRequest::payload_size() const {
  return _internal_payload_size();
}
inline void MessageSendRequest::clear_payload() {
  payload_.Clear();
}
inline const ::herogoogle::protobuf::Map< std::string, std::string >&
MessageSendRequest::_internal_payload() const {
  return payload_.GetMap();
}
inline const ::herogoogle::protobuf::Map< std::string, std::string >&
MessageSendRequest::payload() const {
  // @@protoc_insertion_point(field_map:heroim.client.v3beta.dto.message.MessageSendRequest.payload)
  return _internal_payload();
}
inline ::herogoogle::protobuf::Map< std::string, std::string >*
MessageSendRequest::_internal_mutable_payload() {
  return payload_.MutableMap();
}
inline ::herogoogle::protobuf::Map< std::string, std::string >*
MessageSendRequest::mutable_payload() {
  // @@protoc_insertion_point(field_mutable_map:heroim.client.v3beta.dto.message.MessageSendRequest.payload)
  return _internal_mutable_payload();
}

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

// MessageSendResponse

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

// MessageHistoryRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool MessageHistoryRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool MessageHistoryRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageHistoryRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageHistoryRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageHistoryRequest.base)
  return _internal_base();
}
inline void MessageHistoryRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageHistoryRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageHistoryRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageHistoryRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageHistoryRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageHistoryRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageHistoryRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageHistoryRequest.base)
  return _msg;
}
inline void MessageHistoryRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageHistoryRequest.base)
}

// .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
inline bool MessageHistoryRequest::_internal_has_sessionkey() const {
  return this != internal_default_instance() && sessionkey_ != nullptr;
}
inline bool MessageHistoryRequest::has_sessionkey() const {
  return _internal_has_sessionkey();
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageHistoryRequest::_internal_sessionkey() const {
  const ::heroim::client::v3beta::dto::message::model::SessionKey* p = sessionkey_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::message::model::SessionKey&>(
      ::heroim::client::v3beta::dto::message::model::_SessionKey_default_instance_);
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageHistoryRequest::sessionkey() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageHistoryRequest.sessionKey)
  return _internal_sessionkey();
}
inline void MessageHistoryRequest::unsafe_arena_set_allocated_sessionkey(
    ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  sessionkey_ = sessionkey;
  if (sessionkey) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageHistoryRequest.sessionKey)
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageHistoryRequest::release_sessionkey() {
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageHistoryRequest::unsafe_arena_release_sessionkey() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageHistoryRequest.sessionKey)
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageHistoryRequest::_internal_mutable_sessionkey() {
  
  if (sessionkey_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::message::model::SessionKey>(GetArenaForAllocation());
    sessionkey_ = p;
  }
  return sessionkey_;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageHistoryRequest::mutable_sessionkey() {
  ::heroim::client::v3beta::dto::message::model::SessionKey* _msg = _internal_mutable_sessionkey();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageHistoryRequest.sessionKey)
  return _msg;
}
inline void MessageHistoryRequest::set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  if (sessionkey) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey));
    if (message_arena != submessage_arena) {
      sessionkey = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, sessionkey, submessage_arena);
    }
    
  } else {
    
  }
  sessionkey_ = sessionkey;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageHistoryRequest.sessionKey)
}

// int32 size = 3;
inline void MessageHistoryRequest::clear_size() {
  size_ = 0;
}
inline ::herogoogle::protobuf::int32 MessageHistoryRequest::_internal_size() const {
  return size_;
}
inline ::herogoogle::protobuf::int32 MessageHistoryRequest::size() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageHistoryRequest.size)
  return _internal_size();
}
inline void MessageHistoryRequest::_internal_set_size(::herogoogle::protobuf::int32 value) {
  
  size_ = value;
}
inline void MessageHistoryRequest::set_size(::herogoogle::protobuf::int32 value) {
  _internal_set_size(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageHistoryRequest.size)
}

// string lastMsgId = 4;
inline void MessageHistoryRequest::clear_lastmsgid() {
  lastmsgid_.ClearToEmpty();
}
inline const std::string& MessageHistoryRequest::lastmsgid() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageHistoryRequest.lastMsgId)
  return _internal_lastmsgid();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageHistoryRequest::set_lastmsgid(ArgT0&& arg0, ArgT... args) {
 
 lastmsgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageHistoryRequest.lastMsgId)
}
inline std::string* MessageHistoryRequest::mutable_lastmsgid() {
  std::string* _s = _internal_mutable_lastmsgid();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageHistoryRequest.lastMsgId)
  return _s;
}
inline const std::string& MessageHistoryRequest::_internal_lastmsgid() const {
  return lastmsgid_.Get();
}
inline void MessageHistoryRequest::_internal_set_lastmsgid(const std::string& value) {
  
  lastmsgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageHistoryRequest::_internal_mutable_lastmsgid() {
  
  return lastmsgid_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageHistoryRequest::release_lastmsgid() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageHistoryRequest.lastMsgId)
  return lastmsgid_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageHistoryRequest::set_allocated_lastmsgid(std::string* lastmsgid) {
  if (lastmsgid != nullptr) {
    
  } else {
    
  }
  lastmsgid_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), lastmsgid,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageHistoryRequest.lastMsgId)
}

// .heroim.client.v3beta.dto.message.QueryDirection direction = 5;
inline void MessageHistoryRequest::clear_direction() {
  direction_ = 0;
}
inline ::heroim::client::v3beta::dto::message::QueryDirection MessageHistoryRequest::_internal_direction() const {
  return static_cast< ::heroim::client::v3beta::dto::message::QueryDirection >(direction_);
}
inline ::heroim::client::v3beta::dto::message::QueryDirection MessageHistoryRequest::direction() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageHistoryRequest.direction)
  return _internal_direction();
}
inline void MessageHistoryRequest::_internal_set_direction(::heroim::client::v3beta::dto::message::QueryDirection value) {
  
  direction_ = value;
}
inline void MessageHistoryRequest::set_direction(::heroim::client::v3beta::dto::message::QueryDirection value) {
  _internal_set_direction(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageHistoryRequest.direction)
}

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

// MessageHistoryResponse

// repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
inline int MessageHistoryResponse::_internal_list_size() const {
  return list_.size();
}
inline int MessageHistoryResponse::list_size() const {
  return _internal_list_size();
}
inline ::heroim::client::v3beta::dto::message::model::Message* MessageHistoryResponse::mutable_list(int index) {
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageHistoryResponse.list)
  return list_.Mutable(index);
}
inline ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message >*
MessageHistoryResponse::mutable_list() {
  // @@protoc_insertion_point(field_mutable_list:heroim.client.v3beta.dto.message.MessageHistoryResponse.list)
  return &list_;
}
inline const ::heroim::client::v3beta::dto::message::model::Message& MessageHistoryResponse::_internal_list(int index) const {
  return list_.Get(index);
}
inline const ::heroim::client::v3beta::dto::message::model::Message& MessageHistoryResponse::list(int index) const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageHistoryResponse.list)
  return _internal_list(index);
}
inline ::heroim::client::v3beta::dto::message::model::Message* MessageHistoryResponse::_internal_add_list() {
  return list_.Add();
}
inline ::heroim::client::v3beta::dto::message::model::Message* MessageHistoryResponse::add_list() {
  ::heroim::client::v3beta::dto::message::model::Message* _add = _internal_add_list();
  // @@protoc_insertion_point(field_add:heroim.client.v3beta.dto.message.MessageHistoryResponse.list)
  return _add;
}
inline const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message >&
MessageHistoryResponse::list() const {
  // @@protoc_insertion_point(field_list:heroim.client.v3beta.dto.message.MessageHistoryResponse.list)
  return list_;
}

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

// MessageTranslateRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool MessageTranslateRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool MessageTranslateRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageTranslateRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageTranslateRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageTranslateRequest.base)
  return _internal_base();
}
inline void MessageTranslateRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageTranslateRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageTranslateRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageTranslateRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageTranslateRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageTranslateRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageTranslateRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageTranslateRequest.base)
  return _msg;
}
inline void MessageTranslateRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageTranslateRequest.base)
}

// string content = 2;
inline void MessageTranslateRequest::clear_content() {
  content_.ClearToEmpty();
}
inline const std::string& MessageTranslateRequest::content() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageTranslateRequest.content)
  return _internal_content();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageTranslateRequest::set_content(ArgT0&& arg0, ArgT... args) {
 
 content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageTranslateRequest.content)
}
inline std::string* MessageTranslateRequest::mutable_content() {
  std::string* _s = _internal_mutable_content();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageTranslateRequest.content)
  return _s;
}
inline const std::string& MessageTranslateRequest::_internal_content() const {
  return content_.Get();
}
inline void MessageTranslateRequest::_internal_set_content(const std::string& value) {
  
  content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageTranslateRequest::_internal_mutable_content() {
  
  return content_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageTranslateRequest::release_content() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageTranslateRequest.content)
  return content_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageTranslateRequest::set_allocated_content(std::string* content) {
  if (content != nullptr) {
    
  } else {
    
  }
  content_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), content,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageTranslateRequest.content)
}

// string sourceLanguage = 3;
inline void MessageTranslateRequest::clear_sourcelanguage() {
  sourcelanguage_.ClearToEmpty();
}
inline const std::string& MessageTranslateRequest::sourcelanguage() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageTranslateRequest.sourceLanguage)
  return _internal_sourcelanguage();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageTranslateRequest::set_sourcelanguage(ArgT0&& arg0, ArgT... args) {
 
 sourcelanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageTranslateRequest.sourceLanguage)
}
inline std::string* MessageTranslateRequest::mutable_sourcelanguage() {
  std::string* _s = _internal_mutable_sourcelanguage();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageTranslateRequest.sourceLanguage)
  return _s;
}
inline const std::string& MessageTranslateRequest::_internal_sourcelanguage() const {
  return sourcelanguage_.Get();
}
inline void MessageTranslateRequest::_internal_set_sourcelanguage(const std::string& value) {
  
  sourcelanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageTranslateRequest::_internal_mutable_sourcelanguage() {
  
  return sourcelanguage_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageTranslateRequest::release_sourcelanguage() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageTranslateRequest.sourceLanguage)
  return sourcelanguage_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageTranslateRequest::set_allocated_sourcelanguage(std::string* sourcelanguage) {
  if (sourcelanguage != nullptr) {
    
  } else {
    
  }
  sourcelanguage_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), sourcelanguage,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageTranslateRequest.sourceLanguage)
}

// string targetLanguage = 4;
inline void MessageTranslateRequest::clear_targetlanguage() {
  targetlanguage_.ClearToEmpty();
}
inline const std::string& MessageTranslateRequest::targetlanguage() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageTranslateRequest.targetLanguage)
  return _internal_targetlanguage();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageTranslateRequest::set_targetlanguage(ArgT0&& arg0, ArgT... args) {
 
 targetlanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageTranslateRequest.targetLanguage)
}
inline std::string* MessageTranslateRequest::mutable_targetlanguage() {
  std::string* _s = _internal_mutable_targetlanguage();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageTranslateRequest.targetLanguage)
  return _s;
}
inline const std::string& MessageTranslateRequest::_internal_targetlanguage() const {
  return targetlanguage_.Get();
}
inline void MessageTranslateRequest::_internal_set_targetlanguage(const std::string& value) {
  
  targetlanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageTranslateRequest::_internal_mutable_targetlanguage() {
  
  return targetlanguage_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageTranslateRequest::release_targetlanguage() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageTranslateRequest.targetLanguage)
  return targetlanguage_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageTranslateRequest::set_allocated_targetlanguage(std::string* targetlanguage) {
  if (targetlanguage != nullptr) {
    
  } else {
    
  }
  targetlanguage_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), targetlanguage,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageTranslateRequest.targetLanguage)
}

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

// MessageTranslateResponse

// string content = 1;
inline void MessageTranslateResponse::clear_content() {
  content_.ClearToEmpty();
}
inline const std::string& MessageTranslateResponse::content() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageTranslateResponse.content)
  return _internal_content();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageTranslateResponse::set_content(ArgT0&& arg0, ArgT... args) {
 
 content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageTranslateResponse.content)
}
inline std::string* MessageTranslateResponse::mutable_content() {
  std::string* _s = _internal_mutable_content();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageTranslateResponse.content)
  return _s;
}
inline const std::string& MessageTranslateResponse::_internal_content() const {
  return content_.Get();
}
inline void MessageTranslateResponse::_internal_set_content(const std::string& value) {
  
  content_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageTranslateResponse::_internal_mutable_content() {
  
  return content_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageTranslateResponse::release_content() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageTranslateResponse.content)
  return content_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageTranslateResponse::set_allocated_content(std::string* content) {
  if (content != nullptr) {
    
  } else {
    
  }
  content_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), content,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageTranslateResponse.content)
}

// string sourceLanguage = 2;
inline void MessageTranslateResponse::clear_sourcelanguage() {
  sourcelanguage_.ClearToEmpty();
}
inline const std::string& MessageTranslateResponse::sourcelanguage() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageTranslateResponse.sourceLanguage)
  return _internal_sourcelanguage();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageTranslateResponse::set_sourcelanguage(ArgT0&& arg0, ArgT... args) {
 
 sourcelanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageTranslateResponse.sourceLanguage)
}
inline std::string* MessageTranslateResponse::mutable_sourcelanguage() {
  std::string* _s = _internal_mutable_sourcelanguage();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageTranslateResponse.sourceLanguage)
  return _s;
}
inline const std::string& MessageTranslateResponse::_internal_sourcelanguage() const {
  return sourcelanguage_.Get();
}
inline void MessageTranslateResponse::_internal_set_sourcelanguage(const std::string& value) {
  
  sourcelanguage_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageTranslateResponse::_internal_mutable_sourcelanguage() {
  
  return sourcelanguage_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageTranslateResponse::release_sourcelanguage() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageTranslateResponse.sourceLanguage)
  return sourcelanguage_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageTranslateResponse::set_allocated_sourcelanguage(std::string* sourcelanguage) {
  if (sourcelanguage != nullptr) {
    
  } else {
    
  }
  sourcelanguage_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), sourcelanguage,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageTranslateResponse.sourceLanguage)
}

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

// MessageNewRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool MessageNewRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool MessageNewRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageNewRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageNewRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageNewRequest.base)
  return _internal_base();
}
inline void MessageNewRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageNewRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageNewRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageNewRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageNewRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageNewRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageNewRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageNewRequest.base)
  return _msg;
}
inline void MessageNewRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageNewRequest.base)
}

// int32 size = 2;
inline void MessageNewRequest::clear_size() {
  size_ = 0;
}
inline ::herogoogle::protobuf::int32 MessageNewRequest::_internal_size() const {
  return size_;
}
inline ::herogoogle::protobuf::int32 MessageNewRequest::size() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageNewRequest.size)
  return _internal_size();
}
inline void MessageNewRequest::_internal_set_size(::herogoogle::protobuf::int32 value) {
  
  size_ = value;
}
inline void MessageNewRequest::set_size(::herogoogle::protobuf::int32 value) {
  _internal_set_size(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageNewRequest.size)
}

// .heroim.client.v3beta.dto.message.MessageNewRequest.QueryType queryType = 3;
inline void MessageNewRequest::clear_querytype() {
  querytype_ = 0;
}
inline ::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType MessageNewRequest::_internal_querytype() const {
  return static_cast< ::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType >(querytype_);
}
inline ::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType MessageNewRequest::querytype() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageNewRequest.queryType)
  return _internal_querytype();
}
inline void MessageNewRequest::_internal_set_querytype(::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType value) {
  
  querytype_ = value;
}
inline void MessageNewRequest::set_querytype(::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType value) {
  _internal_set_querytype(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageNewRequest.queryType)
}

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

// MessageNewResponse

// repeated .heroim.client.v3beta.dto.message.model.Message list = 1;
inline int MessageNewResponse::_internal_list_size() const {
  return list_.size();
}
inline int MessageNewResponse::list_size() const {
  return _internal_list_size();
}
inline ::heroim::client::v3beta::dto::message::model::Message* MessageNewResponse::mutable_list(int index) {
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageNewResponse.list)
  return list_.Mutable(index);
}
inline ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message >*
MessageNewResponse::mutable_list() {
  // @@protoc_insertion_point(field_mutable_list:heroim.client.v3beta.dto.message.MessageNewResponse.list)
  return &list_;
}
inline const ::heroim::client::v3beta::dto::message::model::Message& MessageNewResponse::_internal_list(int index) const {
  return list_.Get(index);
}
inline const ::heroim::client::v3beta::dto::message::model::Message& MessageNewResponse::list(int index) const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageNewResponse.list)
  return _internal_list(index);
}
inline ::heroim::client::v3beta::dto::message::model::Message* MessageNewResponse::_internal_add_list() {
  return list_.Add();
}
inline ::heroim::client::v3beta::dto::message::model::Message* MessageNewResponse::add_list() {
  ::heroim::client::v3beta::dto::message::model::Message* _add = _internal_add_list();
  // @@protoc_insertion_point(field_add:heroim.client.v3beta.dto.message.MessageNewResponse.list)
  return _add;
}
inline const ::herogoogle::protobuf::RepeatedPtrField< ::heroim::client::v3beta::dto::message::model::Message >&
MessageNewResponse::list() const {
  // @@protoc_insertion_point(field_list:heroim.client.v3beta.dto.message.MessageNewResponse.list)
  return list_;
}

// bool more = 2;
inline void MessageNewResponse::clear_more() {
  more_ = false;
}
inline bool MessageNewResponse::_internal_more() const {
  return more_;
}
inline bool MessageNewResponse::more() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageNewResponse.more)
  return _internal_more();
}
inline void MessageNewResponse::_internal_set_more(bool value) {
  
  more_ = value;
}
inline void MessageNewResponse::set_more(bool value) {
  _internal_set_more(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageNewResponse.more)
}

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

// MessageRevokeRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool MessageRevokeRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool MessageRevokeRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageRevokeRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageRevokeRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageRevokeRequest.base)
  return _internal_base();
}
inline void MessageRevokeRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageRevokeRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageRevokeRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageRevokeRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageRevokeRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageRevokeRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageRevokeRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageRevokeRequest.base)
  return _msg;
}
inline void MessageRevokeRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageRevokeRequest.base)
}

// .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
inline bool MessageRevokeRequest::_internal_has_sessionkey() const {
  return this != internal_default_instance() && sessionkey_ != nullptr;
}
inline bool MessageRevokeRequest::has_sessionkey() const {
  return _internal_has_sessionkey();
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageRevokeRequest::_internal_sessionkey() const {
  const ::heroim::client::v3beta::dto::message::model::SessionKey* p = sessionkey_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::message::model::SessionKey&>(
      ::heroim::client::v3beta::dto::message::model::_SessionKey_default_instance_);
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageRevokeRequest::sessionkey() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageRevokeRequest.sessionKey)
  return _internal_sessionkey();
}
inline void MessageRevokeRequest::unsafe_arena_set_allocated_sessionkey(
    ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  sessionkey_ = sessionkey;
  if (sessionkey) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageRevokeRequest.sessionKey)
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageRevokeRequest::release_sessionkey() {
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageRevokeRequest::unsafe_arena_release_sessionkey() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageRevokeRequest.sessionKey)
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageRevokeRequest::_internal_mutable_sessionkey() {
  
  if (sessionkey_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::message::model::SessionKey>(GetArenaForAllocation());
    sessionkey_ = p;
  }
  return sessionkey_;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageRevokeRequest::mutable_sessionkey() {
  ::heroim::client::v3beta::dto::message::model::SessionKey* _msg = _internal_mutable_sessionkey();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageRevokeRequest.sessionKey)
  return _msg;
}
inline void MessageRevokeRequest::set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  if (sessionkey) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey));
    if (message_arena != submessage_arena) {
      sessionkey = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, sessionkey, submessage_arena);
    }
    
  } else {
    
  }
  sessionkey_ = sessionkey;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageRevokeRequest.sessionKey)
}

// string msgId = 3;
inline void MessageRevokeRequest::clear_msgid() {
  msgid_.ClearToEmpty();
}
inline const std::string& MessageRevokeRequest::msgid() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageRevokeRequest.msgId)
  return _internal_msgid();
}
template <typename ArgT0, typename... ArgT>
inline GOOGLE_PROTOBUF_ATTRIBUTE_ALWAYS_INLINE
void MessageRevokeRequest::set_msgid(ArgT0&& arg0, ArgT... args) {
 
 msgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageRevokeRequest.msgId)
}
inline std::string* MessageRevokeRequest::mutable_msgid() {
  std::string* _s = _internal_mutable_msgid();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageRevokeRequest.msgId)
  return _s;
}
inline const std::string& MessageRevokeRequest::_internal_msgid() const {
  return msgid_.Get();
}
inline void MessageRevokeRequest::_internal_set_msgid(const std::string& value) {
  
  msgid_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* MessageRevokeRequest::_internal_mutable_msgid() {
  
  return msgid_.Mutable(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* MessageRevokeRequest::release_msgid() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageRevokeRequest.msgId)
  return msgid_.Release(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void MessageRevokeRequest::set_allocated_msgid(std::string* msgid) {
  if (msgid != nullptr) {
    
  } else {
    
  }
  msgid_.SetAllocated(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(), msgid,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageRevokeRequest.msgId)
}

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

// MessageRevokeResponse

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

// MessageDeleteRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool MessageDeleteRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool MessageDeleteRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageDeleteRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageDeleteRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageDeleteRequest.base)
  return _internal_base();
}
inline void MessageDeleteRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageDeleteRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageDeleteRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageDeleteRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageDeleteRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageDeleteRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageDeleteRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageDeleteRequest.base)
  return _msg;
}
inline void MessageDeleteRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageDeleteRequest.base)
}

// .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
inline bool MessageDeleteRequest::_internal_has_sessionkey() const {
  return this != internal_default_instance() && sessionkey_ != nullptr;
}
inline bool MessageDeleteRequest::has_sessionkey() const {
  return _internal_has_sessionkey();
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageDeleteRequest::_internal_sessionkey() const {
  const ::heroim::client::v3beta::dto::message::model::SessionKey* p = sessionkey_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::message::model::SessionKey&>(
      ::heroim::client::v3beta::dto::message::model::_SessionKey_default_instance_);
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageDeleteRequest::sessionkey() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageDeleteRequest.sessionKey)
  return _internal_sessionkey();
}
inline void MessageDeleteRequest::unsafe_arena_set_allocated_sessionkey(
    ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  sessionkey_ = sessionkey;
  if (sessionkey) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageDeleteRequest.sessionKey)
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageDeleteRequest::release_sessionkey() {
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageDeleteRequest::unsafe_arena_release_sessionkey() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageDeleteRequest.sessionKey)
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageDeleteRequest::_internal_mutable_sessionkey() {
  
  if (sessionkey_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::message::model::SessionKey>(GetArenaForAllocation());
    sessionkey_ = p;
  }
  return sessionkey_;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageDeleteRequest::mutable_sessionkey() {
  ::heroim::client::v3beta::dto::message::model::SessionKey* _msg = _internal_mutable_sessionkey();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageDeleteRequest.sessionKey)
  return _msg;
}
inline void MessageDeleteRequest::set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  if (sessionkey) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey));
    if (message_arena != submessage_arena) {
      sessionkey = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, sessionkey, submessage_arena);
    }
    
  } else {
    
  }
  sessionkey_ = sessionkey;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageDeleteRequest.sessionKey)
}

// repeated string msgIds = 3;
inline int MessageDeleteRequest::_internal_msgids_size() const {
  return msgids_.size();
}
inline int MessageDeleteRequest::msgids_size() const {
  return _internal_msgids_size();
}
inline void MessageDeleteRequest::clear_msgids() {
  msgids_.Clear();
}
inline std::string* MessageDeleteRequest::add_msgids() {
  std::string* _s = _internal_add_msgids();
  // @@protoc_insertion_point(field_add_mutable:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
  return _s;
}
inline const std::string& MessageDeleteRequest::_internal_msgids(int index) const {
  return msgids_.Get(index);
}
inline const std::string& MessageDeleteRequest::msgids(int index) const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
  return _internal_msgids(index);
}
inline std::string* MessageDeleteRequest::mutable_msgids(int index) {
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
  return msgids_.Mutable(index);
}
inline void MessageDeleteRequest::set_msgids(int index, const std::string& value) {
  msgids_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
}
inline void MessageDeleteRequest::set_msgids(int index, std::string&& value) {
  msgids_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
}
inline void MessageDeleteRequest::set_msgids(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  msgids_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
}
inline void MessageDeleteRequest::set_msgids(int index, const char* value, size_t size) {
  msgids_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
}
inline std::string* MessageDeleteRequest::_internal_add_msgids() {
  return msgids_.Add();
}
inline void MessageDeleteRequest::add_msgids(const std::string& value) {
  msgids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
}
inline void MessageDeleteRequest::add_msgids(std::string&& value) {
  msgids_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
}
inline void MessageDeleteRequest::add_msgids(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  msgids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
}
inline void MessageDeleteRequest::add_msgids(const char* value, size_t size) {
  msgids_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
}
inline const ::herogoogle::protobuf::RepeatedPtrField<std::string>&
MessageDeleteRequest::msgids() const {
  // @@protoc_insertion_point(field_list:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
  return msgids_;
}
inline ::herogoogle::protobuf::RepeatedPtrField<std::string>*
MessageDeleteRequest::mutable_msgids() {
  // @@protoc_insertion_point(field_mutable_list:heroim.client.v3beta.dto.message.MessageDeleteRequest.msgIds)
  return &msgids_;
}

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

// MessageDeleteResponse

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

// MessageCleanupRequest

// .heroim.client.v3beta.dto.shared.APIRequest base = 1;
inline bool MessageCleanupRequest::_internal_has_base() const {
  return this != internal_default_instance() && base_ != nullptr;
}
inline bool MessageCleanupRequest::has_base() const {
  return _internal_has_base();
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageCleanupRequest::_internal_base() const {
  const ::heroim::client::v3beta::dto::shared::APIRequest* p = base_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::shared::APIRequest&>(
      ::heroim::client::v3beta::dto::shared::_APIRequest_default_instance_);
}
inline const ::heroim::client::v3beta::dto::shared::APIRequest& MessageCleanupRequest::base() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageCleanupRequest.base)
  return _internal_base();
}
inline void MessageCleanupRequest::unsafe_arena_set_allocated_base(
    ::heroim::client::v3beta::dto::shared::APIRequest* base) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base_);
  }
  base_ = base;
  if (base) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageCleanupRequest.base)
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageCleanupRequest::release_base() {
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageCleanupRequest::unsafe_arena_release_base() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageCleanupRequest.base)
  
  ::heroim::client::v3beta::dto::shared::APIRequest* temp = base_;
  base_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageCleanupRequest::_internal_mutable_base() {
  
  if (base_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::shared::APIRequest>(GetArenaForAllocation());
    base_ = p;
  }
  return base_;
}
inline ::heroim::client::v3beta::dto::shared::APIRequest* MessageCleanupRequest::mutable_base() {
  ::heroim::client::v3beta::dto::shared::APIRequest* _msg = _internal_mutable_base();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageCleanupRequest.base)
  return _msg;
}
inline void MessageCleanupRequest::set_allocated_base(::heroim::client::v3beta::dto::shared::APIRequest* base) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(base_);
  }
  if (base) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(base));
    if (message_arena != submessage_arena) {
      base = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, base, submessage_arena);
    }
    
  } else {
    
  }
  base_ = base;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageCleanupRequest.base)
}

// .heroim.client.v3beta.dto.message.model.SessionKey sessionKey = 2;
inline bool MessageCleanupRequest::_internal_has_sessionkey() const {
  return this != internal_default_instance() && sessionkey_ != nullptr;
}
inline bool MessageCleanupRequest::has_sessionkey() const {
  return _internal_has_sessionkey();
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageCleanupRequest::_internal_sessionkey() const {
  const ::heroim::client::v3beta::dto::message::model::SessionKey* p = sessionkey_;
  return p != nullptr ? *p : reinterpret_cast<const ::heroim::client::v3beta::dto::message::model::SessionKey&>(
      ::heroim::client::v3beta::dto::message::model::_SessionKey_default_instance_);
}
inline const ::heroim::client::v3beta::dto::message::model::SessionKey& MessageCleanupRequest::sessionkey() const {
  // @@protoc_insertion_point(field_get:heroim.client.v3beta.dto.message.MessageCleanupRequest.sessionKey)
  return _internal_sessionkey();
}
inline void MessageCleanupRequest::unsafe_arena_set_allocated_sessionkey(
    ::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  sessionkey_ = sessionkey;
  if (sessionkey) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:heroim.client.v3beta.dto.message.MessageCleanupRequest.sessionKey)
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageCleanupRequest::release_sessionkey() {
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::herogoogle::protobuf::MessageLite*>(temp);
  temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::herogoogle::protobuf::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageCleanupRequest::unsafe_arena_release_sessionkey() {
  // @@protoc_insertion_point(field_release:heroim.client.v3beta.dto.message.MessageCleanupRequest.sessionKey)
  
  ::heroim::client::v3beta::dto::message::model::SessionKey* temp = sessionkey_;
  sessionkey_ = nullptr;
  return temp;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageCleanupRequest::_internal_mutable_sessionkey() {
  
  if (sessionkey_ == nullptr) {
    auto* p = CreateMaybeMessage<::heroim::client::v3beta::dto::message::model::SessionKey>(GetArenaForAllocation());
    sessionkey_ = p;
  }
  return sessionkey_;
}
inline ::heroim::client::v3beta::dto::message::model::SessionKey* MessageCleanupRequest::mutable_sessionkey() {
  ::heroim::client::v3beta::dto::message::model::SessionKey* _msg = _internal_mutable_sessionkey();
  // @@protoc_insertion_point(field_mutable:heroim.client.v3beta.dto.message.MessageCleanupRequest.sessionKey)
  return _msg;
}
inline void MessageCleanupRequest::set_allocated_sessionkey(::heroim::client::v3beta::dto::message::model::SessionKey* sessionkey) {
  ::herogoogle::protobuf::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::herogoogle::protobuf::MessageLite*>(sessionkey_);
  }
  if (sessionkey) {
    ::herogoogle::protobuf::Arena* submessage_arena =
        ::herogoogle::protobuf::Arena::InternalHelper<
            ::herogoogle::protobuf::MessageLite>::GetOwningArena(
                reinterpret_cast<::herogoogle::protobuf::MessageLite*>(sessionkey));
    if (message_arena != submessage_arena) {
      sessionkey = ::herogoogle::protobuf::internal::GetOwnedMessage(
          message_arena, sessionkey, submessage_arena);
    }
    
  } else {
    
  }
  sessionkey_ = sessionkey;
  // @@protoc_insertion_point(field_set_allocated:heroim.client.v3beta.dto.message.MessageCleanupRequest.sessionKey)
}

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

// MessageCleanupResponse

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

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

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

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

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

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace message
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType>() {
  return ::heroim::client::v3beta::dto::message::MessageNewRequest_QueryType_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)


#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_client_2fv3beta_2fdto_2fmessage_2fmessage_5fdto_2eproto
