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

#include "client/v3beta/dto/user/user_dto.pb.h"

#include <algorithm>

#include <herogoogle/protobuf/io/coded_stream.h>
#include <herogoogle/protobuf/extension_set.h>
#include <herogoogle/protobuf/wire_format_lite.h>
#include <herogoogle/protobuf/descriptor.h>
#include <herogoogle/protobuf/generated_message_reflection.h>
#include <herogoogle/protobuf/reflection_ops.h>
#include <herogoogle/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)


PROTOBUF_PRAGMA_INIT_SEG
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace user {
constexpr FindUserByRoleIdRequest::FindUserByRoleIdRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr)
  , userkey_(nullptr){}
struct FindUserByRoleIdRequestDefaultTypeInternal {
  constexpr FindUserByRoleIdRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FindUserByRoleIdRequestDefaultTypeInternal() {}
  union {
    FindUserByRoleIdRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FindUserByRoleIdRequestDefaultTypeInternal _FindUserByRoleIdRequest_default_instance_;
constexpr FindUserByRoleIdResponse::FindUserByRoleIdResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : user_(nullptr){}
struct FindUserByRoleIdResponseDefaultTypeInternal {
  constexpr FindUserByRoleIdResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~FindUserByRoleIdResponseDefaultTypeInternal() {}
  union {
    FindUserByRoleIdResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FindUserByRoleIdResponseDefaultTypeInternal _FindUserByRoleIdResponse_default_instance_;
constexpr ListUserByRoleIdRequest::ListUserByRoleIdRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : users_()
  , base_(nullptr){}
struct ListUserByRoleIdRequestDefaultTypeInternal {
  constexpr ListUserByRoleIdRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~ListUserByRoleIdRequestDefaultTypeInternal() {}
  union {
    ListUserByRoleIdRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ListUserByRoleIdRequestDefaultTypeInternal _ListUserByRoleIdRequest_default_instance_;
constexpr ListUserByRoleIdResponse::ListUserByRoleIdResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_(){}
struct ListUserByRoleIdResponseDefaultTypeInternal {
  constexpr ListUserByRoleIdResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~ListUserByRoleIdResponseDefaultTypeInternal() {}
  union {
    ListUserByRoleIdResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ListUserByRoleIdResponseDefaultTypeInternal _ListUserByRoleIdResponse_default_instance_;
constexpr ListUserStatusRequest::ListUserStatusRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : users_()
  , base_(nullptr){}
struct ListUserStatusRequestDefaultTypeInternal {
  constexpr ListUserStatusRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~ListUserStatusRequestDefaultTypeInternal() {}
  union {
    ListUserStatusRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ListUserStatusRequestDefaultTypeInternal _ListUserStatusRequest_default_instance_;
constexpr ListUserStatusResponse::ListUserStatusResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : list_(){}
struct ListUserStatusResponseDefaultTypeInternal {
  constexpr ListUserStatusResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~ListUserStatusResponseDefaultTypeInternal() {}
  union {
    ListUserStatusResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ListUserStatusResponseDefaultTypeInternal _ListUserStatusResponse_default_instance_;
constexpr UserStatusItem::UserStatusItem(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : message_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , userkey_(nullptr)
  , status_(nullptr)
  , code_(0){}
struct UserStatusItemDefaultTypeInternal {
  constexpr UserStatusItemDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~UserStatusItemDefaultTypeInternal() {}
  union {
    UserStatusItem _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserStatusItemDefaultTypeInternal _UserStatusItem_default_instance_;
constexpr UserUpdateRequest_ExtraEntry_DoNotUse::UserUpdateRequest_ExtraEntry_DoNotUse(
  ::herogoogle::protobuf::internal::ConstantInitialized){}
struct UserUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal {
  constexpr UserUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~UserUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal() {}
  union {
    UserUpdateRequest_ExtraEntry_DoNotUse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserUpdateRequest_ExtraEntry_DoNotUseDefaultTypeInternal _UserUpdateRequest_ExtraEntry_DoNotUse_default_instance_;
constexpr UserUpdateRequest::UserUpdateRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : extra_(::herogoogle::protobuf::internal::ConstantInitialized{})
  , rolename_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , avatarurl_(&::herogoogle::protobuf::internal::fixed_address_empty_string)
  , base_(nullptr)
  , gender_(0)
{}
struct UserUpdateRequestDefaultTypeInternal {
  constexpr UserUpdateRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~UserUpdateRequestDefaultTypeInternal() {}
  union {
    UserUpdateRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserUpdateRequestDefaultTypeInternal _UserUpdateRequest_default_instance_;
constexpr UserUpdateResponse::UserUpdateResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : user_(nullptr){}
struct UserUpdateResponseDefaultTypeInternal {
  constexpr UserUpdateResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~UserUpdateResponseDefaultTypeInternal() {}
  union {
    UserUpdateResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserUpdateResponseDefaultTypeInternal _UserUpdateResponse_default_instance_;
constexpr UserControlFindRequest::UserControlFindRequest(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : base_(nullptr){}
struct UserControlFindRequestDefaultTypeInternal {
  constexpr UserControlFindRequestDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~UserControlFindRequestDefaultTypeInternal() {}
  union {
    UserControlFindRequest _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserControlFindRequestDefaultTypeInternal _UserControlFindRequest_default_instance_;
constexpr UserControlFindResponse::UserControlFindResponse(
  ::herogoogle::protobuf::internal::ConstantInitialized)
  : detail_(nullptr)
  , message_(0)
  , talk_(0){}
struct UserControlFindResponseDefaultTypeInternal {
  constexpr UserControlFindResponseDefaultTypeInternal()
    : _instance(::herogoogle::protobuf::internal::ConstantInitialized{}) {}
  ~UserControlFindResponseDefaultTypeInternal() {}
  union {
    UserControlFindResponse _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserControlFindResponseDefaultTypeInternal _UserControlFindResponse_default_instance_;
}  // namespace user
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim
static ::herogoogle::protobuf::Metadata file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[12];
static constexpr ::herogoogle::protobuf::EnumDescriptor const** file_level_enum_descriptors_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto = nullptr;
static constexpr ::herogoogle::protobuf::ServiceDescriptor const** file_level_service_descriptors_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto = nullptr;

const ::herogoogle::protobuf::uint32 TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest, userkey_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::FindUserByRoleIdResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::FindUserByRoleIdResponse, user_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest, users_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserByRoleIdResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserByRoleIdResponse, list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserStatusRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserStatusRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserStatusRequest, users_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserStatusResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::ListUserStatusResponse, list_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserStatusItem, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserStatusItem, userkey_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserStatusItem, status_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserStatusItem, code_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserStatusItem, message_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest, base_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest, rolename_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest, avatarurl_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest, gender_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateRequest, extra_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserUpdateResponse, user_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserControlFindRequest, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserControlFindRequest, base_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserControlFindResponse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserControlFindResponse, message_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserControlFindResponse, talk_),
  PROTOBUF_FIELD_OFFSET(::heroim::client::v3beta::dto::user::UserControlFindResponse, detail_),
};
static const ::herogoogle::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, -1, sizeof(::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest)},
  { 8, -1, -1, sizeof(::heroim::client::v3beta::dto::user::FindUserByRoleIdResponse)},
  { 15, -1, -1, sizeof(::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest)},
  { 23, -1, -1, sizeof(::heroim::client::v3beta::dto::user::ListUserByRoleIdResponse)},
  { 30, -1, -1, sizeof(::heroim::client::v3beta::dto::user::ListUserStatusRequest)},
  { 38, -1, -1, sizeof(::heroim::client::v3beta::dto::user::ListUserStatusResponse)},
  { 45, -1, -1, sizeof(::heroim::client::v3beta::dto::user::UserStatusItem)},
  { 55, 63, -1, sizeof(::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse)},
  { 65, -1, -1, sizeof(::heroim::client::v3beta::dto::user::UserUpdateRequest)},
  { 76, -1, -1, sizeof(::heroim::client::v3beta::dto::user::UserUpdateResponse)},
  { 83, -1, -1, sizeof(::heroim::client::v3beta::dto::user::UserControlFindRequest)},
  { 90, -1, -1, sizeof(::heroim::client::v3beta::dto::user::UserControlFindResponse)},
};

static ::herogoogle::protobuf::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_FindUserByRoleIdRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_FindUserByRoleIdResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_ListUserByRoleIdRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_ListUserByRoleIdResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_ListUserStatusRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_ListUserStatusResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_UserStatusItem_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_UserUpdateRequest_ExtraEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_UserUpdateRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_UserUpdateResponse_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_UserControlFindRequest_default_instance_),
  reinterpret_cast<const ::herogoogle::protobuf::Message*>(&::heroim::client::v3beta::dto::user::_UserControlFindResponse_default_instance_),
};
#ifdef _MSC_VER
#  pragma warning(disable : 4125)
#endif  /* _MSC_VER */
const char descriptor_table_protodef_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n%client/v3beta/dto/user/user_dto.proto\022"
  "\035heroim.client.v3beta.dto.user\032-client/v"
  "3beta/dto/user/model/user_model.proto\032\"c"
  "lient/v3beta/dto/shared/api.proto\"\223\001\n\027Fi"
  "ndUserByRoleIdRequest\0229\n\004base\030\001 \001(\0132+.he"
  "roim.client.v3beta.dto.shared.APIRequest"
  "\022=\n\007userKey\030\002 \001(\0132,.heroim.client.v3beta"
  ".dto.user.model.UserKey\"S\n\030FindUserByRol"
  "eIdResponse\0227\n\004user\030\001 \001(\0132).heroim.clien"
  "t.v3beta.dto.user.model.User\"\221\001\n\027ListUse"
  "rByRoleIdRequest\0229\n\004base\030\001 \001(\0132+.heroim."
  "client.v3beta.dto.shared.APIRequest\022;\n\005u"
  "sers\030\002 \003(\0132,.heroim.client.v3beta.dto.us"
  "er.model.UserKey\"S\n\030ListUserByRoleIdResp"
  "onse\0227\n\004list\030\001 \003(\0132).heroim.client.v3bet"
  "a.dto.user.model.User\"\217\001\n\025ListUserStatus"
  "Request\0229\n\004base\030\001 \001(\0132+.heroim.client.v3"
  "beta.dto.shared.APIRequest\022;\n\005users\030\002 \003("
  "\0132,.heroim.client.v3beta.dto.user.model."
  "UserKey\"U\n\026ListUserStatusResponse\022;\n\004lis"
  "t\030\001 \003(\0132-.heroim.client.v3beta.dto.user."
  "UserStatusItem\"\257\001\n\016UserStatusItem\022=\n\007use"
  "rKey\030\001 \001(\0132,.heroim.client.v3beta.dto.us"
  "er.model.UserKey\022\?\n\006status\030\002 \001(\0132/.heroi"
  "m.client.v3beta.dto.user.model.UserStatu"
  "s\022\014\n\004code\030\003 \001(\005\022\017\n\007message\030\004 \001(\t\"\252\002\n\021Use"
  "rUpdateRequest\0229\n\004base\030\001 \001(\0132+.heroim.cl"
  "ient.v3beta.dto.shared.APIRequest\022\020\n\010rol"
  "eName\030\002 \001(\t\022\021\n\tavatarUrl\030\003 \001(\t\022;\n\006gender"
  "\030\004 \001(\0162+.heroim.client.v3beta.dto.user.m"
  "odel.Gender\022J\n\005extra\030\005 \003(\0132;.heroim.clie"
  "nt.v3beta.dto.user.UserUpdateRequest.Ext"
  "raEntry\032,\n\nExtraEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va"
  "lue\030\002 \001(\t:\0028\001\"M\n\022UserUpdateResponse\0227\n\004u"
  "ser\030\001 \001(\0132).heroim.client.v3beta.dto.use"
  "r.model.User\"S\n\026UserControlFindRequest\0229"
  "\n\004base\030\001 \001(\0132+.heroim.client.v3beta.dto."
  "shared.APIRequest\"z\n\027UserControlFindResp"
  "onse\022\017\n\007message\030\001 \001(\005\022\014\n\004talk\030\002 \001(\005\022@\n\006d"
  "etail\030\003 \001(\01320.heroim.client.v3beta.dto.u"
  "ser.model.UserControlB\202\001\n!com.hero.csdk."
  "api.v3beta.dto.userP\001Z!heroim/api/client"
  "/v3beta/dto/user\242\002\005IMSdk\252\002/Im.CSDK.Unity"
  ".chat.entry.Runtime.entry2.v3.userb\006prot"
  "o3"
  ;
static const ::herogoogle::protobuf::internal::DescriptorTable*const descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_deps[2] = {
  &::descriptor_table_client_2fv3beta_2fdto_2fshared_2fapi_2eproto,
  &::descriptor_table_client_2fv3beta_2fdto_2fuser_2fmodel_2fuser_5fmodel_2eproto,
};
static ::herogoogle::protobuf::internal::once_flag descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once;
const ::herogoogle::protobuf::internal::DescriptorTable descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto = {
  false, false, 1762, descriptor_table_protodef_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto, "client/v3beta/dto/user/user_dto.proto", 
  &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once, descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_deps, 2, 12,
  schemas, file_default_instances, TableStruct_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto::offsets,
  file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto, file_level_enum_descriptors_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto, file_level_service_descriptors_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::herogoogle::protobuf::internal::DescriptorTable* descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter() {
  return &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::herogoogle::protobuf::internal::AddDescriptorsRunner dynamic_init_dummy_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto(&descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto);
namespace heroim {
namespace client {
namespace v3beta {
namespace dto {
namespace user {

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

class FindUserByRoleIdRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const FindUserByRoleIdRequest* msg);
  static const ::heroim::client::v3beta::dto::user::model::UserKey& userkey(const FindUserByRoleIdRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
FindUserByRoleIdRequest::_Internal::base(const FindUserByRoleIdRequest* msg) {
  return *msg->base_;
}
const ::heroim::client::v3beta::dto::user::model::UserKey&
FindUserByRoleIdRequest::_Internal::userkey(const FindUserByRoleIdRequest* msg) {
  return *msg->userkey_;
}
void FindUserByRoleIdRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void FindUserByRoleIdRequest::clear_userkey() {
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
}
FindUserByRoleIdRequest::FindUserByRoleIdRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
}
FindUserByRoleIdRequest::FindUserByRoleIdRequest(const FindUserByRoleIdRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  if (from._internal_has_userkey()) {
    userkey_ = new ::heroim::client::v3beta::dto::user::model::UserKey(*from.userkey_);
  } else {
    userkey_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
}

void FindUserByRoleIdRequest::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&userkey_) -
    reinterpret_cast<char*>(&base_)) + sizeof(userkey_));
}

FindUserByRoleIdRequest::~FindUserByRoleIdRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FindUserByRoleIdRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
  if (this != internal_default_instance()) delete userkey_;
}

void FindUserByRoleIdRequest::ArenaDtor(void* object) {
  FindUserByRoleIdRequest* _this = reinterpret_cast< FindUserByRoleIdRequest* >(object);
  (void)_this;
}
void FindUserByRoleIdRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FindUserByRoleIdRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FindUserByRoleIdRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FindUserByRoleIdRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_userkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FindUserByRoleIdRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::userkey(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
  return target;
}

size_t FindUserByRoleIdRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 2;
  if (this->_internal_has_userkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *userkey_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FindUserByRoleIdRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FindUserByRoleIdRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FindUserByRoleIdRequest::GetClassData() const { return &_class_data_; }

void FindUserByRoleIdRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FindUserByRoleIdRequest *>(to)->MergeFrom(
      static_cast<const FindUserByRoleIdRequest &>(from));
}


void FindUserByRoleIdRequest::MergeFrom(const FindUserByRoleIdRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_has_userkey()) {
    _internal_mutable_userkey()->::heroim::client::v3beta::dto::user::model::UserKey::MergeFrom(from._internal_userkey());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FindUserByRoleIdRequest::CopyFrom(const FindUserByRoleIdRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.FindUserByRoleIdRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FindUserByRoleIdRequest::IsInitialized() const {
  return true;
}

void FindUserByRoleIdRequest::InternalSwap(FindUserByRoleIdRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FindUserByRoleIdRequest, userkey_)
      + sizeof(FindUserByRoleIdRequest::userkey_)
      - PROTOBUF_FIELD_OFFSET(FindUserByRoleIdRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata FindUserByRoleIdRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[0]);
}

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

class FindUserByRoleIdResponse::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::user::model::User& user(const FindUserByRoleIdResponse* msg);
};

const ::heroim::client::v3beta::dto::user::model::User&
FindUserByRoleIdResponse::_Internal::user(const FindUserByRoleIdResponse* msg) {
  return *msg->user_;
}
void FindUserByRoleIdResponse::clear_user() {
  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
}
FindUserByRoleIdResponse::FindUserByRoleIdResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
}
FindUserByRoleIdResponse::FindUserByRoleIdResponse(const FindUserByRoleIdResponse& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_user()) {
    user_ = new ::heroim::client::v3beta::dto::user::model::User(*from.user_);
  } else {
    user_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
}

void FindUserByRoleIdResponse::SharedCtor() {
user_ = nullptr;
}

FindUserByRoleIdResponse::~FindUserByRoleIdResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void FindUserByRoleIdResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete user_;
}

void FindUserByRoleIdResponse::ArenaDtor(void* object) {
  FindUserByRoleIdResponse* _this = reinterpret_cast< FindUserByRoleIdResponse* >(object);
  (void)_this;
}
void FindUserByRoleIdResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void FindUserByRoleIdResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void FindUserByRoleIdResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* FindUserByRoleIdResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.user.model.User user = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_user(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* FindUserByRoleIdResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User user = 1;
  if (this->_internal_has_user()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::user(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
  return target;
}

size_t FindUserByRoleIdResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User user = 1;
  if (this->_internal_has_user()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *user_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData FindUserByRoleIdResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    FindUserByRoleIdResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*FindUserByRoleIdResponse::GetClassData() const { return &_class_data_; }

void FindUserByRoleIdResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<FindUserByRoleIdResponse *>(to)->MergeFrom(
      static_cast<const FindUserByRoleIdResponse &>(from));
}


void FindUserByRoleIdResponse::MergeFrom(const FindUserByRoleIdResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_user()) {
    _internal_mutable_user()->::heroim::client::v3beta::dto::user::model::User::MergeFrom(from._internal_user());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void FindUserByRoleIdResponse::CopyFrom(const FindUserByRoleIdResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.FindUserByRoleIdResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool FindUserByRoleIdResponse::IsInitialized() const {
  return true;
}

void FindUserByRoleIdResponse::InternalSwap(FindUserByRoleIdResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(user_, other->user_);
}

::herogoogle::protobuf::Metadata FindUserByRoleIdResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[1]);
}

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

class ListUserByRoleIdRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const ListUserByRoleIdRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
ListUserByRoleIdRequest::_Internal::base(const ListUserByRoleIdRequest* msg) {
  return *msg->base_;
}
void ListUserByRoleIdRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void ListUserByRoleIdRequest::clear_users() {
  users_.Clear();
}
ListUserByRoleIdRequest::ListUserByRoleIdRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  users_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
}
ListUserByRoleIdRequest::ListUserByRoleIdRequest(const ListUserByRoleIdRequest& from)
  : ::herogoogle::protobuf::Message(),
      users_(from.users_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
}

void ListUserByRoleIdRequest::SharedCtor() {
base_ = nullptr;
}

ListUserByRoleIdRequest::~ListUserByRoleIdRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void ListUserByRoleIdRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void ListUserByRoleIdRequest::ArenaDtor(void* object) {
  ListUserByRoleIdRequest* _this = reinterpret_cast< ListUserByRoleIdRequest* >(object);
  (void)_this;
}
void ListUserByRoleIdRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void ListUserByRoleIdRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void ListUserByRoleIdRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  users_.Clear();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* ListUserByRoleIdRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_users(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* ListUserByRoleIdRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_users_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_users(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
  return target;
}

size_t ListUserByRoleIdRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
  total_size += 1UL * this->_internal_users_size();
  for (const auto& msg : this->users_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData ListUserByRoleIdRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    ListUserByRoleIdRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*ListUserByRoleIdRequest::GetClassData() const { return &_class_data_; }

void ListUserByRoleIdRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<ListUserByRoleIdRequest *>(to)->MergeFrom(
      static_cast<const ListUserByRoleIdRequest &>(from));
}


void ListUserByRoleIdRequest::MergeFrom(const ListUserByRoleIdRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  users_.MergeFrom(from.users_);
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ListUserByRoleIdRequest::CopyFrom(const ListUserByRoleIdRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.ListUserByRoleIdRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ListUserByRoleIdRequest::IsInitialized() const {
  return true;
}

void ListUserByRoleIdRequest::InternalSwap(ListUserByRoleIdRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  users_.InternalSwap(&other->users_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata ListUserByRoleIdRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[2]);
}

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

class ListUserByRoleIdResponse::_Internal {
 public:
};

void ListUserByRoleIdResponse::clear_list() {
  list_.Clear();
}
ListUserByRoleIdResponse::ListUserByRoleIdResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
}
ListUserByRoleIdResponse::ListUserByRoleIdResponse(const ListUserByRoleIdResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
}

void ListUserByRoleIdResponse::SharedCtor() {
}

ListUserByRoleIdResponse::~ListUserByRoleIdResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void ListUserByRoleIdResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void ListUserByRoleIdResponse::ArenaDtor(void* object) {
  ListUserByRoleIdResponse* _this = reinterpret_cast< ListUserByRoleIdResponse* >(object);
  (void)_this;
}
void ListUserByRoleIdResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void ListUserByRoleIdResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void ListUserByRoleIdResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* ListUserByRoleIdResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.user.model.User list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* ListUserByRoleIdResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.user.model.User list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
  return target;
}

size_t ListUserByRoleIdResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.user.model.User list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData ListUserByRoleIdResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    ListUserByRoleIdResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*ListUserByRoleIdResponse::GetClassData() const { return &_class_data_; }

void ListUserByRoleIdResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<ListUserByRoleIdResponse *>(to)->MergeFrom(
      static_cast<const ListUserByRoleIdResponse &>(from));
}


void ListUserByRoleIdResponse::MergeFrom(const ListUserByRoleIdResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ListUserByRoleIdResponse::CopyFrom(const ListUserByRoleIdResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.ListUserByRoleIdResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ListUserByRoleIdResponse::IsInitialized() const {
  return true;
}

void ListUserByRoleIdResponse::InternalSwap(ListUserByRoleIdResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
}

::herogoogle::protobuf::Metadata ListUserByRoleIdResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[3]);
}

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

class ListUserStatusRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const ListUserStatusRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
ListUserStatusRequest::_Internal::base(const ListUserStatusRequest* msg) {
  return *msg->base_;
}
void ListUserStatusRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
void ListUserStatusRequest::clear_users() {
  users_.Clear();
}
ListUserStatusRequest::ListUserStatusRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  users_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.ListUserStatusRequest)
}
ListUserStatusRequest::ListUserStatusRequest(const ListUserStatusRequest& from)
  : ::herogoogle::protobuf::Message(),
      users_(from.users_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.ListUserStatusRequest)
}

void ListUserStatusRequest::SharedCtor() {
base_ = nullptr;
}

ListUserStatusRequest::~ListUserStatusRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.ListUserStatusRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void ListUserStatusRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void ListUserStatusRequest::ArenaDtor(void* object) {
  ListUserStatusRequest* _this = reinterpret_cast< ListUserStatusRequest* >(object);
  (void)_this;
}
void ListUserStatusRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void ListUserStatusRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void ListUserStatusRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.ListUserStatusRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  users_.Clear();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* ListUserStatusRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_users(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* ListUserStatusRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.ListUserStatusRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_users_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_users(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.ListUserStatusRequest)
  return target;
}

size_t ListUserStatusRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.ListUserStatusRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.user.model.UserKey users = 2;
  total_size += 1UL * this->_internal_users_size();
  for (const auto& msg : this->users_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData ListUserStatusRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    ListUserStatusRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*ListUserStatusRequest::GetClassData() const { return &_class_data_; }

void ListUserStatusRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<ListUserStatusRequest *>(to)->MergeFrom(
      static_cast<const ListUserStatusRequest &>(from));
}


void ListUserStatusRequest::MergeFrom(const ListUserStatusRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.ListUserStatusRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  users_.MergeFrom(from.users_);
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ListUserStatusRequest::CopyFrom(const ListUserStatusRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.ListUserStatusRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ListUserStatusRequest::IsInitialized() const {
  return true;
}

void ListUserStatusRequest::InternalSwap(ListUserStatusRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  users_.InternalSwap(&other->users_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata ListUserStatusRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[4]);
}

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

class ListUserStatusResponse::_Internal {
 public:
};

ListUserStatusResponse::ListUserStatusResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  list_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.ListUserStatusResponse)
}
ListUserStatusResponse::ListUserStatusResponse(const ListUserStatusResponse& from)
  : ::herogoogle::protobuf::Message(),
      list_(from.list_) {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.ListUserStatusResponse)
}

void ListUserStatusResponse::SharedCtor() {
}

ListUserStatusResponse::~ListUserStatusResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.ListUserStatusResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void ListUserStatusResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

void ListUserStatusResponse::ArenaDtor(void* object) {
  ListUserStatusResponse* _this = reinterpret_cast< ListUserStatusResponse* >(object);
  (void)_this;
}
void ListUserStatusResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void ListUserStatusResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void ListUserStatusResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.ListUserStatusResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  list_.Clear();
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* ListUserStatusResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .heroim.client.v3beta.dto.user.UserStatusItem list = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_list(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* ListUserStatusResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.ListUserStatusResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.user.UserStatusItem list = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_list_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_list(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.ListUserStatusResponse)
  return target;
}

size_t ListUserStatusResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.ListUserStatusResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .heroim.client.v3beta.dto.user.UserStatusItem list = 1;
  total_size += 1UL * this->_internal_list_size();
  for (const auto& msg : this->list_) {
    total_size +=
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData ListUserStatusResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    ListUserStatusResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*ListUserStatusResponse::GetClassData() const { return &_class_data_; }

void ListUserStatusResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<ListUserStatusResponse *>(to)->MergeFrom(
      static_cast<const ListUserStatusResponse &>(from));
}


void ListUserStatusResponse::MergeFrom(const ListUserStatusResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.ListUserStatusResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  list_.MergeFrom(from.list_);
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ListUserStatusResponse::CopyFrom(const ListUserStatusResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.ListUserStatusResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ListUserStatusResponse::IsInitialized() const {
  return true;
}

void ListUserStatusResponse::InternalSwap(ListUserStatusResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  list_.InternalSwap(&other->list_);
}

::herogoogle::protobuf::Metadata ListUserStatusResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[5]);
}

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

class UserStatusItem::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::user::model::UserKey& userkey(const UserStatusItem* msg);
  static const ::heroim::client::v3beta::dto::user::model::UserStatus& status(const UserStatusItem* msg);
};

const ::heroim::client::v3beta::dto::user::model::UserKey&
UserStatusItem::_Internal::userkey(const UserStatusItem* msg) {
  return *msg->userkey_;
}
const ::heroim::client::v3beta::dto::user::model::UserStatus&
UserStatusItem::_Internal::status(const UserStatusItem* msg) {
  return *msg->status_;
}
void UserStatusItem::clear_userkey() {
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
}
void UserStatusItem::clear_status() {
  if (GetArenaForAllocation() == nullptr && status_ != nullptr) {
    delete status_;
  }
  status_ = nullptr;
}
UserStatusItem::UserStatusItem(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.UserStatusItem)
}
UserStatusItem::UserStatusItem(const UserStatusItem& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  message_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_message().empty()) {
    message_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_message(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_userkey()) {
    userkey_ = new ::heroim::client::v3beta::dto::user::model::UserKey(*from.userkey_);
  } else {
    userkey_ = nullptr;
  }
  if (from._internal_has_status()) {
    status_ = new ::heroim::client::v3beta::dto::user::model::UserStatus(*from.status_);
  } else {
    status_ = nullptr;
  }
  code_ = from.code_;
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.UserStatusItem)
}

void UserStatusItem::SharedCtor() {
message_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&userkey_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&code_) -
    reinterpret_cast<char*>(&userkey_)) + sizeof(code_));
}

UserStatusItem::~UserStatusItem() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.UserStatusItem)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void UserStatusItem::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  message_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete userkey_;
  if (this != internal_default_instance()) delete status_;
}

void UserStatusItem::ArenaDtor(void* object) {
  UserStatusItem* _this = reinterpret_cast< UserStatusItem* >(object);
  (void)_this;
}
void UserStatusItem::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void UserStatusItem::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserStatusItem::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.UserStatusItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  message_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && userkey_ != nullptr) {
    delete userkey_;
  }
  userkey_ = nullptr;
  if (GetArenaForAllocation() == nullptr && status_ != nullptr) {
    delete status_;
  }
  status_ = nullptr;
  code_ = 0;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* UserStatusItem::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.user.model.UserKey userKey = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_userkey(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.UserStatus status = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_status(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 code = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 24)) {
          code_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string message = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 34)) {
          auto str = _internal_mutable_message();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.user.UserStatusItem.message"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* UserStatusItem::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.UserStatusItem)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 1;
  if (this->_internal_has_userkey()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::userkey(this), target, stream);
  }

  // .heroim.client.v3beta.dto.user.model.UserStatus status = 2;
  if (this->_internal_has_status()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::status(this), target, stream);
  }

  // int32 code = 3;
  if (this->_internal_code() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_code(), target);
  }

  // string message = 4;
  if (!this->_internal_message().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_message().data(), static_cast<int>(this->_internal_message().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.user.UserStatusItem.message");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_message(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.UserStatusItem)
  return target;
}

size_t UserStatusItem::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.UserStatusItem)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string message = 4;
  if (!this->_internal_message().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_message());
  }

  // .heroim.client.v3beta.dto.user.model.UserKey userKey = 1;
  if (this->_internal_has_userkey()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *userkey_);
  }

  // .heroim.client.v3beta.dto.user.model.UserStatus status = 2;
  if (this->_internal_has_status()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *status_);
  }

  // int32 code = 3;
  if (this->_internal_code() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int32SizePlusOne(this->_internal_code());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData UserStatusItem::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    UserStatusItem::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*UserStatusItem::GetClassData() const { return &_class_data_; }

void UserStatusItem::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<UserStatusItem *>(to)->MergeFrom(
      static_cast<const UserStatusItem &>(from));
}


void UserStatusItem::MergeFrom(const UserStatusItem& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.UserStatusItem)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_message().empty()) {
    _internal_set_message(from._internal_message());
  }
  if (from._internal_has_userkey()) {
    _internal_mutable_userkey()->::heroim::client::v3beta::dto::user::model::UserKey::MergeFrom(from._internal_userkey());
  }
  if (from._internal_has_status()) {
    _internal_mutable_status()->::heroim::client::v3beta::dto::user::model::UserStatus::MergeFrom(from._internal_status());
  }
  if (from._internal_code() != 0) {
    _internal_set_code(from._internal_code());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UserStatusItem::CopyFrom(const UserStatusItem& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.UserStatusItem)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserStatusItem::IsInitialized() const {
  return true;
}

void UserStatusItem::InternalSwap(UserStatusItem* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &message_, lhs_arena,
      &other->message_, rhs_arena
  );
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UserStatusItem, code_)
      + sizeof(UserStatusItem::code_)
      - PROTOBUF_FIELD_OFFSET(UserStatusItem, userkey_)>(
          reinterpret_cast<char*>(&userkey_),
          reinterpret_cast<char*>(&other->userkey_));
}

::herogoogle::protobuf::Metadata UserStatusItem::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[6]);
}

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

UserUpdateRequest_ExtraEntry_DoNotUse::UserUpdateRequest_ExtraEntry_DoNotUse() {}
UserUpdateRequest_ExtraEntry_DoNotUse::UserUpdateRequest_ExtraEntry_DoNotUse(::herogoogle::protobuf::Arena* arena)
    : SuperType(arena) {}
void UserUpdateRequest_ExtraEntry_DoNotUse::MergeFrom(const UserUpdateRequest_ExtraEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::herogoogle::protobuf::Metadata UserUpdateRequest_ExtraEntry_DoNotUse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[7]);
}

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

class UserUpdateRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const UserUpdateRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
UserUpdateRequest::_Internal::base(const UserUpdateRequest* msg) {
  return *msg->base_;
}
void UserUpdateRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
UserUpdateRequest::UserUpdateRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned),
  extra_(arena) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.UserUpdateRequest)
}
UserUpdateRequest::UserUpdateRequest(const UserUpdateRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  extra_.MergeFrom(from.extra_);
  rolename_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_rolename().empty()) {
    rolename_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_rolename(), 
      GetArenaForAllocation());
  }
  avatarurl_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (!from._internal_avatarurl().empty()) {
    avatarurl_.Set(::herogoogle::protobuf::internal::ArenaStringPtr::EmptyDefault{}, from._internal_avatarurl(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  gender_ = from.gender_;
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.UserUpdateRequest)
}

void UserUpdateRequest::SharedCtor() {
rolename_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
avatarurl_.UnsafeSetDefault(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&base_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&gender_) -
    reinterpret_cast<char*>(&base_)) + sizeof(gender_));
}

UserUpdateRequest::~UserUpdateRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.UserUpdateRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void UserUpdateRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  rolename_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  avatarurl_.DestroyNoArena(&::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete base_;
}

void UserUpdateRequest::ArenaDtor(void* object) {
  UserUpdateRequest* _this = reinterpret_cast< UserUpdateRequest* >(object);
  (void)_this;
  _this->extra_. ~MapField();
}
inline void UserUpdateRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena* arena) {
  if (arena != nullptr) {
    arena->OwnCustomDestructor(this, &UserUpdateRequest::ArenaDtor);
  }
}
void UserUpdateRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserUpdateRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.UserUpdateRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  extra_.Clear();
  rolename_.ClearToEmpty();
  avatarurl_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  gender_ = 0;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* UserUpdateRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string roleName = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 18)) {
          auto str = _internal_mutable_rolename();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.user.UserUpdateRequest.roleName"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string avatarUrl = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          auto str = _internal_mutable_avatarurl();
          ptr = ::herogoogle::protobuf::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::herogoogle::protobuf::internal::VerifyUTF8(str, "heroim.client.v3beta.dto.user.UserUpdateRequest.avatarUrl"));
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.Gender gender = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 32)) {
          ::herogoogle::protobuf::uint64 val = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_gender(static_cast<::heroim::client::v3beta::dto::user::model::Gender>(val));
        } else
          goto handle_unusual;
        continue;
      // map<string, string> extra = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(&extra_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::herogoogle::protobuf::internal::ExpectTag<42>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* UserUpdateRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.UserUpdateRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  // string roleName = 2;
  if (!this->_internal_rolename().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_rolename().data(), static_cast<int>(this->_internal_rolename().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.user.UserUpdateRequest.roleName");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_rolename(), target);
  }

  // string avatarUrl = 3;
  if (!this->_internal_avatarurl().empty()) {
    ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_avatarurl().data(), static_cast<int>(this->_internal_avatarurl().length()),
      ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
      "heroim.client.v3beta.dto.user.UserUpdateRequest.avatarUrl");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_avatarurl(), target);
  }

  // .heroim.client.v3beta.dto.user.model.Gender gender = 4;
  if (this->_internal_gender() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteEnumToArray(
      4, this->_internal_gender(), target);
  }

  // map<string, string> extra = 5;
  if (!this->_internal_extra().empty()) {
    typedef ::herogoogle::protobuf::Map< std::string, std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::herogoogle::protobuf::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        (void)p;
        ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
          "heroim.client.v3beta.dto.user.UserUpdateRequest.ExtraEntry.key");
        ::herogoogle::protobuf::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::herogoogle::protobuf::internal::WireFormatLite::SERIALIZE,
          "heroim.client.v3beta.dto.user.UserUpdateRequest.ExtraEntry.value");
      }
    };

    if (stream->IsSerializationDeterministic() &&
        this->_internal_extra().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->_internal_extra().size()]);
      typedef ::herogoogle::protobuf::Map< std::string, std::string >::size_type size_type;
      size_type n = 0;
      for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
          it = this->_internal_extra().begin();
          it != this->_internal_extra().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      for (size_type i = 0; i < n; i++) {
        target = UserUpdateRequest_ExtraEntry_DoNotUse::Funcs::InternalSerialize(5, items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second, target, stream);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
          it = this->_internal_extra().begin();
          it != this->_internal_extra().end(); ++it) {
        target = UserUpdateRequest_ExtraEntry_DoNotUse::Funcs::InternalSerialize(5, it->first, it->second, target, stream);
        Utf8Check::Check(&(*it));
      }
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.UserUpdateRequest)
  return target;
}

size_t UserUpdateRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.UserUpdateRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, string> extra = 5;
  total_size += 1 *
      ::herogoogle::protobuf::internal::FromIntSize(this->_internal_extra_size());
  for (::herogoogle::protobuf::Map< std::string, std::string >::const_iterator
      it = this->_internal_extra().begin();
      it != this->_internal_extra().end(); ++it) {
    total_size += UserUpdateRequest_ExtraEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // string roleName = 2;
  if (!this->_internal_rolename().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_rolename());
  }

  // string avatarUrl = 3;
  if (!this->_internal_avatarurl().empty()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::StringSize(
        this->_internal_avatarurl());
  }

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  // .heroim.client.v3beta.dto.user.model.Gender gender = 4;
  if (this->_internal_gender() != 0) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::EnumSize(this->_internal_gender());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData UserUpdateRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    UserUpdateRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*UserUpdateRequest::GetClassData() const { return &_class_data_; }

void UserUpdateRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<UserUpdateRequest *>(to)->MergeFrom(
      static_cast<const UserUpdateRequest &>(from));
}


void UserUpdateRequest::MergeFrom(const UserUpdateRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.UserUpdateRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  extra_.MergeFrom(from.extra_);
  if (!from._internal_rolename().empty()) {
    _internal_set_rolename(from._internal_rolename());
  }
  if (!from._internal_avatarurl().empty()) {
    _internal_set_avatarurl(from._internal_avatarurl());
  }
  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  if (from._internal_gender() != 0) {
    _internal_set_gender(from._internal_gender());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UserUpdateRequest::CopyFrom(const UserUpdateRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.UserUpdateRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserUpdateRequest::IsInitialized() const {
  return true;
}

void UserUpdateRequest::InternalSwap(UserUpdateRequest* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  extra_.InternalSwap(&other->extra_);
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &rolename_, lhs_arena,
      &other->rolename_, rhs_arena
  );
  ::herogoogle::protobuf::internal::ArenaStringPtr::InternalSwap(
      &::herogoogle::protobuf::internal::GetEmptyStringAlreadyInited(),
      &avatarurl_, lhs_arena,
      &other->avatarurl_, rhs_arena
  );
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UserUpdateRequest, gender_)
      + sizeof(UserUpdateRequest::gender_)
      - PROTOBUF_FIELD_OFFSET(UserUpdateRequest, base_)>(
          reinterpret_cast<char*>(&base_),
          reinterpret_cast<char*>(&other->base_));
}

::herogoogle::protobuf::Metadata UserUpdateRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[8]);
}

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

class UserUpdateResponse::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::user::model::User& user(const UserUpdateResponse* msg);
};

const ::heroim::client::v3beta::dto::user::model::User&
UserUpdateResponse::_Internal::user(const UserUpdateResponse* msg) {
  return *msg->user_;
}
void UserUpdateResponse::clear_user() {
  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
}
UserUpdateResponse::UserUpdateResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.UserUpdateResponse)
}
UserUpdateResponse::UserUpdateResponse(const UserUpdateResponse& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_user()) {
    user_ = new ::heroim::client::v3beta::dto::user::model::User(*from.user_);
  } else {
    user_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.UserUpdateResponse)
}

void UserUpdateResponse::SharedCtor() {
user_ = nullptr;
}

UserUpdateResponse::~UserUpdateResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.UserUpdateResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void UserUpdateResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete user_;
}

void UserUpdateResponse::ArenaDtor(void* object) {
  UserUpdateResponse* _this = reinterpret_cast< UserUpdateResponse* >(object);
  (void)_this;
}
void UserUpdateResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void UserUpdateResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserUpdateResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.UserUpdateResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && user_ != nullptr) {
    delete user_;
  }
  user_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* UserUpdateResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.user.model.User user = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_user(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* UserUpdateResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.UserUpdateResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User user = 1;
  if (this->_internal_has_user()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::user(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.UserUpdateResponse)
  return target;
}

size_t UserUpdateResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.UserUpdateResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.User user = 1;
  if (this->_internal_has_user()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *user_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData UserUpdateResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    UserUpdateResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*UserUpdateResponse::GetClassData() const { return &_class_data_; }

void UserUpdateResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<UserUpdateResponse *>(to)->MergeFrom(
      static_cast<const UserUpdateResponse &>(from));
}


void UserUpdateResponse::MergeFrom(const UserUpdateResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.UserUpdateResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_user()) {
    _internal_mutable_user()->::heroim::client::v3beta::dto::user::model::User::MergeFrom(from._internal_user());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UserUpdateResponse::CopyFrom(const UserUpdateResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.UserUpdateResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserUpdateResponse::IsInitialized() const {
  return true;
}

void UserUpdateResponse::InternalSwap(UserUpdateResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(user_, other->user_);
}

::herogoogle::protobuf::Metadata UserUpdateResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[9]);
}

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

class UserControlFindRequest::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::shared::APIRequest& base(const UserControlFindRequest* msg);
};

const ::heroim::client::v3beta::dto::shared::APIRequest&
UserControlFindRequest::_Internal::base(const UserControlFindRequest* msg) {
  return *msg->base_;
}
void UserControlFindRequest::clear_base() {
  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
}
UserControlFindRequest::UserControlFindRequest(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.UserControlFindRequest)
}
UserControlFindRequest::UserControlFindRequest(const UserControlFindRequest& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_base()) {
    base_ = new ::heroim::client::v3beta::dto::shared::APIRequest(*from.base_);
  } else {
    base_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.UserControlFindRequest)
}

void UserControlFindRequest::SharedCtor() {
base_ = nullptr;
}

UserControlFindRequest::~UserControlFindRequest() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.UserControlFindRequest)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void UserControlFindRequest::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete base_;
}

void UserControlFindRequest::ArenaDtor(void* object) {
  UserControlFindRequest* _this = reinterpret_cast< UserControlFindRequest* >(object);
  (void)_this;
}
void UserControlFindRequest::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void UserControlFindRequest::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserControlFindRequest::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.UserControlFindRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && base_ != nullptr) {
    delete base_;
  }
  base_ = nullptr;
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* UserControlFindRequest::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_base(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* UserControlFindRequest::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.UserControlFindRequest)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::base(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.UserControlFindRequest)
  return target;
}

size_t UserControlFindRequest::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.UserControlFindRequest)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.shared.APIRequest base = 1;
  if (this->_internal_has_base()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *base_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData UserControlFindRequest::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    UserControlFindRequest::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*UserControlFindRequest::GetClassData() const { return &_class_data_; }

void UserControlFindRequest::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<UserControlFindRequest *>(to)->MergeFrom(
      static_cast<const UserControlFindRequest &>(from));
}


void UserControlFindRequest::MergeFrom(const UserControlFindRequest& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.UserControlFindRequest)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_base()) {
    _internal_mutable_base()->::heroim::client::v3beta::dto::shared::APIRequest::MergeFrom(from._internal_base());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UserControlFindRequest::CopyFrom(const UserControlFindRequest& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.UserControlFindRequest)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserControlFindRequest::IsInitialized() const {
  return true;
}

void UserControlFindRequest::InternalSwap(UserControlFindRequest* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(base_, other->base_);
}

::herogoogle::protobuf::Metadata UserControlFindRequest::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[10]);
}

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

class UserControlFindResponse::_Internal {
 public:
  static const ::heroim::client::v3beta::dto::user::model::UserControl& detail(const UserControlFindResponse* msg);
};

const ::heroim::client::v3beta::dto::user::model::UserControl&
UserControlFindResponse::_Internal::detail(const UserControlFindResponse* msg) {
  return *msg->detail_;
}
void UserControlFindResponse::clear_detail() {
  if (GetArenaForAllocation() == nullptr && detail_ != nullptr) {
    delete detail_;
  }
  detail_ = nullptr;
}
UserControlFindResponse::UserControlFindResponse(::herogoogle::protobuf::Arena* arena,
                         bool is_message_owned)
  : ::herogoogle::protobuf::Message(arena, is_message_owned) {
  SharedCtor();
  if (!is_message_owned) {
    RegisterArenaDtor(arena);
  }
  // @@protoc_insertion_point(arena_constructor:heroim.client.v3beta.dto.user.UserControlFindResponse)
}
UserControlFindResponse::UserControlFindResponse(const UserControlFindResponse& from)
  : ::herogoogle::protobuf::Message() {
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_detail()) {
    detail_ = new ::heroim::client::v3beta::dto::user::model::UserControl(*from.detail_);
  } else {
    detail_ = nullptr;
  }
  ::memcpy(&message_, &from.message_,
    static_cast<size_t>(reinterpret_cast<char*>(&talk_) -
    reinterpret_cast<char*>(&message_)) + sizeof(talk_));
  // @@protoc_insertion_point(copy_constructor:heroim.client.v3beta.dto.user.UserControlFindResponse)
}

void UserControlFindResponse::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&detail_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&talk_) -
    reinterpret_cast<char*>(&detail_)) + sizeof(talk_));
}

UserControlFindResponse::~UserControlFindResponse() {
  // @@protoc_insertion_point(destructor:heroim.client.v3beta.dto.user.UserControlFindResponse)
  if (GetArenaForAllocation() != nullptr) return;
  SharedDtor();
  _internal_metadata_.Delete<::herogoogle::protobuf::UnknownFieldSet>();
}

inline void UserControlFindResponse::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete detail_;
}

void UserControlFindResponse::ArenaDtor(void* object) {
  UserControlFindResponse* _this = reinterpret_cast< UserControlFindResponse* >(object);
  (void)_this;
}
void UserControlFindResponse::RegisterArenaDtor(::herogoogle::protobuf::Arena*) {
}
void UserControlFindResponse::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserControlFindResponse::Clear() {
// @@protoc_insertion_point(message_clear_start:heroim.client.v3beta.dto.user.UserControlFindResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && detail_ != nullptr) {
    delete detail_;
  }
  detail_ = nullptr;
  ::memset(&message_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&talk_) -
      reinterpret_cast<char*>(&message_)) + sizeof(talk_));
  _internal_metadata_.Clear<::herogoogle::protobuf::UnknownFieldSet>();
}

const char* UserControlFindResponse::_InternalParse(const char* ptr, ::herogoogle::protobuf::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::herogoogle::protobuf::uint32 tag;
    ptr = ::herogoogle::protobuf::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 message = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 8)) {
          message_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 talk = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 16)) {
          talk_ = ::herogoogle::protobuf::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .heroim.client.v3beta.dto.user.model.UserControl detail = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::herogoogle::protobuf::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_detail(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

::herogoogle::protobuf::uint8* UserControlFindResponse::_InternalSerialize(
    ::herogoogle::protobuf::uint8* target, ::herogoogle::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:heroim.client.v3beta.dto.user.UserControlFindResponse)
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 message = 1;
  if (this->_internal_message() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_message(), target);
  }

  // int32 talk = 2;
  if (this->_internal_talk() != 0) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_talk(), target);
  }

  // .heroim.client.v3beta.dto.user.model.UserControl detail = 3;
  if (this->_internal_has_detail()) {
    target = stream->EnsureSpace(target);
    target = ::herogoogle::protobuf::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::detail(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::herogoogle::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::herogoogle::protobuf::UnknownFieldSet>(::herogoogle::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:heroim.client.v3beta.dto.user.UserControlFindResponse)
  return target;
}

size_t UserControlFindResponse::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:heroim.client.v3beta.dto.user.UserControlFindResponse)
  size_t total_size = 0;

  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // .heroim.client.v3beta.dto.user.model.UserControl detail = 3;
  if (this->_internal_has_detail()) {
    total_size += 1 +
      ::herogoogle::protobuf::internal::WireFormatLite::MessageSize(
        *detail_);
  }

  // int32 message = 1;
  if (this->_internal_message() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int32SizePlusOne(this->_internal_message());
  }

  // int32 talk = 2;
  if (this->_internal_talk() != 0) {
    total_size += ::herogoogle::protobuf::internal::WireFormatLite::Int32SizePlusOne(this->_internal_talk());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::herogoogle::protobuf::Message::ClassData UserControlFindResponse::_class_data_ = {
    ::herogoogle::protobuf::Message::CopyWithSizeCheck,
    UserControlFindResponse::MergeImpl
};
const ::herogoogle::protobuf::Message::ClassData*UserControlFindResponse::GetClassData() const { return &_class_data_; }

void UserControlFindResponse::MergeImpl(::herogoogle::protobuf::Message* to,
                      const ::herogoogle::protobuf::Message& from) {
  static_cast<UserControlFindResponse *>(to)->MergeFrom(
      static_cast<const UserControlFindResponse &>(from));
}


void UserControlFindResponse::MergeFrom(const UserControlFindResponse& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:heroim.client.v3beta.dto.user.UserControlFindResponse)
  GOOGLE_DCHECK_NE(&from, this);
  ::herogoogle::protobuf::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_detail()) {
    _internal_mutable_detail()->::heroim::client::v3beta::dto::user::model::UserControl::MergeFrom(from._internal_detail());
  }
  if (from._internal_message() != 0) {
    _internal_set_message(from._internal_message());
  }
  if (from._internal_talk() != 0) {
    _internal_set_talk(from._internal_talk());
  }
  _internal_metadata_.MergeFrom<::herogoogle::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void UserControlFindResponse::CopyFrom(const UserControlFindResponse& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:heroim.client.v3beta.dto.user.UserControlFindResponse)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserControlFindResponse::IsInitialized() const {
  return true;
}

void UserControlFindResponse::InternalSwap(UserControlFindResponse* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::herogoogle::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UserControlFindResponse, talk_)
      + sizeof(UserControlFindResponse::talk_)
      - PROTOBUF_FIELD_OFFSET(UserControlFindResponse, detail_)>(
          reinterpret_cast<char*>(&detail_),
          reinterpret_cast<char*>(&other->detail_));
}

::herogoogle::protobuf::Metadata UserControlFindResponse::GetMetadata() const {
  return ::herogoogle::protobuf::internal::AssignDescriptors(
      &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_getter, &descriptor_table_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto_once,
      file_level_metadata_client_2fv3beta_2fdto_2fuser_2fuser_5fdto_2eproto[11]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace user
}  // namespace dto
}  // namespace v3beta
}  // namespace client
}  // namespace heroim
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::FindUserByRoleIdRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::FindUserByRoleIdResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::FindUserByRoleIdResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::FindUserByRoleIdResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::ListUserByRoleIdRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::ListUserByRoleIdResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::ListUserByRoleIdResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::ListUserByRoleIdResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::ListUserStatusRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::ListUserStatusRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::ListUserStatusRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::ListUserStatusResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::ListUserStatusResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::ListUserStatusResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::UserStatusItem* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::UserStatusItem >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::UserStatusItem >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::UserUpdateRequest_ExtraEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::UserUpdateRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::UserUpdateRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::UserUpdateRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::UserUpdateResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::UserUpdateResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::UserUpdateResponse >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::UserControlFindRequest* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::UserControlFindRequest >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::UserControlFindRequest >(arena);
}
template<> PROTOBUF_NOINLINE ::heroim::client::v3beta::dto::user::UserControlFindResponse* Arena::CreateMaybeMessage< ::heroim::client::v3beta::dto::user::UserControlFindResponse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::heroim::client::v3beta::dto::user::UserControlFindResponse >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

