// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: np2_structs.proto
// Protobuf C++ Version: 6.33.4

#ifndef np2_5fstructs_2eproto_2epb_2eh
#define np2_5fstructs_2eproto_2epb_2eh

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

#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 6033004
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/message_lite.h"
#include "google/protobuf/repeated_field.h"  // IWYU pragma: export
#include "google/protobuf/extension_set.h"  // IWYU pragma: export
// @@protoc_insertion_point(includes)

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

#define PROTOBUF_INTERNAL_EXPORT_np2_5fstructs_2eproto

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

// Internal implementation detail -- do not use these members.
struct TableStruct_np2_5fstructs_2eproto {
  static const ::uint32_t offsets[];
};
namespace np2_structs {
class BinAttr;
struct BinAttrDefaultTypeInternal;
extern BinAttrDefaultTypeInternal _BinAttr_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<20> BinAttr_class_data_;
class BinAttrInternal;
struct BinAttrInternalDefaultTypeInternal;
extern BinAttrInternalDefaultTypeInternal _BinAttrInternal_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<28> BinAttrInternal_class_data_;
class BinSearchFilter;
struct BinSearchFilterDefaultTypeInternal;
extern BinSearchFilterDefaultTypeInternal _BinSearchFilter_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<28> BinSearchFilter_class_data_;
class BoardInfo;
struct BoardInfoDefaultTypeInternal;
extern BoardInfoDefaultTypeInternal _BoardInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<22> BoardInfo_class_data_;
class CreateJoinRoomRequest;
struct CreateJoinRoomRequestDefaultTypeInternal;
extern CreateJoinRoomRequestDefaultTypeInternal _CreateJoinRoomRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<34> CreateJoinRoomRequest_class_data_;
class CreateRoomGUIRequest;
struct CreateRoomGUIRequestDefaultTypeInternal;
extern CreateRoomGUIRequestDefaultTypeInternal _CreateRoomGUIRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<33> CreateRoomGUIRequest_class_data_;
class CreateRoomResponse;
struct CreateRoomResponseDefaultTypeInternal;
extern CreateRoomResponseDefaultTypeInternal _CreateRoomResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<31> CreateRoomResponse_class_data_;
class GUIUserInfo;
struct GUIUserInfoDefaultTypeInternal;
extern GUIUserInfoDefaultTypeInternal _GUIUserInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<24> GUIUserInfo_class_data_;
class GetPingInfoResponse;
struct GetPingInfoResponseDefaultTypeInternal;
extern GetPingInfoResponseDefaultTypeInternal _GetPingInfoResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<32> GetPingInfoResponse_class_data_;
class GetRoomDataExternalListRequest;
struct GetRoomDataExternalListRequestDefaultTypeInternal;
extern GetRoomDataExternalListRequestDefaultTypeInternal _GetRoomDataExternalListRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<43> GetRoomDataExternalListRequest_class_data_;
class GetRoomDataExternalListResponse;
struct GetRoomDataExternalListResponseDefaultTypeInternal;
extern GetRoomDataExternalListResponseDefaultTypeInternal _GetRoomDataExternalListResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<44> GetRoomDataExternalListResponse_class_data_;
class GetRoomDataInternalRequest;
struct GetRoomDataInternalRequestDefaultTypeInternal;
extern GetRoomDataInternalRequestDefaultTypeInternal _GetRoomDataInternalRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<39> GetRoomDataInternalRequest_class_data_;
class GetRoomListGUIRequest;
struct GetRoomListGUIRequestDefaultTypeInternal;
extern GetRoomListGUIRequestDefaultTypeInternal _GetRoomListGUIRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<34> GetRoomListGUIRequest_class_data_;
class GetRoomMemberDataExternalListResponse;
struct GetRoomMemberDataExternalListResponseDefaultTypeInternal;
extern GetRoomMemberDataExternalListResponseDefaultTypeInternal _GetRoomMemberDataExternalListResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<50> GetRoomMemberDataExternalListResponse_class_data_;
class GetRoomMemberDataInternalRequest;
struct GetRoomMemberDataInternalRequestDefaultTypeInternal;
extern GetRoomMemberDataInternalRequestDefaultTypeInternal _GetRoomMemberDataInternalRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<45> GetRoomMemberDataInternalRequest_class_data_;
class GetScoreFriendsRequest;
struct GetScoreFriendsRequestDefaultTypeInternal;
extern GetScoreFriendsRequestDefaultTypeInternal _GetScoreFriendsRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<35> GetScoreFriendsRequest_class_data_;
class GetScoreGameDataRequest;
struct GetScoreGameDataRequestDefaultTypeInternal;
extern GetScoreGameDataRequestDefaultTypeInternal _GetScoreGameDataRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<36> GetScoreGameDataRequest_class_data_;
class GetScoreNpIdRequest;
struct GetScoreNpIdRequestDefaultTypeInternal;
extern GetScoreNpIdRequestDefaultTypeInternal _GetScoreNpIdRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<32> GetScoreNpIdRequest_class_data_;
class GetScoreRangeRequest;
struct GetScoreRangeRequestDefaultTypeInternal;
extern GetScoreRangeRequestDefaultTypeInternal _GetScoreRangeRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<33> GetScoreRangeRequest_class_data_;
class GetScoreResponse;
struct GetScoreResponseDefaultTypeInternal;
extern GetScoreResponseDefaultTypeInternal _GetScoreResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<29> GetScoreResponse_class_data_;
class GroupConfig;
struct GroupConfigDefaultTypeInternal;
extern GroupConfigDefaultTypeInternal _GroupConfig_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<24> GroupConfig_class_data_;
class IntAttr;
struct IntAttrDefaultTypeInternal;
extern IntAttrDefaultTypeInternal _IntAttr_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<20> IntAttr_class_data_;
class IntSearchFilter;
struct IntSearchFilterDefaultTypeInternal;
extern IntSearchFilterDefaultTypeInternal _IntSearchFilter_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<28> IntSearchFilter_class_data_;
class JoinRoomRequest;
struct JoinRoomRequestDefaultTypeInternal;
extern JoinRoomRequestDefaultTypeInternal _JoinRoomRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<28> JoinRoomRequest_class_data_;
class JoinRoomResponse;
struct JoinRoomResponseDefaultTypeInternal;
extern JoinRoomResponseDefaultTypeInternal _JoinRoomResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<29> JoinRoomResponse_class_data_;
class LeaveRoomRequest;
struct LeaveRoomRequestDefaultTypeInternal;
extern LeaveRoomRequestDefaultTypeInternal _LeaveRoomRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<29> LeaveRoomRequest_class_data_;
class Matching2SignalingInfo;
struct Matching2SignalingInfoDefaultTypeInternal;
extern Matching2SignalingInfoDefaultTypeInternal _Matching2SignalingInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<35> Matching2SignalingInfo_class_data_;
class MatchingAttr;
struct MatchingAttrDefaultTypeInternal;
extern MatchingAttrDefaultTypeInternal _MatchingAttr_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<25> MatchingAttr_class_data_;
class MatchingGuiRoomId;
struct MatchingGuiRoomIdDefaultTypeInternal;
extern MatchingGuiRoomIdDefaultTypeInternal _MatchingGuiRoomId_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<30> MatchingGuiRoomId_class_data_;
class MatchingRoom;
struct MatchingRoomDefaultTypeInternal;
extern MatchingRoomDefaultTypeInternal _MatchingRoom_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<25> MatchingRoom_class_data_;
class MatchingRoomList;
struct MatchingRoomListDefaultTypeInternal;
extern MatchingRoomListDefaultTypeInternal _MatchingRoomList_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<29> MatchingRoomList_class_data_;
class MatchingRoomStatus;
struct MatchingRoomStatusDefaultTypeInternal;
extern MatchingRoomStatusDefaultTypeInternal _MatchingRoomStatus_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<31> MatchingRoomStatus_class_data_;
class MatchingSearchCondition;
struct MatchingSearchConditionDefaultTypeInternal;
extern MatchingSearchConditionDefaultTypeInternal _MatchingSearchCondition_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<36> MatchingSearchCondition_class_data_;
class MatchingSearchJoinRoomInfo;
struct MatchingSearchJoinRoomInfoDefaultTypeInternal;
extern MatchingSearchJoinRoomInfoDefaultTypeInternal _MatchingSearchJoinRoomInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<39> MatchingSearchJoinRoomInfo_class_data_;
class MatchingSignalingInfo;
struct MatchingSignalingInfoDefaultTypeInternal;
extern MatchingSignalingInfoDefaultTypeInternal _MatchingSignalingInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<34> MatchingSignalingInfo_class_data_;
class MessageDetails;
struct MessageDetailsDefaultTypeInternal;
extern MessageDetailsDefaultTypeInternal _MessageDetails_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<27> MessageDetails_class_data_;
class NotificationUserJoinedRoom;
struct NotificationUserJoinedRoomDefaultTypeInternal;
extern NotificationUserJoinedRoomDefaultTypeInternal _NotificationUserJoinedRoom_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<39> NotificationUserJoinedRoom_class_data_;
class OptParam;
struct OptParamDefaultTypeInternal;
extern OptParamDefaultTypeInternal _OptParam_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<21> OptParam_class_data_;
class PresenceOptionData;
struct PresenceOptionDataDefaultTypeInternal;
extern PresenceOptionDataDefaultTypeInternal _PresenceOptionData_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<31> PresenceOptionData_class_data_;
class QuickMatchGUIRequest;
struct QuickMatchGUIRequestDefaultTypeInternal;
extern QuickMatchGUIRequestDefaultTypeInternal _QuickMatchGUIRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<33> QuickMatchGUIRequest_class_data_;
class RecordScoreGameDataRequest;
struct RecordScoreGameDataRequestDefaultTypeInternal;
extern RecordScoreGameDataRequestDefaultTypeInternal _RecordScoreGameDataRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<39> RecordScoreGameDataRequest_class_data_;
class RecordScoreRequest;
struct RecordScoreRequestDefaultTypeInternal;
extern RecordScoreRequestDefaultTypeInternal _RecordScoreRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<31> RecordScoreRequest_class_data_;
class RoomDataExternal;
struct RoomDataExternalDefaultTypeInternal;
extern RoomDataExternalDefaultTypeInternal _RoomDataExternal_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<29> RoomDataExternal_class_data_;
class RoomDataInternal;
struct RoomDataInternalDefaultTypeInternal;
extern RoomDataInternalDefaultTypeInternal _RoomDataInternal_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<29> RoomDataInternal_class_data_;
class RoomDataInternalUpdateInfo;
struct RoomDataInternalUpdateInfoDefaultTypeInternal;
extern RoomDataInternalUpdateInfoDefaultTypeInternal _RoomDataInternalUpdateInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<39> RoomDataInternalUpdateInfo_class_data_;
class RoomGroup;
struct RoomGroupDefaultTypeInternal;
extern RoomGroupDefaultTypeInternal _RoomGroup_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<22> RoomGroup_class_data_;
class RoomGroupPasswordConfig;
struct RoomGroupPasswordConfigDefaultTypeInternal;
extern RoomGroupPasswordConfigDefaultTypeInternal _RoomGroupPasswordConfig_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<36> RoomGroupPasswordConfig_class_data_;
class RoomMemberBinAttrInternal;
struct RoomMemberBinAttrInternalDefaultTypeInternal;
extern RoomMemberBinAttrInternalDefaultTypeInternal _RoomMemberBinAttrInternal_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<38> RoomMemberBinAttrInternal_class_data_;
class RoomMemberDataExternal;
struct RoomMemberDataExternalDefaultTypeInternal;
extern RoomMemberDataExternalDefaultTypeInternal _RoomMemberDataExternal_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<35> RoomMemberDataExternal_class_data_;
class RoomMemberDataInternal;
struct RoomMemberDataInternalDefaultTypeInternal;
extern RoomMemberDataInternalDefaultTypeInternal _RoomMemberDataInternal_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<35> RoomMemberDataInternal_class_data_;
class RoomMemberDataInternalUpdateInfo;
struct RoomMemberDataInternalUpdateInfoDefaultTypeInternal;
extern RoomMemberDataInternalUpdateInfoDefaultTypeInternal _RoomMemberDataInternalUpdateInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<45> RoomMemberDataInternalUpdateInfo_class_data_;
class RoomMemberUpdateInfo;
struct RoomMemberUpdateInfoDefaultTypeInternal;
extern RoomMemberUpdateInfoDefaultTypeInternal _RoomMemberUpdateInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<33> RoomMemberUpdateInfo_class_data_;
class RoomMessageInfo;
struct RoomMessageInfoDefaultTypeInternal;
extern RoomMessageInfoDefaultTypeInternal _RoomMessageInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<28> RoomMessageInfo_class_data_;
class RoomUpdateInfo;
struct RoomUpdateInfoDefaultTypeInternal;
extern RoomUpdateInfoDefaultTypeInternal _RoomUpdateInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<27> RoomUpdateInfo_class_data_;
class ScoreInfo;
struct ScoreInfoDefaultTypeInternal;
extern ScoreInfoDefaultTypeInternal _ScoreInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<22> ScoreInfo_class_data_;
class ScoreNpIdPcId;
struct ScoreNpIdPcIdDefaultTypeInternal;
extern ScoreNpIdPcIdDefaultTypeInternal _ScoreNpIdPcId_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<26> ScoreNpIdPcId_class_data_;
class ScoreRankData;
struct ScoreRankDataDefaultTypeInternal;
extern ScoreRankDataDefaultTypeInternal _ScoreRankData_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<26> ScoreRankData_class_data_;
class SearchJoinRoomGUIRequest;
struct SearchJoinRoomGUIRequestDefaultTypeInternal;
extern SearchJoinRoomGUIRequestDefaultTypeInternal _SearchJoinRoomGUIRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<37> SearchJoinRoomGUIRequest_class_data_;
class SearchRoomRequest;
struct SearchRoomRequestDefaultTypeInternal;
extern SearchRoomRequestDefaultTypeInternal _SearchRoomRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<30> SearchRoomRequest_class_data_;
class SearchRoomResponse;
struct SearchRoomResponseDefaultTypeInternal;
extern SearchRoomResponseDefaultTypeInternal _SearchRoomResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<31> SearchRoomResponse_class_data_;
class SendMessageRequest;
struct SendMessageRequestDefaultTypeInternal;
extern SendMessageRequestDefaultTypeInternal _SendMessageRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<31> SendMessageRequest_class_data_;
class SendRoomMessageRequest;
struct SendRoomMessageRequestDefaultTypeInternal;
extern SendRoomMessageRequestDefaultTypeInternal _SendRoomMessageRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<35> SendRoomMessageRequest_class_data_;
class SetPresenceRequest;
struct SetPresenceRequestDefaultTypeInternal;
extern SetPresenceRequestDefaultTypeInternal _SetPresenceRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<31> SetPresenceRequest_class_data_;
class SetRoomDataExternalRequest;
struct SetRoomDataExternalRequestDefaultTypeInternal;
extern SetRoomDataExternalRequestDefaultTypeInternal _SetRoomDataExternalRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<39> SetRoomDataExternalRequest_class_data_;
class SetRoomDataInternalRequest;
struct SetRoomDataInternalRequestDefaultTypeInternal;
extern SetRoomDataInternalRequestDefaultTypeInternal _SetRoomDataInternalRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<39> SetRoomDataInternalRequest_class_data_;
class SetRoomMemberDataInternalRequest;
struct SetRoomMemberDataInternalRequestDefaultTypeInternal;
extern SetRoomMemberDataInternalRequestDefaultTypeInternal _SetRoomMemberDataInternalRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<45> SetRoomMemberDataInternalRequest_class_data_;
class SetRoomSearchFlagGUI;
struct SetRoomSearchFlagGUIDefaultTypeInternal;
extern SetRoomSearchFlagGUIDefaultTypeInternal _SetRoomSearchFlagGUI_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<33> SetRoomSearchFlagGUI_class_data_;
class SetUserInfo;
struct SetUserInfoDefaultTypeInternal;
extern SetUserInfoDefaultTypeInternal _SetUserInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<24> SetUserInfo_class_data_;
class SignalingAddr;
struct SignalingAddrDefaultTypeInternal;
extern SignalingAddrDefaultTypeInternal _SignalingAddr_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<26> SignalingAddr_class_data_;
class TusAddAndGetVariableRequest;
struct TusAddAndGetVariableRequestDefaultTypeInternal;
extern TusAddAndGetVariableRequestDefaultTypeInternal _TusAddAndGetVariableRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<40> TusAddAndGetVariableRequest_class_data_;
class TusData;
struct TusDataDefaultTypeInternal;
extern TusDataDefaultTypeInternal _TusData_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<20> TusData_class_data_;
class TusDataStatus;
struct TusDataStatusDefaultTypeInternal;
extern TusDataStatusDefaultTypeInternal _TusDataStatus_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<26> TusDataStatus_class_data_;
class TusDataStatusResponse;
struct TusDataStatusResponseDefaultTypeInternal;
extern TusDataStatusResponseDefaultTypeInternal _TusDataStatusResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<34> TusDataStatusResponse_class_data_;
class TusDeleteMultiSlotDataRequest;
struct TusDeleteMultiSlotDataRequestDefaultTypeInternal;
extern TusDeleteMultiSlotDataRequestDefaultTypeInternal _TusDeleteMultiSlotDataRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<42> TusDeleteMultiSlotDataRequest_class_data_;
class TusDeleteMultiSlotVariableRequest;
struct TusDeleteMultiSlotVariableRequestDefaultTypeInternal;
extern TusDeleteMultiSlotVariableRequestDefaultTypeInternal _TusDeleteMultiSlotVariableRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<46> TusDeleteMultiSlotVariableRequest_class_data_;
class TusGetDataRequest;
struct TusGetDataRequestDefaultTypeInternal;
extern TusGetDataRequestDefaultTypeInternal _TusGetDataRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<30> TusGetDataRequest_class_data_;
class TusGetFriendsDataStatusRequest;
struct TusGetFriendsDataStatusRequestDefaultTypeInternal;
extern TusGetFriendsDataStatusRequestDefaultTypeInternal _TusGetFriendsDataStatusRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<43> TusGetFriendsDataStatusRequest_class_data_;
class TusGetFriendsVariableRequest;
struct TusGetFriendsVariableRequestDefaultTypeInternal;
extern TusGetFriendsVariableRequestDefaultTypeInternal _TusGetFriendsVariableRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<41> TusGetFriendsVariableRequest_class_data_;
class TusGetMultiSlotDataStatusRequest;
struct TusGetMultiSlotDataStatusRequestDefaultTypeInternal;
extern TusGetMultiSlotDataStatusRequestDefaultTypeInternal _TusGetMultiSlotDataStatusRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<45> TusGetMultiSlotDataStatusRequest_class_data_;
class TusGetMultiSlotVariableRequest;
struct TusGetMultiSlotVariableRequestDefaultTypeInternal;
extern TusGetMultiSlotVariableRequestDefaultTypeInternal _TusGetMultiSlotVariableRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<43> TusGetMultiSlotVariableRequest_class_data_;
class TusGetMultiUserDataStatusRequest;
struct TusGetMultiUserDataStatusRequestDefaultTypeInternal;
extern TusGetMultiUserDataStatusRequestDefaultTypeInternal _TusGetMultiUserDataStatusRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<45> TusGetMultiUserDataStatusRequest_class_data_;
class TusGetMultiUserVariableRequest;
struct TusGetMultiUserVariableRequestDefaultTypeInternal;
extern TusGetMultiUserVariableRequestDefaultTypeInternal _TusGetMultiUserVariableRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<43> TusGetMultiUserVariableRequest_class_data_;
class TusSetDataRequest;
struct TusSetDataRequestDefaultTypeInternal;
extern TusSetDataRequestDefaultTypeInternal _TusSetDataRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<30> TusSetDataRequest_class_data_;
class TusSetMultiSlotVariableRequest;
struct TusSetMultiSlotVariableRequestDefaultTypeInternal;
extern TusSetMultiSlotVariableRequestDefaultTypeInternal _TusSetMultiSlotVariableRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<43> TusSetMultiSlotVariableRequest_class_data_;
class TusTryAndSetVariableRequest;
struct TusTryAndSetVariableRequestDefaultTypeInternal;
extern TusTryAndSetVariableRequestDefaultTypeInternal _TusTryAndSetVariableRequest_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<40> TusTryAndSetVariableRequest_class_data_;
class TusUser;
struct TusUserDefaultTypeInternal;
extern TusUserDefaultTypeInternal _TusUser_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<20> TusUser_class_data_;
class TusVarResponse;
struct TusVarResponseDefaultTypeInternal;
extern TusVarResponseDefaultTypeInternal _TusVarResponse_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<27> TusVarResponse_class_data_;
class TusVariable;
struct TusVariableDefaultTypeInternal;
extern TusVariableDefaultTypeInternal _TusVariable_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<24> TusVariable_class_data_;
class UserInfo;
struct UserInfoDefaultTypeInternal;
extern UserInfoDefaultTypeInternal _UserInfo_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<21> UserInfo_class_data_;
class uint16;
struct uint16DefaultTypeInternal;
extern uint16DefaultTypeInternal _uint16_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<19> uint16_class_data_;
class uint8;
struct uint8DefaultTypeInternal;
extern uint8DefaultTypeInternal _uint8_default_instance_;
extern const ::google::protobuf::internal::ClassDataLite<18> uint8_class_data_;
}  // namespace np2_structs
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google

namespace np2_structs {

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


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

class uint8 final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.uint8) */ {
 public:
  inline uint8() : uint8(nullptr) {}
  ~uint8() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const uint8& default_instance() {
    return *reinterpret_cast<const uint8*>(
        &_uint8_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 0;
  friend void swap(uint8& a, uint8& b) { a.Swap(&b); }
  inline void Swap(uint8* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(uint8* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kValueFieldNumber = 1,
  };
  // uint32 value = 1;
  void clear_value() ;
  ::uint32_t value() const;
  void set_value(::uint32_t value);

  private:
  ::uint32_t _internal_value() const;
  void _internal_set_value(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.uint8)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<18> uint8_class_data_;
// -------------------------------------------------------------------

class uint16 final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.uint16) */ {
 public:
  inline uint16() : uint16(nullptr) {}
  ~uint16() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const uint16& default_instance() {
    return *reinterpret_cast<const uint16*>(
        &_uint16_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 1;
  friend void swap(uint16& a, uint16& b) { a.Swap(&b); }
  inline void Swap(uint16* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(uint16* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kValueFieldNumber = 1,
  };
  // uint32 value = 1;
  void clear_value() ;
  ::uint32_t value() const;
  void set_value(::uint32_t value);

  private:
  ::uint32_t _internal_value() const;
  void _internal_set_value(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.uint16)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<19> uint16_class_data_;
// -------------------------------------------------------------------

class UserInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.UserInfo) */ {
 public:
  inline UserInfo() : UserInfo(nullptr) {}
  ~UserInfo() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const UserInfo& default_instance() {
    return *reinterpret_cast<const UserInfo*>(
        &_UserInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 11;
  friend void swap(UserInfo& a, UserInfo& b) { a.Swap(&b); }
  inline void Swap(UserInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(UserInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNpIdFieldNumber = 1,
    kOnlineNameFieldNumber = 2,
    kAvatarUrlFieldNumber = 3,
  };
  // string npId = 1;
  void clear_npid() ;
  const ::std::string& npid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_npid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_npid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_npid();
  void set_allocated_npid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_npid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_npid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_npid();

  public:
  // string onlineName = 2;
  void clear_onlinename() ;
  const ::std::string& onlinename() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_onlinename(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_onlinename();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_onlinename();
  void set_allocated_onlinename(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_onlinename() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_onlinename(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_onlinename();

  public:
  // string avatarUrl = 3;
  void clear_avatarurl() ;
  const ::std::string& avatarurl() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_avatarurl(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_avatarurl();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_avatarurl();
  void set_allocated_avatarurl(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_avatarurl() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_avatarurl(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_avatarurl();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.UserInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   0, 52,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<21> UserInfo_class_data_;
// -------------------------------------------------------------------

class TusVariable final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusVariable) */ {
 public:
  inline TusVariable() : TusVariable(nullptr) {}
  ~TusVariable() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusVariable& default_instance() {
    return *reinterpret_cast<const TusVariable*>(
        &_TusVariable_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 57;
  friend void swap(TusVariable& a, TusVariable& b) { a.Swap(&b); }
  inline void Swap(TusVariable* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusVariable* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kOwnerIdFieldNumber = 1,
    kLastChangedAuthorIdFieldNumber = 4,
    kLastChangedDateFieldNumber = 3,
    kVariableFieldNumber = 5,
    kOldVariableFieldNumber = 6,
    kHasDataFieldNumber = 2,
  };
  // string ownerId = 1;
  void clear_ownerid() ;
  const ::std::string& ownerid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_ownerid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_ownerid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_ownerid();
  void set_allocated_ownerid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_ownerid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_ownerid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_ownerid();

  public:
  // string lastChangedAuthorId = 4;
  void clear_lastchangedauthorid() ;
  const ::std::string& lastchangedauthorid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_lastchangedauthorid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_lastchangedauthorid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_lastchangedauthorid();
  void set_allocated_lastchangedauthorid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_lastchangedauthorid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_lastchangedauthorid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_lastchangedauthorid();

  public:
  // uint64 lastChangedDate = 3;
  void clear_lastchangeddate() ;
  ::uint64_t lastchangeddate() const;
  void set_lastchangeddate(::uint64_t value);

  private:
  ::uint64_t _internal_lastchangeddate() const;
  void _internal_set_lastchangeddate(::uint64_t value);

  public:
  // int64 variable = 5;
  void clear_variable() ;
  ::int64_t variable() const;
  void set_variable(::int64_t value);

  private:
  ::int64_t _internal_variable() const;
  void _internal_set_variable(::int64_t value);

  public:
  // int64 oldVariable = 6;
  void clear_oldvariable() ;
  ::int64_t oldvariable() const;
  void set_oldvariable(::int64_t value);

  private:
  ::int64_t _internal_oldvariable() const;
  void _internal_set_oldvariable(::int64_t value);

  public:
  // bool hasData = 2;
  void clear_hasdata() ;
  bool hasdata() const;
  void set_hasdata(bool value);

  private:
  bool _internal_hasdata() const;
  void _internal_set_hasdata(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusVariable)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 6,
                                   0, 58,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusVariable& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr ownerid_;
    ::google::protobuf::internal::ArenaStringPtr lastchangedauthorid_;
    ::uint64_t lastchangeddate_;
    ::int64_t variable_;
    ::int64_t oldvariable_;
    bool hasdata_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<24> TusVariable_class_data_;
// -------------------------------------------------------------------

class TusUser final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusUser) */ {
 public:
  inline TusUser() : TusUser(nullptr) {}
  ~TusUser() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusUser& default_instance() {
    return *reinterpret_cast<const TusUser*>(
        &_TusUser_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 56;
  friend void swap(TusUser& a, TusUser& b) { a.Swap(&b); }
  inline void Swap(TusUser* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusUser* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNpidFieldNumber = 2,
    kVuserFieldNumber = 1,
  };
  // string npid = 2;
  void clear_npid() ;
  const ::std::string& npid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_npid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_npid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_npid();
  void set_allocated_npid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_npid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_npid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_npid();

  public:
  // bool vuser = 1;
  void clear_vuser() ;
  bool vuser() const;
  void set_vuser(bool value);

  private:
  bool _internal_vuser() const;
  void _internal_set_vuser(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusUser)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 32,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<20> TusUser_class_data_;
// -------------------------------------------------------------------

class TusGetFriendsVariableRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusGetFriendsVariableRequest) */ {
 public:
  inline TusGetFriendsVariableRequest() : TusGetFriendsVariableRequest(nullptr) {}
  ~TusGetFriendsVariableRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusGetFriendsVariableRequest& default_instance() {
    return *reinterpret_cast<const TusGetFriendsVariableRequest*>(
        &_TusGetFriendsVariableRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 62;
  friend void swap(TusGetFriendsVariableRequest& a, TusGetFriendsVariableRequest& b) { a.Swap(&b); }
  inline void Swap(TusGetFriendsVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusGetFriendsVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSlotIdFieldNumber = 1,
    kIncludeSelfFieldNumber = 2,
    kSortTypeFieldNumber = 3,
    kArrayNumFieldNumber = 4,
  };
  // int32 slotId = 1;
  void clear_slotid() ;
  ::int32_t slotid() const;
  void set_slotid(::int32_t value);

  private:
  ::int32_t _internal_slotid() const;
  void _internal_set_slotid(::int32_t value);

  public:
  // bool includeSelf = 2;
  void clear_includeself() ;
  bool includeself() const;
  void set_includeself(bool value);

  private:
  bool _internal_includeself() const;
  void _internal_set_includeself(bool value);

  public:
  // int32 sortType = 3;
  void clear_sorttype() ;
  ::int32_t sorttype() const;
  void set_sorttype(::int32_t value);

  private:
  ::int32_t _internal_sorttype() const;
  void _internal_set_sorttype(::int32_t value);

  public:
  // uint32 arrayNum = 4;
  void clear_arraynum() ;
  ::uint32_t arraynum() const;
  void set_arraynum(::uint32_t value);

  private:
  ::uint32_t _internal_arraynum() const;
  void _internal_set_arraynum(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusGetFriendsVariableRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusGetFriendsVariableRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int32_t slotid_;
    bool includeself_;
    ::int32_t sorttype_;
    ::uint32_t arraynum_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<41> TusGetFriendsVariableRequest_class_data_;
// -------------------------------------------------------------------

class TusGetFriendsDataStatusRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusGetFriendsDataStatusRequest) */ {
 public:
  inline TusGetFriendsDataStatusRequest() : TusGetFriendsDataStatusRequest(nullptr) {}
  ~TusGetFriendsDataStatusRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusGetFriendsDataStatusRequest& default_instance() {
    return *reinterpret_cast<const TusGetFriendsDataStatusRequest*>(
        &_TusGetFriendsDataStatusRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 73;
  friend void swap(TusGetFriendsDataStatusRequest& a, TusGetFriendsDataStatusRequest& b) { a.Swap(&b); }
  inline void Swap(TusGetFriendsDataStatusRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusGetFriendsDataStatusRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSlotIdFieldNumber = 1,
    kIncludeSelfFieldNumber = 2,
    kSortTypeFieldNumber = 3,
    kArrayNumFieldNumber = 4,
  };
  // int32 slotId = 1;
  void clear_slotid() ;
  ::int32_t slotid() const;
  void set_slotid(::int32_t value);

  private:
  ::int32_t _internal_slotid() const;
  void _internal_set_slotid(::int32_t value);

  public:
  // bool includeSelf = 2;
  void clear_includeself() ;
  bool includeself() const;
  void set_includeself(bool value);

  private:
  bool _internal_includeself() const;
  void _internal_set_includeself(bool value);

  public:
  // int32 sortType = 3;
  void clear_sorttype() ;
  ::int32_t sorttype() const;
  void set_sorttype(::int32_t value);

  private:
  ::int32_t _internal_sorttype() const;
  void _internal_set_sorttype(::int32_t value);

  public:
  // uint32 arrayNum = 4;
  void clear_arraynum() ;
  ::uint32_t arraynum() const;
  void set_arraynum(::uint32_t value);

  private:
  ::uint32_t _internal_arraynum() const;
  void _internal_set_arraynum(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusGetFriendsDataStatusRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusGetFriendsDataStatusRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::int32_t slotid_;
    bool includeself_;
    ::int32_t sorttype_;
    ::uint32_t arraynum_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<43> TusGetFriendsDataStatusRequest_class_data_;
// -------------------------------------------------------------------

class TusDataStatus final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusDataStatus) */ {
 public:
  inline TusDataStatus() : TusDataStatus(nullptr) {}
  ~TusDataStatus() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusDataStatus& default_instance() {
    return *reinterpret_cast<const TusDataStatus*>(
        &_TusDataStatus_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 67;
  friend void swap(TusDataStatus& a, TusDataStatus& b) { a.Swap(&b); }
  inline void Swap(TusDataStatus* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusDataStatus* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kOwnerIdFieldNumber = 1,
    kLastChangedAuthorIdFieldNumber = 4,
    kInfoFieldNumber = 5,
    kLastChangedDateFieldNumber = 3,
    kHasDataFieldNumber = 2,
  };
  // string ownerId = 1;
  void clear_ownerid() ;
  const ::std::string& ownerid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_ownerid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_ownerid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_ownerid();
  void set_allocated_ownerid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_ownerid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_ownerid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_ownerid();

  public:
  // string lastChangedAuthorId = 4;
  void clear_lastchangedauthorid() ;
  const ::std::string& lastchangedauthorid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_lastchangedauthorid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_lastchangedauthorid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_lastchangedauthorid();
  void set_allocated_lastchangedauthorid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_lastchangedauthorid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_lastchangedauthorid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_lastchangedauthorid();

  public:
  // bytes info = 5;
  void clear_info() ;
  const ::std::string& info() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_info(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_info();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_info();
  void set_allocated_info(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_info() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_info(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_info();

  public:
  // uint64 lastChangedDate = 3;
  void clear_lastchangeddate() ;
  ::uint64_t lastchangeddate() const;
  void set_lastchangeddate(::uint64_t value);

  private:
  ::uint64_t _internal_lastchangeddate() const;
  void _internal_set_lastchangeddate(::uint64_t value);

  public:
  // bool hasData = 2;
  void clear_hasdata() ;
  bool hasdata() const;
  void set_hasdata(bool value);

  private:
  bool _internal_hasdata() const;
  void _internal_set_hasdata(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusDataStatus)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   0, 60,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusDataStatus& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr ownerid_;
    ::google::protobuf::internal::ArenaStringPtr lastchangedauthorid_;
    ::google::protobuf::internal::ArenaStringPtr info_;
    ::uint64_t lastchangeddate_;
    bool hasdata_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<26> TusDataStatus_class_data_;
// -------------------------------------------------------------------

class SetRoomSearchFlagGUI final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SetRoomSearchFlagGUI) */ {
 public:
  inline SetRoomSearchFlagGUI() : SetRoomSearchFlagGUI(nullptr) {}
  ~SetRoomSearchFlagGUI() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SetRoomSearchFlagGUI& default_instance() {
    return *reinterpret_cast<const SetRoomSearchFlagGUI*>(
        &_SetRoomSearchFlagGUI_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 85;
  friend void swap(SetRoomSearchFlagGUI& a, SetRoomSearchFlagGUI& b) { a.Swap(&b); }
  inline void Swap(SetRoomSearchFlagGUI* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SetRoomSearchFlagGUI* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kRoomidFieldNumber = 1,
    kStealthFieldNumber = 2,
  };
  // bytes roomid = 1;
  void clear_roomid() ;
  const ::std::string& roomid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_roomid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_roomid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_roomid();
  void set_allocated_roomid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_roomid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_roomid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_roomid();

  public:
  // bool stealth = 2;
  void clear_stealth() ;
  bool stealth() const;
  void set_stealth(bool value);

  private:
  bool _internal_stealth() const;
  void _internal_set_stealth(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SetRoomSearchFlagGUI)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<33> SetRoomSearchFlagGUI_class_data_;
// -------------------------------------------------------------------

class SetPresenceRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SetPresenceRequest) */ {
 public:
  inline SetPresenceRequest() : SetPresenceRequest(nullptr) {}
  ~SetPresenceRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SetPresenceRequest& default_instance() {
    return *reinterpret_cast<const SetPresenceRequest*>(
        &_SetPresenceRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 75;
  friend void swap(SetPresenceRequest& a, SetPresenceRequest& b) { a.Swap(&b); }
  inline void Swap(SetPresenceRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SetPresenceRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kTitleFieldNumber = 1,
    kStatusFieldNumber = 2,
    kCommentFieldNumber = 3,
    kDataFieldNumber = 4,
  };
  // string title = 1;
  void clear_title() ;
  const ::std::string& title() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_title(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_title();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_title();
  void set_allocated_title(::std::string* PROTOBUF_NULLABLE value);

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

  public:
  // string status = 2;
  void clear_status() ;
  const ::std::string& status() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_status(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_status();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_status();
  void set_allocated_status(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_status() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_status(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_status();

  public:
  // string comment = 3;
  void clear_comment() ;
  const ::std::string& comment() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_comment(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_comment();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_comment();
  void set_allocated_comment(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_comment() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_comment(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_comment();

  public:
  // bytes data = 4;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SetPresenceRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   0, 57,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<31> SetPresenceRequest_class_data_;
// -------------------------------------------------------------------

class SendMessageRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SendMessageRequest) */ {
 public:
  inline SendMessageRequest() : SendMessageRequest(nullptr) {}
  ~SendMessageRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SendMessageRequest& default_instance() {
    return *reinterpret_cast<const SendMessageRequest*>(
        &_SendMessageRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 44;
  friend void swap(SendMessageRequest& a, SendMessageRequest& b) { a.Swap(&b); }
  inline void Swap(SendMessageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SendMessageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNpidsFieldNumber = 2,
    kMessageFieldNumber = 1,
  };
  // repeated string npids = 2;
  int npids_size() const;
  private:
  int _internal_npids_size() const;

  public:
  void clear_npids() ;
  const ::std::string& npids(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_npids(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_npids(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_npids();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_npids(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& npids() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_npids();

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

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

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

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SendMessageRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 44,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SendMessageRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField<::std::string> npids_;
    ::google::protobuf::internal::ArenaStringPtr message_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<31> SendMessageRequest_class_data_;
// -------------------------------------------------------------------

class ScoreRankData final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.ScoreRankData) */ {
 public:
  inline ScoreRankData() : ScoreRankData(nullptr) {}
  ~ScoreRankData() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const ScoreRankData& default_instance() {
    return *reinterpret_cast<const ScoreRankData*>(
        &_ScoreRankData_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 51;
  friend void swap(ScoreRankData& a, ScoreRankData& b) { a.Swap(&b); }
  inline void Swap(ScoreRankData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ScoreRankData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNpIdFieldNumber = 1,
    kOnlineNameFieldNumber = 2,
    kPcIdFieldNumber = 3,
    kRankFieldNumber = 4,
    kScoreFieldNumber = 5,
    kRecordDateFieldNumber = 7,
    kHasGameDataFieldNumber = 6,
  };
  // string npId = 1;
  void clear_npid() ;
  const ::std::string& npid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_npid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_npid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_npid();
  void set_allocated_npid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_npid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_npid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_npid();

  public:
  // string onlineName = 2;
  void clear_onlinename() ;
  const ::std::string& onlinename() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_onlinename(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_onlinename();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_onlinename();
  void set_allocated_onlinename(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_onlinename() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_onlinename(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_onlinename();

  public:
  // int32 pcId = 3;
  void clear_pcid() ;
  ::int32_t pcid() const;
  void set_pcid(::int32_t value);

  private:
  ::int32_t _internal_pcid() const;
  void _internal_set_pcid(::int32_t value);

  public:
  // uint32 rank = 4;
  void clear_rank() ;
  ::uint32_t rank() const;
  void set_rank(::uint32_t value);

  private:
  ::uint32_t _internal_rank() const;
  void _internal_set_rank(::uint32_t value);

  public:
  // int64 score = 5;
  void clear_score() ;
  ::int64_t score() const;
  void set_score(::int64_t value);

  private:
  ::int64_t _internal_score() const;
  void _internal_set_score(::int64_t value);

  public:
  // uint64 recordDate = 7;
  void clear_recorddate() ;
  ::uint64_t recorddate() const;
  void set_recorddate(::uint64_t value);

  private:
  ::uint64_t _internal_recorddate() const;
  void _internal_set_recorddate(::uint64_t value);

  public:
  // bool hasGameData = 6;
  void clear_hasgamedata() ;
  bool hasgamedata() const;
  void set_hasgamedata(bool value);

  private:
  bool _internal_hasgamedata() const;
  void _internal_set_hasgamedata(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.ScoreRankData)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 7,
                                   0, 48,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const ScoreRankData& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr npid_;
    ::google::protobuf::internal::ArenaStringPtr onlinename_;
    ::int32_t pcid_;
    ::uint32_t rank_;
    ::int64_t score_;
    ::uint64_t recorddate_;
    bool hasgamedata_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<26> ScoreRankData_class_data_;
// -------------------------------------------------------------------

class ScoreNpIdPcId final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.ScoreNpIdPcId) */ {
 public:
  inline ScoreNpIdPcId() : ScoreNpIdPcId(nullptr) {}
  ~ScoreNpIdPcId() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const ScoreNpIdPcId& default_instance() {
    return *reinterpret_cast<const ScoreNpIdPcId*>(
        &_ScoreNpIdPcId_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 48;
  friend void swap(ScoreNpIdPcId& a, ScoreNpIdPcId& b) { a.Swap(&b); }
  inline void Swap(ScoreNpIdPcId* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ScoreNpIdPcId* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNpidFieldNumber = 1,
    kPcIdFieldNumber = 2,
  };
  // string npid = 1;
  void clear_npid() ;
  const ::std::string& npid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_npid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_npid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_npid();
  void set_allocated_npid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_npid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_npid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_npid();

  public:
  // int32 pcId = 2;
  void clear_pcid() ;
  ::int32_t pcid() const;
  void set_pcid(::int32_t value);

  private:
  ::int32_t _internal_pcid() const;
  void _internal_set_pcid(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.ScoreNpIdPcId)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 38,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<26> ScoreNpIdPcId_class_data_;
// -------------------------------------------------------------------

class ScoreInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.ScoreInfo) */ {
 public:
  inline ScoreInfo() : ScoreInfo(nullptr) {}
  ~ScoreInfo() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const ScoreInfo& default_instance() {
    return *reinterpret_cast<const ScoreInfo*>(
        &_ScoreInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 52;
  friend void swap(ScoreInfo& a, ScoreInfo& b) { a.Swap(&b); }
  inline void Swap(ScoreInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ScoreInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDataFieldNumber = 1,
  };
  // bytes data = 1;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.ScoreInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<22> ScoreInfo_class_data_;
// -------------------------------------------------------------------

class RecordScoreRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RecordScoreRequest) */ {
 public:
  inline RecordScoreRequest() : RecordScoreRequest(nullptr) {}
  ~RecordScoreRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RecordScoreRequest& default_instance() {
    return *reinterpret_cast<const RecordScoreRequest*>(
        &_RecordScoreRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 46;
  friend void swap(RecordScoreRequest& a, RecordScoreRequest& b) { a.Swap(&b); }
  inline void Swap(RecordScoreRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RecordScoreRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kCommentFieldNumber = 4,
    kDataFieldNumber = 5,
    kBoardIdFieldNumber = 1,
    kPcIdFieldNumber = 2,
    kScoreFieldNumber = 3,
  };
  // string comment = 4;
  void clear_comment() ;
  const ::std::string& comment() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_comment(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_comment();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_comment();
  void set_allocated_comment(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_comment() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_comment(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_comment();

  public:
  // bytes data = 5;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // uint32 boardId = 1;
  void clear_boardid() ;
  ::uint32_t boardid() const;
  void set_boardid(::uint32_t value);

  private:
  ::uint32_t _internal_boardid() const;
  void _internal_set_boardid(::uint32_t value);

  public:
  // int32 pcId = 2;
  void clear_pcid() ;
  ::int32_t pcid() const;
  void set_pcid(::int32_t value);

  private:
  ::int32_t _internal_pcid() const;
  void _internal_set_pcid(::int32_t value);

  public:
  // int64 score = 3;
  void clear_score() ;
  ::int64_t score() const;
  void set_score(::int64_t value);

  private:
  ::int64_t _internal_score() const;
  void _internal_set_score(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RecordScoreRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   0, 46,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RecordScoreRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr comment_;
    ::google::protobuf::internal::ArenaStringPtr data_;
    ::uint32_t boardid_;
    ::int32_t pcid_;
    ::int64_t score_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<31> RecordScoreRequest_class_data_;
// -------------------------------------------------------------------

class RecordScoreGameDataRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RecordScoreGameDataRequest) */ {
 public:
  inline RecordScoreGameDataRequest() : RecordScoreGameDataRequest(nullptr) {}
  ~RecordScoreGameDataRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RecordScoreGameDataRequest& default_instance() {
    return *reinterpret_cast<const RecordScoreGameDataRequest*>(
        &_RecordScoreGameDataRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 54;
  friend void swap(RecordScoreGameDataRequest& a, RecordScoreGameDataRequest& b) { a.Swap(&b); }
  inline void Swap(RecordScoreGameDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RecordScoreGameDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kBoardIdFieldNumber = 1,
    kPcIdFieldNumber = 2,
    kScoreFieldNumber = 3,
  };
  // uint32 boardId = 1;
  void clear_boardid() ;
  ::uint32_t boardid() const;
  void set_boardid(::uint32_t value);

  private:
  ::uint32_t _internal_boardid() const;
  void _internal_set_boardid(::uint32_t value);

  public:
  // int32 pcId = 2;
  void clear_pcid() ;
  ::int32_t pcid() const;
  void set_pcid(::int32_t value);

  private:
  ::int32_t _internal_pcid() const;
  void _internal_set_pcid(::int32_t value);

  public:
  // int64 score = 3;
  void clear_score() ;
  ::int64_t score() const;
  void set_score(::int64_t value);

  private:
  ::int64_t _internal_score() const;
  void _internal_set_score(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RecordScoreGameDataRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RecordScoreGameDataRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t boardid_;
    ::int32_t pcid_;
    ::int64_t score_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<39> RecordScoreGameDataRequest_class_data_;
// -------------------------------------------------------------------

class PresenceOptionData final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.PresenceOptionData) */ {
 public:
  inline PresenceOptionData() : PresenceOptionData(nullptr) {}
  ~PresenceOptionData() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const PresenceOptionData& default_instance() {
    return *reinterpret_cast<const PresenceOptionData*>(
        &_PresenceOptionData_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 18;
  friend void swap(PresenceOptionData& a, PresenceOptionData& b) { a.Swap(&b); }
  inline void Swap(PresenceOptionData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(PresenceOptionData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDataFieldNumber = 1,
    kLenFieldNumber = 2,
  };
  // bytes data = 1;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // uint32 len = 2;
  void clear_len() ;
  ::uint32_t len() const;
  void set_len(::uint32_t value);

  private:
  ::uint32_t _internal_len() const;
  void _internal_set_len(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.PresenceOptionData)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   0, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<31> PresenceOptionData_class_data_;
// -------------------------------------------------------------------

class MatchingSearchCondition final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MatchingSearchCondition) */ {
 public:
  inline MatchingSearchCondition() : MatchingSearchCondition(nullptr) {}
  ~MatchingSearchCondition() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MatchingSearchCondition& default_instance() {
    return *reinterpret_cast<const MatchingSearchCondition*>(
        &_MatchingSearchCondition_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 76;
  friend void swap(MatchingSearchCondition& a, MatchingSearchCondition& b) { a.Swap(&b); }
  inline void Swap(MatchingSearchCondition* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MatchingSearchCondition* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kAttrTypeFieldNumber = 1,
    kAttrIdFieldNumber = 2,
    kCompOpFieldNumber = 3,
    kCompValueFieldNumber = 4,
  };
  // uint32 attr_type = 1;
  void clear_attr_type() ;
  ::uint32_t attr_type() const;
  void set_attr_type(::uint32_t value);

  private:
  ::uint32_t _internal_attr_type() const;
  void _internal_set_attr_type(::uint32_t value);

  public:
  // uint32 attr_id = 2;
  void clear_attr_id() ;
  ::uint32_t attr_id() const;
  void set_attr_id(::uint32_t value);

  private:
  ::uint32_t _internal_attr_id() const;
  void _internal_set_attr_id(::uint32_t value);

  public:
  // uint32 comp_op = 3;
  void clear_comp_op() ;
  ::uint32_t comp_op() const;
  void set_comp_op(::uint32_t value);

  private:
  ::uint32_t _internal_comp_op() const;
  void _internal_set_comp_op(::uint32_t value);

  public:
  // uint32 comp_value = 4;
  void clear_comp_value() ;
  ::uint32_t comp_value() const;
  void set_comp_value(::uint32_t value);

  private:
  ::uint32_t _internal_comp_value() const;
  void _internal_set_comp_value(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MatchingSearchCondition)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MatchingSearchCondition& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t attr_type_;
    ::uint32_t attr_id_;
    ::uint32_t comp_op_;
    ::uint32_t comp_value_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<36> MatchingSearchCondition_class_data_;
// -------------------------------------------------------------------

class MatchingGuiRoomId final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MatchingGuiRoomId) */ {
 public:
  inline MatchingGuiRoomId() : MatchingGuiRoomId(nullptr) {}
  ~MatchingGuiRoomId() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MatchingGuiRoomId& default_instance() {
    return *reinterpret_cast<const MatchingGuiRoomId*>(
        &_MatchingGuiRoomId_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 84;
  friend void swap(MatchingGuiRoomId& a, MatchingGuiRoomId& b) { a.Swap(&b); }
  inline void Swap(MatchingGuiRoomId* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MatchingGuiRoomId* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kIdFieldNumber = 1,
  };
  // bytes id = 1;
  void clear_id() ;
  const ::std::string& id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_id();
  void set_allocated_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_id();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MatchingGuiRoomId)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   0, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<30> MatchingGuiRoomId_class_data_;
// -------------------------------------------------------------------

class MatchingAttr final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MatchingAttr) */ {
 public:
  inline MatchingAttr() : MatchingAttr(nullptr) {}
  ~MatchingAttr() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MatchingAttr& default_instance() {
    return *reinterpret_cast<const MatchingAttr*>(
        &_MatchingAttr_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 77;
  friend void swap(MatchingAttr& a, MatchingAttr& b) { a.Swap(&b); }
  inline void Swap(MatchingAttr* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MatchingAttr* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDataFieldNumber = 4,
    kAttrTypeFieldNumber = 1,
    kAttrIdFieldNumber = 2,
    kNumFieldNumber = 3,
  };
  // bytes data = 4;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // uint32 attr_type = 1;
  void clear_attr_type() ;
  ::uint32_t attr_type() const;
  void set_attr_type(::uint32_t value);

  private:
  ::uint32_t _internal_attr_type() const;
  void _internal_set_attr_type(::uint32_t value);

  public:
  // uint32 attr_id = 2;
  void clear_attr_id() ;
  ::uint32_t attr_id() const;
  void set_attr_id(::uint32_t value);

  private:
  ::uint32_t _internal_attr_id() const;
  void _internal_set_attr_id(::uint32_t value);

  public:
  // uint32 num = 3;
  void clear_num() ;
  ::uint32_t num() const;
  void set_num(::uint32_t value);

  private:
  ::uint32_t _internal_num() const;
  void _internal_set_num(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MatchingAttr)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MatchingAttr& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr data_;
    ::uint32_t attr_type_;
    ::uint32_t attr_id_;
    ::uint32_t num_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<25> MatchingAttr_class_data_;
// -------------------------------------------------------------------

class GroupConfig final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GroupConfig) */ {
 public:
  inline GroupConfig() : GroupConfig(nullptr) {}
  ~GroupConfig() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GroupConfig& default_instance() {
    return *reinterpret_cast<const GroupConfig*>(
        &_GroupConfig_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 10;
  friend void swap(GroupConfig& a, GroupConfig& b) { a.Swap(&b); }
  inline void Swap(GroupConfig* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GroupConfig* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kLabelFieldNumber = 2,
    kSlotNumFieldNumber = 1,
    kWithPasswordFieldNumber = 3,
  };
  // bytes label = 2;
  void clear_label() ;
  const ::std::string& label() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_label(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_label();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_label();
  void set_allocated_label(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_label() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_label(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_label();

  public:
  // uint32 slotNum = 1;
  void clear_slotnum() ;
  ::uint32_t slotnum() const;
  void set_slotnum(::uint32_t value);

  private:
  ::uint32_t _internal_slotnum() const;
  void _internal_set_slotnum(::uint32_t value);

  public:
  // bool withPassword = 3;
  void clear_withpassword() ;
  bool withpassword() const;
  void set_withpassword(bool value);

  private:
  bool _internal_withpassword() const;
  void _internal_set_withpassword(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GroupConfig)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GroupConfig& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr label_;
    ::uint32_t slotnum_;
    bool withpassword_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<24> GroupConfig_class_data_;
// -------------------------------------------------------------------

class GetScoreRangeRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetScoreRangeRequest) */ {
 public:
  inline GetScoreRangeRequest() : GetScoreRangeRequest(nullptr) {}
  ~GetScoreRangeRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetScoreRangeRequest& default_instance() {
    return *reinterpret_cast<const GetScoreRangeRequest*>(
        &_GetScoreRangeRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 47;
  friend void swap(GetScoreRangeRequest& a, GetScoreRangeRequest& b) { a.Swap(&b); }
  inline void Swap(GetScoreRangeRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetScoreRangeRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kBoardIdFieldNumber = 1,
    kStartRankFieldNumber = 2,
    kNumRanksFieldNumber = 3,
    kWithCommentFieldNumber = 4,
    kWithGameInfoFieldNumber = 5,
  };
  // uint32 boardId = 1;
  void clear_boardid() ;
  ::uint32_t boardid() const;
  void set_boardid(::uint32_t value);

  private:
  ::uint32_t _internal_boardid() const;
  void _internal_set_boardid(::uint32_t value);

  public:
  // uint32 startRank = 2;
  void clear_startrank() ;
  ::uint32_t startrank() const;
  void set_startrank(::uint32_t value);

  private:
  ::uint32_t _internal_startrank() const;
  void _internal_set_startrank(::uint32_t value);

  public:
  // uint32 numRanks = 3;
  void clear_numranks() ;
  ::uint32_t numranks() const;
  void set_numranks(::uint32_t value);

  private:
  ::uint32_t _internal_numranks() const;
  void _internal_set_numranks(::uint32_t value);

  public:
  // bool withComment = 4;
  void clear_withcomment() ;
  bool withcomment() const;
  void set_withcomment(bool value);

  private:
  bool _internal_withcomment() const;
  void _internal_set_withcomment(bool value);

  public:
  // bool withGameInfo = 5;
  void clear_withgameinfo() ;
  bool withgameinfo() const;
  void set_withgameinfo(bool value);

  private:
  bool _internal_withgameinfo() const;
  void _internal_set_withgameinfo(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetScoreRangeRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetScoreRangeRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t boardid_;
    ::uint32_t startrank_;
    ::uint32_t numranks_;
    bool withcomment_;
    bool withgameinfo_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<33> GetScoreRangeRequest_class_data_;
// -------------------------------------------------------------------

class GetScoreGameDataRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetScoreGameDataRequest) */ {
 public:
  inline GetScoreGameDataRequest() : GetScoreGameDataRequest(nullptr) {}
  ~GetScoreGameDataRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetScoreGameDataRequest& default_instance() {
    return *reinterpret_cast<const GetScoreGameDataRequest*>(
        &_GetScoreGameDataRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 55;
  friend void swap(GetScoreGameDataRequest& a, GetScoreGameDataRequest& b) { a.Swap(&b); }
  inline void Swap(GetScoreGameDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetScoreGameDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNpIdFieldNumber = 2,
    kBoardIdFieldNumber = 1,
    kPcIdFieldNumber = 3,
  };
  // string npId = 2;
  void clear_npid() ;
  const ::std::string& npid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_npid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_npid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_npid();
  void set_allocated_npid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_npid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_npid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_npid();

  public:
  // uint32 boardId = 1;
  void clear_boardid() ;
  ::uint32_t boardid() const;
  void set_boardid(::uint32_t value);

  private:
  ::uint32_t _internal_boardid() const;
  void _internal_set_boardid(::uint32_t value);

  public:
  // int32 pcId = 3;
  void clear_pcid() ;
  ::int32_t pcid() const;
  void set_pcid(::int32_t value);

  private:
  ::int32_t _internal_pcid() const;
  void _internal_set_pcid(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetScoreGameDataRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   0, 48,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetScoreGameDataRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr npid_;
    ::uint32_t boardid_;
    ::int32_t pcid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<36> GetScoreGameDataRequest_class_data_;
// -------------------------------------------------------------------

class GetScoreFriendsRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetScoreFriendsRequest) */ {
 public:
  inline GetScoreFriendsRequest() : GetScoreFriendsRequest(nullptr) {}
  ~GetScoreFriendsRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetScoreFriendsRequest& default_instance() {
    return *reinterpret_cast<const GetScoreFriendsRequest*>(
        &_GetScoreFriendsRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 50;
  friend void swap(GetScoreFriendsRequest& a, GetScoreFriendsRequest& b) { a.Swap(&b); }
  inline void Swap(GetScoreFriendsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetScoreFriendsRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kBoardIdFieldNumber = 1,
    kMaxFieldNumber = 3,
    kIncludeSelfFieldNumber = 2,
    kWithCommentFieldNumber = 4,
    kWithGameInfoFieldNumber = 5,
  };
  // uint32 boardId = 1;
  void clear_boardid() ;
  ::uint32_t boardid() const;
  void set_boardid(::uint32_t value);

  private:
  ::uint32_t _internal_boardid() const;
  void _internal_set_boardid(::uint32_t value);

  public:
  // uint32 max = 3;
  void clear_max() ;
  ::uint32_t max() const;
  void set_max(::uint32_t value);

  private:
  ::uint32_t _internal_max() const;
  void _internal_set_max(::uint32_t value);

  public:
  // bool include_self = 2;
  void clear_include_self() ;
  bool include_self() const;
  void set_include_self(bool value);

  private:
  bool _internal_include_self() const;
  void _internal_set_include_self(bool value);

  public:
  // bool withComment = 4;
  void clear_withcomment() ;
  bool withcomment() const;
  void set_withcomment(bool value);

  private:
  bool _internal_withcomment() const;
  void _internal_set_withcomment(bool value);

  public:
  // bool withGameInfo = 5;
  void clear_withgameinfo() ;
  bool withgameinfo() const;
  void set_withgameinfo(bool value);

  private:
  bool _internal_withgameinfo() const;
  void _internal_set_withgameinfo(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetScoreFriendsRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetScoreFriendsRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t boardid_;
    ::uint32_t max_;
    bool include_self_;
    bool withcomment_;
    bool withgameinfo_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<35> GetScoreFriendsRequest_class_data_;
// -------------------------------------------------------------------

class BoardInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.BoardInfo) */ {
 public:
  inline BoardInfo() : BoardInfo(nullptr) {}
  ~BoardInfo() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const BoardInfo& default_instance() {
    return *reinterpret_cast<const BoardInfo*>(
        &_BoardInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 45;
  friend void swap(BoardInfo& a, BoardInfo& b) { a.Swap(&b); }
  inline void Swap(BoardInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(BoardInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kRankLimitFieldNumber = 1,
    kUpdateModeFieldNumber = 2,
    kSortModeFieldNumber = 3,
    kUploadNumLimitFieldNumber = 4,
    kUploadSizeLimitFieldNumber = 5,
  };
  // uint32 rankLimit = 1;
  void clear_ranklimit() ;
  ::uint32_t ranklimit() const;
  void set_ranklimit(::uint32_t value);

  private:
  ::uint32_t _internal_ranklimit() const;
  void _internal_set_ranklimit(::uint32_t value);

  public:
  // uint32 updateMode = 2;
  void clear_updatemode() ;
  ::uint32_t updatemode() const;
  void set_updatemode(::uint32_t value);

  private:
  ::uint32_t _internal_updatemode() const;
  void _internal_set_updatemode(::uint32_t value);

  public:
  // uint32 sortMode = 3;
  void clear_sortmode() ;
  ::uint32_t sortmode() const;
  void set_sortmode(::uint32_t value);

  private:
  ::uint32_t _internal_sortmode() const;
  void _internal_set_sortmode(::uint32_t value);

  public:
  // uint32 uploadNumLimit = 4;
  void clear_uploadnumlimit() ;
  ::uint32_t uploadnumlimit() const;
  void set_uploadnumlimit(::uint32_t value);

  private:
  ::uint32_t _internal_uploadnumlimit() const;
  void _internal_set_uploadnumlimit(::uint32_t value);

  public:
  // uint32 uploadSizeLimit = 5;
  void clear_uploadsizelimit() ;
  ::uint32_t uploadsizelimit() const;
  void set_uploadsizelimit(::uint32_t value);

  private:
  ::uint32_t _internal_uploadsizelimit() const;
  void _internal_set_uploadsizelimit(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.BoardInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   0, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const BoardInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::uint32_t ranklimit_;
    ::uint32_t updatemode_;
    ::uint32_t sortmode_;
    ::uint32_t uploadnumlimit_;
    ::uint32_t uploadsizelimit_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<22> BoardInfo_class_data_;
// -------------------------------------------------------------------

class TusVarResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusVarResponse) */ {
 public:
  inline TusVarResponse() : TusVarResponse(nullptr) {}
  ~TusVarResponse() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusVarResponse& default_instance() {
    return *reinterpret_cast<const TusVarResponse*>(
        &_TusVarResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 58;
  friend void swap(TusVarResponse& a, TusVarResponse& b) { a.Swap(&b); }
  inline void Swap(TusVarResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusVarResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kVarsFieldNumber = 1,
  };
  // repeated .np2_structs.TusVariable vars = 1;
  int vars_size() const;
  private:
  int _internal_vars_size() const;

  public:
  void clear_vars() ;
  ::np2_structs::TusVariable* PROTOBUF_NONNULL mutable_vars(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::TusVariable>* PROTOBUF_NONNULL mutable_vars();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::TusVariable>& _internal_vars() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::TusVariable>* PROTOBUF_NONNULL _internal_mutable_vars();
  public:
  const ::np2_structs::TusVariable& vars(int index) const;
  ::np2_structs::TusVariable* PROTOBUF_NONNULL add_vars();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::TusVariable>& vars() const;
  // @@protoc_insertion_point(class_scope:np2_structs.TusVarResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusVarResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::TusVariable > vars_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<27> TusVarResponse_class_data_;
// -------------------------------------------------------------------

class TusTryAndSetVariableRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusTryAndSetVariableRequest) */ {
 public:
  inline TusTryAndSetVariableRequest() : TusTryAndSetVariableRequest(nullptr) {}
  ~TusTryAndSetVariableRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusTryAndSetVariableRequest& default_instance() {
    return *reinterpret_cast<const TusTryAndSetVariableRequest*>(
        &_TusTryAndSetVariableRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 64;
  friend void swap(TusTryAndSetVariableRequest& a, TusTryAndSetVariableRequest& b) { a.Swap(&b); }
  inline void Swap(TusTryAndSetVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusTryAndSetVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kIsLastChangedDateFieldNumber = 5,
    kCompareValueFieldNumber = 7,
    kIsLastChangedAuthorIdFieldNumber = 6,
    kUserFieldNumber = 1,
    kSlotIdFieldNumber = 2,
    kOpeTypeFieldNumber = 3,
    kVariableFieldNumber = 4,
  };
  // repeated uint64 isLastChangedDate = 5;
  int islastchangeddate_size() const;
  private:
  int _internal_islastchangeddate_size() const;

  public:
  void clear_islastchangeddate() ;
  ::uint64_t islastchangeddate(int index) const;
  void set_islastchangeddate(int index, ::uint64_t value);
  void add_islastchangeddate(::uint64_t value);
  const ::google::protobuf::RepeatedField<::uint64_t>& islastchangeddate() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_islastchangeddate();

  private:
  const ::google::protobuf::RepeatedField<::uint64_t>& _internal_islastchangeddate() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_islastchangeddate();

  public:
  // repeated int64 compareValue = 7;
  int comparevalue_size() const;
  private:
  int _internal_comparevalue_size() const;

  public:
  void clear_comparevalue() ;
  ::int64_t comparevalue(int index) const;
  void set_comparevalue(int index, ::int64_t value);
  void add_comparevalue(::int64_t value);
  const ::google::protobuf::RepeatedField<::int64_t>& comparevalue() const;
  ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_comparevalue();

  private:
  const ::google::protobuf::RepeatedField<::int64_t>& _internal_comparevalue() const;
  ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_comparevalue();

  public:
  // string isLastChangedAuthorId = 6;
  void clear_islastchangedauthorid() ;
  const ::std::string& islastchangedauthorid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_islastchangedauthorid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_islastchangedauthorid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_islastchangedauthorid();
  void set_allocated_islastchangedauthorid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_islastchangedauthorid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_islastchangedauthorid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_islastchangedauthorid();

  public:
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // int32 slotId = 2;
  void clear_slotid() ;
  ::int32_t slotid() const;
  void set_slotid(::int32_t value);

  private:
  ::int32_t _internal_slotid() const;
  void _internal_set_slotid(::int32_t value);

  public:
  // int32 opeType = 3;
  void clear_opetype() ;
  ::int32_t opetype() const;
  void set_opetype(::int32_t value);

  private:
  ::int32_t _internal_opetype() const;
  void _internal_set_opetype(::int32_t value);

  public:
  // int64 variable = 4;
  void clear_variable() ;
  ::int64_t variable() const;
  void set_variable(::int64_t value);

  private:
  ::int64_t _internal_variable() const;
  void _internal_set_variable(::int64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusTryAndSetVariableRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 7,
                                   1, 69,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusTryAndSetVariableRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::uint64_t> islastchangeddate_;
    ::google::protobuf::internal::CachedSize _islastchangeddate_cached_byte_size_;
    ::google::protobuf::RepeatedField<::int64_t> comparevalue_;
    ::google::protobuf::internal::CachedSize _comparevalue_cached_byte_size_;
    ::google::protobuf::internal::ArenaStringPtr islastchangedauthorid_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    ::int32_t slotid_;
    ::int32_t opetype_;
    ::int64_t variable_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<40> TusTryAndSetVariableRequest_class_data_;
// -------------------------------------------------------------------

class TusSetMultiSlotVariableRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusSetMultiSlotVariableRequest) */ {
 public:
  inline TusSetMultiSlotVariableRequest() : TusSetMultiSlotVariableRequest(nullptr) {}
  ~TusSetMultiSlotVariableRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusSetMultiSlotVariableRequest& default_instance() {
    return *reinterpret_cast<const TusSetMultiSlotVariableRequest*>(
        &_TusSetMultiSlotVariableRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 59;
  friend void swap(TusSetMultiSlotVariableRequest& a, TusSetMultiSlotVariableRequest& b) { a.Swap(&b); }
  inline void Swap(TusSetMultiSlotVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusSetMultiSlotVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSlotIdArrayFieldNumber = 2,
    kVariableArrayFieldNumber = 3,
    kUserFieldNumber = 1,
  };
  // repeated int32 slotIdArray = 2;
  int slotidarray_size() const;
  private:
  int _internal_slotidarray_size() const;

  public:
  void clear_slotidarray() ;
  ::int32_t slotidarray(int index) const;
  void set_slotidarray(int index, ::int32_t value);
  void add_slotidarray(::int32_t value);
  const ::google::protobuf::RepeatedField<::int32_t>& slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_slotidarray();

  private:
  const ::google::protobuf::RepeatedField<::int32_t>& _internal_slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_slotidarray();

  public:
  // repeated int64 variableArray = 3;
  int variablearray_size() const;
  private:
  int _internal_variablearray_size() const;

  public:
  void clear_variablearray() ;
  ::int64_t variablearray(int index) const;
  void set_variablearray(int index, ::int64_t value);
  void add_variablearray(::int64_t value);
  const ::google::protobuf::RepeatedField<::int64_t>& variablearray() const;
  ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL mutable_variablearray();

  private:
  const ::google::protobuf::RepeatedField<::int64_t>& _internal_variablearray() const;
  ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL _internal_mutable_variablearray();

  public:
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusSetMultiSlotVariableRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusSetMultiSlotVariableRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::int32_t> slotidarray_;
    ::google::protobuf::internal::CachedSize _slotidarray_cached_byte_size_;
    ::google::protobuf::RepeatedField<::int64_t> variablearray_;
    ::google::protobuf::internal::CachedSize _variablearray_cached_byte_size_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<43> TusSetMultiSlotVariableRequest_class_data_;
// -------------------------------------------------------------------

class TusSetDataRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusSetDataRequest) */ {
 public:
  inline TusSetDataRequest() : TusSetDataRequest(nullptr) {}
  ~TusSetDataRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusSetDataRequest& default_instance() {
    return *reinterpret_cast<const TusSetDataRequest*>(
        &_TusSetDataRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 66;
  friend void swap(TusSetDataRequest& a, TusSetDataRequest& b) { a.Swap(&b); }
  inline void Swap(TusSetDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusSetDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kIsLastChangedDateFieldNumber = 5,
    kDataFieldNumber = 3,
    kInfoFieldNumber = 4,
    kIsLastChangedAuthorIdFieldNumber = 6,
    kUserFieldNumber = 1,
    kSlotIdFieldNumber = 2,
  };
  // repeated uint64 isLastChangedDate = 5;
  int islastchangeddate_size() const;
  private:
  int _internal_islastchangeddate_size() const;

  public:
  void clear_islastchangeddate() ;
  ::uint64_t islastchangeddate(int index) const;
  void set_islastchangeddate(int index, ::uint64_t value);
  void add_islastchangeddate(::uint64_t value);
  const ::google::protobuf::RepeatedField<::uint64_t>& islastchangeddate() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_islastchangeddate();

  private:
  const ::google::protobuf::RepeatedField<::uint64_t>& _internal_islastchangeddate() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_islastchangeddate();

  public:
  // bytes data = 3;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // bytes info = 4;
  void clear_info() ;
  const ::std::string& info() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_info(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_info();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_info();
  void set_allocated_info(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_info() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_info(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_info();

  public:
  // string isLastChangedAuthorId = 6;
  void clear_islastchangedauthorid() ;
  const ::std::string& islastchangedauthorid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_islastchangedauthorid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_islastchangedauthorid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_islastchangedauthorid();
  void set_allocated_islastchangedauthorid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_islastchangedauthorid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_islastchangedauthorid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_islastchangedauthorid();

  public:
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // int32 slotId = 2;
  void clear_slotid() ;
  ::int32_t slotid() const;
  void set_slotid(::int32_t value);

  private:
  ::int32_t _internal_slotid() const;
  void _internal_set_slotid(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusSetDataRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 6,
                                   1, 59,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusSetDataRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::uint64_t> islastchangeddate_;
    ::google::protobuf::internal::CachedSize _islastchangeddate_cached_byte_size_;
    ::google::protobuf::internal::ArenaStringPtr data_;
    ::google::protobuf::internal::ArenaStringPtr info_;
    ::google::protobuf::internal::ArenaStringPtr islastchangedauthorid_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    ::int32_t slotid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<30> TusSetDataRequest_class_data_;
// -------------------------------------------------------------------

class TusGetMultiUserVariableRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusGetMultiUserVariableRequest) */ {
 public:
  inline TusGetMultiUserVariableRequest() : TusGetMultiUserVariableRequest(nullptr) {}
  ~TusGetMultiUserVariableRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusGetMultiUserVariableRequest& default_instance() {
    return *reinterpret_cast<const TusGetMultiUserVariableRequest*>(
        &_TusGetMultiUserVariableRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 61;
  friend void swap(TusGetMultiUserVariableRequest& a, TusGetMultiUserVariableRequest& b) { a.Swap(&b); }
  inline void Swap(TusGetMultiUserVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusGetMultiUserVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kUsersFieldNumber = 1,
    kSlotIdFieldNumber = 2,
  };
  // repeated .np2_structs.TusUser users = 1;
  int users_size() const;
  private:
  int _internal_users_size() const;

  public:
  void clear_users() ;
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_users(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>* PROTOBUF_NONNULL mutable_users();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>& _internal_users() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>* PROTOBUF_NONNULL _internal_mutable_users();
  public:
  const ::np2_structs::TusUser& users(int index) const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL add_users();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>& users() const;
  // int32 slotId = 2;
  void clear_slotid() ;
  ::int32_t slotid() const;
  void set_slotid(::int32_t value);

  private:
  ::int32_t _internal_slotid() const;
  void _internal_set_slotid(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusGetMultiUserVariableRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusGetMultiUserVariableRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::TusUser > users_;
    ::int32_t slotid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<43> TusGetMultiUserVariableRequest_class_data_;
// -------------------------------------------------------------------

class TusGetMultiUserDataStatusRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusGetMultiUserDataStatusRequest) */ {
 public:
  inline TusGetMultiUserDataStatusRequest() : TusGetMultiUserDataStatusRequest(nullptr) {}
  ~TusGetMultiUserDataStatusRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusGetMultiUserDataStatusRequest& default_instance() {
    return *reinterpret_cast<const TusGetMultiUserDataStatusRequest*>(
        &_TusGetMultiUserDataStatusRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 72;
  friend void swap(TusGetMultiUserDataStatusRequest& a, TusGetMultiUserDataStatusRequest& b) { a.Swap(&b); }
  inline void Swap(TusGetMultiUserDataStatusRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusGetMultiUserDataStatusRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kUsersFieldNumber = 1,
    kSlotIdFieldNumber = 2,
  };
  // repeated .np2_structs.TusUser users = 1;
  int users_size() const;
  private:
  int _internal_users_size() const;

  public:
  void clear_users() ;
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_users(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>* PROTOBUF_NONNULL mutable_users();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>& _internal_users() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>* PROTOBUF_NONNULL _internal_mutable_users();
  public:
  const ::np2_structs::TusUser& users(int index) const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL add_users();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>& users() const;
  // int32 slotId = 2;
  void clear_slotid() ;
  ::int32_t slotid() const;
  void set_slotid(::int32_t value);

  private:
  ::int32_t _internal_slotid() const;
  void _internal_set_slotid(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusGetMultiUserDataStatusRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusGetMultiUserDataStatusRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::TusUser > users_;
    ::int32_t slotid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<45> TusGetMultiUserDataStatusRequest_class_data_;
// -------------------------------------------------------------------

class TusGetMultiSlotVariableRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusGetMultiSlotVariableRequest) */ {
 public:
  inline TusGetMultiSlotVariableRequest() : TusGetMultiSlotVariableRequest(nullptr) {}
  ~TusGetMultiSlotVariableRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusGetMultiSlotVariableRequest& default_instance() {
    return *reinterpret_cast<const TusGetMultiSlotVariableRequest*>(
        &_TusGetMultiSlotVariableRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 60;
  friend void swap(TusGetMultiSlotVariableRequest& a, TusGetMultiSlotVariableRequest& b) { a.Swap(&b); }
  inline void Swap(TusGetMultiSlotVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusGetMultiSlotVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSlotIdArrayFieldNumber = 2,
    kUserFieldNumber = 1,
  };
  // repeated int32 slotIdArray = 2;
  int slotidarray_size() const;
  private:
  int _internal_slotidarray_size() const;

  public:
  void clear_slotidarray() ;
  ::int32_t slotidarray(int index) const;
  void set_slotidarray(int index, ::int32_t value);
  void add_slotidarray(::int32_t value);
  const ::google::protobuf::RepeatedField<::int32_t>& slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_slotidarray();

  private:
  const ::google::protobuf::RepeatedField<::int32_t>& _internal_slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_slotidarray();

  public:
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusGetMultiSlotVariableRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusGetMultiSlotVariableRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::int32_t> slotidarray_;
    ::google::protobuf::internal::CachedSize _slotidarray_cached_byte_size_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<43> TusGetMultiSlotVariableRequest_class_data_;
// -------------------------------------------------------------------

class TusGetMultiSlotDataStatusRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusGetMultiSlotDataStatusRequest) */ {
 public:
  inline TusGetMultiSlotDataStatusRequest() : TusGetMultiSlotDataStatusRequest(nullptr) {}
  ~TusGetMultiSlotDataStatusRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusGetMultiSlotDataStatusRequest& default_instance() {
    return *reinterpret_cast<const TusGetMultiSlotDataStatusRequest*>(
        &_TusGetMultiSlotDataStatusRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 71;
  friend void swap(TusGetMultiSlotDataStatusRequest& a, TusGetMultiSlotDataStatusRequest& b) { a.Swap(&b); }
  inline void Swap(TusGetMultiSlotDataStatusRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusGetMultiSlotDataStatusRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSlotIdArrayFieldNumber = 2,
    kUserFieldNumber = 1,
  };
  // repeated int32 slotIdArray = 2;
  int slotidarray_size() const;
  private:
  int _internal_slotidarray_size() const;

  public:
  void clear_slotidarray() ;
  ::int32_t slotidarray(int index) const;
  void set_slotidarray(int index, ::int32_t value);
  void add_slotidarray(::int32_t value);
  const ::google::protobuf::RepeatedField<::int32_t>& slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_slotidarray();

  private:
  const ::google::protobuf::RepeatedField<::int32_t>& _internal_slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_slotidarray();

  public:
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusGetMultiSlotDataStatusRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusGetMultiSlotDataStatusRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::int32_t> slotidarray_;
    ::google::protobuf::internal::CachedSize _slotidarray_cached_byte_size_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<45> TusGetMultiSlotDataStatusRequest_class_data_;
// -------------------------------------------------------------------

class TusGetDataRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusGetDataRequest) */ {
 public:
  inline TusGetDataRequest() : TusGetDataRequest(nullptr) {}
  ~TusGetDataRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusGetDataRequest& default_instance() {
    return *reinterpret_cast<const TusGetDataRequest*>(
        &_TusGetDataRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 70;
  friend void swap(TusGetDataRequest& a, TusGetDataRequest& b) { a.Swap(&b); }
  inline void Swap(TusGetDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusGetDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kUserFieldNumber = 1,
    kSlotIdFieldNumber = 2,
  };
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // int32 slotId = 2;
  void clear_slotid() ;
  ::int32_t slotid() const;
  void set_slotid(::int32_t value);

  private:
  ::int32_t _internal_slotid() const;
  void _internal_set_slotid(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusGetDataRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusGetDataRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    ::int32_t slotid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<30> TusGetDataRequest_class_data_;
// -------------------------------------------------------------------

class TusDeleteMultiSlotVariableRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusDeleteMultiSlotVariableRequest) */ {
 public:
  inline TusDeleteMultiSlotVariableRequest() : TusDeleteMultiSlotVariableRequest(nullptr) {}
  ~TusDeleteMultiSlotVariableRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusDeleteMultiSlotVariableRequest& default_instance() {
    return *reinterpret_cast<const TusDeleteMultiSlotVariableRequest*>(
        &_TusDeleteMultiSlotVariableRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 65;
  friend void swap(TusDeleteMultiSlotVariableRequest& a, TusDeleteMultiSlotVariableRequest& b) { a.Swap(&b); }
  inline void Swap(TusDeleteMultiSlotVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusDeleteMultiSlotVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSlotIdArrayFieldNumber = 2,
    kUserFieldNumber = 1,
  };
  // repeated int32 slotIdArray = 2;
  int slotidarray_size() const;
  private:
  int _internal_slotidarray_size() const;

  public:
  void clear_slotidarray() ;
  ::int32_t slotidarray(int index) const;
  void set_slotidarray(int index, ::int32_t value);
  void add_slotidarray(::int32_t value);
  const ::google::protobuf::RepeatedField<::int32_t>& slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_slotidarray();

  private:
  const ::google::protobuf::RepeatedField<::int32_t>& _internal_slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_slotidarray();

  public:
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusDeleteMultiSlotVariableRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusDeleteMultiSlotVariableRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::int32_t> slotidarray_;
    ::google::protobuf::internal::CachedSize _slotidarray_cached_byte_size_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<46> TusDeleteMultiSlotVariableRequest_class_data_;
// -------------------------------------------------------------------

class TusDeleteMultiSlotDataRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusDeleteMultiSlotDataRequest) */ {
 public:
  inline TusDeleteMultiSlotDataRequest() : TusDeleteMultiSlotDataRequest(nullptr) {}
  ~TusDeleteMultiSlotDataRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusDeleteMultiSlotDataRequest& default_instance() {
    return *reinterpret_cast<const TusDeleteMultiSlotDataRequest*>(
        &_TusDeleteMultiSlotDataRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 74;
  friend void swap(TusDeleteMultiSlotDataRequest& a, TusDeleteMultiSlotDataRequest& b) { a.Swap(&b); }
  inline void Swap(TusDeleteMultiSlotDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusDeleteMultiSlotDataRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kSlotIdArrayFieldNumber = 2,
    kUserFieldNumber = 1,
  };
  // repeated int32 slotIdArray = 2;
  int slotidarray_size() const;
  private:
  int _internal_slotidarray_size() const;

  public:
  void clear_slotidarray() ;
  ::int32_t slotidarray(int index) const;
  void set_slotidarray(int index, ::int32_t value);
  void add_slotidarray(::int32_t value);
  const ::google::protobuf::RepeatedField<::int32_t>& slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL mutable_slotidarray();

  private:
  const ::google::protobuf::RepeatedField<::int32_t>& _internal_slotidarray() const;
  ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL _internal_mutable_slotidarray();

  public:
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusDeleteMultiSlotDataRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusDeleteMultiSlotDataRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::int32_t> slotidarray_;
    ::google::protobuf::internal::CachedSize _slotidarray_cached_byte_size_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<42> TusDeleteMultiSlotDataRequest_class_data_;
// -------------------------------------------------------------------

class TusDataStatusResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusDataStatusResponse) */ {
 public:
  inline TusDataStatusResponse() : TusDataStatusResponse(nullptr) {}
  ~TusDataStatusResponse() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusDataStatusResponse& default_instance() {
    return *reinterpret_cast<const TusDataStatusResponse*>(
        &_TusDataStatusResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 69;
  friend void swap(TusDataStatusResponse& a, TusDataStatusResponse& b) { a.Swap(&b); }
  inline void Swap(TusDataStatusResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusDataStatusResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kStatusFieldNumber = 1,
  };
  // repeated .np2_structs.TusDataStatus status = 1;
  int status_size() const;
  private:
  int _internal_status_size() const;

  public:
  void clear_status() ;
  ::np2_structs::TusDataStatus* PROTOBUF_NONNULL mutable_status(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::TusDataStatus>* PROTOBUF_NONNULL mutable_status();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::TusDataStatus>& _internal_status() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::TusDataStatus>* PROTOBUF_NONNULL _internal_mutable_status();
  public:
  const ::np2_structs::TusDataStatus& status(int index) const;
  ::np2_structs::TusDataStatus* PROTOBUF_NONNULL add_status();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::TusDataStatus>& status() const;
  // @@protoc_insertion_point(class_scope:np2_structs.TusDataStatusResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusDataStatusResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::TusDataStatus > status_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<34> TusDataStatusResponse_class_data_;
// -------------------------------------------------------------------

class TusData final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusData) */ {
 public:
  inline TusData() : TusData(nullptr) {}
  ~TusData() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusData& default_instance() {
    return *reinterpret_cast<const TusData*>(
        &_TusData_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 68;
  friend void swap(TusData& a, TusData& b) { a.Swap(&b); }
  inline void Swap(TusData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusData* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDataFieldNumber = 2,
    kStatusFieldNumber = 1,
  };
  // bytes data = 2;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // .np2_structs.TusDataStatus status = 1;
  bool has_status() const;
  void clear_status() ;
  const ::np2_structs::TusDataStatus& status() const;
  [[nodiscard]] ::np2_structs::TusDataStatus* PROTOBUF_NULLABLE release_status();
  ::np2_structs::TusDataStatus* PROTOBUF_NONNULL mutable_status();
  void set_allocated_status(::np2_structs::TusDataStatus* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_status(::np2_structs::TusDataStatus* PROTOBUF_NULLABLE value);
  ::np2_structs::TusDataStatus* PROTOBUF_NULLABLE unsafe_arena_release_status();

  private:
  const ::np2_structs::TusDataStatus& _internal_status() const;
  ::np2_structs::TusDataStatus* PROTOBUF_NONNULL _internal_mutable_status();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusData)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<20> TusData_class_data_;
// -------------------------------------------------------------------

class TusAddAndGetVariableRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.TusAddAndGetVariableRequest) */ {
 public:
  inline TusAddAndGetVariableRequest() : TusAddAndGetVariableRequest(nullptr) {}
  ~TusAddAndGetVariableRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const TusAddAndGetVariableRequest& default_instance() {
    return *reinterpret_cast<const TusAddAndGetVariableRequest*>(
        &_TusAddAndGetVariableRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 63;
  friend void swap(TusAddAndGetVariableRequest& a, TusAddAndGetVariableRequest& b) { a.Swap(&b); }
  inline void Swap(TusAddAndGetVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TusAddAndGetVariableRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kIsLastChangedDateFieldNumber = 4,
    kIsLastChangedAuthorIdFieldNumber = 5,
    kUserFieldNumber = 1,
    kInVariableFieldNumber = 3,
    kSlotIdFieldNumber = 2,
  };
  // repeated uint64 isLastChangedDate = 4;
  int islastchangeddate_size() const;
  private:
  int _internal_islastchangeddate_size() const;

  public:
  void clear_islastchangeddate() ;
  ::uint64_t islastchangeddate(int index) const;
  void set_islastchangeddate(int index, ::uint64_t value);
  void add_islastchangeddate(::uint64_t value);
  const ::google::protobuf::RepeatedField<::uint64_t>& islastchangeddate() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_islastchangeddate();

  private:
  const ::google::protobuf::RepeatedField<::uint64_t>& _internal_islastchangeddate() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_islastchangeddate();

  public:
  // string isLastChangedAuthorId = 5;
  void clear_islastchangedauthorid() ;
  const ::std::string& islastchangedauthorid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_islastchangedauthorid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_islastchangedauthorid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_islastchangedauthorid();
  void set_allocated_islastchangedauthorid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_islastchangedauthorid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_islastchangedauthorid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_islastchangedauthorid();

  public:
  // .np2_structs.TusUser user = 1;
  bool has_user() const;
  void clear_user() ;
  const ::np2_structs::TusUser& user() const;
  [[nodiscard]] ::np2_structs::TusUser* PROTOBUF_NULLABLE release_user();
  ::np2_structs::TusUser* PROTOBUF_NONNULL mutable_user();
  void set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value);
  ::np2_structs::TusUser* PROTOBUF_NULLABLE unsafe_arena_release_user();

  private:
  const ::np2_structs::TusUser& _internal_user() const;
  ::np2_structs::TusUser* PROTOBUF_NONNULL _internal_mutable_user();

  public:
  // int64 inVariable = 3;
  void clear_invariable() ;
  ::int64_t invariable() const;
  void set_invariable(::int64_t value);

  private:
  ::int64_t _internal_invariable() const;
  void _internal_set_invariable(::int64_t value);

  public:
  // int32 slotId = 2;
  void clear_slotid() ;
  ::int32_t slotid() const;
  void set_slotid(::int32_t value);

  private:
  ::int32_t _internal_slotid() const;
  void _internal_set_slotid(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.TusAddAndGetVariableRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   1, 69,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const TusAddAndGetVariableRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::uint64_t> islastchangeddate_;
    ::google::protobuf::internal::CachedSize _islastchangeddate_cached_byte_size_;
    ::google::protobuf::internal::ArenaStringPtr islastchangedauthorid_;
    ::np2_structs::TusUser* PROTOBUF_NULLABLE user_;
    ::int64_t invariable_;
    ::int32_t slotid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<40> TusAddAndGetVariableRequest_class_data_;
// -------------------------------------------------------------------

class SignalingAddr final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SignalingAddr) */ {
 public:
  inline SignalingAddr() : SignalingAddr(nullptr) {}
  ~SignalingAddr() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SignalingAddr& default_instance() {
    return *reinterpret_cast<const SignalingAddr*>(
        &_SignalingAddr_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 2;
  friend void swap(SignalingAddr& a, SignalingAddr& b) { a.Swap(&b); }
  inline void Swap(SignalingAddr* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SignalingAddr* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kIpFieldNumber = 1,
    kPortFieldNumber = 2,
  };
  // bytes ip = 1;
  void clear_ip() ;
  const ::std::string& ip() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_ip(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_ip();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_ip();
  void set_allocated_ip(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_ip() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_ip(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_ip();

  public:
  // .np2_structs.uint16 port = 2;
  bool has_port() const;
  void clear_port() ;
  const ::np2_structs::uint16& port() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_port();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_port();
  void set_allocated_port(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_port(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_port();

  private:
  const ::np2_structs::uint16& _internal_port() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_port();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SignalingAddr)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<26> SignalingAddr_class_data_;
// -------------------------------------------------------------------

class SendRoomMessageRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SendRoomMessageRequest) */ {
 public:
  inline SendRoomMessageRequest() : SendRoomMessageRequest(nullptr) {}
  ~SendRoomMessageRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SendRoomMessageRequest& default_instance() {
    return *reinterpret_cast<const SendRoomMessageRequest*>(
        &_SendRoomMessageRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 41;
  friend void swap(SendRoomMessageRequest& a, SendRoomMessageRequest& b) { a.Swap(&b); }
  inline void Swap(SendRoomMessageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SendRoomMessageRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDstFieldNumber = 3,
    kMsgFieldNumber = 4,
    kCastTypeFieldNumber = 2,
    kOptionFieldNumber = 5,
    kRoomIdFieldNumber = 1,
  };
  // repeated .np2_structs.uint16 dst = 3;
  int dst_size() const;
  private:
  int _internal_dst_size() const;

  public:
  void clear_dst() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_dst(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_dst();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_dst() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_dst();
  public:
  const ::np2_structs::uint16& dst(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_dst();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& dst() const;
  // bytes msg = 4;
  void clear_msg() ;
  const ::std::string& msg() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_msg(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_msg();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_msg();
  void set_allocated_msg(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_msg() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_msg(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_msg();

  public:
  // .np2_structs.uint8 castType = 2;
  bool has_casttype() const;
  void clear_casttype() ;
  const ::np2_structs::uint8& casttype() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_casttype();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_casttype();
  void set_allocated_casttype(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_casttype(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_casttype();

  private:
  const ::np2_structs::uint8& _internal_casttype() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_casttype();

  public:
  // .np2_structs.uint8 option = 5;
  bool has_option() const;
  void clear_option() ;
  const ::np2_structs::uint8& option() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_option();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_option();
  void set_allocated_option(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_option(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_option();

  private:
  const ::np2_structs::uint8& _internal_option() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_option();

  public:
  // uint64 roomId = 1;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SendRoomMessageRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SendRoomMessageRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > dst_;
    ::google::protobuf::internal::ArenaStringPtr msg_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE casttype_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE option_;
    ::uint64_t roomid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<35> SendRoomMessageRequest_class_data_;
// -------------------------------------------------------------------

class SearchJoinRoomGUIRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SearchJoinRoomGUIRequest) */ {
 public:
  inline SearchJoinRoomGUIRequest() : SearchJoinRoomGUIRequest(nullptr) {}
  ~SearchJoinRoomGUIRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SearchJoinRoomGUIRequest& default_instance() {
    return *reinterpret_cast<const SearchJoinRoomGUIRequest*>(
        &_SearchJoinRoomGUIRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 87;
  friend void swap(SearchJoinRoomGUIRequest& a, SearchJoinRoomGUIRequest& b) { a.Swap(&b); }
  inline void Swap(SearchJoinRoomGUIRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SearchJoinRoomGUIRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kCondsFieldNumber = 1,
    kAttrsFieldNumber = 2,
  };
  // repeated .np2_structs.MatchingSearchCondition conds = 1;
  int conds_size() const;
  private:
  int _internal_conds_size() const;

  public:
  void clear_conds() ;
  ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL mutable_conds(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL mutable_conds();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& _internal_conds() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL _internal_mutable_conds();
  public:
  const ::np2_structs::MatchingSearchCondition& conds(int index) const;
  ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL add_conds();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& conds() const;
  // repeated .np2_structs.MatchingAttr attrs = 2;
  int attrs_size() const;
  private:
  int _internal_attrs_size() const;

  public:
  void clear_attrs() ;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL mutable_attrs(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL mutable_attrs();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& _internal_attrs() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL _internal_mutable_attrs();
  public:
  const ::np2_structs::MatchingAttr& attrs(int index) const;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL add_attrs();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& attrs() const;
  // @@protoc_insertion_point(class_scope:np2_structs.SearchJoinRoomGUIRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SearchJoinRoomGUIRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingSearchCondition > conds_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingAttr > attrs_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<37> SearchJoinRoomGUIRequest_class_data_;
// -------------------------------------------------------------------

class RoomUpdateInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomUpdateInfo) */ {
 public:
  inline RoomUpdateInfo() : RoomUpdateInfo(nullptr) {}
  ~RoomUpdateInfo() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomUpdateInfo& default_instance() {
    return *reinterpret_cast<const RoomUpdateInfo*>(
        &_RoomUpdateInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 37;
  friend void swap(RoomUpdateInfo& a, RoomUpdateInfo& b) { a.Swap(&b); }
  inline void Swap(RoomUpdateInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomUpdateInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kEventCauseFieldNumber = 1,
    kOptDataFieldNumber = 3,
    kErrorCodeFieldNumber = 2,
  };
  // .np2_structs.uint8 eventCause = 1;
  bool has_eventcause() const;
  void clear_eventcause() ;
  const ::np2_structs::uint8& eventcause() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_eventcause();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_eventcause();
  void set_allocated_eventcause(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_eventcause(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_eventcause();

  private:
  const ::np2_structs::uint8& _internal_eventcause() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_eventcause();

  public:
  // .np2_structs.PresenceOptionData optData = 3;
  bool has_optdata() const;
  void clear_optdata() ;
  const ::np2_structs::PresenceOptionData& optdata() const;
  [[nodiscard]] ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE release_optdata();
  ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL mutable_optdata();
  void set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value);
  ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE unsafe_arena_release_optdata();

  private:
  const ::np2_structs::PresenceOptionData& _internal_optdata() const;
  ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL _internal_mutable_optdata();

  public:
  // int32 errorCode = 2;
  void clear_errorcode() ;
  ::int32_t errorcode() const;
  void set_errorcode(::int32_t value);

  private:
  ::int32_t _internal_errorcode() const;
  void _internal_set_errorcode(::int32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomUpdateInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomUpdateInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE eventcause_;
    ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE optdata_;
    ::int32_t errorcode_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<27> RoomUpdateInfo_class_data_;
// -------------------------------------------------------------------

class RoomMessageInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomMessageInfo) */ {
 public:
  inline RoomMessageInfo() : RoomMessageInfo(nullptr) {}
  ~RoomMessageInfo() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomMessageInfo& default_instance() {
    return *reinterpret_cast<const RoomMessageInfo*>(
        &_RoomMessageInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 42;
  friend void swap(RoomMessageInfo& a, RoomMessageInfo& b) { a.Swap(&b); }
  inline void Swap(RoomMessageInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomMessageInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDstFieldNumber = 3,
    kMsgFieldNumber = 5,
    kCastTypeFieldNumber = 2,
    kSrcMemberFieldNumber = 4,
    kFilteredFieldNumber = 1,
  };
  // repeated .np2_structs.uint16 dst = 3;
  int dst_size() const;
  private:
  int _internal_dst_size() const;

  public:
  void clear_dst() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_dst(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_dst();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_dst() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_dst();
  public:
  const ::np2_structs::uint16& dst(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_dst();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& dst() const;
  // bytes msg = 5;
  void clear_msg() ;
  const ::std::string& msg() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_msg(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_msg();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_msg();
  void set_allocated_msg(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_msg() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_msg(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_msg();

  public:
  // .np2_structs.uint8 castType = 2;
  bool has_casttype() const;
  void clear_casttype() ;
  const ::np2_structs::uint8& casttype() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_casttype();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_casttype();
  void set_allocated_casttype(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_casttype(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_casttype();

  private:
  const ::np2_structs::uint8& _internal_casttype() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_casttype();

  public:
  // .np2_structs.UserInfo srcMember = 4;
  bool has_srcmember() const;
  void clear_srcmember() ;
  const ::np2_structs::UserInfo& srcmember() const;
  [[nodiscard]] ::np2_structs::UserInfo* PROTOBUF_NULLABLE release_srcmember();
  ::np2_structs::UserInfo* PROTOBUF_NONNULL mutable_srcmember();
  void set_allocated_srcmember(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_srcmember(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  ::np2_structs::UserInfo* PROTOBUF_NULLABLE unsafe_arena_release_srcmember();

  private:
  const ::np2_structs::UserInfo& _internal_srcmember() const;
  ::np2_structs::UserInfo* PROTOBUF_NONNULL _internal_mutable_srcmember();

  public:
  // bool filtered = 1;
  void clear_filtered() ;
  bool filtered() const;
  void set_filtered(bool value);

  private:
  bool _internal_filtered() const;
  void _internal_set_filtered(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomMessageInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomMessageInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > dst_;
    ::google::protobuf::internal::ArenaStringPtr msg_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE casttype_;
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE srcmember_;
    bool filtered_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<28> RoomMessageInfo_class_data_;
// -------------------------------------------------------------------

class RoomMemberDataExternal final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomMemberDataExternal) */ {
 public:
  inline RoomMemberDataExternal() : RoomMemberDataExternal(nullptr) {}
  ~RoomMemberDataExternal() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomMemberDataExternal& default_instance() {
    return *reinterpret_cast<const RoomMemberDataExternal*>(
        &_RoomMemberDataExternal_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 89;
  friend void swap(RoomMemberDataExternal& a, RoomMemberDataExternal& b) { a.Swap(&b); }
  inline void Swap(RoomMemberDataExternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomMemberDataExternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kUserInfoFieldNumber = 1,
    kRoleFieldNumber = 3,
    kJoinDateFieldNumber = 2,
  };
  // .np2_structs.UserInfo userInfo = 1;
  bool has_userinfo() const;
  void clear_userinfo() ;
  const ::np2_structs::UserInfo& userinfo() const;
  [[nodiscard]] ::np2_structs::UserInfo* PROTOBUF_NULLABLE release_userinfo();
  ::np2_structs::UserInfo* PROTOBUF_NONNULL mutable_userinfo();
  void set_allocated_userinfo(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_userinfo(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  ::np2_structs::UserInfo* PROTOBUF_NULLABLE unsafe_arena_release_userinfo();

  private:
  const ::np2_structs::UserInfo& _internal_userinfo() const;
  ::np2_structs::UserInfo* PROTOBUF_NONNULL _internal_mutable_userinfo();

  public:
  // .np2_structs.uint8 role = 3;
  bool has_role() const;
  void clear_role() ;
  const ::np2_structs::uint8& role() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_role();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_role();
  void set_allocated_role(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_role(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_role();

  private:
  const ::np2_structs::uint8& _internal_role() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_role();

  public:
  // uint64 joinDate = 2;
  void clear_joindate() ;
  ::uint64_t joindate() const;
  void set_joindate(::uint64_t value);

  private:
  ::uint64_t _internal_joindate() const;
  void _internal_set_joindate(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomMemberDataExternal)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomMemberDataExternal& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE userinfo_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE role_;
    ::uint64_t joindate_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<35> RoomMemberDataExternal_class_data_;
// -------------------------------------------------------------------

class RoomGroupPasswordConfig final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomGroupPasswordConfig) */ {
 public:
  inline RoomGroupPasswordConfig() : RoomGroupPasswordConfig(nullptr) {}
  ~RoomGroupPasswordConfig() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomGroupPasswordConfig& default_instance() {
    return *reinterpret_cast<const RoomGroupPasswordConfig*>(
        &_RoomGroupPasswordConfig_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 19;
  friend void swap(RoomGroupPasswordConfig& a, RoomGroupPasswordConfig& b) { a.Swap(&b); }
  inline void Swap(RoomGroupPasswordConfig* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomGroupPasswordConfig* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kGroupIdFieldNumber = 1,
    kWithPasswordFieldNumber = 2,
  };
  // .np2_structs.uint8 groupId = 1;
  bool has_groupid() const;
  void clear_groupid() ;
  const ::np2_structs::uint8& groupid() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_groupid();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_groupid();
  void set_allocated_groupid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_groupid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_groupid();

  private:
  const ::np2_structs::uint8& _internal_groupid() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_groupid();

  public:
  // bool withPassword = 2;
  void clear_withpassword() ;
  bool withpassword() const;
  void set_withpassword(bool value);

  private:
  bool _internal_withpassword() const;
  void _internal_set_withpassword(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomGroupPasswordConfig)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomGroupPasswordConfig& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE groupid_;
    bool withpassword_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<36> RoomGroupPasswordConfig_class_data_;
// -------------------------------------------------------------------

class RoomGroup final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomGroup) */ {
 public:
  inline RoomGroup() : RoomGroup(nullptr) {}
  ~RoomGroup() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomGroup& default_instance() {
    return *reinterpret_cast<const RoomGroup*>(
        &_RoomGroup_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 13;
  friend void swap(RoomGroup& a, RoomGroup& b) { a.Swap(&b); }
  inline void Swap(RoomGroup* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomGroup* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kLabelFieldNumber = 3,
    kGroupIdFieldNumber = 1,
    kWithPasswordFieldNumber = 2,
    kSlotNumFieldNumber = 4,
    kCurGroupMemberNumFieldNumber = 5,
  };
  // bytes label = 3;
  void clear_label() ;
  const ::std::string& label() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_label(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_label();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_label();
  void set_allocated_label(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_label() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_label(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_label();

  public:
  // .np2_structs.uint8 groupId = 1;
  bool has_groupid() const;
  void clear_groupid() ;
  const ::np2_structs::uint8& groupid() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_groupid();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_groupid();
  void set_allocated_groupid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_groupid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_groupid();

  private:
  const ::np2_structs::uint8& _internal_groupid() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_groupid();

  public:
  // bool withPassword = 2;
  void clear_withpassword() ;
  bool withpassword() const;
  void set_withpassword(bool value);

  private:
  bool _internal_withpassword() const;
  void _internal_set_withpassword(bool value);

  public:
  // uint32 slotNum = 4;
  void clear_slotnum() ;
  ::uint32_t slotnum() const;
  void set_slotnum(::uint32_t value);

  private:
  ::uint32_t _internal_slotnum() const;
  void _internal_set_slotnum(::uint32_t value);

  public:
  // uint32 curGroupMemberNum = 5;
  void clear_curgroupmembernum() ;
  ::uint32_t curgroupmembernum() const;
  void set_curgroupmembernum(::uint32_t value);

  private:
  ::uint32_t _internal_curgroupmembernum() const;
  void _internal_set_curgroupmembernum(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomGroup)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomGroup& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr label_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE groupid_;
    bool withpassword_;
    ::uint32_t slotnum_;
    ::uint32_t curgroupmembernum_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<22> RoomGroup_class_data_;
// -------------------------------------------------------------------

class QuickMatchGUIRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.QuickMatchGUIRequest) */ {
 public:
  inline QuickMatchGUIRequest() : QuickMatchGUIRequest(nullptr) {}
  ~QuickMatchGUIRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const QuickMatchGUIRequest& default_instance() {
    return *reinterpret_cast<const QuickMatchGUIRequest*>(
        &_QuickMatchGUIRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 86;
  friend void swap(QuickMatchGUIRequest& a, QuickMatchGUIRequest& b) { a.Swap(&b); }
  inline void Swap(QuickMatchGUIRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(QuickMatchGUIRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kCondsFieldNumber = 1,
    kAvailableNumFieldNumber = 2,
  };
  // repeated .np2_structs.MatchingSearchCondition conds = 1;
  int conds_size() const;
  private:
  int _internal_conds_size() const;

  public:
  void clear_conds() ;
  ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL mutable_conds(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL mutable_conds();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& _internal_conds() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL _internal_mutable_conds();
  public:
  const ::np2_structs::MatchingSearchCondition& conds(int index) const;
  ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL add_conds();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& conds() const;
  // uint32 available_num = 2;
  void clear_available_num() ;
  ::uint32_t available_num() const;
  void set_available_num(::uint32_t value);

  private:
  ::uint32_t _internal_available_num() const;
  void _internal_set_available_num(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.QuickMatchGUIRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const QuickMatchGUIRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingSearchCondition > conds_;
    ::uint32_t available_num_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<33> QuickMatchGUIRequest_class_data_;
// -------------------------------------------------------------------

class OptParam final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.OptParam) */ {
 public:
  inline OptParam() : OptParam(nullptr) {}
  ~OptParam() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const OptParam& default_instance() {
    return *reinterpret_cast<const OptParam*>(
        &_OptParam_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 9;
  friend void swap(OptParam& a, OptParam& b) { a.Swap(&b); }
  inline void Swap(OptParam* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(OptParam* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kTypeFieldNumber = 1,
    kFlagFieldNumber = 2,
    kHubMemberIdFieldNumber = 3,
  };
  // .np2_structs.uint8 type = 1;
  bool has_type() const;
  void clear_type() ;
  const ::np2_structs::uint8& type() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_type();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_type();
  void set_allocated_type(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_type(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_type();

  private:
  const ::np2_structs::uint8& _internal_type() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_type();

  public:
  // .np2_structs.uint8 flag = 2;
  bool has_flag() const;
  void clear_flag() ;
  const ::np2_structs::uint8& flag() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_flag();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_flag();
  void set_allocated_flag(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_flag(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_flag();

  private:
  const ::np2_structs::uint8& _internal_flag() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_flag();

  public:
  // .np2_structs.uint16 hubMemberId = 3;
  bool has_hubmemberid() const;
  void clear_hubmemberid() ;
  const ::np2_structs::uint16& hubmemberid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_hubmemberid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_hubmemberid();
  void set_allocated_hubmemberid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_hubmemberid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_hubmemberid();

  private:
  const ::np2_structs::uint16& _internal_hubmemberid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_hubmemberid();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.OptParam)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const OptParam& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE type_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE flag_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE hubmemberid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<21> OptParam_class_data_;
// -------------------------------------------------------------------

class MessageDetails final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MessageDetails) */ {
 public:
  inline MessageDetails() : MessageDetails(nullptr) {}
  ~MessageDetails() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MessageDetails& default_instance() {
    return *reinterpret_cast<const MessageDetails*>(
        &_MessageDetails_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 43;
  friend void swap(MessageDetails& a, MessageDetails& b) { a.Swap(&b); }
  inline void Swap(MessageDetails* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MessageDetails* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kCommunicationIdFieldNumber = 1,
    kSubjectFieldNumber = 6,
    kBodyFieldNumber = 7,
    kDataFieldNumber = 8,
    kMainTypeFieldNumber = 3,
    kSubTypeFieldNumber = 4,
    kMsgIdFieldNumber = 2,
    kMsgFeaturesFieldNumber = 5,
  };
  // string communicationId = 1;
  void clear_communicationid() ;
  const ::std::string& communicationid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_communicationid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_communicationid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_communicationid();
  void set_allocated_communicationid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_communicationid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_communicationid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_communicationid();

  public:
  // string subject = 6;
  void clear_subject() ;
  const ::std::string& subject() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_subject(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_subject();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_subject();
  void set_allocated_subject(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_subject() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_subject(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_subject();

  public:
  // string body = 7;
  void clear_body() ;
  const ::std::string& body() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_body(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_body();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_body();
  void set_allocated_body(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_body() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_body(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_body();

  public:
  // bytes data = 8;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // .np2_structs.uint16 mainType = 3;
  bool has_maintype() const;
  void clear_maintype() ;
  const ::np2_structs::uint16& maintype() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_maintype();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_maintype();
  void set_allocated_maintype(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_maintype(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_maintype();

  private:
  const ::np2_structs::uint16& _internal_maintype() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_maintype();

  public:
  // .np2_structs.uint16 subType = 4;
  bool has_subtype() const;
  void clear_subtype() ;
  const ::np2_structs::uint16& subtype() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_subtype();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_subtype();
  void set_allocated_subtype(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_subtype(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_subtype();

  private:
  const ::np2_structs::uint16& _internal_subtype() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_subtype();

  public:
  // uint64 msgId = 2;
  void clear_msgid() ;
  ::uint64_t msgid() const;
  void set_msgid(::uint64_t value);

  private:
  ::uint64_t _internal_msgid() const;
  void _internal_set_msgid(::uint64_t value);

  public:
  // uint32 msgFeatures = 5;
  void clear_msgfeatures() ;
  ::uint32_t msgfeatures() const;
  void set_msgfeatures(::uint32_t value);

  private:
  ::uint32_t _internal_msgfeatures() const;
  void _internal_set_msgfeatures(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MessageDetails)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 8,
                                   2, 69,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MessageDetails& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::internal::ArenaStringPtr communicationid_;
    ::google::protobuf::internal::ArenaStringPtr subject_;
    ::google::protobuf::internal::ArenaStringPtr body_;
    ::google::protobuf::internal::ArenaStringPtr data_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE maintype_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE subtype_;
    ::uint64_t msgid_;
    ::uint32_t msgfeatures_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<27> MessageDetails_class_data_;
// -------------------------------------------------------------------

class MatchingRoom final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MatchingRoom) */ {
 public:
  inline MatchingRoom() : MatchingRoom(nullptr) {}
  ~MatchingRoom() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MatchingRoom& default_instance() {
    return *reinterpret_cast<const MatchingRoom*>(
        &_MatchingRoom_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 82;
  friend void swap(MatchingRoom& a, MatchingRoom& b) { a.Swap(&b); }
  inline void Swap(MatchingRoom* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MatchingRoom* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kAttrFieldNumber = 2,
    kIdFieldNumber = 1,
  };
  // repeated .np2_structs.MatchingAttr attr = 2;
  int attr_size() const;
  private:
  int _internal_attr_size() const;

  public:
  void clear_attr() ;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL mutable_attr(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL mutable_attr();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& _internal_attr() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL _internal_mutable_attr();
  public:
  const ::np2_structs::MatchingAttr& attr(int index) const;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL add_attr();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& attr() const;
  // bytes id = 1;
  void clear_id() ;
  const ::std::string& id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_id();
  void set_allocated_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_id();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MatchingRoom)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MatchingRoom& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingAttr > attr_;
    ::google::protobuf::internal::ArenaStringPtr id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<25> MatchingRoom_class_data_;
// -------------------------------------------------------------------

class LeaveRoomRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.LeaveRoomRequest) */ {
 public:
  inline LeaveRoomRequest() : LeaveRoomRequest(nullptr) {}
  ~LeaveRoomRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const LeaveRoomRequest& default_instance() {
    return *reinterpret_cast<const LeaveRoomRequest*>(
        &_LeaveRoomRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 26;
  friend void swap(LeaveRoomRequest& a, LeaveRoomRequest& b) { a.Swap(&b); }
  inline void Swap(LeaveRoomRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(LeaveRoomRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kOptDataFieldNumber = 2,
    kRoomIdFieldNumber = 1,
  };
  // .np2_structs.PresenceOptionData optData = 2;
  bool has_optdata() const;
  void clear_optdata() ;
  const ::np2_structs::PresenceOptionData& optdata() const;
  [[nodiscard]] ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE release_optdata();
  ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL mutable_optdata();
  void set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value);
  ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE unsafe_arena_release_optdata();

  private:
  const ::np2_structs::PresenceOptionData& _internal_optdata() const;
  ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL _internal_mutable_optdata();

  public:
  // uint64 roomId = 1;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.LeaveRoomRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const LeaveRoomRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE optdata_;
    ::uint64_t roomid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<29> LeaveRoomRequest_class_data_;
// -------------------------------------------------------------------

class IntAttr final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.IntAttr) */ {
 public:
  inline IntAttr() : IntAttr(nullptr) {}
  ~IntAttr() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const IntAttr& default_instance() {
    return *reinterpret_cast<const IntAttr*>(
        &_IntAttr_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 6;
  friend void swap(IntAttr& a, IntAttr& b) { a.Swap(&b); }
  inline void Swap(IntAttr* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(IntAttr* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kIdFieldNumber = 1,
    kNumFieldNumber = 2,
  };
  // .np2_structs.uint16 id = 1;
  bool has_id() const;
  void clear_id() ;
  const ::np2_structs::uint16& id() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_id();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_id();
  void set_allocated_id(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_id(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_id();

  private:
  const ::np2_structs::uint16& _internal_id() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_id();

  public:
  // uint32 num = 2;
  void clear_num() ;
  ::uint32_t num() const;
  void set_num(::uint32_t value);

  private:
  ::uint32_t _internal_num() const;
  void _internal_set_num(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.IntAttr)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const IntAttr& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE id_;
    ::uint32_t num_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<20> IntAttr_class_data_;
// -------------------------------------------------------------------

class GetScoreResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetScoreResponse) */ {
 public:
  inline GetScoreResponse() : GetScoreResponse(nullptr) {}
  ~GetScoreResponse() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetScoreResponse& default_instance() {
    return *reinterpret_cast<const GetScoreResponse*>(
        &_GetScoreResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 53;
  friend void swap(GetScoreResponse& a, GetScoreResponse& b) { a.Swap(&b); }
  inline void Swap(GetScoreResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetScoreResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kRankArrayFieldNumber = 1,
    kCommentArrayFieldNumber = 2,
    kInfoArrayFieldNumber = 3,
    kLastSortDateFieldNumber = 4,
    kTotalRecordFieldNumber = 5,
  };
  // repeated .np2_structs.ScoreRankData rankArray = 1;
  int rankarray_size() const;
  private:
  int _internal_rankarray_size() const;

  public:
  void clear_rankarray() ;
  ::np2_structs::ScoreRankData* PROTOBUF_NONNULL mutable_rankarray(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreRankData>* PROTOBUF_NONNULL mutable_rankarray();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreRankData>& _internal_rankarray() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreRankData>* PROTOBUF_NONNULL _internal_mutable_rankarray();
  public:
  const ::np2_structs::ScoreRankData& rankarray(int index) const;
  ::np2_structs::ScoreRankData* PROTOBUF_NONNULL add_rankarray();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreRankData>& rankarray() const;
  // repeated string commentArray = 2;
  int commentarray_size() const;
  private:
  int _internal_commentarray_size() const;

  public:
  void clear_commentarray() ;
  const ::std::string& commentarray(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_commentarray(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_commentarray(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_commentarray();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_commentarray(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& commentarray() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_commentarray();

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

  public:
  // repeated .np2_structs.ScoreInfo infoArray = 3;
  int infoarray_size() const;
  private:
  int _internal_infoarray_size() const;

  public:
  void clear_infoarray() ;
  ::np2_structs::ScoreInfo* PROTOBUF_NONNULL mutable_infoarray(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreInfo>* PROTOBUF_NONNULL mutable_infoarray();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreInfo>& _internal_infoarray() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreInfo>* PROTOBUF_NONNULL _internal_mutable_infoarray();
  public:
  const ::np2_structs::ScoreInfo& infoarray(int index) const;
  ::np2_structs::ScoreInfo* PROTOBUF_NONNULL add_infoarray();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreInfo>& infoarray() const;
  // uint64 lastSortDate = 4;
  void clear_lastsortdate() ;
  ::uint64_t lastsortdate() const;
  void set_lastsortdate(::uint64_t value);

  private:
  ::uint64_t _internal_lastsortdate() const;
  void _internal_set_lastsortdate(::uint64_t value);

  public:
  // uint32 totalRecord = 5;
  void clear_totalrecord() ;
  ::uint32_t totalrecord() const;
  void set_totalrecord(::uint32_t value);

  private:
  ::uint32_t _internal_totalrecord() const;
  void _internal_set_totalrecord(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetScoreResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   2, 49,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetScoreResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::ScoreRankData > rankarray_;
    ::google::protobuf::RepeatedPtrField<::std::string> commentarray_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::ScoreInfo > infoarray_;
    ::uint64_t lastsortdate_;
    ::uint32_t totalrecord_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<29> GetScoreResponse_class_data_;
// -------------------------------------------------------------------

class GetScoreNpIdRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetScoreNpIdRequest) */ {
 public:
  inline GetScoreNpIdRequest() : GetScoreNpIdRequest(nullptr) {}
  ~GetScoreNpIdRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetScoreNpIdRequest& default_instance() {
    return *reinterpret_cast<const GetScoreNpIdRequest*>(
        &_GetScoreNpIdRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 49;
  friend void swap(GetScoreNpIdRequest& a, GetScoreNpIdRequest& b) { a.Swap(&b); }
  inline void Swap(GetScoreNpIdRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetScoreNpIdRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNpidsFieldNumber = 2,
    kBoardIdFieldNumber = 1,
    kWithCommentFieldNumber = 3,
    kWithGameInfoFieldNumber = 4,
  };
  // repeated .np2_structs.ScoreNpIdPcId npids = 2;
  int npids_size() const;
  private:
  int _internal_npids_size() const;

  public:
  void clear_npids() ;
  ::np2_structs::ScoreNpIdPcId* PROTOBUF_NONNULL mutable_npids(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreNpIdPcId>* PROTOBUF_NONNULL mutable_npids();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreNpIdPcId>& _internal_npids() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreNpIdPcId>* PROTOBUF_NONNULL _internal_mutable_npids();
  public:
  const ::np2_structs::ScoreNpIdPcId& npids(int index) const;
  ::np2_structs::ScoreNpIdPcId* PROTOBUF_NONNULL add_npids();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreNpIdPcId>& npids() const;
  // uint32 boardId = 1;
  void clear_boardid() ;
  ::uint32_t boardid() const;
  void set_boardid(::uint32_t value);

  private:
  ::uint32_t _internal_boardid() const;
  void _internal_set_boardid(::uint32_t value);

  public:
  // bool withComment = 3;
  void clear_withcomment() ;
  bool withcomment() const;
  void set_withcomment(bool value);

  private:
  bool _internal_withcomment() const;
  void _internal_set_withcomment(bool value);

  public:
  // bool withGameInfo = 4;
  void clear_withgameinfo() ;
  bool withgameinfo() const;
  void set_withgameinfo(bool value);

  private:
  bool _internal_withgameinfo() const;
  void _internal_set_withgameinfo(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetScoreNpIdRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetScoreNpIdRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::ScoreNpIdPcId > npids_;
    ::uint32_t boardid_;
    bool withcomment_;
    bool withgameinfo_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<32> GetScoreNpIdRequest_class_data_;
// -------------------------------------------------------------------

class GetRoomMemberDataInternalRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetRoomMemberDataInternalRequest) */ {
 public:
  inline GetRoomMemberDataInternalRequest() : GetRoomMemberDataInternalRequest(nullptr) {}
  ~GetRoomMemberDataInternalRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetRoomMemberDataInternalRequest& default_instance() {
    return *reinterpret_cast<const GetRoomMemberDataInternalRequest*>(
        &_GetRoomMemberDataInternalRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 31;
  friend void swap(GetRoomMemberDataInternalRequest& a, GetRoomMemberDataInternalRequest& b) { a.Swap(&b); }
  inline void Swap(GetRoomMemberDataInternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetRoomMemberDataInternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kAttrIdFieldNumber = 3,
    kMemberIdFieldNumber = 2,
    kRoomIdFieldNumber = 1,
  };
  // repeated .np2_structs.uint16 attrId = 3;
  int attrid_size() const;
  private:
  int _internal_attrid_size() const;

  public:
  void clear_attrid() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_attrid(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_attrid();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_attrid() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_attrid();
  public:
  const ::np2_structs::uint16& attrid(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_attrid();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& attrid() const;
  // .np2_structs.uint16 memberId = 2;
  bool has_memberid() const;
  void clear_memberid() ;
  const ::np2_structs::uint16& memberid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_memberid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_memberid();
  void set_allocated_memberid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_memberid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_memberid();

  private:
  const ::np2_structs::uint16& _internal_memberid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_memberid();

  public:
  // uint64 roomId = 1;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetRoomMemberDataInternalRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetRoomMemberDataInternalRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > attrid_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE memberid_;
    ::uint64_t roomid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<45> GetRoomMemberDataInternalRequest_class_data_;
// -------------------------------------------------------------------

class GetRoomListGUIRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetRoomListGUIRequest) */ {
 public:
  inline GetRoomListGUIRequest() : GetRoomListGUIRequest(nullptr) {}
  ~GetRoomListGUIRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetRoomListGUIRequest& default_instance() {
    return *reinterpret_cast<const GetRoomListGUIRequest*>(
        &_GetRoomListGUIRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 81;
  friend void swap(GetRoomListGUIRequest& a, GetRoomListGUIRequest& b) { a.Swap(&b); }
  inline void Swap(GetRoomListGUIRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetRoomListGUIRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kCondsFieldNumber = 3,
    kAttrsFieldNumber = 4,
    kRangeStartFieldNumber = 1,
    kRangeMaxFieldNumber = 2,
  };
  // repeated .np2_structs.MatchingSearchCondition conds = 3;
  int conds_size() const;
  private:
  int _internal_conds_size() const;

  public:
  void clear_conds() ;
  ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL mutable_conds(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL mutable_conds();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& _internal_conds() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL _internal_mutable_conds();
  public:
  const ::np2_structs::MatchingSearchCondition& conds(int index) const;
  ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL add_conds();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& conds() const;
  // repeated .np2_structs.MatchingAttr attrs = 4;
  int attrs_size() const;
  private:
  int _internal_attrs_size() const;

  public:
  void clear_attrs() ;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL mutable_attrs(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL mutable_attrs();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& _internal_attrs() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL _internal_mutable_attrs();
  public:
  const ::np2_structs::MatchingAttr& attrs(int index) const;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL add_attrs();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& attrs() const;
  // uint32 range_start = 1;
  void clear_range_start() ;
  ::uint32_t range_start() const;
  void set_range_start(::uint32_t value);

  private:
  ::uint32_t _internal_range_start() const;
  void _internal_set_range_start(::uint32_t value);

  public:
  // uint32 range_max = 2;
  void clear_range_max() ;
  ::uint32_t range_max() const;
  void set_range_max(::uint32_t value);

  private:
  ::uint32_t _internal_range_max() const;
  void _internal_set_range_max(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetRoomListGUIRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetRoomListGUIRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingSearchCondition > conds_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingAttr > attrs_;
    ::uint32_t range_start_;
    ::uint32_t range_max_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<34> GetRoomListGUIRequest_class_data_;
// -------------------------------------------------------------------

class GetRoomDataInternalRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetRoomDataInternalRequest) */ {
 public:
  inline GetRoomDataInternalRequest() : GetRoomDataInternalRequest(nullptr) {}
  ~GetRoomDataInternalRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetRoomDataInternalRequest& default_instance() {
    return *reinterpret_cast<const GetRoomDataInternalRequest*>(
        &_GetRoomDataInternalRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 34;
  friend void swap(GetRoomDataInternalRequest& a, GetRoomDataInternalRequest& b) { a.Swap(&b); }
  inline void Swap(GetRoomDataInternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetRoomDataInternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kAttrIdFieldNumber = 2,
    kRoomIdFieldNumber = 1,
  };
  // repeated .np2_structs.uint16 attrId = 2;
  int attrid_size() const;
  private:
  int _internal_attrid_size() const;

  public:
  void clear_attrid() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_attrid(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_attrid();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_attrid() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_attrid();
  public:
  const ::np2_structs::uint16& attrid(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_attrid();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& attrid() const;
  // uint64 roomId = 1;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetRoomDataInternalRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetRoomDataInternalRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > attrid_;
    ::uint64_t roomid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<39> GetRoomDataInternalRequest_class_data_;
// -------------------------------------------------------------------

class GetRoomDataExternalListRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetRoomDataExternalListRequest) */ {
 public:
  inline GetRoomDataExternalListRequest() : GetRoomDataExternalListRequest(nullptr) {}
  ~GetRoomDataExternalListRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetRoomDataExternalListRequest& default_instance() {
    return *reinterpret_cast<const GetRoomDataExternalListRequest*>(
        &_GetRoomDataExternalListRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 27;
  friend void swap(GetRoomDataExternalListRequest& a, GetRoomDataExternalListRequest& b) { a.Swap(&b); }
  inline void Swap(GetRoomDataExternalListRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetRoomDataExternalListRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kRoomIdsFieldNumber = 1,
    kAttrIdsFieldNumber = 2,
  };
  // repeated uint64 roomIds = 1;
  int roomids_size() const;
  private:
  int _internal_roomids_size() const;

  public:
  void clear_roomids() ;
  ::uint64_t roomids(int index) const;
  void set_roomids(int index, ::uint64_t value);
  void add_roomids(::uint64_t value);
  const ::google::protobuf::RepeatedField<::uint64_t>& roomids() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_roomids();

  private:
  const ::google::protobuf::RepeatedField<::uint64_t>& _internal_roomids() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_roomids();

  public:
  // repeated .np2_structs.uint16 attrIds = 2;
  int attrids_size() const;
  private:
  int _internal_attrids_size() const;

  public:
  void clear_attrids() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_attrids(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_attrids();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_attrids() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_attrids();
  public:
  const ::np2_structs::uint16& attrids(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_attrids();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& attrids() const;
  // @@protoc_insertion_point(class_scope:np2_structs.GetRoomDataExternalListRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetRoomDataExternalListRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedField<::uint64_t> roomids_;
    ::google::protobuf::internal::CachedSize _roomids_cached_byte_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > attrids_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<43> GetRoomDataExternalListRequest_class_data_;
// -------------------------------------------------------------------

class GetPingInfoResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetPingInfoResponse) */ {
 public:
  inline GetPingInfoResponse() : GetPingInfoResponse(nullptr) {}
  ~GetPingInfoResponse() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetPingInfoResponse& default_instance() {
    return *reinterpret_cast<const GetPingInfoResponse*>(
        &_GetPingInfoResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 40;
  friend void swap(GetPingInfoResponse& a, GetPingInfoResponse& b) { a.Swap(&b); }
  inline void Swap(GetPingInfoResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetPingInfoResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kServerIdFieldNumber = 1,
    kRoomIdFieldNumber = 3,
    kWorldIdFieldNumber = 2,
    kRttFieldNumber = 4,
  };
  // .np2_structs.uint16 serverId = 1;
  bool has_serverid() const;
  void clear_serverid() ;
  const ::np2_structs::uint16& serverid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_serverid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_serverid();
  void set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_serverid();

  private:
  const ::np2_structs::uint16& _internal_serverid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_serverid();

  public:
  // uint64 roomId = 3;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // uint32 worldId = 2;
  void clear_worldid() ;
  ::uint32_t worldid() const;
  void set_worldid(::uint32_t value);

  private:
  ::uint32_t _internal_worldid() const;
  void _internal_set_worldid(::uint32_t value);

  public:
  // uint32 rtt = 4;
  void clear_rtt() ;
  ::uint32_t rtt() const;
  void set_rtt(::uint32_t value);

  private:
  ::uint32_t _internal_rtt() const;
  void _internal_set_rtt(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GetPingInfoResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetPingInfoResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE serverid_;
    ::uint64_t roomid_;
    ::uint32_t worldid_;
    ::uint32_t rtt_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<32> GetPingInfoResponse_class_data_;
// -------------------------------------------------------------------

class GUIUserInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GUIUserInfo) */ {
 public:
  inline GUIUserInfo() : GUIUserInfo(nullptr) {}
  ~GUIUserInfo() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GUIUserInfo& default_instance() {
    return *reinterpret_cast<const GUIUserInfo*>(
        &_GUIUserInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 79;
  friend void swap(GUIUserInfo& a, GUIUserInfo& b) { a.Swap(&b); }
  inline void Swap(GUIUserInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GUIUserInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kInfoFieldNumber = 1,
    kOwnerFieldNumber = 2,
  };
  // .np2_structs.UserInfo info = 1;
  bool has_info() const;
  void clear_info() ;
  const ::np2_structs::UserInfo& info() const;
  [[nodiscard]] ::np2_structs::UserInfo* PROTOBUF_NULLABLE release_info();
  ::np2_structs::UserInfo* PROTOBUF_NONNULL mutable_info();
  void set_allocated_info(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_info(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  ::np2_structs::UserInfo* PROTOBUF_NULLABLE unsafe_arena_release_info();

  private:
  const ::np2_structs::UserInfo& _internal_info() const;
  ::np2_structs::UserInfo* PROTOBUF_NONNULL _internal_mutable_info();

  public:
  // bool owner = 2;
  void clear_owner() ;
  bool owner() const;
  void set_owner(bool value);

  private:
  bool _internal_owner() const;
  void _internal_set_owner(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.GUIUserInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GUIUserInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE info_;
    bool owner_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<24> GUIUserInfo_class_data_;
// -------------------------------------------------------------------

class CreateRoomGUIRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.CreateRoomGUIRequest) */ {
 public:
  inline CreateRoomGUIRequest() : CreateRoomGUIRequest(nullptr) {}
  ~CreateRoomGUIRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const CreateRoomGUIRequest& default_instance() {
    return *reinterpret_cast<const CreateRoomGUIRequest*>(
        &_CreateRoomGUIRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 78;
  friend void swap(CreateRoomGUIRequest& a, CreateRoomGUIRequest& b) { a.Swap(&b); }
  inline void Swap(CreateRoomGUIRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateRoomGUIRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kGameAttrsFieldNumber = 5,
    kTotalSlotsFieldNumber = 1,
    kPrivateSlotsFieldNumber = 2,
    kPrivilegeGrantFieldNumber = 3,
    kStealthFieldNumber = 4,
  };
  // repeated .np2_structs.MatchingAttr game_attrs = 5;
  int game_attrs_size() const;
  private:
  int _internal_game_attrs_size() const;

  public:
  void clear_game_attrs() ;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL mutable_game_attrs(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL mutable_game_attrs();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& _internal_game_attrs() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL _internal_mutable_game_attrs();
  public:
  const ::np2_structs::MatchingAttr& game_attrs(int index) const;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL add_game_attrs();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& game_attrs() const;
  // uint32 total_slots = 1;
  void clear_total_slots() ;
  ::uint32_t total_slots() const;
  void set_total_slots(::uint32_t value);

  private:
  ::uint32_t _internal_total_slots() const;
  void _internal_set_total_slots(::uint32_t value);

  public:
  // uint32 private_slots = 2;
  void clear_private_slots() ;
  ::uint32_t private_slots() const;
  void set_private_slots(::uint32_t value);

  private:
  ::uint32_t _internal_private_slots() const;
  void _internal_set_private_slots(::uint32_t value);

  public:
  // bool privilege_grant = 3;
  void clear_privilege_grant() ;
  bool privilege_grant() const;
  void set_privilege_grant(bool value);

  private:
  bool _internal_privilege_grant() const;
  void _internal_set_privilege_grant(bool value);

  public:
  // bool stealth = 4;
  void clear_stealth() ;
  bool stealth() const;
  void set_stealth(bool value);

  private:
  bool _internal_stealth() const;
  void _internal_set_stealth(bool value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.CreateRoomGUIRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CreateRoomGUIRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingAttr > game_attrs_;
    ::uint32_t total_slots_;
    ::uint32_t private_slots_;
    bool privilege_grant_;
    bool stealth_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<33> CreateRoomGUIRequest_class_data_;
// -------------------------------------------------------------------

class BinAttr final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.BinAttr) */ {
 public:
  inline BinAttr() : BinAttr(nullptr) {}
  ~BinAttr() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const BinAttr& default_instance() {
    return *reinterpret_cast<const BinAttr*>(
        &_BinAttr_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 5;
  friend void swap(BinAttr& a, BinAttr& b) { a.Swap(&b); }
  inline void Swap(BinAttr* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(BinAttr* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDataFieldNumber = 2,
    kIdFieldNumber = 1,
  };
  // bytes data = 2;
  void clear_data() ;
  const ::std::string& data() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_data(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_data();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_data();
  void set_allocated_data(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_data() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_data(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // .np2_structs.uint16 id = 1;
  bool has_id() const;
  void clear_id() ;
  const ::np2_structs::uint16& id() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_id();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_id();
  void set_allocated_id(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_id(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_id();

  private:
  const ::np2_structs::uint16& _internal_id() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_id();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.BinAttr)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<20> BinAttr_class_data_;
// -------------------------------------------------------------------

class SetUserInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SetUserInfo) */ {
 public:
  inline SetUserInfo() : SetUserInfo(nullptr) {}
  ~SetUserInfo() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SetUserInfo& default_instance() {
    return *reinterpret_cast<const SetUserInfo*>(
        &_SetUserInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 33;
  friend void swap(SetUserInfo& a, SetUserInfo& b) { a.Swap(&b); }
  inline void Swap(SetUserInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SetUserInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kUserBinAttrFieldNumber = 2,
    kServerIdFieldNumber = 1,
  };
  // repeated .np2_structs.BinAttr userBinAttr = 2;
  int userbinattr_size() const;
  private:
  int _internal_userbinattr_size() const;

  public:
  void clear_userbinattr() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_userbinattr(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_userbinattr();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_userbinattr() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_userbinattr();
  public:
  const ::np2_structs::BinAttr& userbinattr(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_userbinattr();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& userbinattr() const;
  // .np2_structs.uint16 serverId = 1;
  bool has_serverid() const;
  void clear_serverid() ;
  const ::np2_structs::uint16& serverid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_serverid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_serverid();
  void set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_serverid();

  private:
  const ::np2_structs::uint16& _internal_serverid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_serverid();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SetUserInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SetUserInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > userbinattr_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE serverid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<24> SetUserInfo_class_data_;
// -------------------------------------------------------------------

class SetRoomMemberDataInternalRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SetRoomMemberDataInternalRequest) */ {
 public:
  inline SetRoomMemberDataInternalRequest() : SetRoomMemberDataInternalRequest(nullptr) {}
  ~SetRoomMemberDataInternalRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SetRoomMemberDataInternalRequest& default_instance() {
    return *reinterpret_cast<const SetRoomMemberDataInternalRequest*>(
        &_SetRoomMemberDataInternalRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 32;
  friend void swap(SetRoomMemberDataInternalRequest& a, SetRoomMemberDataInternalRequest& b) { a.Swap(&b); }
  inline void Swap(SetRoomMemberDataInternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SetRoomMemberDataInternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kRoomMemberBinAttrInternalFieldNumber = 4,
    kMemberIdFieldNumber = 2,
    kTeamIdFieldNumber = 3,
    kRoomIdFieldNumber = 1,
  };
  // repeated .np2_structs.BinAttr roomMemberBinAttrInternal = 4;
  int roommemberbinattrinternal_size() const;
  private:
  int _internal_roommemberbinattrinternal_size() const;

  public:
  void clear_roommemberbinattrinternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roommemberbinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roommemberbinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roommemberbinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roommemberbinattrinternal();
  public:
  const ::np2_structs::BinAttr& roommemberbinattrinternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roommemberbinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roommemberbinattrinternal() const;
  // .np2_structs.uint16 memberId = 2;
  bool has_memberid() const;
  void clear_memberid() ;
  const ::np2_structs::uint16& memberid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_memberid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_memberid();
  void set_allocated_memberid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_memberid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_memberid();

  private:
  const ::np2_structs::uint16& _internal_memberid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_memberid();

  public:
  // .np2_structs.uint8 teamId = 3;
  bool has_teamid() const;
  void clear_teamid() ;
  const ::np2_structs::uint8& teamid() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_teamid();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_teamid();
  void set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_teamid();

  private:
  const ::np2_structs::uint8& _internal_teamid() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_teamid();

  public:
  // uint64 roomId = 1;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SetRoomMemberDataInternalRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SetRoomMemberDataInternalRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roommemberbinattrinternal_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE memberid_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE teamid_;
    ::uint64_t roomid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<45> SetRoomMemberDataInternalRequest_class_data_;
// -------------------------------------------------------------------

class SetRoomDataInternalRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SetRoomDataInternalRequest) */ {
 public:
  inline SetRoomDataInternalRequest() : SetRoomDataInternalRequest(nullptr) {}
  ~SetRoomDataInternalRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SetRoomDataInternalRequest& default_instance() {
    return *reinterpret_cast<const SetRoomDataInternalRequest*>(
        &_SetRoomDataInternalRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 30;
  friend void swap(SetRoomDataInternalRequest& a, SetRoomDataInternalRequest& b) { a.Swap(&b); }
  inline void Swap(SetRoomDataInternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SetRoomDataInternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kRoomBinAttrInternalFieldNumber = 4,
    kPasswordConfigFieldNumber = 5,
    kPasswordSlotMaskFieldNumber = 6,
    kOwnerPrivilegeRankFieldNumber = 7,
    kRoomIdFieldNumber = 1,
    kFlagFilterFieldNumber = 2,
    kFlagAttrFieldNumber = 3,
  };
  // repeated .np2_structs.BinAttr roomBinAttrInternal = 4;
  int roombinattrinternal_size() const;
  private:
  int _internal_roombinattrinternal_size() const;

  public:
  void clear_roombinattrinternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roombinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roombinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roombinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roombinattrinternal();
  public:
  const ::np2_structs::BinAttr& roombinattrinternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roombinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roombinattrinternal() const;
  // repeated .np2_structs.RoomGroupPasswordConfig passwordConfig = 5;
  int passwordconfig_size() const;
  private:
  int _internal_passwordconfig_size() const;

  public:
  void clear_passwordconfig() ;
  ::np2_structs::RoomGroupPasswordConfig* PROTOBUF_NONNULL mutable_passwordconfig(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroupPasswordConfig>* PROTOBUF_NONNULL mutable_passwordconfig();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroupPasswordConfig>& _internal_passwordconfig() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroupPasswordConfig>* PROTOBUF_NONNULL _internal_mutable_passwordconfig();
  public:
  const ::np2_structs::RoomGroupPasswordConfig& passwordconfig(int index) const;
  ::np2_structs::RoomGroupPasswordConfig* PROTOBUF_NONNULL add_passwordconfig();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroupPasswordConfig>& passwordconfig() const;
  // repeated uint64 passwordSlotMask = 6;
  int passwordslotmask_size() const;
  private:
  int _internal_passwordslotmask_size() const;

  public:
  void clear_passwordslotmask() ;
  ::uint64_t passwordslotmask(int index) const;
  void set_passwordslotmask(int index, ::uint64_t value);
  void add_passwordslotmask(::uint64_t value);
  const ::google::protobuf::RepeatedField<::uint64_t>& passwordslotmask() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL mutable_passwordslotmask();

  private:
  const ::google::protobuf::RepeatedField<::uint64_t>& _internal_passwordslotmask() const;
  ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL _internal_mutable_passwordslotmask();

  public:
  // repeated .np2_structs.uint16 ownerPrivilegeRank = 7;
  int ownerprivilegerank_size() const;
  private:
  int _internal_ownerprivilegerank_size() const;

  public:
  void clear_ownerprivilegerank() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_ownerprivilegerank(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_ownerprivilegerank();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_ownerprivilegerank() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_ownerprivilegerank();
  public:
  const ::np2_structs::uint16& ownerprivilegerank(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_ownerprivilegerank();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& ownerprivilegerank() const;
  // uint64 roomId = 1;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // uint32 flagFilter = 2;
  void clear_flagfilter() ;
  ::uint32_t flagfilter() const;
  void set_flagfilter(::uint32_t value);

  private:
  ::uint32_t _internal_flagfilter() const;
  void _internal_set_flagfilter(::uint32_t value);

  public:
  // uint32 flagAttr = 3;
  void clear_flagattr() ;
  ::uint32_t flagattr() const;
  void set_flagattr(::uint32_t value);

  private:
  ::uint32_t _internal_flagattr() const;
  void _internal_set_flagattr(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SetRoomDataInternalRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 7,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SetRoomDataInternalRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roombinattrinternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::RoomGroupPasswordConfig > passwordconfig_;
    ::google::protobuf::RepeatedField<::uint64_t> passwordslotmask_;
    ::google::protobuf::internal::CachedSize _passwordslotmask_cached_byte_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > ownerprivilegerank_;
    ::uint64_t roomid_;
    ::uint32_t flagfilter_;
    ::uint32_t flagattr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<39> SetRoomDataInternalRequest_class_data_;
// -------------------------------------------------------------------

class SetRoomDataExternalRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SetRoomDataExternalRequest) */ {
 public:
  inline SetRoomDataExternalRequest() : SetRoomDataExternalRequest(nullptr) {}
  ~SetRoomDataExternalRequest() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SetRoomDataExternalRequest& default_instance() {
    return *reinterpret_cast<const SetRoomDataExternalRequest*>(
        &_SetRoomDataExternalRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 29;
  friend void swap(SetRoomDataExternalRequest& a, SetRoomDataExternalRequest& b) { a.Swap(&b); }
  inline void Swap(SetRoomDataExternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SetRoomDataExternalRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kRoomSearchableIntAttrExternalFieldNumber = 2,
    kRoomSearchableBinAttrExternalFieldNumber = 3,
    kRoomBinAttrExternalFieldNumber = 4,
    kRoomIdFieldNumber = 1,
  };
  // repeated .np2_structs.IntAttr roomSearchableIntAttrExternal = 2;
  int roomsearchableintattrexternal_size() const;
  private:
  int _internal_roomsearchableintattrexternal_size() const;

  public:
  void clear_roomsearchableintattrexternal() ;
  ::np2_structs::IntAttr* PROTOBUF_NONNULL mutable_roomsearchableintattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL mutable_roomsearchableintattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& _internal_roomsearchableintattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL _internal_mutable_roomsearchableintattrexternal();
  public:
  const ::np2_structs::IntAttr& roomsearchableintattrexternal(int index) const;
  ::np2_structs::IntAttr* PROTOBUF_NONNULL add_roomsearchableintattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& roomsearchableintattrexternal() const;
  // repeated .np2_structs.BinAttr roomSearchableBinAttrExternal = 3;
  int roomsearchablebinattrexternal_size() const;
  private:
  int _internal_roomsearchablebinattrexternal_size() const;

  public:
  void clear_roomsearchablebinattrexternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roomsearchablebinattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roomsearchablebinattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roomsearchablebinattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roomsearchablebinattrexternal();
  public:
  const ::np2_structs::BinAttr& roomsearchablebinattrexternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roomsearchablebinattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roomsearchablebinattrexternal() const;
  // repeated .np2_structs.BinAttr roomBinAttrExternal = 4;
  int roombinattrexternal_size() const;
  private:
  int _internal_roombinattrexternal_size() const;

  public:
  void clear_roombinattrexternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roombinattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roombinattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roombinattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roombinattrexternal();
  public:
  const ::np2_structs::BinAttr& roombinattrexternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roombinattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roombinattrexternal() const;
  // uint64 roomId = 1;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SetRoomDataExternalRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SetRoomDataExternalRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::IntAttr > roomsearchableintattrexternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roomsearchablebinattrexternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roombinattrexternal_;
    ::uint64_t roomid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<39> SetRoomDataExternalRequest_class_data_;
// -------------------------------------------------------------------

class RoomMemberBinAttrInternal final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomMemberBinAttrInternal) */ {
 public:
  inline RoomMemberBinAttrInternal() : RoomMemberBinAttrInternal(nullptr) {}
  ~RoomMemberBinAttrInternal() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomMemberBinAttrInternal& default_instance() {
    return *reinterpret_cast<const RoomMemberBinAttrInternal*>(
        &_RoomMemberBinAttrInternal_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 7;
  friend void swap(RoomMemberBinAttrInternal& a, RoomMemberBinAttrInternal& b) { a.Swap(&b); }
  inline void Swap(RoomMemberBinAttrInternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomMemberBinAttrInternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kDataFieldNumber = 2,
    kUpdateDateFieldNumber = 1,
  };
  // .np2_structs.BinAttr data = 2;
  bool has_data() const;
  void clear_data() ;
  const ::np2_structs::BinAttr& data() const;
  [[nodiscard]] ::np2_structs::BinAttr* PROTOBUF_NULLABLE release_data();
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_data();
  void set_allocated_data(::np2_structs::BinAttr* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_data(::np2_structs::BinAttr* PROTOBUF_NULLABLE value);
  ::np2_structs::BinAttr* PROTOBUF_NULLABLE unsafe_arena_release_data();

  private:
  const ::np2_structs::BinAttr& _internal_data() const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // uint64 updateDate = 1;
  void clear_updatedate() ;
  ::uint64_t updatedate() const;
  void set_updatedate(::uint64_t value);

  private:
  ::uint64_t _internal_updatedate() const;
  void _internal_set_updatedate(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomMemberBinAttrInternal)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomMemberBinAttrInternal& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::BinAttr* PROTOBUF_NULLABLE data_;
    ::uint64_t updatedate_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<38> RoomMemberBinAttrInternal_class_data_;
// -------------------------------------------------------------------

class RoomDataExternal final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomDataExternal) */ {
 public:
  inline RoomDataExternal() : RoomDataExternal(nullptr) {}
  ~RoomDataExternal() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomDataExternal& default_instance() {
    return *reinterpret_cast<const RoomDataExternal*>(
        &_RoomDataExternal_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 15;
  friend void swap(RoomDataExternal& a, RoomDataExternal& b) { a.Swap(&b); }
  inline void Swap(RoomDataExternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomDataExternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kRoomGroupFieldNumber = 13,
    kRoomSearchableIntAttrExternalFieldNumber = 15,
    kRoomSearchableBinAttrExternalFieldNumber = 16,
    kRoomBinAttrExternalFieldNumber = 17,
    kServerIdFieldNumber = 1,
    kPublicSlotNumFieldNumber = 3,
    kPrivateSlotNumFieldNumber = 4,
    kOpenPublicSlotNumFieldNumber = 7,
    kMaxSlotFieldNumber = 8,
    kOpenPrivateSlotNumFieldNumber = 9,
    kCurMemberNumFieldNumber = 10,
    kOwnerFieldNumber = 12,
    kLobbyIdFieldNumber = 5,
    kRoomIdFieldNumber = 6,
    kWorldIdFieldNumber = 2,
    kFlagAttrFieldNumber = 14,
    kPasswordSlotMaskFieldNumber = 11,
  };
  // repeated .np2_structs.RoomGroup roomGroup = 13;
  int roomgroup_size() const;
  private:
  int _internal_roomgroup_size() const;

  public:
  void clear_roomgroup() ;
  ::np2_structs::RoomGroup* PROTOBUF_NONNULL mutable_roomgroup(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>* PROTOBUF_NONNULL mutable_roomgroup();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>& _internal_roomgroup() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>* PROTOBUF_NONNULL _internal_mutable_roomgroup();
  public:
  const ::np2_structs::RoomGroup& roomgroup(int index) const;
  ::np2_structs::RoomGroup* PROTOBUF_NONNULL add_roomgroup();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>& roomgroup() const;
  // repeated .np2_structs.IntAttr roomSearchableIntAttrExternal = 15;
  int roomsearchableintattrexternal_size() const;
  private:
  int _internal_roomsearchableintattrexternal_size() const;

  public:
  void clear_roomsearchableintattrexternal() ;
  ::np2_structs::IntAttr* PROTOBUF_NONNULL mutable_roomsearchableintattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL mutable_roomsearchableintattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& _internal_roomsearchableintattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL _internal_mutable_roomsearchableintattrexternal();
  public:
  const ::np2_structs::IntAttr& roomsearchableintattrexternal(int index) const;
  ::np2_structs::IntAttr* PROTOBUF_NONNULL add_roomsearchableintattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& roomsearchableintattrexternal() const;
  // repeated .np2_structs.BinAttr roomSearchableBinAttrExternal = 16;
  int roomsearchablebinattrexternal_size() const;
  private:
  int _internal_roomsearchablebinattrexternal_size() const;

  public:
  void clear_roomsearchablebinattrexternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roomsearchablebinattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roomsearchablebinattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roomsearchablebinattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roomsearchablebinattrexternal();
  public:
  const ::np2_structs::BinAttr& roomsearchablebinattrexternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roomsearchablebinattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roomsearchablebinattrexternal() const;
  // repeated .np2_structs.BinAttr roomBinAttrExternal = 17;
  int roombinattrexternal_size() const;
  private:
  int _internal_roombinattrexternal_size() const;

  public:
  void clear_roombinattrexternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roombinattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roombinattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roombinattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roombinattrexternal();
  public:
  const ::np2_structs::BinAttr& roombinattrexternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roombinattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roombinattrexternal() const;
  // .np2_structs.uint16 serverId = 1;
  bool has_serverid() const;
  void clear_serverid() ;
  const ::np2_structs::uint16& serverid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_serverid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_serverid();
  void set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_serverid();

  private:
  const ::np2_structs::uint16& _internal_serverid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_serverid();

  public:
  // .np2_structs.uint16 publicSlotNum = 3;
  bool has_publicslotnum() const;
  void clear_publicslotnum() ;
  const ::np2_structs::uint16& publicslotnum() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_publicslotnum();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_publicslotnum();
  void set_allocated_publicslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_publicslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_publicslotnum();

  private:
  const ::np2_structs::uint16& _internal_publicslotnum() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_publicslotnum();

  public:
  // .np2_structs.uint16 privateSlotNum = 4;
  bool has_privateslotnum() const;
  void clear_privateslotnum() ;
  const ::np2_structs::uint16& privateslotnum() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_privateslotnum();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_privateslotnum();
  void set_allocated_privateslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_privateslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_privateslotnum();

  private:
  const ::np2_structs::uint16& _internal_privateslotnum() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_privateslotnum();

  public:
  // .np2_structs.uint16 openPublicSlotNum = 7;
  bool has_openpublicslotnum() const;
  void clear_openpublicslotnum() ;
  const ::np2_structs::uint16& openpublicslotnum() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_openpublicslotnum();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_openpublicslotnum();
  void set_allocated_openpublicslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_openpublicslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_openpublicslotnum();

  private:
  const ::np2_structs::uint16& _internal_openpublicslotnum() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_openpublicslotnum();

  public:
  // .np2_structs.uint16 maxSlot = 8;
  bool has_maxslot() const;
  void clear_maxslot() ;
  const ::np2_structs::uint16& maxslot() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_maxslot();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_maxslot();
  void set_allocated_maxslot(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_maxslot(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_maxslot();

  private:
  const ::np2_structs::uint16& _internal_maxslot() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_maxslot();

  public:
  // .np2_structs.uint16 openPrivateSlotNum = 9;
  bool has_openprivateslotnum() const;
  void clear_openprivateslotnum() ;
  const ::np2_structs::uint16& openprivateslotnum() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_openprivateslotnum();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_openprivateslotnum();
  void set_allocated_openprivateslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_openprivateslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_openprivateslotnum();

  private:
  const ::np2_structs::uint16& _internal_openprivateslotnum() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_openprivateslotnum();

  public:
  // .np2_structs.uint16 curMemberNum = 10;
  bool has_curmembernum() const;
  void clear_curmembernum() ;
  const ::np2_structs::uint16& curmembernum() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_curmembernum();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_curmembernum();
  void set_allocated_curmembernum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_curmembernum(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_curmembernum();

  private:
  const ::np2_structs::uint16& _internal_curmembernum() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_curmembernum();

  public:
  // .np2_structs.UserInfo owner = 12;
  bool has_owner() const;
  void clear_owner() ;
  const ::np2_structs::UserInfo& owner() const;
  [[nodiscard]] ::np2_structs::UserInfo* PROTOBUF_NULLABLE release_owner();
  ::np2_structs::UserInfo* PROTOBUF_NONNULL mutable_owner();
  void set_allocated_owner(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_owner(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  ::np2_structs::UserInfo* PROTOBUF_NULLABLE unsafe_arena_release_owner();

  private:
  const ::np2_structs::UserInfo& _internal_owner() const;
  ::np2_structs::UserInfo* PROTOBUF_NONNULL _internal_mutable_owner();

  public:
  // uint64 lobbyId = 5;
  void clear_lobbyid() ;
  ::uint64_t lobbyid() const;
  void set_lobbyid(::uint64_t value);

  private:
  ::uint64_t _internal_lobbyid() const;
  void _internal_set_lobbyid(::uint64_t value);

  public:
  // uint64 roomId = 6;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // uint32 worldId = 2;
  void clear_worldid() ;
  ::uint32_t worldid() const;
  void set_worldid(::uint32_t value);

  private:
  ::uint32_t _internal_worldid() const;
  void _internal_set_worldid(::uint32_t value);

  public:
  // uint32 flagAttr = 14;
  void clear_flagattr() ;
  ::uint32_t flagattr() const;
  void set_flagattr(::uint32_t value);

  private:
  ::uint32_t _internal_flagattr() const;
  void _internal_set_flagattr(::uint32_t value);

  public:
  // uint64 passwordSlotMask = 11;
  void clear_passwordslotmask() ;
  ::uint64_t passwordslotmask() const;
  void set_passwordslotmask(::uint64_t value);

  private:
  ::uint64_t _internal_passwordslotmask() const;
  void _internal_set_passwordslotmask(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomDataExternal)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<5, 17,
                                   12, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomDataExternal& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::RoomGroup > roomgroup_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::IntAttr > roomsearchableintattrexternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roomsearchablebinattrexternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roombinattrexternal_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE serverid_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE publicslotnum_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE privateslotnum_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE openpublicslotnum_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE maxslot_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE openprivateslotnum_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE curmembernum_;
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE owner_;
    ::uint64_t lobbyid_;
    ::uint64_t roomid_;
    ::uint32_t worldid_;
    ::uint32_t flagattr_;
    ::uint64_t passwordslotmask_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<29> RoomDataExternal_class_data_;
// -------------------------------------------------------------------

class MatchingSignalingInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MatchingSignalingInfo) */ {
 public:
  inline MatchingSignalingInfo() : MatchingSignalingInfo(nullptr) {}
  ~MatchingSignalingInfo() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MatchingSignalingInfo& default_instance() {
    return *reinterpret_cast<const MatchingSignalingInfo*>(
        &_MatchingSignalingInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 3;
  friend void swap(MatchingSignalingInfo& a, MatchingSignalingInfo& b) { a.Swap(&b); }
  inline void Swap(MatchingSignalingInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MatchingSignalingInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

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

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

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

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

 public:
  static constexpr auto InternalGenerateClassData_();

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

  // accessors -------------------------------------------------------
  enum : int {
    kNpidFieldNumber = 1,
    kAddrFieldNumber = 2,
  };
  // string npid = 1;
  void clear_npid() ;
  const ::std::string& npid() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_npid(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_npid();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_npid();
  void set_allocated_npid(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_npid() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_npid(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_npid();

  public:
  // .np2_structs.SignalingAddr addr = 2;
  bool has_addr() const;
  void clear_addr() ;
  const ::np2_structs::SignalingAddr& addr() const;
  [[nodiscard]] ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE release_addr();
  ::np2_structs::SignalingAddr* PROTOBUF_NONNULL mutable_addr();
  void set_allocated_addr(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_addr(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value);
  ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE unsafe_arena_release_addr();

  private:
  const ::np2_structs::SignalingAddr& _internal_addr() const;
  ::np2_structs::SignalingAddr* PROTOBUF_NONNULL _internal_mutable_addr();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MatchingSignalingInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   1, 46,
                                   2>
      _table_;

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

extern const ::google::protobuf::internal::ClassDataLite<34> MatchingSignalingInfo_class_data_;
// -------------------------------------------------------------------

class MatchingRoomStatus final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MatchingRoomStatus) */ {
 public:
  inline MatchingRoomStatus() : MatchingRoomStatus(nullptr) {}
  ~MatchingRoomStatus() PROTOBUF_FINAL;

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

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

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

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MatchingRoomStatus& default_instance() {
    return *reinterpret_cast<const MatchingRoomStatus*>(
        &_MatchingRoomStatus_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 80;
  friend void swap(MatchingRoomStatus& a, MatchingRoomStatus& b) { a.Swap(&b); }
  inline void Swap(MatchingRoomStatus* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MatchingRoomStatus* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

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

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

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

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MatchingRoomStatus* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.MatchingRoomStatus"; }

  explicit MatchingRoomStatus(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MatchingRoomStatus(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MatchingRoomStatus& from);
  MatchingRoomStatus(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MatchingRoomStatus&& from) noexcept
      : MatchingRoomStatus(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMembersFieldNumber = 2,
    kIdFieldNumber = 1,
    kKickActorFieldNumber = 3,
    kOptFieldNumber = 4,
  };
  // repeated .np2_structs.GUIUserInfo members = 2;
  int members_size() const;
  private:
  int _internal_members_size() const;

  public:
  void clear_members() ;
  ::np2_structs::GUIUserInfo* PROTOBUF_NONNULL mutable_members(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::GUIUserInfo>* PROTOBUF_NONNULL mutable_members();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::GUIUserInfo>& _internal_members() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::GUIUserInfo>* PROTOBUF_NONNULL _internal_mutable_members();
  public:
  const ::np2_structs::GUIUserInfo& members(int index) const;
  ::np2_structs::GUIUserInfo* PROTOBUF_NONNULL add_members();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::GUIUserInfo>& members() const;
  // bytes id = 1;
  void clear_id() ;
  const ::std::string& id() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_id(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_id();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_id();
  void set_allocated_id(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_id() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_id(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_id();

  public:
  // string kick_actor = 3;
  void clear_kick_actor() ;
  const ::std::string& kick_actor() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_kick_actor(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_kick_actor();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_kick_actor();
  void set_allocated_kick_actor(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_kick_actor() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_kick_actor(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_kick_actor();

  public:
  // bytes opt = 4;
  void clear_opt() ;
  const ::std::string& opt() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_opt(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_opt();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_opt();
  void set_allocated_opt(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_opt() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_opt(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_opt();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MatchingRoomStatus)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   1, 49,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MatchingRoomStatus& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::GUIUserInfo > members_;
    ::google::protobuf::internal::ArenaStringPtr id_;
    ::google::protobuf::internal::ArenaStringPtr kick_actor_;
    ::google::protobuf::internal::ArenaStringPtr opt_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<31> MatchingRoomStatus_class_data_;
// -------------------------------------------------------------------

class MatchingRoomList final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MatchingRoomList) */ {
 public:
  inline MatchingRoomList() : MatchingRoomList(nullptr) {}
  ~MatchingRoomList() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MatchingRoomList* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MatchingRoomList));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR MatchingRoomList(::google::protobuf::internal::ConstantInitialized);

  inline MatchingRoomList(const MatchingRoomList& from) : MatchingRoomList(nullptr, from) {}
  inline MatchingRoomList(MatchingRoomList&& from) noexcept
      : MatchingRoomList(nullptr, ::std::move(from)) {}
  inline MatchingRoomList& operator=(const MatchingRoomList& from) {
    CopyFrom(from);
    return *this;
  }
  inline MatchingRoomList& operator=(MatchingRoomList&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MatchingRoomList& default_instance() {
    return *reinterpret_cast<const MatchingRoomList*>(
        &_MatchingRoomList_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 83;
  friend void swap(MatchingRoomList& a, MatchingRoomList& b) { a.Swap(&b); }
  inline void Swap(MatchingRoomList* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MatchingRoomList* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MatchingRoomList* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<MatchingRoomList>(arena);
  }
  void CopyFrom(const MatchingRoomList& from);
  void MergeFrom(const MatchingRoomList& from) { MatchingRoomList::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MatchingRoomList* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.MatchingRoomList"; }

  explicit MatchingRoomList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MatchingRoomList(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MatchingRoomList& from);
  MatchingRoomList(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MatchingRoomList&& from) noexcept
      : MatchingRoomList(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRoomsFieldNumber = 3,
    kStartFieldNumber = 1,
    kTotalFieldNumber = 2,
  };
  // repeated .np2_structs.MatchingRoom rooms = 3;
  int rooms_size() const;
  private:
  int _internal_rooms_size() const;

  public:
  void clear_rooms() ;
  ::np2_structs::MatchingRoom* PROTOBUF_NONNULL mutable_rooms(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingRoom>* PROTOBUF_NONNULL mutable_rooms();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingRoom>& _internal_rooms() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingRoom>* PROTOBUF_NONNULL _internal_mutable_rooms();
  public:
  const ::np2_structs::MatchingRoom& rooms(int index) const;
  ::np2_structs::MatchingRoom* PROTOBUF_NONNULL add_rooms();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingRoom>& rooms() const;
  // uint32 start = 1;
  void clear_start() ;
  ::uint32_t start() const;
  void set_start(::uint32_t value);

  private:
  ::uint32_t _internal_start() const;
  void _internal_set_start(::uint32_t value);

  public:
  // uint32 total = 2;
  void clear_total() ;
  ::uint32_t total() const;
  void set_total(::uint32_t value);

  private:
  ::uint32_t _internal_total() const;
  void _internal_set_total(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MatchingRoomList)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MatchingRoomList& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingRoom > rooms_;
    ::uint32_t start_;
    ::uint32_t total_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<29> MatchingRoomList_class_data_;
// -------------------------------------------------------------------

class Matching2SignalingInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.Matching2SignalingInfo) */ {
 public:
  inline Matching2SignalingInfo() : Matching2SignalingInfo(nullptr) {}
  ~Matching2SignalingInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(Matching2SignalingInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(Matching2SignalingInfo));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR Matching2SignalingInfo(::google::protobuf::internal::ConstantInitialized);

  inline Matching2SignalingInfo(const Matching2SignalingInfo& from) : Matching2SignalingInfo(nullptr, from) {}
  inline Matching2SignalingInfo(Matching2SignalingInfo&& from) noexcept
      : Matching2SignalingInfo(nullptr, ::std::move(from)) {}
  inline Matching2SignalingInfo& operator=(const Matching2SignalingInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline Matching2SignalingInfo& operator=(Matching2SignalingInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const Matching2SignalingInfo& default_instance() {
    return *reinterpret_cast<const Matching2SignalingInfo*>(
        &_Matching2SignalingInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 4;
  friend void swap(Matching2SignalingInfo& a, Matching2SignalingInfo& b) { a.Swap(&b); }
  inline void Swap(Matching2SignalingInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Matching2SignalingInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Matching2SignalingInfo* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<Matching2SignalingInfo>(arena);
  }
  void CopyFrom(const Matching2SignalingInfo& from);
  void MergeFrom(const Matching2SignalingInfo& from) { Matching2SignalingInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(Matching2SignalingInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.Matching2SignalingInfo"; }

  explicit Matching2SignalingInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  Matching2SignalingInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Matching2SignalingInfo& from);
  Matching2SignalingInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Matching2SignalingInfo&& from) noexcept
      : Matching2SignalingInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMemberIdFieldNumber = 1,
    kAddrFieldNumber = 2,
  };
  // .np2_structs.uint16 member_id = 1;
  bool has_member_id() const;
  void clear_member_id() ;
  const ::np2_structs::uint16& member_id() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_member_id();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_member_id();
  void set_allocated_member_id(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_member_id(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_member_id();

  private:
  const ::np2_structs::uint16& _internal_member_id() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_member_id();

  public:
  // .np2_structs.SignalingAddr addr = 2;
  bool has_addr() const;
  void clear_addr() ;
  const ::np2_structs::SignalingAddr& addr() const;
  [[nodiscard]] ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE release_addr();
  ::np2_structs::SignalingAddr* PROTOBUF_NONNULL mutable_addr();
  void set_allocated_addr(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_addr(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value);
  ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE unsafe_arena_release_addr();

  private:
  const ::np2_structs::SignalingAddr& _internal_addr() const;
  ::np2_structs::SignalingAddr* PROTOBUF_NONNULL _internal_mutable_addr();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.Matching2SignalingInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const Matching2SignalingInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE member_id_;
    ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE addr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<35> Matching2SignalingInfo_class_data_;
// -------------------------------------------------------------------

class JoinRoomRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.JoinRoomRequest) */ {
 public:
  inline JoinRoomRequest() : JoinRoomRequest(nullptr) {}
  ~JoinRoomRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(JoinRoomRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(JoinRoomRequest));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR JoinRoomRequest(::google::protobuf::internal::ConstantInitialized);

  inline JoinRoomRequest(const JoinRoomRequest& from) : JoinRoomRequest(nullptr, from) {}
  inline JoinRoomRequest(JoinRoomRequest&& from) noexcept
      : JoinRoomRequest(nullptr, ::std::move(from)) {}
  inline JoinRoomRequest& operator=(const JoinRoomRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline JoinRoomRequest& operator=(JoinRoomRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const JoinRoomRequest& default_instance() {
    return *reinterpret_cast<const JoinRoomRequest*>(
        &_JoinRoomRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 24;
  friend void swap(JoinRoomRequest& a, JoinRoomRequest& b) { a.Swap(&b); }
  inline void Swap(JoinRoomRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(JoinRoomRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  JoinRoomRequest* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<JoinRoomRequest>(arena);
  }
  void CopyFrom(const JoinRoomRequest& from);
  void MergeFrom(const JoinRoomRequest& from) { JoinRoomRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(JoinRoomRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.JoinRoomRequest"; }

  explicit JoinRoomRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  JoinRoomRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const JoinRoomRequest& from);
  JoinRoomRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, JoinRoomRequest&& from) noexcept
      : JoinRoomRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRoomMemberBinAttrInternalFieldNumber = 4,
    kRoomPasswordFieldNumber = 2,
    kJoinRoomGroupLabelFieldNumber = 3,
    kOptDataFieldNumber = 5,
    kTeamIdFieldNumber = 6,
    kRoomIdFieldNumber = 1,
  };
  // repeated .np2_structs.BinAttr roomMemberBinAttrInternal = 4;
  int roommemberbinattrinternal_size() const;
  private:
  int _internal_roommemberbinattrinternal_size() const;

  public:
  void clear_roommemberbinattrinternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roommemberbinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roommemberbinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roommemberbinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roommemberbinattrinternal();
  public:
  const ::np2_structs::BinAttr& roommemberbinattrinternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roommemberbinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roommemberbinattrinternal() const;
  // bytes roomPassword = 2;
  void clear_roompassword() ;
  const ::std::string& roompassword() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_roompassword(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_roompassword();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_roompassword();
  void set_allocated_roompassword(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_roompassword() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_roompassword(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_roompassword();

  public:
  // bytes joinRoomGroupLabel = 3;
  void clear_joinroomgrouplabel() ;
  const ::std::string& joinroomgrouplabel() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_joinroomgrouplabel(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_joinroomgrouplabel();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_joinroomgrouplabel();
  void set_allocated_joinroomgrouplabel(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_joinroomgrouplabel() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_joinroomgrouplabel(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_joinroomgrouplabel();

  public:
  // .np2_structs.PresenceOptionData optData = 5;
  bool has_optdata() const;
  void clear_optdata() ;
  const ::np2_structs::PresenceOptionData& optdata() const;
  [[nodiscard]] ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE release_optdata();
  ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL mutable_optdata();
  void set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value);
  ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE unsafe_arena_release_optdata();

  private:
  const ::np2_structs::PresenceOptionData& _internal_optdata() const;
  ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL _internal_mutable_optdata();

  public:
  // .np2_structs.uint8 teamId = 6;
  bool has_teamid() const;
  void clear_teamid() ;
  const ::np2_structs::uint8& teamid() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_teamid();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_teamid();
  void set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_teamid();

  private:
  const ::np2_structs::uint8& _internal_teamid() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_teamid();

  public:
  // uint64 roomId = 1;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.JoinRoomRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 6,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const JoinRoomRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roommemberbinattrinternal_;
    ::google::protobuf::internal::ArenaStringPtr roompassword_;
    ::google::protobuf::internal::ArenaStringPtr joinroomgrouplabel_;
    ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE optdata_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE teamid_;
    ::uint64_t roomid_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<28> JoinRoomRequest_class_data_;
// -------------------------------------------------------------------

class IntSearchFilter final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.IntSearchFilter) */ {
 public:
  inline IntSearchFilter() : IntSearchFilter(nullptr) {}
  ~IntSearchFilter() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(IntSearchFilter* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(IntSearchFilter));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR IntSearchFilter(::google::protobuf::internal::ConstantInitialized);

  inline IntSearchFilter(const IntSearchFilter& from) : IntSearchFilter(nullptr, from) {}
  inline IntSearchFilter(IntSearchFilter&& from) noexcept
      : IntSearchFilter(nullptr, ::std::move(from)) {}
  inline IntSearchFilter& operator=(const IntSearchFilter& from) {
    CopyFrom(from);
    return *this;
  }
  inline IntSearchFilter& operator=(IntSearchFilter&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const IntSearchFilter& default_instance() {
    return *reinterpret_cast<const IntSearchFilter*>(
        &_IntSearchFilter_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 16;
  friend void swap(IntSearchFilter& a, IntSearchFilter& b) { a.Swap(&b); }
  inline void Swap(IntSearchFilter* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(IntSearchFilter* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  IntSearchFilter* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<IntSearchFilter>(arena);
  }
  void CopyFrom(const IntSearchFilter& from);
  void MergeFrom(const IntSearchFilter& from) { IntSearchFilter::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(IntSearchFilter* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.IntSearchFilter"; }

  explicit IntSearchFilter(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  IntSearchFilter(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const IntSearchFilter& from);
  IntSearchFilter(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, IntSearchFilter&& from) noexcept
      : IntSearchFilter(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSearchOperatorFieldNumber = 1,
    kAttrFieldNumber = 2,
  };
  // .np2_structs.uint8 searchOperator = 1;
  bool has_searchoperator() const;
  void clear_searchoperator() ;
  const ::np2_structs::uint8& searchoperator() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_searchoperator();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_searchoperator();
  void set_allocated_searchoperator(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_searchoperator(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_searchoperator();

  private:
  const ::np2_structs::uint8& _internal_searchoperator() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_searchoperator();

  public:
  // .np2_structs.IntAttr attr = 2;
  bool has_attr() const;
  void clear_attr() ;
  const ::np2_structs::IntAttr& attr() const;
  [[nodiscard]] ::np2_structs::IntAttr* PROTOBUF_NULLABLE release_attr();
  ::np2_structs::IntAttr* PROTOBUF_NONNULL mutable_attr();
  void set_allocated_attr(::np2_structs::IntAttr* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_attr(::np2_structs::IntAttr* PROTOBUF_NULLABLE value);
  ::np2_structs::IntAttr* PROTOBUF_NULLABLE unsafe_arena_release_attr();

  private:
  const ::np2_structs::IntAttr& _internal_attr() const;
  ::np2_structs::IntAttr* PROTOBUF_NONNULL _internal_mutable_attr();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.IntSearchFilter)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const IntSearchFilter& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE searchoperator_;
    ::np2_structs::IntAttr* PROTOBUF_NULLABLE attr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<28> IntSearchFilter_class_data_;
// -------------------------------------------------------------------

class GetRoomMemberDataExternalListResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetRoomMemberDataExternalListResponse) */ {
 public:
  inline GetRoomMemberDataExternalListResponse() : GetRoomMemberDataExternalListResponse(nullptr) {}
  ~GetRoomMemberDataExternalListResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GetRoomMemberDataExternalListResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GetRoomMemberDataExternalListResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GetRoomMemberDataExternalListResponse(::google::protobuf::internal::ConstantInitialized);

  inline GetRoomMemberDataExternalListResponse(const GetRoomMemberDataExternalListResponse& from) : GetRoomMemberDataExternalListResponse(nullptr, from) {}
  inline GetRoomMemberDataExternalListResponse(GetRoomMemberDataExternalListResponse&& from) noexcept
      : GetRoomMemberDataExternalListResponse(nullptr, ::std::move(from)) {}
  inline GetRoomMemberDataExternalListResponse& operator=(const GetRoomMemberDataExternalListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetRoomMemberDataExternalListResponse& operator=(GetRoomMemberDataExternalListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetRoomMemberDataExternalListResponse& default_instance() {
    return *reinterpret_cast<const GetRoomMemberDataExternalListResponse*>(
        &_GetRoomMemberDataExternalListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 90;
  friend void swap(GetRoomMemberDataExternalListResponse& a, GetRoomMemberDataExternalListResponse& b) { a.Swap(&b); }
  inline void Swap(GetRoomMemberDataExternalListResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetRoomMemberDataExternalListResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetRoomMemberDataExternalListResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<GetRoomMemberDataExternalListResponse>(arena);
  }
  void CopyFrom(const GetRoomMemberDataExternalListResponse& from);
  void MergeFrom(const GetRoomMemberDataExternalListResponse& from) { GetRoomMemberDataExternalListResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GetRoomMemberDataExternalListResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.GetRoomMemberDataExternalListResponse"; }

  explicit GetRoomMemberDataExternalListResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GetRoomMemberDataExternalListResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GetRoomMemberDataExternalListResponse& from);
  GetRoomMemberDataExternalListResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GetRoomMemberDataExternalListResponse&& from) noexcept
      : GetRoomMemberDataExternalListResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMembersFieldNumber = 1,
  };
  // repeated .np2_structs.RoomMemberDataExternal members = 1;
  int members_size() const;
  private:
  int _internal_members_size() const;

  public:
  void clear_members() ;
  ::np2_structs::RoomMemberDataExternal* PROTOBUF_NONNULL mutable_members(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataExternal>* PROTOBUF_NONNULL mutable_members();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataExternal>& _internal_members() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataExternal>* PROTOBUF_NONNULL _internal_mutable_members();
  public:
  const ::np2_structs::RoomMemberDataExternal& members(int index) const;
  ::np2_structs::RoomMemberDataExternal* PROTOBUF_NONNULL add_members();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataExternal>& members() const;
  // @@protoc_insertion_point(class_scope:np2_structs.GetRoomMemberDataExternalListResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetRoomMemberDataExternalListResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::RoomMemberDataExternal > members_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<50> GetRoomMemberDataExternalListResponse_class_data_;
// -------------------------------------------------------------------

class CreateJoinRoomRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.CreateJoinRoomRequest) */ {
 public:
  inline CreateJoinRoomRequest() : CreateJoinRoomRequest(nullptr) {}
  ~CreateJoinRoomRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CreateJoinRoomRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CreateJoinRoomRequest));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR CreateJoinRoomRequest(::google::protobuf::internal::ConstantInitialized);

  inline CreateJoinRoomRequest(const CreateJoinRoomRequest& from) : CreateJoinRoomRequest(nullptr, from) {}
  inline CreateJoinRoomRequest(CreateJoinRoomRequest&& from) noexcept
      : CreateJoinRoomRequest(nullptr, ::std::move(from)) {}
  inline CreateJoinRoomRequest& operator=(const CreateJoinRoomRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateJoinRoomRequest& operator=(CreateJoinRoomRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const CreateJoinRoomRequest& default_instance() {
    return *reinterpret_cast<const CreateJoinRoomRequest*>(
        &_CreateJoinRoomRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 22;
  friend void swap(CreateJoinRoomRequest& a, CreateJoinRoomRequest& b) { a.Swap(&b); }
  inline void Swap(CreateJoinRoomRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateJoinRoomRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CreateJoinRoomRequest* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<CreateJoinRoomRequest>(arena);
  }
  void CopyFrom(const CreateJoinRoomRequest& from);
  void MergeFrom(const CreateJoinRoomRequest& from) { CreateJoinRoomRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CreateJoinRoomRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.CreateJoinRoomRequest"; }

  explicit CreateJoinRoomRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CreateJoinRoomRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateJoinRoomRequest& from);
  CreateJoinRoomRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CreateJoinRoomRequest&& from) noexcept
      : CreateJoinRoomRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRoomBinAttrInternalFieldNumber = 5,
    kRoomSearchableIntAttrExternalFieldNumber = 6,
    kRoomSearchableBinAttrExternalFieldNumber = 7,
    kRoomBinAttrExternalFieldNumber = 8,
    kGroupConfigFieldNumber = 10,
    kAllowedUserFieldNumber = 12,
    kBlockedUserFieldNumber = 13,
    kRoomMemberBinAttrInternalFieldNumber = 15,
    kRoomPasswordFieldNumber = 9,
    kJoinRoomGroupLabelFieldNumber = 14,
    kTeamIdFieldNumber = 16,
    kSigOptParamFieldNumber = 17,
    kLobbyIdFieldNumber = 2,
    kWorldIdFieldNumber = 1,
    kMaxSlotFieldNumber = 3,
    kPasswordSlotMaskFieldNumber = 11,
    kFlagAttrFieldNumber = 4,
  };
  // repeated .np2_structs.BinAttr roomBinAttrInternal = 5;
  int roombinattrinternal_size() const;
  private:
  int _internal_roombinattrinternal_size() const;

  public:
  void clear_roombinattrinternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roombinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roombinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roombinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roombinattrinternal();
  public:
  const ::np2_structs::BinAttr& roombinattrinternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roombinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roombinattrinternal() const;
  // repeated .np2_structs.IntAttr roomSearchableIntAttrExternal = 6;
  int roomsearchableintattrexternal_size() const;
  private:
  int _internal_roomsearchableintattrexternal_size() const;

  public:
  void clear_roomsearchableintattrexternal() ;
  ::np2_structs::IntAttr* PROTOBUF_NONNULL mutable_roomsearchableintattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL mutable_roomsearchableintattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& _internal_roomsearchableintattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL _internal_mutable_roomsearchableintattrexternal();
  public:
  const ::np2_structs::IntAttr& roomsearchableintattrexternal(int index) const;
  ::np2_structs::IntAttr* PROTOBUF_NONNULL add_roomsearchableintattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& roomsearchableintattrexternal() const;
  // repeated .np2_structs.BinAttr roomSearchableBinAttrExternal = 7;
  int roomsearchablebinattrexternal_size() const;
  private:
  int _internal_roomsearchablebinattrexternal_size() const;

  public:
  void clear_roomsearchablebinattrexternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roomsearchablebinattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roomsearchablebinattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roomsearchablebinattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roomsearchablebinattrexternal();
  public:
  const ::np2_structs::BinAttr& roomsearchablebinattrexternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roomsearchablebinattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roomsearchablebinattrexternal() const;
  // repeated .np2_structs.BinAttr roomBinAttrExternal = 8;
  int roombinattrexternal_size() const;
  private:
  int _internal_roombinattrexternal_size() const;

  public:
  void clear_roombinattrexternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roombinattrexternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roombinattrexternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roombinattrexternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roombinattrexternal();
  public:
  const ::np2_structs::BinAttr& roombinattrexternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roombinattrexternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roombinattrexternal() const;
  // repeated .np2_structs.GroupConfig groupConfig = 10;
  int groupconfig_size() const;
  private:
  int _internal_groupconfig_size() const;

  public:
  void clear_groupconfig() ;
  ::np2_structs::GroupConfig* PROTOBUF_NONNULL mutable_groupconfig(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::GroupConfig>* PROTOBUF_NONNULL mutable_groupconfig();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::GroupConfig>& _internal_groupconfig() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::GroupConfig>* PROTOBUF_NONNULL _internal_mutable_groupconfig();
  public:
  const ::np2_structs::GroupConfig& groupconfig(int index) const;
  ::np2_structs::GroupConfig* PROTOBUF_NONNULL add_groupconfig();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::GroupConfig>& groupconfig() const;
  // repeated string allowedUser = 12;
  int alloweduser_size() const;
  private:
  int _internal_alloweduser_size() const;

  public:
  void clear_alloweduser() ;
  const ::std::string& alloweduser(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_alloweduser(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_alloweduser(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_alloweduser();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_alloweduser(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& alloweduser() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_alloweduser();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_alloweduser() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_alloweduser();

  public:
  // repeated string blockedUser = 13;
  int blockeduser_size() const;
  private:
  int _internal_blockeduser_size() const;

  public:
  void clear_blockeduser() ;
  const ::std::string& blockeduser(int index) const;
  ::std::string* PROTOBUF_NONNULL mutable_blockeduser(int index);
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_blockeduser(int index, Arg_&& value, Args_... args);
  ::std::string* PROTOBUF_NONNULL add_blockeduser();
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void add_blockeduser(Arg_&& value, Args_... args);
  const ::google::protobuf::RepeatedPtrField<::std::string>& blockeduser() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL mutable_blockeduser();

  private:
  const ::google::protobuf::RepeatedPtrField<::std::string>& _internal_blockeduser() const;
  ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL _internal_mutable_blockeduser();

  public:
  // repeated .np2_structs.BinAttr roomMemberBinAttrInternal = 15;
  int roommemberbinattrinternal_size() const;
  private:
  int _internal_roommemberbinattrinternal_size() const;

  public:
  void clear_roommemberbinattrinternal() ;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_roommemberbinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL mutable_roommemberbinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& _internal_roommemberbinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL _internal_mutable_roommemberbinattrinternal();
  public:
  const ::np2_structs::BinAttr& roommemberbinattrinternal(int index) const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL add_roommemberbinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& roommemberbinattrinternal() const;
  // bytes roomPassword = 9;
  void clear_roompassword() ;
  const ::std::string& roompassword() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_roompassword(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_roompassword();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_roompassword();
  void set_allocated_roompassword(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_roompassword() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_roompassword(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_roompassword();

  public:
  // bytes joinRoomGroupLabel = 14;
  void clear_joinroomgrouplabel() ;
  const ::std::string& joinroomgrouplabel() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_joinroomgrouplabel(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_joinroomgrouplabel();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_joinroomgrouplabel();
  void set_allocated_joinroomgrouplabel(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_joinroomgrouplabel() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_joinroomgrouplabel(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_joinroomgrouplabel();

  public:
  // .np2_structs.uint8 teamId = 16;
  bool has_teamid() const;
  void clear_teamid() ;
  const ::np2_structs::uint8& teamid() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_teamid();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_teamid();
  void set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_teamid();

  private:
  const ::np2_structs::uint8& _internal_teamid() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_teamid();

  public:
  // .np2_structs.OptParam sigOptParam = 17;
  bool has_sigoptparam() const;
  void clear_sigoptparam() ;
  const ::np2_structs::OptParam& sigoptparam() const;
  [[nodiscard]] ::np2_structs::OptParam* PROTOBUF_NULLABLE release_sigoptparam();
  ::np2_structs::OptParam* PROTOBUF_NONNULL mutable_sigoptparam();
  void set_allocated_sigoptparam(::np2_structs::OptParam* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_sigoptparam(::np2_structs::OptParam* PROTOBUF_NULLABLE value);
  ::np2_structs::OptParam* PROTOBUF_NULLABLE unsafe_arena_release_sigoptparam();

  private:
  const ::np2_structs::OptParam& _internal_sigoptparam() const;
  ::np2_structs::OptParam* PROTOBUF_NONNULL _internal_mutable_sigoptparam();

  public:
  // uint64 lobbyId = 2;
  void clear_lobbyid() ;
  ::uint64_t lobbyid() const;
  void set_lobbyid(::uint64_t value);

  private:
  ::uint64_t _internal_lobbyid() const;
  void _internal_set_lobbyid(::uint64_t value);

  public:
  // uint32 worldId = 1;
  void clear_worldid() ;
  ::uint32_t worldid() const;
  void set_worldid(::uint32_t value);

  private:
  ::uint32_t _internal_worldid() const;
  void _internal_set_worldid(::uint32_t value);

  public:
  // uint32 maxSlot = 3;
  void clear_maxslot() ;
  ::uint32_t maxslot() const;
  void set_maxslot(::uint32_t value);

  private:
  ::uint32_t _internal_maxslot() const;
  void _internal_set_maxslot(::uint32_t value);

  public:
  // uint64 passwordSlotMask = 11;
  void clear_passwordslotmask() ;
  ::uint64_t passwordslotmask() const;
  void set_passwordslotmask(::uint64_t value);

  private:
  ::uint64_t _internal_passwordslotmask() const;
  void _internal_set_passwordslotmask(::uint64_t value);

  public:
  // uint32 flagAttr = 4;
  void clear_flagattr() ;
  ::uint32_t flagattr() const;
  void set_flagattr(::uint32_t value);

  private:
  ::uint32_t _internal_flagattr() const;
  void _internal_set_flagattr(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.CreateJoinRoomRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<5, 17,
                                   8, 80,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CreateJoinRoomRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roombinattrinternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::IntAttr > roomsearchableintattrexternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roomsearchablebinattrexternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roombinattrexternal_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::GroupConfig > groupconfig_;
    ::google::protobuf::RepeatedPtrField<::std::string> alloweduser_;
    ::google::protobuf::RepeatedPtrField<::std::string> blockeduser_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttr > roommemberbinattrinternal_;
    ::google::protobuf::internal::ArenaStringPtr roompassword_;
    ::google::protobuf::internal::ArenaStringPtr joinroomgrouplabel_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE teamid_;
    ::np2_structs::OptParam* PROTOBUF_NULLABLE sigoptparam_;
    ::uint64_t lobbyid_;
    ::uint32_t worldid_;
    ::uint32_t maxslot_;
    ::uint64_t passwordslotmask_;
    ::uint32_t flagattr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<34> CreateJoinRoomRequest_class_data_;
// -------------------------------------------------------------------

class BinSearchFilter final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.BinSearchFilter) */ {
 public:
  inline BinSearchFilter() : BinSearchFilter(nullptr) {}
  ~BinSearchFilter() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(BinSearchFilter* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(BinSearchFilter));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR BinSearchFilter(::google::protobuf::internal::ConstantInitialized);

  inline BinSearchFilter(const BinSearchFilter& from) : BinSearchFilter(nullptr, from) {}
  inline BinSearchFilter(BinSearchFilter&& from) noexcept
      : BinSearchFilter(nullptr, ::std::move(from)) {}
  inline BinSearchFilter& operator=(const BinSearchFilter& from) {
    CopyFrom(from);
    return *this;
  }
  inline BinSearchFilter& operator=(BinSearchFilter&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const BinSearchFilter& default_instance() {
    return *reinterpret_cast<const BinSearchFilter*>(
        &_BinSearchFilter_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 17;
  friend void swap(BinSearchFilter& a, BinSearchFilter& b) { a.Swap(&b); }
  inline void Swap(BinSearchFilter* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(BinSearchFilter* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  BinSearchFilter* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<BinSearchFilter>(arena);
  }
  void CopyFrom(const BinSearchFilter& from);
  void MergeFrom(const BinSearchFilter& from) { BinSearchFilter::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(BinSearchFilter* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.BinSearchFilter"; }

  explicit BinSearchFilter(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  BinSearchFilter(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BinSearchFilter& from);
  BinSearchFilter(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BinSearchFilter&& from) noexcept
      : BinSearchFilter(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSearchOperatorFieldNumber = 1,
    kAttrFieldNumber = 2,
  };
  // .np2_structs.uint8 searchOperator = 1;
  bool has_searchoperator() const;
  void clear_searchoperator() ;
  const ::np2_structs::uint8& searchoperator() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_searchoperator();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_searchoperator();
  void set_allocated_searchoperator(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_searchoperator(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_searchoperator();

  private:
  const ::np2_structs::uint8& _internal_searchoperator() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_searchoperator();

  public:
  // .np2_structs.BinAttr attr = 2;
  bool has_attr() const;
  void clear_attr() ;
  const ::np2_structs::BinAttr& attr() const;
  [[nodiscard]] ::np2_structs::BinAttr* PROTOBUF_NULLABLE release_attr();
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_attr();
  void set_allocated_attr(::np2_structs::BinAttr* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_attr(::np2_structs::BinAttr* PROTOBUF_NULLABLE value);
  ::np2_structs::BinAttr* PROTOBUF_NULLABLE unsafe_arena_release_attr();

  private:
  const ::np2_structs::BinAttr& _internal_attr() const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL _internal_mutable_attr();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.BinSearchFilter)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const BinSearchFilter& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE searchoperator_;
    ::np2_structs::BinAttr* PROTOBUF_NULLABLE attr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<28> BinSearchFilter_class_data_;
// -------------------------------------------------------------------

class BinAttrInternal final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.BinAttrInternal) */ {
 public:
  inline BinAttrInternal() : BinAttrInternal(nullptr) {}
  ~BinAttrInternal() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(BinAttrInternal* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(BinAttrInternal));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR BinAttrInternal(::google::protobuf::internal::ConstantInitialized);

  inline BinAttrInternal(const BinAttrInternal& from) : BinAttrInternal(nullptr, from) {}
  inline BinAttrInternal(BinAttrInternal&& from) noexcept
      : BinAttrInternal(nullptr, ::std::move(from)) {}
  inline BinAttrInternal& operator=(const BinAttrInternal& from) {
    CopyFrom(from);
    return *this;
  }
  inline BinAttrInternal& operator=(BinAttrInternal&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const BinAttrInternal& default_instance() {
    return *reinterpret_cast<const BinAttrInternal*>(
        &_BinAttrInternal_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 8;
  friend void swap(BinAttrInternal& a, BinAttrInternal& b) { a.Swap(&b); }
  inline void Swap(BinAttrInternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(BinAttrInternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  BinAttrInternal* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<BinAttrInternal>(arena);
  }
  void CopyFrom(const BinAttrInternal& from);
  void MergeFrom(const BinAttrInternal& from) { BinAttrInternal::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(BinAttrInternal* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.BinAttrInternal"; }

  explicit BinAttrInternal(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  BinAttrInternal(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const BinAttrInternal& from);
  BinAttrInternal(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, BinAttrInternal&& from) noexcept
      : BinAttrInternal(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUpdateMemberIdFieldNumber = 2,
    kDataFieldNumber = 3,
    kUpdateDateFieldNumber = 1,
  };
  // .np2_structs.uint16 updateMemberId = 2;
  bool has_updatememberid() const;
  void clear_updatememberid() ;
  const ::np2_structs::uint16& updatememberid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_updatememberid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_updatememberid();
  void set_allocated_updatememberid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_updatememberid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_updatememberid();

  private:
  const ::np2_structs::uint16& _internal_updatememberid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_updatememberid();

  public:
  // .np2_structs.BinAttr data = 3;
  bool has_data() const;
  void clear_data() ;
  const ::np2_structs::BinAttr& data() const;
  [[nodiscard]] ::np2_structs::BinAttr* PROTOBUF_NULLABLE release_data();
  ::np2_structs::BinAttr* PROTOBUF_NONNULL mutable_data();
  void set_allocated_data(::np2_structs::BinAttr* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_data(::np2_structs::BinAttr* PROTOBUF_NULLABLE value);
  ::np2_structs::BinAttr* PROTOBUF_NULLABLE unsafe_arena_release_data();

  private:
  const ::np2_structs::BinAttr& _internal_data() const;
  ::np2_structs::BinAttr* PROTOBUF_NONNULL _internal_mutable_data();

  public:
  // uint64 updateDate = 1;
  void clear_updatedate() ;
  ::uint64_t updatedate() const;
  void set_updatedate(::uint64_t value);

  private:
  ::uint64_t _internal_updatedate() const;
  void _internal_set_updatedate(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.BinAttrInternal)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const BinAttrInternal& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE updatememberid_;
    ::np2_structs::BinAttr* PROTOBUF_NULLABLE data_;
    ::uint64_t updatedate_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<28> BinAttrInternal_class_data_;
// -------------------------------------------------------------------

class SearchRoomResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SearchRoomResponse) */ {
 public:
  inline SearchRoomResponse() : SearchRoomResponse(nullptr) {}
  ~SearchRoomResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SearchRoomResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SearchRoomResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SearchRoomResponse(::google::protobuf::internal::ConstantInitialized);

  inline SearchRoomResponse(const SearchRoomResponse& from) : SearchRoomResponse(nullptr, from) {}
  inline SearchRoomResponse(SearchRoomResponse&& from) noexcept
      : SearchRoomResponse(nullptr, ::std::move(from)) {}
  inline SearchRoomResponse& operator=(const SearchRoomResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline SearchRoomResponse& operator=(SearchRoomResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SearchRoomResponse& default_instance() {
    return *reinterpret_cast<const SearchRoomResponse*>(
        &_SearchRoomResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 21;
  friend void swap(SearchRoomResponse& a, SearchRoomResponse& b) { a.Swap(&b); }
  inline void Swap(SearchRoomResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SearchRoomResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SearchRoomResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<SearchRoomResponse>(arena);
  }
  void CopyFrom(const SearchRoomResponse& from);
  void MergeFrom(const SearchRoomResponse& from) { SearchRoomResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SearchRoomResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.SearchRoomResponse"; }

  explicit SearchRoomResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SearchRoomResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SearchRoomResponse& from);
  SearchRoomResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SearchRoomResponse&& from) noexcept
      : SearchRoomResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRoomsFieldNumber = 3,
    kStartIndexFieldNumber = 1,
    kTotalFieldNumber = 2,
  };
  // repeated .np2_structs.RoomDataExternal rooms = 3;
  int rooms_size() const;
  private:
  int _internal_rooms_size() const;

  public:
  void clear_rooms() ;
  ::np2_structs::RoomDataExternal* PROTOBUF_NONNULL mutable_rooms(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>* PROTOBUF_NONNULL mutable_rooms();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>& _internal_rooms() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>* PROTOBUF_NONNULL _internal_mutable_rooms();
  public:
  const ::np2_structs::RoomDataExternal& rooms(int index) const;
  ::np2_structs::RoomDataExternal* PROTOBUF_NONNULL add_rooms();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>& rooms() const;
  // uint32 startIndex = 1;
  void clear_startindex() ;
  ::uint32_t startindex() const;
  void set_startindex(::uint32_t value);

  private:
  ::uint32_t _internal_startindex() const;
  void _internal_set_startindex(::uint32_t value);

  public:
  // uint32 total = 2;
  void clear_total() ;
  ::uint32_t total() const;
  void set_total(::uint32_t value);

  private:
  ::uint32_t _internal_total() const;
  void _internal_set_total(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SearchRoomResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SearchRoomResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::RoomDataExternal > rooms_;
    ::uint32_t startindex_;
    ::uint32_t total_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<31> SearchRoomResponse_class_data_;
// -------------------------------------------------------------------

class SearchRoomRequest final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.SearchRoomRequest) */ {
 public:
  inline SearchRoomRequest() : SearchRoomRequest(nullptr) {}
  ~SearchRoomRequest() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(SearchRoomRequest* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(SearchRoomRequest));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR SearchRoomRequest(::google::protobuf::internal::ConstantInitialized);

  inline SearchRoomRequest(const SearchRoomRequest& from) : SearchRoomRequest(nullptr, from) {}
  inline SearchRoomRequest(SearchRoomRequest&& from) noexcept
      : SearchRoomRequest(nullptr, ::std::move(from)) {}
  inline SearchRoomRequest& operator=(const SearchRoomRequest& from) {
    CopyFrom(from);
    return *this;
  }
  inline SearchRoomRequest& operator=(SearchRoomRequest&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const SearchRoomRequest& default_instance() {
    return *reinterpret_cast<const SearchRoomRequest*>(
        &_SearchRoomRequest_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 20;
  friend void swap(SearchRoomRequest& a, SearchRoomRequest& b) { a.Swap(&b); }
  inline void Swap(SearchRoomRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(SearchRoomRequest* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  SearchRoomRequest* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<SearchRoomRequest>(arena);
  }
  void CopyFrom(const SearchRoomRequest& from);
  void MergeFrom(const SearchRoomRequest& from) { SearchRoomRequest::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(SearchRoomRequest* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.SearchRoomRequest"; }

  explicit SearchRoomRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  SearchRoomRequest(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const SearchRoomRequest& from);
  SearchRoomRequest(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, SearchRoomRequest&& from) noexcept
      : SearchRoomRequest(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kIntFilterFieldNumber = 8,
    kBinFilterFieldNumber = 9,
    kAttrIdFieldNumber = 10,
    kOptionFieldNumber = 1,
    kWorldIdFieldNumber = 2,
    kLobbyIdFieldNumber = 3,
    kRangeFilterStartIndexFieldNumber = 4,
    kRangeFilterMaxFieldNumber = 5,
    kFlagFilterFieldNumber = 6,
    kFlagAttrFieldNumber = 7,
  };
  // repeated .np2_structs.IntSearchFilter intFilter = 8;
  int intfilter_size() const;
  private:
  int _internal_intfilter_size() const;

  public:
  void clear_intfilter() ;
  ::np2_structs::IntSearchFilter* PROTOBUF_NONNULL mutable_intfilter(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::IntSearchFilter>* PROTOBUF_NONNULL mutable_intfilter();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::IntSearchFilter>& _internal_intfilter() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::IntSearchFilter>* PROTOBUF_NONNULL _internal_mutable_intfilter();
  public:
  const ::np2_structs::IntSearchFilter& intfilter(int index) const;
  ::np2_structs::IntSearchFilter* PROTOBUF_NONNULL add_intfilter();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::IntSearchFilter>& intfilter() const;
  // repeated .np2_structs.BinSearchFilter binFilter = 9;
  int binfilter_size() const;
  private:
  int _internal_binfilter_size() const;

  public:
  void clear_binfilter() ;
  ::np2_structs::BinSearchFilter* PROTOBUF_NONNULL mutable_binfilter(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinSearchFilter>* PROTOBUF_NONNULL mutable_binfilter();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinSearchFilter>& _internal_binfilter() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinSearchFilter>* PROTOBUF_NONNULL _internal_mutable_binfilter();
  public:
  const ::np2_structs::BinSearchFilter& binfilter(int index) const;
  ::np2_structs::BinSearchFilter* PROTOBUF_NONNULL add_binfilter();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinSearchFilter>& binfilter() const;
  // repeated .np2_structs.uint16 attrId = 10;
  int attrid_size() const;
  private:
  int _internal_attrid_size() const;

  public:
  void clear_attrid() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_attrid(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_attrid();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_attrid() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_attrid();
  public:
  const ::np2_structs::uint16& attrid(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_attrid();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& attrid() const;
  // int32 option = 1;
  void clear_option() ;
  ::int32_t option() const;
  void set_option(::int32_t value);

  private:
  ::int32_t _internal_option() const;
  void _internal_set_option(::int32_t value);

  public:
  // uint32 worldId = 2;
  void clear_worldid() ;
  ::uint32_t worldid() const;
  void set_worldid(::uint32_t value);

  private:
  ::uint32_t _internal_worldid() const;
  void _internal_set_worldid(::uint32_t value);

  public:
  // uint64 lobbyId = 3;
  void clear_lobbyid() ;
  ::uint64_t lobbyid() const;
  void set_lobbyid(::uint64_t value);

  private:
  ::uint64_t _internal_lobbyid() const;
  void _internal_set_lobbyid(::uint64_t value);

  public:
  // uint32 rangeFilter_startIndex = 4;
  void clear_rangefilter_startindex() ;
  ::uint32_t rangefilter_startindex() const;
  void set_rangefilter_startindex(::uint32_t value);

  private:
  ::uint32_t _internal_rangefilter_startindex() const;
  void _internal_set_rangefilter_startindex(::uint32_t value);

  public:
  // uint32 rangeFilter_max = 5;
  void clear_rangefilter_max() ;
  ::uint32_t rangefilter_max() const;
  void set_rangefilter_max(::uint32_t value);

  private:
  ::uint32_t _internal_rangefilter_max() const;
  void _internal_set_rangefilter_max(::uint32_t value);

  public:
  // uint32 flagFilter = 6;
  void clear_flagfilter() ;
  ::uint32_t flagfilter() const;
  void set_flagfilter(::uint32_t value);

  private:
  ::uint32_t _internal_flagfilter() const;
  void _internal_set_flagfilter(::uint32_t value);

  public:
  // uint32 flagAttr = 7;
  void clear_flagattr() ;
  ::uint32_t flagattr() const;
  void set_flagattr(::uint32_t value);

  private:
  ::uint32_t _internal_flagattr() const;
  void _internal_set_flagattr(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.SearchRoomRequest)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<4, 10,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const SearchRoomRequest& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::IntSearchFilter > intfilter_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinSearchFilter > binfilter_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > attrid_;
    ::int32_t option_;
    ::uint32_t worldid_;
    ::uint64_t lobbyid_;
    ::uint32_t rangefilter_startindex_;
    ::uint32_t rangefilter_max_;
    ::uint32_t flagfilter_;
    ::uint32_t flagattr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<30> SearchRoomRequest_class_data_;
// -------------------------------------------------------------------

class RoomMemberDataInternal final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomMemberDataInternal) */ {
 public:
  inline RoomMemberDataInternal() : RoomMemberDataInternal(nullptr) {}
  ~RoomMemberDataInternal() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RoomMemberDataInternal* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RoomMemberDataInternal));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR RoomMemberDataInternal(::google::protobuf::internal::ConstantInitialized);

  inline RoomMemberDataInternal(const RoomMemberDataInternal& from) : RoomMemberDataInternal(nullptr, from) {}
  inline RoomMemberDataInternal(RoomMemberDataInternal&& from) noexcept
      : RoomMemberDataInternal(nullptr, ::std::move(from)) {}
  inline RoomMemberDataInternal& operator=(const RoomMemberDataInternal& from) {
    CopyFrom(from);
    return *this;
  }
  inline RoomMemberDataInternal& operator=(RoomMemberDataInternal&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomMemberDataInternal& default_instance() {
    return *reinterpret_cast<const RoomMemberDataInternal*>(
        &_RoomMemberDataInternal_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 12;
  friend void swap(RoomMemberDataInternal& a, RoomMemberDataInternal& b) { a.Swap(&b); }
  inline void Swap(RoomMemberDataInternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomMemberDataInternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  RoomMemberDataInternal* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RoomMemberDataInternal>(arena);
  }
  void CopyFrom(const RoomMemberDataInternal& from);
  void MergeFrom(const RoomMemberDataInternal& from) { RoomMemberDataInternal::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RoomMemberDataInternal* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.RoomMemberDataInternal"; }

  explicit RoomMemberDataInternal(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RoomMemberDataInternal(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoomMemberDataInternal& from);
  RoomMemberDataInternal(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoomMemberDataInternal&& from) noexcept
      : RoomMemberDataInternal(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRoomMemberBinAttrInternalFieldNumber = 8,
    kUserInfoFieldNumber = 1,
    kTeamIdFieldNumber = 4,
    kRoomGroupFieldNumber = 5,
    kNatTypeFieldNumber = 6,
    kJoinDateFieldNumber = 2,
    kMemberIdFieldNumber = 3,
    kFlagAttrFieldNumber = 7,
  };
  // repeated .np2_structs.RoomMemberBinAttrInternal roomMemberBinAttrInternal = 8;
  int roommemberbinattrinternal_size() const;
  private:
  int _internal_roommemberbinattrinternal_size() const;

  public:
  void clear_roommemberbinattrinternal() ;
  ::np2_structs::RoomMemberBinAttrInternal* PROTOBUF_NONNULL mutable_roommemberbinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberBinAttrInternal>* PROTOBUF_NONNULL mutable_roommemberbinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberBinAttrInternal>& _internal_roommemberbinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberBinAttrInternal>* PROTOBUF_NONNULL _internal_mutable_roommemberbinattrinternal();
  public:
  const ::np2_structs::RoomMemberBinAttrInternal& roommemberbinattrinternal(int index) const;
  ::np2_structs::RoomMemberBinAttrInternal* PROTOBUF_NONNULL add_roommemberbinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberBinAttrInternal>& roommemberbinattrinternal() const;
  // .np2_structs.UserInfo userInfo = 1;
  bool has_userinfo() const;
  void clear_userinfo() ;
  const ::np2_structs::UserInfo& userinfo() const;
  [[nodiscard]] ::np2_structs::UserInfo* PROTOBUF_NULLABLE release_userinfo();
  ::np2_structs::UserInfo* PROTOBUF_NONNULL mutable_userinfo();
  void set_allocated_userinfo(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_userinfo(::np2_structs::UserInfo* PROTOBUF_NULLABLE value);
  ::np2_structs::UserInfo* PROTOBUF_NULLABLE unsafe_arena_release_userinfo();

  private:
  const ::np2_structs::UserInfo& _internal_userinfo() const;
  ::np2_structs::UserInfo* PROTOBUF_NONNULL _internal_mutable_userinfo();

  public:
  // .np2_structs.uint8 teamId = 4;
  bool has_teamid() const;
  void clear_teamid() ;
  const ::np2_structs::uint8& teamid() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_teamid();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_teamid();
  void set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_teamid();

  private:
  const ::np2_structs::uint8& _internal_teamid() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_teamid();

  public:
  // .np2_structs.RoomGroup roomGroup = 5;
  bool has_roomgroup() const;
  void clear_roomgroup() ;
  const ::np2_structs::RoomGroup& roomgroup() const;
  [[nodiscard]] ::np2_structs::RoomGroup* PROTOBUF_NULLABLE release_roomgroup();
  ::np2_structs::RoomGroup* PROTOBUF_NONNULL mutable_roomgroup();
  void set_allocated_roomgroup(::np2_structs::RoomGroup* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_roomgroup(::np2_structs::RoomGroup* PROTOBUF_NULLABLE value);
  ::np2_structs::RoomGroup* PROTOBUF_NULLABLE unsafe_arena_release_roomgroup();

  private:
  const ::np2_structs::RoomGroup& _internal_roomgroup() const;
  ::np2_structs::RoomGroup* PROTOBUF_NONNULL _internal_mutable_roomgroup();

  public:
  // .np2_structs.uint8 natType = 6;
  bool has_nattype() const;
  void clear_nattype() ;
  const ::np2_structs::uint8& nattype() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_nattype();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_nattype();
  void set_allocated_nattype(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_nattype(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_nattype();

  private:
  const ::np2_structs::uint8& _internal_nattype() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_nattype();

  public:
  // uint64 joinDate = 2;
  void clear_joindate() ;
  ::uint64_t joindate() const;
  void set_joindate(::uint64_t value);

  private:
  ::uint64_t _internal_joindate() const;
  void _internal_set_joindate(::uint64_t value);

  public:
  // uint32 memberId = 3;
  void clear_memberid() ;
  ::uint32_t memberid() const;
  void set_memberid(::uint32_t value);

  private:
  ::uint32_t _internal_memberid() const;
  void _internal_set_memberid(::uint32_t value);

  public:
  // uint32 flagAttr = 7;
  void clear_flagattr() ;
  ::uint32_t flagattr() const;
  void set_flagattr(::uint32_t value);

  private:
  ::uint32_t _internal_flagattr() const;
  void _internal_set_flagattr(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomMemberDataInternal)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 8,
                                   5, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomMemberDataInternal& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::RoomMemberBinAttrInternal > roommemberbinattrinternal_;
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE userinfo_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE teamid_;
    ::np2_structs::RoomGroup* PROTOBUF_NULLABLE roomgroup_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE nattype_;
    ::uint64_t joindate_;
    ::uint32_t memberid_;
    ::uint32_t flagattr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<35> RoomMemberDataInternal_class_data_;
// -------------------------------------------------------------------

class MatchingSearchJoinRoomInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.MatchingSearchJoinRoomInfo) */ {
 public:
  inline MatchingSearchJoinRoomInfo() : MatchingSearchJoinRoomInfo(nullptr) {}
  ~MatchingSearchJoinRoomInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(MatchingSearchJoinRoomInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(MatchingSearchJoinRoomInfo));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR MatchingSearchJoinRoomInfo(::google::protobuf::internal::ConstantInitialized);

  inline MatchingSearchJoinRoomInfo(const MatchingSearchJoinRoomInfo& from) : MatchingSearchJoinRoomInfo(nullptr, from) {}
  inline MatchingSearchJoinRoomInfo(MatchingSearchJoinRoomInfo&& from) noexcept
      : MatchingSearchJoinRoomInfo(nullptr, ::std::move(from)) {}
  inline MatchingSearchJoinRoomInfo& operator=(const MatchingSearchJoinRoomInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline MatchingSearchJoinRoomInfo& operator=(MatchingSearchJoinRoomInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const MatchingSearchJoinRoomInfo& default_instance() {
    return *reinterpret_cast<const MatchingSearchJoinRoomInfo*>(
        &_MatchingSearchJoinRoomInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 88;
  friend void swap(MatchingSearchJoinRoomInfo& a, MatchingSearchJoinRoomInfo& b) { a.Swap(&b); }
  inline void Swap(MatchingSearchJoinRoomInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(MatchingSearchJoinRoomInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  MatchingSearchJoinRoomInfo* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<MatchingSearchJoinRoomInfo>(arena);
  }
  void CopyFrom(const MatchingSearchJoinRoomInfo& from);
  void MergeFrom(const MatchingSearchJoinRoomInfo& from) { MatchingSearchJoinRoomInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(MatchingSearchJoinRoomInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.MatchingSearchJoinRoomInfo"; }

  explicit MatchingSearchJoinRoomInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  MatchingSearchJoinRoomInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const MatchingSearchJoinRoomInfo& from);
  MatchingSearchJoinRoomInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, MatchingSearchJoinRoomInfo&& from) noexcept
      : MatchingSearchJoinRoomInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kAttrFieldNumber = 2,
    kRoomFieldNumber = 1,
  };
  // repeated .np2_structs.MatchingAttr attr = 2;
  int attr_size() const;
  private:
  int _internal_attr_size() const;

  public:
  void clear_attr() ;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL mutable_attr(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL mutable_attr();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& _internal_attr() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL _internal_mutable_attr();
  public:
  const ::np2_structs::MatchingAttr& attr(int index) const;
  ::np2_structs::MatchingAttr* PROTOBUF_NONNULL add_attr();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& attr() const;
  // .np2_structs.MatchingRoomStatus room = 1;
  bool has_room() const;
  void clear_room() ;
  const ::np2_structs::MatchingRoomStatus& room() const;
  [[nodiscard]] ::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE release_room();
  ::np2_structs::MatchingRoomStatus* PROTOBUF_NONNULL mutable_room();
  void set_allocated_room(::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_room(::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE value);
  ::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE unsafe_arena_release_room();

  private:
  const ::np2_structs::MatchingRoomStatus& _internal_room() const;
  ::np2_structs::MatchingRoomStatus* PROTOBUF_NONNULL _internal_mutable_room();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.MatchingSearchJoinRoomInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const MatchingSearchJoinRoomInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::MatchingAttr > attr_;
    ::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE room_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<39> MatchingSearchJoinRoomInfo_class_data_;
// -------------------------------------------------------------------

class GetRoomDataExternalListResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.GetRoomDataExternalListResponse) */ {
 public:
  inline GetRoomDataExternalListResponse() : GetRoomDataExternalListResponse(nullptr) {}
  ~GetRoomDataExternalListResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(GetRoomDataExternalListResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(GetRoomDataExternalListResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR GetRoomDataExternalListResponse(::google::protobuf::internal::ConstantInitialized);

  inline GetRoomDataExternalListResponse(const GetRoomDataExternalListResponse& from) : GetRoomDataExternalListResponse(nullptr, from) {}
  inline GetRoomDataExternalListResponse(GetRoomDataExternalListResponse&& from) noexcept
      : GetRoomDataExternalListResponse(nullptr, ::std::move(from)) {}
  inline GetRoomDataExternalListResponse& operator=(const GetRoomDataExternalListResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline GetRoomDataExternalListResponse& operator=(GetRoomDataExternalListResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const GetRoomDataExternalListResponse& default_instance() {
    return *reinterpret_cast<const GetRoomDataExternalListResponse*>(
        &_GetRoomDataExternalListResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 28;
  friend void swap(GetRoomDataExternalListResponse& a, GetRoomDataExternalListResponse& b) { a.Swap(&b); }
  inline void Swap(GetRoomDataExternalListResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(GetRoomDataExternalListResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  GetRoomDataExternalListResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<GetRoomDataExternalListResponse>(arena);
  }
  void CopyFrom(const GetRoomDataExternalListResponse& from);
  void MergeFrom(const GetRoomDataExternalListResponse& from) { GetRoomDataExternalListResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(GetRoomDataExternalListResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.GetRoomDataExternalListResponse"; }

  explicit GetRoomDataExternalListResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  GetRoomDataExternalListResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const GetRoomDataExternalListResponse& from);
  GetRoomDataExternalListResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, GetRoomDataExternalListResponse&& from) noexcept
      : GetRoomDataExternalListResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRoomsFieldNumber = 1,
  };
  // repeated .np2_structs.RoomDataExternal rooms = 1;
  int rooms_size() const;
  private:
  int _internal_rooms_size() const;

  public:
  void clear_rooms() ;
  ::np2_structs::RoomDataExternal* PROTOBUF_NONNULL mutable_rooms(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>* PROTOBUF_NONNULL mutable_rooms();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>& _internal_rooms() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>* PROTOBUF_NONNULL _internal_mutable_rooms();
  public:
  const ::np2_structs::RoomDataExternal& rooms(int index) const;
  ::np2_structs::RoomDataExternal* PROTOBUF_NONNULL add_rooms();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>& rooms() const;
  // @@protoc_insertion_point(class_scope:np2_structs.GetRoomDataExternalListResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<0, 1,
                                   1, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const GetRoomDataExternalListResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::RoomDataExternal > rooms_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<44> GetRoomDataExternalListResponse_class_data_;
// -------------------------------------------------------------------

class RoomMemberUpdateInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomMemberUpdateInfo) */ {
 public:
  inline RoomMemberUpdateInfo() : RoomMemberUpdateInfo(nullptr) {}
  ~RoomMemberUpdateInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RoomMemberUpdateInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RoomMemberUpdateInfo));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR RoomMemberUpdateInfo(::google::protobuf::internal::ConstantInitialized);

  inline RoomMemberUpdateInfo(const RoomMemberUpdateInfo& from) : RoomMemberUpdateInfo(nullptr, from) {}
  inline RoomMemberUpdateInfo(RoomMemberUpdateInfo&& from) noexcept
      : RoomMemberUpdateInfo(nullptr, ::std::move(from)) {}
  inline RoomMemberUpdateInfo& operator=(const RoomMemberUpdateInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline RoomMemberUpdateInfo& operator=(RoomMemberUpdateInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomMemberUpdateInfo& default_instance() {
    return *reinterpret_cast<const RoomMemberUpdateInfo*>(
        &_RoomMemberUpdateInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 35;
  friend void swap(RoomMemberUpdateInfo& a, RoomMemberUpdateInfo& b) { a.Swap(&b); }
  inline void Swap(RoomMemberUpdateInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomMemberUpdateInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  RoomMemberUpdateInfo* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RoomMemberUpdateInfo>(arena);
  }
  void CopyFrom(const RoomMemberUpdateInfo& from);
  void MergeFrom(const RoomMemberUpdateInfo& from) { RoomMemberUpdateInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RoomMemberUpdateInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.RoomMemberUpdateInfo"; }

  explicit RoomMemberUpdateInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RoomMemberUpdateInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoomMemberUpdateInfo& from);
  RoomMemberUpdateInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoomMemberUpdateInfo&& from) noexcept
      : RoomMemberUpdateInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kRoomMemberDataInternalFieldNumber = 1,
    kEventCauseFieldNumber = 2,
    kOptDataFieldNumber = 3,
  };
  // .np2_structs.RoomMemberDataInternal roomMemberDataInternal = 1;
  bool has_roommemberdatainternal() const;
  void clear_roommemberdatainternal() ;
  const ::np2_structs::RoomMemberDataInternal& roommemberdatainternal() const;
  [[nodiscard]] ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE release_roommemberdatainternal();
  ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL mutable_roommemberdatainternal();
  void set_allocated_roommemberdatainternal(::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_roommemberdatainternal(::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE value);
  ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE unsafe_arena_release_roommemberdatainternal();

  private:
  const ::np2_structs::RoomMemberDataInternal& _internal_roommemberdatainternal() const;
  ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL _internal_mutable_roommemberdatainternal();

  public:
  // .np2_structs.uint8 eventCause = 2;
  bool has_eventcause() const;
  void clear_eventcause() ;
  const ::np2_structs::uint8& eventcause() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_eventcause();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_eventcause();
  void set_allocated_eventcause(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_eventcause(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_eventcause();

  private:
  const ::np2_structs::uint8& _internal_eventcause() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_eventcause();

  public:
  // .np2_structs.PresenceOptionData optData = 3;
  bool has_optdata() const;
  void clear_optdata() ;
  const ::np2_structs::PresenceOptionData& optdata() const;
  [[nodiscard]] ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE release_optdata();
  ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL mutable_optdata();
  void set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value);
  ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE unsafe_arena_release_optdata();

  private:
  const ::np2_structs::PresenceOptionData& _internal_optdata() const;
  ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL _internal_mutable_optdata();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomMemberUpdateInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomMemberUpdateInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE roommemberdatainternal_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE eventcause_;
    ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE optdata_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<33> RoomMemberUpdateInfo_class_data_;
// -------------------------------------------------------------------

class RoomMemberDataInternalUpdateInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomMemberDataInternalUpdateInfo) */ {
 public:
  inline RoomMemberDataInternalUpdateInfo() : RoomMemberDataInternalUpdateInfo(nullptr) {}
  ~RoomMemberDataInternalUpdateInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RoomMemberDataInternalUpdateInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RoomMemberDataInternalUpdateInfo));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR RoomMemberDataInternalUpdateInfo(::google::protobuf::internal::ConstantInitialized);

  inline RoomMemberDataInternalUpdateInfo(const RoomMemberDataInternalUpdateInfo& from) : RoomMemberDataInternalUpdateInfo(nullptr, from) {}
  inline RoomMemberDataInternalUpdateInfo(RoomMemberDataInternalUpdateInfo&& from) noexcept
      : RoomMemberDataInternalUpdateInfo(nullptr, ::std::move(from)) {}
  inline RoomMemberDataInternalUpdateInfo& operator=(const RoomMemberDataInternalUpdateInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline RoomMemberDataInternalUpdateInfo& operator=(RoomMemberDataInternalUpdateInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomMemberDataInternalUpdateInfo& default_instance() {
    return *reinterpret_cast<const RoomMemberDataInternalUpdateInfo*>(
        &_RoomMemberDataInternalUpdateInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 39;
  friend void swap(RoomMemberDataInternalUpdateInfo& a, RoomMemberDataInternalUpdateInfo& b) { a.Swap(&b); }
  inline void Swap(RoomMemberDataInternalUpdateInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomMemberDataInternalUpdateInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  RoomMemberDataInternalUpdateInfo* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RoomMemberDataInternalUpdateInfo>(arena);
  }
  void CopyFrom(const RoomMemberDataInternalUpdateInfo& from);
  void MergeFrom(const RoomMemberDataInternalUpdateInfo& from) { RoomMemberDataInternalUpdateInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RoomMemberDataInternalUpdateInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.RoomMemberDataInternalUpdateInfo"; }

  explicit RoomMemberDataInternalUpdateInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RoomMemberDataInternalUpdateInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoomMemberDataInternalUpdateInfo& from);
  RoomMemberDataInternalUpdateInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoomMemberDataInternalUpdateInfo&& from) noexcept
      : RoomMemberDataInternalUpdateInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNewRoomMemberBinAttrInternalFieldNumber = 4,
    kNewRoomMemberDataInternalFieldNumber = 1,
    kPrevTeamIdFieldNumber = 3,
    kPrevFlagAttrFieldNumber = 2,
  };
  // repeated .np2_structs.uint16 newRoomMemberBinAttrInternal = 4;
  int newroommemberbinattrinternal_size() const;
  private:
  int _internal_newroommemberbinattrinternal_size() const;

  public:
  void clear_newroommemberbinattrinternal() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_newroommemberbinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_newroommemberbinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_newroommemberbinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_newroommemberbinattrinternal();
  public:
  const ::np2_structs::uint16& newroommemberbinattrinternal(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_newroommemberbinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& newroommemberbinattrinternal() const;
  // .np2_structs.RoomMemberDataInternal newRoomMemberDataInternal = 1;
  bool has_newroommemberdatainternal() const;
  void clear_newroommemberdatainternal() ;
  const ::np2_structs::RoomMemberDataInternal& newroommemberdatainternal() const;
  [[nodiscard]] ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE release_newroommemberdatainternal();
  ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL mutable_newroommemberdatainternal();
  void set_allocated_newroommemberdatainternal(::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_newroommemberdatainternal(::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE value);
  ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE unsafe_arena_release_newroommemberdatainternal();

  private:
  const ::np2_structs::RoomMemberDataInternal& _internal_newroommemberdatainternal() const;
  ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL _internal_mutable_newroommemberdatainternal();

  public:
  // .np2_structs.uint8 prevTeamId = 3;
  bool has_prevteamid() const;
  void clear_prevteamid() ;
  const ::np2_structs::uint8& prevteamid() const;
  [[nodiscard]] ::np2_structs::uint8* PROTOBUF_NULLABLE release_prevteamid();
  ::np2_structs::uint8* PROTOBUF_NONNULL mutable_prevteamid();
  void set_allocated_prevteamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_prevteamid(::np2_structs::uint8* PROTOBUF_NULLABLE value);
  ::np2_structs::uint8* PROTOBUF_NULLABLE unsafe_arena_release_prevteamid();

  private:
  const ::np2_structs::uint8& _internal_prevteamid() const;
  ::np2_structs::uint8* PROTOBUF_NONNULL _internal_mutable_prevteamid();

  public:
  // uint32 prevFlagAttr = 2;
  void clear_prevflagattr() ;
  ::uint32_t prevflagattr() const;
  void set_prevflagattr(::uint32_t value);

  private:
  ::uint32_t _internal_prevflagattr() const;
  void _internal_set_prevflagattr(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomMemberDataInternalUpdateInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 4,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomMemberDataInternalUpdateInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > newroommemberbinattrinternal_;
    ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE newroommemberdatainternal_;
    ::np2_structs::uint8* PROTOBUF_NULLABLE prevteamid_;
    ::uint32_t prevflagattr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<45> RoomMemberDataInternalUpdateInfo_class_data_;
// -------------------------------------------------------------------

class RoomDataInternal final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomDataInternal) */ {
 public:
  inline RoomDataInternal() : RoomDataInternal(nullptr) {}
  ~RoomDataInternal() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RoomDataInternal* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RoomDataInternal));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR RoomDataInternal(::google::protobuf::internal::ConstantInitialized);

  inline RoomDataInternal(const RoomDataInternal& from) : RoomDataInternal(nullptr, from) {}
  inline RoomDataInternal(RoomDataInternal&& from) noexcept
      : RoomDataInternal(nullptr, ::std::move(from)) {}
  inline RoomDataInternal& operator=(const RoomDataInternal& from) {
    CopyFrom(from);
    return *this;
  }
  inline RoomDataInternal& operator=(RoomDataInternal&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomDataInternal& default_instance() {
    return *reinterpret_cast<const RoomDataInternal*>(
        &_RoomDataInternal_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 14;
  friend void swap(RoomDataInternal& a, RoomDataInternal& b) { a.Swap(&b); }
  inline void Swap(RoomDataInternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomDataInternal* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  RoomDataInternal* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RoomDataInternal>(arena);
  }
  void CopyFrom(const RoomDataInternal& from);
  void MergeFrom(const RoomDataInternal& from) { RoomDataInternal::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RoomDataInternal* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.RoomDataInternal"; }

  explicit RoomDataInternal(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RoomDataInternal(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoomDataInternal& from);
  RoomDataInternal(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoomDataInternal&& from) noexcept
      : RoomDataInternal(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kMemberListFieldNumber = 7,
    kRoomGroupFieldNumber = 9,
    kRoomBinAttrInternalFieldNumber = 11,
    kServerIdFieldNumber = 1,
    kOwnerIdFieldNumber = 8,
    kLobbyIdFieldNumber = 3,
    kRoomIdFieldNumber = 4,
    kWorldIdFieldNumber = 2,
    kMaxSlotFieldNumber = 6,
    kPasswordSlotMaskFieldNumber = 5,
    kFlagAttrFieldNumber = 10,
  };
  // repeated .np2_structs.RoomMemberDataInternal memberList = 7;
  int memberlist_size() const;
  private:
  int _internal_memberlist_size() const;

  public:
  void clear_memberlist() ;
  ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL mutable_memberlist(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataInternal>* PROTOBUF_NONNULL mutable_memberlist();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataInternal>& _internal_memberlist() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataInternal>* PROTOBUF_NONNULL _internal_mutable_memberlist();
  public:
  const ::np2_structs::RoomMemberDataInternal& memberlist(int index) const;
  ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL add_memberlist();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataInternal>& memberlist() const;
  // repeated .np2_structs.RoomGroup roomGroup = 9;
  int roomgroup_size() const;
  private:
  int _internal_roomgroup_size() const;

  public:
  void clear_roomgroup() ;
  ::np2_structs::RoomGroup* PROTOBUF_NONNULL mutable_roomgroup(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>* PROTOBUF_NONNULL mutable_roomgroup();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>& _internal_roomgroup() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>* PROTOBUF_NONNULL _internal_mutable_roomgroup();
  public:
  const ::np2_structs::RoomGroup& roomgroup(int index) const;
  ::np2_structs::RoomGroup* PROTOBUF_NONNULL add_roomgroup();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>& roomgroup() const;
  // repeated .np2_structs.BinAttrInternal roomBinAttrInternal = 11;
  int roombinattrinternal_size() const;
  private:
  int _internal_roombinattrinternal_size() const;

  public:
  void clear_roombinattrinternal() ;
  ::np2_structs::BinAttrInternal* PROTOBUF_NONNULL mutable_roombinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttrInternal>* PROTOBUF_NONNULL mutable_roombinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttrInternal>& _internal_roombinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttrInternal>* PROTOBUF_NONNULL _internal_mutable_roombinattrinternal();
  public:
  const ::np2_structs::BinAttrInternal& roombinattrinternal(int index) const;
  ::np2_structs::BinAttrInternal* PROTOBUF_NONNULL add_roombinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttrInternal>& roombinattrinternal() const;
  // .np2_structs.uint16 serverId = 1;
  bool has_serverid() const;
  void clear_serverid() ;
  const ::np2_structs::uint16& serverid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_serverid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_serverid();
  void set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_serverid();

  private:
  const ::np2_structs::uint16& _internal_serverid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_serverid();

  public:
  // .np2_structs.uint16 ownerId = 8;
  bool has_ownerid() const;
  void clear_ownerid() ;
  const ::np2_structs::uint16& ownerid() const;
  [[nodiscard]] ::np2_structs::uint16* PROTOBUF_NULLABLE release_ownerid();
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_ownerid();
  void set_allocated_ownerid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_ownerid(::np2_structs::uint16* PROTOBUF_NULLABLE value);
  ::np2_structs::uint16* PROTOBUF_NULLABLE unsafe_arena_release_ownerid();

  private:
  const ::np2_structs::uint16& _internal_ownerid() const;
  ::np2_structs::uint16* PROTOBUF_NONNULL _internal_mutable_ownerid();

  public:
  // uint64 lobbyId = 3;
  void clear_lobbyid() ;
  ::uint64_t lobbyid() const;
  void set_lobbyid(::uint64_t value);

  private:
  ::uint64_t _internal_lobbyid() const;
  void _internal_set_lobbyid(::uint64_t value);

  public:
  // uint64 roomId = 4;
  void clear_roomid() ;
  ::uint64_t roomid() const;
  void set_roomid(::uint64_t value);

  private:
  ::uint64_t _internal_roomid() const;
  void _internal_set_roomid(::uint64_t value);

  public:
  // uint32 worldId = 2;
  void clear_worldid() ;
  ::uint32_t worldid() const;
  void set_worldid(::uint32_t value);

  private:
  ::uint32_t _internal_worldid() const;
  void _internal_set_worldid(::uint32_t value);

  public:
  // uint32 maxSlot = 6;
  void clear_maxslot() ;
  ::uint32_t maxslot() const;
  void set_maxslot(::uint32_t value);

  private:
  ::uint32_t _internal_maxslot() const;
  void _internal_set_maxslot(::uint32_t value);

  public:
  // uint64 passwordSlotMask = 5;
  void clear_passwordslotmask() ;
  ::uint64_t passwordslotmask() const;
  void set_passwordslotmask(::uint64_t value);

  private:
  ::uint64_t _internal_passwordslotmask() const;
  void _internal_set_passwordslotmask(::uint64_t value);

  public:
  // uint32 flagAttr = 10;
  void clear_flagattr() ;
  ::uint32_t flagattr() const;
  void set_flagattr(::uint32_t value);

  private:
  ::uint32_t _internal_flagattr() const;
  void _internal_set_flagattr(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomDataInternal)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<4, 11,
                                   5, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomDataInternal& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::RoomMemberDataInternal > memberlist_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::RoomGroup > roomgroup_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::BinAttrInternal > roombinattrinternal_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE serverid_;
    ::np2_structs::uint16* PROTOBUF_NULLABLE ownerid_;
    ::uint64_t lobbyid_;
    ::uint64_t roomid_;
    ::uint32_t worldid_;
    ::uint32_t maxslot_;
    ::uint64_t passwordslotmask_;
    ::uint32_t flagattr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<29> RoomDataInternal_class_data_;
// -------------------------------------------------------------------

class RoomDataInternalUpdateInfo final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.RoomDataInternalUpdateInfo) */ {
 public:
  inline RoomDataInternalUpdateInfo() : RoomDataInternalUpdateInfo(nullptr) {}
  ~RoomDataInternalUpdateInfo() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(RoomDataInternalUpdateInfo* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(RoomDataInternalUpdateInfo));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR RoomDataInternalUpdateInfo(::google::protobuf::internal::ConstantInitialized);

  inline RoomDataInternalUpdateInfo(const RoomDataInternalUpdateInfo& from) : RoomDataInternalUpdateInfo(nullptr, from) {}
  inline RoomDataInternalUpdateInfo(RoomDataInternalUpdateInfo&& from) noexcept
      : RoomDataInternalUpdateInfo(nullptr, ::std::move(from)) {}
  inline RoomDataInternalUpdateInfo& operator=(const RoomDataInternalUpdateInfo& from) {
    CopyFrom(from);
    return *this;
  }
  inline RoomDataInternalUpdateInfo& operator=(RoomDataInternalUpdateInfo&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const RoomDataInternalUpdateInfo& default_instance() {
    return *reinterpret_cast<const RoomDataInternalUpdateInfo*>(
        &_RoomDataInternalUpdateInfo_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 38;
  friend void swap(RoomDataInternalUpdateInfo& a, RoomDataInternalUpdateInfo& b) { a.Swap(&b); }
  inline void Swap(RoomDataInternalUpdateInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(RoomDataInternalUpdateInfo* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  RoomDataInternalUpdateInfo* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<RoomDataInternalUpdateInfo>(arena);
  }
  void CopyFrom(const RoomDataInternalUpdateInfo& from);
  void MergeFrom(const RoomDataInternalUpdateInfo& from) { RoomDataInternalUpdateInfo::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(RoomDataInternalUpdateInfo* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.RoomDataInternalUpdateInfo"; }

  explicit RoomDataInternalUpdateInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  RoomDataInternalUpdateInfo(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const RoomDataInternalUpdateInfo& from);
  RoomDataInternalUpdateInfo(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, RoomDataInternalUpdateInfo&& from) noexcept
      : RoomDataInternalUpdateInfo(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kNewRoomBinAttrInternalFieldNumber = 5,
    kNewRoomGroupFieldNumber = 4,
    kNewRoomDataInternalFieldNumber = 1,
    kPrevRoomPasswordSlotMaskFieldNumber = 3,
    kPrevFlagAttrFieldNumber = 2,
  };
  // repeated .np2_structs.uint16 newRoomBinAttrInternal = 5;
  int newroombinattrinternal_size() const;
  private:
  int _internal_newroombinattrinternal_size() const;

  public:
  void clear_newroombinattrinternal() ;
  ::np2_structs::uint16* PROTOBUF_NONNULL mutable_newroombinattrinternal(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL mutable_newroombinattrinternal();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& _internal_newroombinattrinternal() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL _internal_mutable_newroombinattrinternal();
  public:
  const ::np2_structs::uint16& newroombinattrinternal(int index) const;
  ::np2_structs::uint16* PROTOBUF_NONNULL add_newroombinattrinternal();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& newroombinattrinternal() const;
  // bytes newRoomGroup = 4;
  void clear_newroomgroup() ;
  const ::std::string& newroomgroup() const;
  template <typename Arg_ = const ::std::string&, typename... Args_>
  void set_newroomgroup(Arg_&& arg, Args_... args);
  ::std::string* PROTOBUF_NONNULL mutable_newroomgroup();
  [[nodiscard]] ::std::string* PROTOBUF_NULLABLE release_newroomgroup();
  void set_allocated_newroomgroup(::std::string* PROTOBUF_NULLABLE value);

  private:
  const ::std::string& _internal_newroomgroup() const;
  PROTOBUF_ALWAYS_INLINE void _internal_set_newroomgroup(const ::std::string& value);
  ::std::string* PROTOBUF_NONNULL _internal_mutable_newroomgroup();

  public:
  // .np2_structs.RoomDataInternal newRoomDataInternal = 1;
  bool has_newroomdatainternal() const;
  void clear_newroomdatainternal() ;
  const ::np2_structs::RoomDataInternal& newroomdatainternal() const;
  [[nodiscard]] ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE release_newroomdatainternal();
  ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL mutable_newroomdatainternal();
  void set_allocated_newroomdatainternal(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_newroomdatainternal(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value);
  ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE unsafe_arena_release_newroomdatainternal();

  private:
  const ::np2_structs::RoomDataInternal& _internal_newroomdatainternal() const;
  ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL _internal_mutable_newroomdatainternal();

  public:
  // uint64 prevRoomPasswordSlotMask = 3;
  void clear_prevroompasswordslotmask() ;
  ::uint64_t prevroompasswordslotmask() const;
  void set_prevroompasswordslotmask(::uint64_t value);

  private:
  ::uint64_t _internal_prevroompasswordslotmask() const;
  void _internal_set_prevroompasswordslotmask(::uint64_t value);

  public:
  // uint32 prevFlagAttr = 2;
  void clear_prevflagattr() ;
  ::uint32_t prevflagattr() const;
  void set_prevflagattr(::uint32_t value);

  private:
  ::uint32_t _internal_prevflagattr() const;
  void _internal_set_prevflagattr(::uint32_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.RoomDataInternalUpdateInfo)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<3, 5,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const RoomDataInternalUpdateInfo& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::uint16 > newroombinattrinternal_;
    ::google::protobuf::internal::ArenaStringPtr newroomgroup_;
    ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE newroomdatainternal_;
    ::uint64_t prevroompasswordslotmask_;
    ::uint32_t prevflagattr_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<39> RoomDataInternalUpdateInfo_class_data_;
// -------------------------------------------------------------------

class NotificationUserJoinedRoom final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.NotificationUserJoinedRoom) */ {
 public:
  inline NotificationUserJoinedRoom() : NotificationUserJoinedRoom(nullptr) {}
  ~NotificationUserJoinedRoom() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(NotificationUserJoinedRoom* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(NotificationUserJoinedRoom));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR NotificationUserJoinedRoom(::google::protobuf::internal::ConstantInitialized);

  inline NotificationUserJoinedRoom(const NotificationUserJoinedRoom& from) : NotificationUserJoinedRoom(nullptr, from) {}
  inline NotificationUserJoinedRoom(NotificationUserJoinedRoom&& from) noexcept
      : NotificationUserJoinedRoom(nullptr, ::std::move(from)) {}
  inline NotificationUserJoinedRoom& operator=(const NotificationUserJoinedRoom& from) {
    CopyFrom(from);
    return *this;
  }
  inline NotificationUserJoinedRoom& operator=(NotificationUserJoinedRoom&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const NotificationUserJoinedRoom& default_instance() {
    return *reinterpret_cast<const NotificationUserJoinedRoom*>(
        &_NotificationUserJoinedRoom_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 36;
  friend void swap(NotificationUserJoinedRoom& a, NotificationUserJoinedRoom& b) { a.Swap(&b); }
  inline void Swap(NotificationUserJoinedRoom* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(NotificationUserJoinedRoom* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  NotificationUserJoinedRoom* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<NotificationUserJoinedRoom>(arena);
  }
  void CopyFrom(const NotificationUserJoinedRoom& from);
  void MergeFrom(const NotificationUserJoinedRoom& from) { NotificationUserJoinedRoom::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(NotificationUserJoinedRoom* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.NotificationUserJoinedRoom"; }

  explicit NotificationUserJoinedRoom(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  NotificationUserJoinedRoom(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const NotificationUserJoinedRoom& from);
  NotificationUserJoinedRoom(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, NotificationUserJoinedRoom&& from) noexcept
      : NotificationUserJoinedRoom(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kUpdateInfoFieldNumber = 2,
    kSignalingFieldNumber = 3,
    kRoomIdFieldNumber = 1,
  };
  // .np2_structs.RoomMemberUpdateInfo update_info = 2;
  bool has_update_info() const;
  void clear_update_info() ;
  const ::np2_structs::RoomMemberUpdateInfo& update_info() const;
  [[nodiscard]] ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE release_update_info();
  ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NONNULL mutable_update_info();
  void set_allocated_update_info(::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_update_info(::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE value);
  ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE unsafe_arena_release_update_info();

  private:
  const ::np2_structs::RoomMemberUpdateInfo& _internal_update_info() const;
  ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NONNULL _internal_mutable_update_info();

  public:
  // .np2_structs.SignalingAddr signaling = 3;
  bool has_signaling() const;
  void clear_signaling() ;
  const ::np2_structs::SignalingAddr& signaling() const;
  [[nodiscard]] ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE release_signaling();
  ::np2_structs::SignalingAddr* PROTOBUF_NONNULL mutable_signaling();
  void set_allocated_signaling(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_signaling(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value);
  ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE unsafe_arena_release_signaling();

  private:
  const ::np2_structs::SignalingAddr& _internal_signaling() const;
  ::np2_structs::SignalingAddr* PROTOBUF_NONNULL _internal_mutable_signaling();

  public:
  // uint64 room_id = 1;
  void clear_room_id() ;
  ::uint64_t room_id() const;
  void set_room_id(::uint64_t value);

  private:
  ::uint64_t _internal_room_id() const;
  void _internal_set_room_id(::uint64_t value);

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.NotificationUserJoinedRoom)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const NotificationUserJoinedRoom& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE update_info_;
    ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE signaling_;
    ::uint64_t room_id_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<39> NotificationUserJoinedRoom_class_data_;
// -------------------------------------------------------------------

class JoinRoomResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.JoinRoomResponse) */ {
 public:
  inline JoinRoomResponse() : JoinRoomResponse(nullptr) {}
  ~JoinRoomResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(JoinRoomResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(JoinRoomResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR JoinRoomResponse(::google::protobuf::internal::ConstantInitialized);

  inline JoinRoomResponse(const JoinRoomResponse& from) : JoinRoomResponse(nullptr, from) {}
  inline JoinRoomResponse(JoinRoomResponse&& from) noexcept
      : JoinRoomResponse(nullptr, ::std::move(from)) {}
  inline JoinRoomResponse& operator=(const JoinRoomResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline JoinRoomResponse& operator=(JoinRoomResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const JoinRoomResponse& default_instance() {
    return *reinterpret_cast<const JoinRoomResponse*>(
        &_JoinRoomResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 25;
  friend void swap(JoinRoomResponse& a, JoinRoomResponse& b) { a.Swap(&b); }
  inline void Swap(JoinRoomResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(JoinRoomResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  JoinRoomResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<JoinRoomResponse>(arena);
  }
  void CopyFrom(const JoinRoomResponse& from);
  void MergeFrom(const JoinRoomResponse& from) { JoinRoomResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(JoinRoomResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.JoinRoomResponse"; }

  explicit JoinRoomResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  JoinRoomResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const JoinRoomResponse& from);
  JoinRoomResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, JoinRoomResponse&& from) noexcept
      : JoinRoomResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kSignalingDataFieldNumber = 2,
    kRoomDataFieldNumber = 1,
    kOptParamFieldNumber = 3,
  };
  // repeated .np2_structs.Matching2SignalingInfo signaling_data = 2;
  int signaling_data_size() const;
  private:
  int _internal_signaling_data_size() const;

  public:
  void clear_signaling_data() ;
  ::np2_structs::Matching2SignalingInfo* PROTOBUF_NONNULL mutable_signaling_data(int index);
  ::google::protobuf::RepeatedPtrField<::np2_structs::Matching2SignalingInfo>* PROTOBUF_NONNULL mutable_signaling_data();

  private:
  const ::google::protobuf::RepeatedPtrField<::np2_structs::Matching2SignalingInfo>& _internal_signaling_data() const;
  ::google::protobuf::RepeatedPtrField<::np2_structs::Matching2SignalingInfo>* PROTOBUF_NONNULL _internal_mutable_signaling_data();
  public:
  const ::np2_structs::Matching2SignalingInfo& signaling_data(int index) const;
  ::np2_structs::Matching2SignalingInfo* PROTOBUF_NONNULL add_signaling_data();
  const ::google::protobuf::RepeatedPtrField<::np2_structs::Matching2SignalingInfo>& signaling_data() const;
  // .np2_structs.RoomDataInternal room_data = 1;
  bool has_room_data() const;
  void clear_room_data() ;
  const ::np2_structs::RoomDataInternal& room_data() const;
  [[nodiscard]] ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE release_room_data();
  ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL mutable_room_data();
  void set_allocated_room_data(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_room_data(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value);
  ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE unsafe_arena_release_room_data();

  private:
  const ::np2_structs::RoomDataInternal& _internal_room_data() const;
  ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL _internal_mutable_room_data();

  public:
  // .np2_structs.OptParam opt_param = 3;
  bool has_opt_param() const;
  void clear_opt_param() ;
  const ::np2_structs::OptParam& opt_param() const;
  [[nodiscard]] ::np2_structs::OptParam* PROTOBUF_NULLABLE release_opt_param();
  ::np2_structs::OptParam* PROTOBUF_NONNULL mutable_opt_param();
  void set_allocated_opt_param(::np2_structs::OptParam* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_opt_param(::np2_structs::OptParam* PROTOBUF_NULLABLE value);
  ::np2_structs::OptParam* PROTOBUF_NULLABLE unsafe_arena_release_opt_param();

  private:
  const ::np2_structs::OptParam& _internal_opt_param() const;
  ::np2_structs::OptParam* PROTOBUF_NONNULL _internal_mutable_opt_param();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.JoinRoomResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<2, 3,
                                   3, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const JoinRoomResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::google::protobuf::RepeatedPtrField< ::np2_structs::Matching2SignalingInfo > signaling_data_;
    ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE room_data_;
    ::np2_structs::OptParam* PROTOBUF_NULLABLE opt_param_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<29> JoinRoomResponse_class_data_;
// -------------------------------------------------------------------

class CreateRoomResponse final : public ::google::protobuf::MessageLite
/* @@protoc_insertion_point(class_definition:np2_structs.CreateRoomResponse) */ {
 public:
  inline CreateRoomResponse() : CreateRoomResponse(nullptr) {}
  ~CreateRoomResponse() PROTOBUF_FINAL;

#if defined(PROTOBUF_CUSTOM_VTABLE)
  void operator delete(CreateRoomResponse* PROTOBUF_NONNULL msg, ::std::destroying_delete_t) {
    SharedDtor(*msg);
    ::google::protobuf::internal::SizedDelete(msg, sizeof(CreateRoomResponse));
  }
#endif

  template <typename = void>
  explicit PROTOBUF_CONSTEXPR CreateRoomResponse(::google::protobuf::internal::ConstantInitialized);

  inline CreateRoomResponse(const CreateRoomResponse& from) : CreateRoomResponse(nullptr, from) {}
  inline CreateRoomResponse(CreateRoomResponse&& from) noexcept
      : CreateRoomResponse(nullptr, ::std::move(from)) {}
  inline CreateRoomResponse& operator=(const CreateRoomResponse& from) {
    CopyFrom(from);
    return *this;
  }
  inline CreateRoomResponse& operator=(CreateRoomResponse&& from) noexcept {
    if (this == &from) return *this;
    if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::std::string& unknown_fields() const
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString);
  }
  inline ::std::string* PROTOBUF_NONNULL mutable_unknown_fields()
      ABSL_ATTRIBUTE_LIFETIME_BOUND {
    return _internal_metadata_.mutable_unknown_fields<::std::string>();
  }

  static const CreateRoomResponse& default_instance() {
    return *reinterpret_cast<const CreateRoomResponse*>(
        &_CreateRoomResponse_default_instance_);
  }
  static constexpr int kIndexInFileMessages = 23;
  friend void swap(CreateRoomResponse& a, CreateRoomResponse& b) { a.Swap(&b); }
  inline void Swap(CreateRoomResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
      InternalSwap(other);
    } else {
      ::google::protobuf::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(CreateRoomResponse* PROTOBUF_NONNULL other) {
    if (other == this) return;
    ABSL_DCHECK(GetArena() == other->GetArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  CreateRoomResponse* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
    return ::google::protobuf::MessageLite::DefaultConstruct<CreateRoomResponse>(arena);
  }
  void CopyFrom(const CreateRoomResponse& from);
  void MergeFrom(const CreateRoomResponse& from) { CreateRoomResponse::MergeImpl(*this, from); }

  private:
  static void MergeImpl(::google::protobuf::MessageLite& to_msg,
                        const ::google::protobuf::MessageLite& from_msg);

  public:
  bool IsInitialized() const {
    return true;
  }
  ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
  #if defined(PROTOBUF_CUSTOM_VTABLE)
  private:
  static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
  static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);

  public:
  ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
    return _InternalSerialize(*this, target, stream);
  }
  #else   // PROTOBUF_CUSTOM_VTABLE
  ::size_t ByteSizeLong() const final;
  ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
      ::uint8_t* PROTOBUF_NONNULL target,
      ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
  #endif  // PROTOBUF_CUSTOM_VTABLE
  int GetCachedSize() const { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static void SharedDtor(MessageLite& self);
  void InternalSwap(CreateRoomResponse* PROTOBUF_NONNULL other);
 private:
  template <typename T>
  friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
  static ::absl::string_view FullMessageName() { return "np2_structs.CreateRoomResponse"; }

  explicit CreateRoomResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  CreateRoomResponse(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CreateRoomResponse& from);
  CreateRoomResponse(
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CreateRoomResponse&& from) noexcept
      : CreateRoomResponse(arena) {
    *this = ::std::move(from);
  }
  const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
  static void* PROTOBUF_NONNULL PlacementNew_(
      const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
      ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
  static constexpr auto InternalNewImpl_();

 public:
  static constexpr auto InternalGenerateClassData_();

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------
  enum : int {
    kInternalFieldNumber = 1,
    kOptParamFieldNumber = 2,
  };
  // .np2_structs.RoomDataInternal internal = 1;
  bool has_internal() const;
  void clear_internal() ;
  const ::np2_structs::RoomDataInternal& internal() const;
  [[nodiscard]] ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE release_internal();
  ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL mutable_internal();
  void set_allocated_internal(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_internal(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value);
  ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE unsafe_arena_release_internal();

  private:
  const ::np2_structs::RoomDataInternal& _internal_internal() const;
  ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL _internal_mutable_internal();

  public:
  // .np2_structs.OptParam opt_param = 2;
  bool has_opt_param() const;
  void clear_opt_param() ;
  const ::np2_structs::OptParam& opt_param() const;
  [[nodiscard]] ::np2_structs::OptParam* PROTOBUF_NULLABLE release_opt_param();
  ::np2_structs::OptParam* PROTOBUF_NONNULL mutable_opt_param();
  void set_allocated_opt_param(::np2_structs::OptParam* PROTOBUF_NULLABLE value);
  void unsafe_arena_set_allocated_opt_param(::np2_structs::OptParam* PROTOBUF_NULLABLE value);
  ::np2_structs::OptParam* PROTOBUF_NULLABLE unsafe_arena_release_opt_param();

  private:
  const ::np2_structs::OptParam& _internal_opt_param() const;
  ::np2_structs::OptParam* PROTOBUF_NONNULL _internal_mutable_opt_param();

  public:
  // @@protoc_insertion_point(class_scope:np2_structs.CreateRoomResponse)
 private:
  class _Internal;
  friend class ::google::protobuf::internal::TcParser;
  static const ::google::protobuf::internal::TcParseTable<1, 2,
                                   2, 0,
                                   2>
      _table_;

  friend class ::google::protobuf::MessageLite;
  friend class ::google::protobuf::Arena;
  template <typename T>
  friend class ::google::protobuf::Arena::InternalHelper;
  using InternalArenaConstructable_ = void;
  using DestructorSkippable_ = void;
  struct Impl_ {
    inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
    inline explicit Impl_(
        ::google::protobuf::internal::InternalVisibility visibility,
        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
        const CreateRoomResponse& from_msg);
    ::google::protobuf::internal::HasBits<1> _has_bits_;
    ::google::protobuf::internal::CachedSize _cached_size_;
    ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE internal_;
    ::np2_structs::OptParam* PROTOBUF_NULLABLE opt_param_;
    PROTOBUF_TSAN_DECLARE_MEMBER
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_np2_5fstructs_2eproto;
};

extern const ::google::protobuf::internal::ClassDataLite<31> CreateRoomResponse_class_data_;

// ===================================================================




// ===================================================================


#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// -------------------------------------------------------------------

// uint8

// uint32 value = 1;
inline void uint8::clear_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.value_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint32_t uint8::value() const {
  // @@protoc_insertion_point(field_get:np2_structs.uint8.value)
  return _internal_value();
}
inline void uint8::set_value(::uint32_t value) {
  _internal_set_value(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.uint8.value)
}
inline ::uint32_t uint8::_internal_value() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.value_;
}
inline void uint8::_internal_set_value(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.value_ = value;
}

// -------------------------------------------------------------------

// uint16

// uint32 value = 1;
inline void uint16::clear_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.value_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint32_t uint16::value() const {
  // @@protoc_insertion_point(field_get:np2_structs.uint16.value)
  return _internal_value();
}
inline void uint16::set_value(::uint32_t value) {
  _internal_set_value(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.uint16.value)
}
inline ::uint32_t uint16::_internal_value() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.value_;
}
inline void uint16::_internal_set_value(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.value_ = value;
}

// -------------------------------------------------------------------

// SignalingAddr

// bytes ip = 1;
inline void SignalingAddr::clear_ip() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ip_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& SignalingAddr::ip() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SignalingAddr.ip)
  return _internal_ip();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SignalingAddr::set_ip(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.ip_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.SignalingAddr.ip)
}
inline ::std::string* PROTOBUF_NONNULL SignalingAddr::mutable_ip()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_ip();
  // @@protoc_insertion_point(field_mutable:np2_structs.SignalingAddr.ip)
  return _s;
}
inline const ::std::string& SignalingAddr::_internal_ip() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ip_.Get();
}
inline void SignalingAddr::_internal_set_ip(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ip_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SignalingAddr::_internal_mutable_ip() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.ip_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SignalingAddr::release_ip() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SignalingAddr.ip)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.ip_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.ip_.Set("", GetArena());
  }
  return released;
}
inline void SignalingAddr::set_allocated_ip(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.ip_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.ip_.IsDefault()) {
    _impl_.ip_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SignalingAddr.ip)
}

// .np2_structs.uint16 port = 2;
inline bool SignalingAddr::has_port() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.port_ != nullptr);
  return value;
}
inline void SignalingAddr::clear_port() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.port_ != nullptr) _impl_.port_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint16& SignalingAddr::_internal_port() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.port_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& SignalingAddr::port() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SignalingAddr.port)
  return _internal_port();
}
inline void SignalingAddr::unsafe_arena_set_allocated_port(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.port_);
  }
  _impl_.port_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.SignalingAddr.port)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE SignalingAddr::release_port() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* released = _impl_.port_;
  _impl_.port_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE SignalingAddr::unsafe_arena_release_port() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SignalingAddr.port)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* temp = _impl_.port_;
  _impl_.port_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SignalingAddr::_internal_mutable_port() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.port_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.port_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.port_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SignalingAddr::mutable_port()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* _msg = _internal_mutable_port();
  // @@protoc_insertion_point(field_mutable:np2_structs.SignalingAddr.port)
  return _msg;
}
inline void SignalingAddr::set_allocated_port(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.port_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.port_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SignalingAddr.port)
}

// -------------------------------------------------------------------

// MatchingSignalingInfo

// string npid = 1;
inline void MatchingSignalingInfo::clear_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& MatchingSignalingInfo::npid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingSignalingInfo.npid)
  return _internal_npid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MatchingSignalingInfo::set_npid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.npid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MatchingSignalingInfo.npid)
}
inline ::std::string* PROTOBUF_NONNULL MatchingSignalingInfo::mutable_npid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_npid();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingSignalingInfo.npid)
  return _s;
}
inline const ::std::string& MatchingSignalingInfo::_internal_npid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.npid_.Get();
}
inline void MatchingSignalingInfo::_internal_set_npid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MatchingSignalingInfo::_internal_mutable_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.npid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MatchingSignalingInfo::release_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingSignalingInfo.npid)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.npid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.npid_.Set("", GetArena());
  }
  return released;
}
inline void MatchingSignalingInfo::set_allocated_npid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.npid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.npid_.IsDefault()) {
    _impl_.npid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingSignalingInfo.npid)
}

// .np2_structs.SignalingAddr addr = 2;
inline bool MatchingSignalingInfo::has_addr() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.addr_ != nullptr);
  return value;
}
inline void MatchingSignalingInfo::clear_addr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.addr_ != nullptr) _impl_.addr_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::SignalingAddr& MatchingSignalingInfo::_internal_addr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::SignalingAddr* p = _impl_.addr_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::SignalingAddr&>(::np2_structs::_SignalingAddr_default_instance_);
}
inline const ::np2_structs::SignalingAddr& MatchingSignalingInfo::addr() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingSignalingInfo.addr)
  return _internal_addr();
}
inline void MatchingSignalingInfo::unsafe_arena_set_allocated_addr(
    ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.addr_);
  }
  _impl_.addr_ = reinterpret_cast<::np2_structs::SignalingAddr*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.MatchingSignalingInfo.addr)
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE MatchingSignalingInfo::release_addr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* released = _impl_.addr_;
  _impl_.addr_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE MatchingSignalingInfo::unsafe_arena_release_addr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingSignalingInfo.addr)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* temp = _impl_.addr_;
  _impl_.addr_ = nullptr;
  return temp;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NONNULL MatchingSignalingInfo::_internal_mutable_addr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.addr_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::SignalingAddr>(GetArena());
    _impl_.addr_ = reinterpret_cast<::np2_structs::SignalingAddr*>(p);
  }
  return _impl_.addr_;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NONNULL MatchingSignalingInfo::mutable_addr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* _msg = _internal_mutable_addr();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingSignalingInfo.addr)
  return _msg;
}
inline void MatchingSignalingInfo::set_allocated_addr(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.addr_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.addr_ = reinterpret_cast<::np2_structs::SignalingAddr*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingSignalingInfo.addr)
}

// -------------------------------------------------------------------

// Matching2SignalingInfo

// .np2_structs.uint16 member_id = 1;
inline bool Matching2SignalingInfo::has_member_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.member_id_ != nullptr);
  return value;
}
inline void Matching2SignalingInfo::clear_member_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.member_id_ != nullptr) _impl_.member_id_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint16& Matching2SignalingInfo::_internal_member_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.member_id_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& Matching2SignalingInfo::member_id() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.Matching2SignalingInfo.member_id)
  return _internal_member_id();
}
inline void Matching2SignalingInfo::unsafe_arena_set_allocated_member_id(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.member_id_);
  }
  _impl_.member_id_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.Matching2SignalingInfo.member_id)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE Matching2SignalingInfo::release_member_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* released = _impl_.member_id_;
  _impl_.member_id_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE Matching2SignalingInfo::unsafe_arena_release_member_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.Matching2SignalingInfo.member_id)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* temp = _impl_.member_id_;
  _impl_.member_id_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL Matching2SignalingInfo::_internal_mutable_member_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.member_id_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.member_id_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.member_id_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL Matching2SignalingInfo::mutable_member_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* _msg = _internal_mutable_member_id();
  // @@protoc_insertion_point(field_mutable:np2_structs.Matching2SignalingInfo.member_id)
  return _msg;
}
inline void Matching2SignalingInfo::set_allocated_member_id(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.member_id_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.member_id_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.Matching2SignalingInfo.member_id)
}

// .np2_structs.SignalingAddr addr = 2;
inline bool Matching2SignalingInfo::has_addr() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.addr_ != nullptr);
  return value;
}
inline void Matching2SignalingInfo::clear_addr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.addr_ != nullptr) _impl_.addr_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::SignalingAddr& Matching2SignalingInfo::_internal_addr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::SignalingAddr* p = _impl_.addr_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::SignalingAddr&>(::np2_structs::_SignalingAddr_default_instance_);
}
inline const ::np2_structs::SignalingAddr& Matching2SignalingInfo::addr() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.Matching2SignalingInfo.addr)
  return _internal_addr();
}
inline void Matching2SignalingInfo::unsafe_arena_set_allocated_addr(
    ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.addr_);
  }
  _impl_.addr_ = reinterpret_cast<::np2_structs::SignalingAddr*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.Matching2SignalingInfo.addr)
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE Matching2SignalingInfo::release_addr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* released = _impl_.addr_;
  _impl_.addr_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE Matching2SignalingInfo::unsafe_arena_release_addr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.Matching2SignalingInfo.addr)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* temp = _impl_.addr_;
  _impl_.addr_ = nullptr;
  return temp;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NONNULL Matching2SignalingInfo::_internal_mutable_addr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.addr_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::SignalingAddr>(GetArena());
    _impl_.addr_ = reinterpret_cast<::np2_structs::SignalingAddr*>(p);
  }
  return _impl_.addr_;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NONNULL Matching2SignalingInfo::mutable_addr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* _msg = _internal_mutable_addr();
  // @@protoc_insertion_point(field_mutable:np2_structs.Matching2SignalingInfo.addr)
  return _msg;
}
inline void Matching2SignalingInfo::set_allocated_addr(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.addr_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.addr_ = reinterpret_cast<::np2_structs::SignalingAddr*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.Matching2SignalingInfo.addr)
}

// -------------------------------------------------------------------

// BinAttr

// .np2_structs.uint16 id = 1;
inline bool BinAttr::has_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.id_ != nullptr);
  return value;
}
inline void BinAttr::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.id_ != nullptr) _impl_.id_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint16& BinAttr::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.id_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& BinAttr::id() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.BinAttr.id)
  return _internal_id();
}
inline void BinAttr::unsafe_arena_set_allocated_id(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.id_);
  }
  _impl_.id_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.BinAttr.id)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE BinAttr::release_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* released = _impl_.id_;
  _impl_.id_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE BinAttr::unsafe_arena_release_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.BinAttr.id)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* temp = _impl_.id_;
  _impl_.id_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL BinAttr::_internal_mutable_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.id_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.id_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.id_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL BinAttr::mutable_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* _msg = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:np2_structs.BinAttr.id)
  return _msg;
}
inline void BinAttr::set_allocated_id(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.id_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.id_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.BinAttr.id)
}

// bytes data = 2;
inline void BinAttr::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& BinAttr::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.BinAttr.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void BinAttr::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.BinAttr.data)
}
inline ::std::string* PROTOBUF_NONNULL BinAttr::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.BinAttr.data)
  return _s;
}
inline const ::std::string& BinAttr::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void BinAttr::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL BinAttr::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE BinAttr::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.BinAttr.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void BinAttr::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.BinAttr.data)
}

// -------------------------------------------------------------------

// IntAttr

// .np2_structs.uint16 id = 1;
inline bool IntAttr::has_id() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.id_ != nullptr);
  return value;
}
inline void IntAttr::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.id_ != nullptr) _impl_.id_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint16& IntAttr::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.id_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& IntAttr::id() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.IntAttr.id)
  return _internal_id();
}
inline void IntAttr::unsafe_arena_set_allocated_id(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.id_);
  }
  _impl_.id_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.IntAttr.id)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE IntAttr::release_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* released = _impl_.id_;
  _impl_.id_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE IntAttr::unsafe_arena_release_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.IntAttr.id)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* temp = _impl_.id_;
  _impl_.id_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL IntAttr::_internal_mutable_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.id_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.id_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.id_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL IntAttr::mutable_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* _msg = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:np2_structs.IntAttr.id)
  return _msg;
}
inline void IntAttr::set_allocated_id(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.id_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.id_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.IntAttr.id)
}

// uint32 num = 2;
inline void IntAttr::clear_num() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.num_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t IntAttr::num() const {
  // @@protoc_insertion_point(field_get:np2_structs.IntAttr.num)
  return _internal_num();
}
inline void IntAttr::set_num(::uint32_t value) {
  _internal_set_num(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.IntAttr.num)
}
inline ::uint32_t IntAttr::_internal_num() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.num_;
}
inline void IntAttr::_internal_set_num(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.num_ = value;
}

// -------------------------------------------------------------------

// RoomMemberBinAttrInternal

// uint64 updateDate = 1;
inline void RoomMemberBinAttrInternal::clear_updatedate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.updatedate_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint64_t RoomMemberBinAttrInternal::updatedate() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberBinAttrInternal.updateDate)
  return _internal_updatedate();
}
inline void RoomMemberBinAttrInternal::set_updatedate(::uint64_t value) {
  _internal_set_updatedate(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomMemberBinAttrInternal.updateDate)
}
inline ::uint64_t RoomMemberBinAttrInternal::_internal_updatedate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.updatedate_;
}
inline void RoomMemberBinAttrInternal::_internal_set_updatedate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.updatedate_ = value;
}

// .np2_structs.BinAttr data = 2;
inline bool RoomMemberBinAttrInternal::has_data() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void RoomMemberBinAttrInternal::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::BinAttr& RoomMemberBinAttrInternal::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::BinAttr* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::BinAttr&>(::np2_structs::_BinAttr_default_instance_);
}
inline const ::np2_structs::BinAttr& RoomMemberBinAttrInternal::data() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberBinAttrInternal.data)
  return _internal_data();
}
inline void RoomMemberBinAttrInternal::unsafe_arena_set_allocated_data(
    ::np2_structs::BinAttr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = reinterpret_cast<::np2_structs::BinAttr*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberBinAttrInternal.data)
}
inline ::np2_structs::BinAttr* PROTOBUF_NULLABLE RoomMemberBinAttrInternal::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::BinAttr* released = _impl_.data_;
  _impl_.data_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::BinAttr* PROTOBUF_NULLABLE RoomMemberBinAttrInternal::unsafe_arena_release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberBinAttrInternal.data)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::BinAttr* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL RoomMemberBinAttrInternal::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.data_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::BinAttr>(GetArena());
    _impl_.data_ = reinterpret_cast<::np2_structs::BinAttr*>(p);
  }
  return _impl_.data_;
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL RoomMemberBinAttrInternal::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::BinAttr* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberBinAttrInternal.data)
  return _msg;
}
inline void RoomMemberBinAttrInternal::set_allocated_data(::np2_structs::BinAttr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.data_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.data_ = reinterpret_cast<::np2_structs::BinAttr*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberBinAttrInternal.data)
}

// -------------------------------------------------------------------

// BinAttrInternal

// uint64 updateDate = 1;
inline void BinAttrInternal::clear_updatedate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.updatedate_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint64_t BinAttrInternal::updatedate() const {
  // @@protoc_insertion_point(field_get:np2_structs.BinAttrInternal.updateDate)
  return _internal_updatedate();
}
inline void BinAttrInternal::set_updatedate(::uint64_t value) {
  _internal_set_updatedate(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.BinAttrInternal.updateDate)
}
inline ::uint64_t BinAttrInternal::_internal_updatedate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.updatedate_;
}
inline void BinAttrInternal::_internal_set_updatedate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.updatedate_ = value;
}

// .np2_structs.uint16 updateMemberId = 2;
inline bool BinAttrInternal::has_updatememberid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.updatememberid_ != nullptr);
  return value;
}
inline void BinAttrInternal::clear_updatememberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.updatememberid_ != nullptr) _impl_.updatememberid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint16& BinAttrInternal::_internal_updatememberid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.updatememberid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& BinAttrInternal::updatememberid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.BinAttrInternal.updateMemberId)
  return _internal_updatememberid();
}
inline void BinAttrInternal::unsafe_arena_set_allocated_updatememberid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.updatememberid_);
  }
  _impl_.updatememberid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.BinAttrInternal.updateMemberId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE BinAttrInternal::release_updatememberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* released = _impl_.updatememberid_;
  _impl_.updatememberid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE BinAttrInternal::unsafe_arena_release_updatememberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.BinAttrInternal.updateMemberId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* temp = _impl_.updatememberid_;
  _impl_.updatememberid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL BinAttrInternal::_internal_mutable_updatememberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.updatememberid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.updatememberid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.updatememberid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL BinAttrInternal::mutable_updatememberid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* _msg = _internal_mutable_updatememberid();
  // @@protoc_insertion_point(field_mutable:np2_structs.BinAttrInternal.updateMemberId)
  return _msg;
}
inline void BinAttrInternal::set_allocated_updatememberid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.updatememberid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.updatememberid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.BinAttrInternal.updateMemberId)
}

// .np2_structs.BinAttr data = 3;
inline bool BinAttrInternal::has_data() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.data_ != nullptr);
  return value;
}
inline void BinAttrInternal::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.data_ != nullptr) _impl_.data_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::BinAttr& BinAttrInternal::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::BinAttr* p = _impl_.data_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::BinAttr&>(::np2_structs::_BinAttr_default_instance_);
}
inline const ::np2_structs::BinAttr& BinAttrInternal::data() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.BinAttrInternal.data)
  return _internal_data();
}
inline void BinAttrInternal::unsafe_arena_set_allocated_data(
    ::np2_structs::BinAttr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.data_);
  }
  _impl_.data_ = reinterpret_cast<::np2_structs::BinAttr*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.BinAttrInternal.data)
}
inline ::np2_structs::BinAttr* PROTOBUF_NULLABLE BinAttrInternal::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::BinAttr* released = _impl_.data_;
  _impl_.data_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::BinAttr* PROTOBUF_NULLABLE BinAttrInternal::unsafe_arena_release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.BinAttrInternal.data)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::BinAttr* temp = _impl_.data_;
  _impl_.data_ = nullptr;
  return temp;
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL BinAttrInternal::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.data_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::BinAttr>(GetArena());
    _impl_.data_ = reinterpret_cast<::np2_structs::BinAttr*>(p);
  }
  return _impl_.data_;
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL BinAttrInternal::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::BinAttr* _msg = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.BinAttrInternal.data)
  return _msg;
}
inline void BinAttrInternal::set_allocated_data(::np2_structs::BinAttr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.data_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.data_ = reinterpret_cast<::np2_structs::BinAttr*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.BinAttrInternal.data)
}

// -------------------------------------------------------------------

// OptParam

// .np2_structs.uint8 type = 1;
inline bool OptParam::has_type() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.type_ != nullptr);
  return value;
}
inline void OptParam::clear_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.type_ != nullptr) _impl_.type_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint8& OptParam::_internal_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.type_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& OptParam::type() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.OptParam.type)
  return _internal_type();
}
inline void OptParam::unsafe_arena_set_allocated_type(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_);
  }
  _impl_.type_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.OptParam.type)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE OptParam::release_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* released = _impl_.type_;
  _impl_.type_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE OptParam::unsafe_arena_release_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.OptParam.type)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* temp = _impl_.type_;
  _impl_.type_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL OptParam::_internal_mutable_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.type_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.type_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.type_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL OptParam::mutable_type()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* _msg = _internal_mutable_type();
  // @@protoc_insertion_point(field_mutable:np2_structs.OptParam.type)
  return _msg;
}
inline void OptParam::set_allocated_type(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.type_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.type_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.OptParam.type)
}

// .np2_structs.uint8 flag = 2;
inline bool OptParam::has_flag() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.flag_ != nullptr);
  return value;
}
inline void OptParam::clear_flag() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.flag_ != nullptr) _impl_.flag_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint8& OptParam::_internal_flag() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.flag_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& OptParam::flag() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.OptParam.flag)
  return _internal_flag();
}
inline void OptParam::unsafe_arena_set_allocated_flag(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.flag_);
  }
  _impl_.flag_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.OptParam.flag)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE OptParam::release_flag() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* released = _impl_.flag_;
  _impl_.flag_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE OptParam::unsafe_arena_release_flag() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.OptParam.flag)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* temp = _impl_.flag_;
  _impl_.flag_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL OptParam::_internal_mutable_flag() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.flag_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.flag_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.flag_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL OptParam::mutable_flag()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* _msg = _internal_mutable_flag();
  // @@protoc_insertion_point(field_mutable:np2_structs.OptParam.flag)
  return _msg;
}
inline void OptParam::set_allocated_flag(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.flag_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.flag_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.OptParam.flag)
}

// .np2_structs.uint16 hubMemberId = 3;
inline bool OptParam::has_hubmemberid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.hubmemberid_ != nullptr);
  return value;
}
inline void OptParam::clear_hubmemberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.hubmemberid_ != nullptr) _impl_.hubmemberid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::uint16& OptParam::_internal_hubmemberid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.hubmemberid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& OptParam::hubmemberid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.OptParam.hubMemberId)
  return _internal_hubmemberid();
}
inline void OptParam::unsafe_arena_set_allocated_hubmemberid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.hubmemberid_);
  }
  _impl_.hubmemberid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.OptParam.hubMemberId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE OptParam::release_hubmemberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint16* released = _impl_.hubmemberid_;
  _impl_.hubmemberid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE OptParam::unsafe_arena_release_hubmemberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.OptParam.hubMemberId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint16* temp = _impl_.hubmemberid_;
  _impl_.hubmemberid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL OptParam::_internal_mutable_hubmemberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.hubmemberid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.hubmemberid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.hubmemberid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL OptParam::mutable_hubmemberid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint16* _msg = _internal_mutable_hubmemberid();
  // @@protoc_insertion_point(field_mutable:np2_structs.OptParam.hubMemberId)
  return _msg;
}
inline void OptParam::set_allocated_hubmemberid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.hubmemberid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.hubmemberid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.OptParam.hubMemberId)
}

// -------------------------------------------------------------------

// GroupConfig

// uint32 slotNum = 1;
inline void GroupConfig::clear_slotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotnum_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t GroupConfig::slotnum() const {
  // @@protoc_insertion_point(field_get:np2_structs.GroupConfig.slotNum)
  return _internal_slotnum();
}
inline void GroupConfig::set_slotnum(::uint32_t value) {
  _internal_set_slotnum(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.GroupConfig.slotNum)
}
inline ::uint32_t GroupConfig::_internal_slotnum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotnum_;
}
inline void GroupConfig::_internal_set_slotnum(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotnum_ = value;
}

// bytes label = 2;
inline void GroupConfig::clear_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.label_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& GroupConfig::label() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GroupConfig.label)
  return _internal_label();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GroupConfig::set_label(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.label_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.GroupConfig.label)
}
inline ::std::string* PROTOBUF_NONNULL GroupConfig::mutable_label()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_label();
  // @@protoc_insertion_point(field_mutable:np2_structs.GroupConfig.label)
  return _s;
}
inline const ::std::string& GroupConfig::_internal_label() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.label_.Get();
}
inline void GroupConfig::_internal_set_label(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.label_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GroupConfig::_internal_mutable_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.label_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GroupConfig::release_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.GroupConfig.label)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.label_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.label_.Set("", GetArena());
  }
  return released;
}
inline void GroupConfig::set_allocated_label(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.label_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.label_.IsDefault()) {
    _impl_.label_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.GroupConfig.label)
}

// bool withPassword = 3;
inline void GroupConfig::clear_withpassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withpassword_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline bool GroupConfig::withpassword() const {
  // @@protoc_insertion_point(field_get:np2_structs.GroupConfig.withPassword)
  return _internal_withpassword();
}
inline void GroupConfig::set_withpassword(bool value) {
  _internal_set_withpassword(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.GroupConfig.withPassword)
}
inline bool GroupConfig::_internal_withpassword() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withpassword_;
}
inline void GroupConfig::_internal_set_withpassword(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withpassword_ = value;
}

// -------------------------------------------------------------------

// UserInfo

// string npId = 1;
inline void UserInfo::clear_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& UserInfo::npid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.UserInfo.npId)
  return _internal_npid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserInfo::set_npid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.npid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.UserInfo.npId)
}
inline ::std::string* PROTOBUF_NONNULL UserInfo::mutable_npid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_npid();
  // @@protoc_insertion_point(field_mutable:np2_structs.UserInfo.npId)
  return _s;
}
inline const ::std::string& UserInfo::_internal_npid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.npid_.Get();
}
inline void UserInfo::_internal_set_npid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserInfo::_internal_mutable_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.npid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserInfo::release_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.UserInfo.npId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.npid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.npid_.Set("", GetArena());
  }
  return released;
}
inline void UserInfo::set_allocated_npid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.npid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.npid_.IsDefault()) {
    _impl_.npid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.UserInfo.npId)
}

// string onlineName = 2;
inline void UserInfo::clear_onlinename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.onlinename_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& UserInfo::onlinename() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.UserInfo.onlineName)
  return _internal_onlinename();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserInfo::set_onlinename(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.onlinename_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.UserInfo.onlineName)
}
inline ::std::string* PROTOBUF_NONNULL UserInfo::mutable_onlinename()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_onlinename();
  // @@protoc_insertion_point(field_mutable:np2_structs.UserInfo.onlineName)
  return _s;
}
inline const ::std::string& UserInfo::_internal_onlinename() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.onlinename_.Get();
}
inline void UserInfo::_internal_set_onlinename(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.onlinename_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserInfo::_internal_mutable_onlinename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.onlinename_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserInfo::release_onlinename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.UserInfo.onlineName)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.onlinename_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.onlinename_.Set("", GetArena());
  }
  return released;
}
inline void UserInfo::set_allocated_onlinename(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.onlinename_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.onlinename_.IsDefault()) {
    _impl_.onlinename_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.UserInfo.onlineName)
}

// string avatarUrl = 3;
inline void UserInfo::clear_avatarurl() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.avatarurl_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::std::string& UserInfo::avatarurl() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.UserInfo.avatarUrl)
  return _internal_avatarurl();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void UserInfo::set_avatarurl(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.avatarurl_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.UserInfo.avatarUrl)
}
inline ::std::string* PROTOBUF_NONNULL UserInfo::mutable_avatarurl()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_avatarurl();
  // @@protoc_insertion_point(field_mutable:np2_structs.UserInfo.avatarUrl)
  return _s;
}
inline const ::std::string& UserInfo::_internal_avatarurl() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.avatarurl_.Get();
}
inline void UserInfo::_internal_set_avatarurl(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.avatarurl_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL UserInfo::_internal_mutable_avatarurl() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.avatarurl_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE UserInfo::release_avatarurl() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.UserInfo.avatarUrl)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.avatarurl_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.avatarurl_.Set("", GetArena());
  }
  return released;
}
inline void UserInfo::set_allocated_avatarurl(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.avatarurl_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.avatarurl_.IsDefault()) {
    _impl_.avatarurl_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.UserInfo.avatarUrl)
}

// -------------------------------------------------------------------

// RoomMemberDataInternal

// .np2_structs.UserInfo userInfo = 1;
inline bool RoomMemberDataInternal::has_userinfo() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.userinfo_ != nullptr);
  return value;
}
inline void RoomMemberDataInternal::clear_userinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.userinfo_ != nullptr) _impl_.userinfo_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::UserInfo& RoomMemberDataInternal::_internal_userinfo() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::UserInfo* p = _impl_.userinfo_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::UserInfo&>(::np2_structs::_UserInfo_default_instance_);
}
inline const ::np2_structs::UserInfo& RoomMemberDataInternal::userinfo() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternal.userInfo)
  return _internal_userinfo();
}
inline void RoomMemberDataInternal::unsafe_arena_set_allocated_userinfo(
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.userinfo_);
  }
  _impl_.userinfo_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberDataInternal.userInfo)
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE RoomMemberDataInternal::release_userinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::UserInfo* released = _impl_.userinfo_;
  _impl_.userinfo_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE RoomMemberDataInternal::unsafe_arena_release_userinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberDataInternal.userInfo)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::UserInfo* temp = _impl_.userinfo_;
  _impl_.userinfo_ = nullptr;
  return temp;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL RoomMemberDataInternal::_internal_mutable_userinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.userinfo_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::UserInfo>(GetArena());
    _impl_.userinfo_ = reinterpret_cast<::np2_structs::UserInfo*>(p);
  }
  return _impl_.userinfo_;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL RoomMemberDataInternal::mutable_userinfo()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::UserInfo* _msg = _internal_mutable_userinfo();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataInternal.userInfo)
  return _msg;
}
inline void RoomMemberDataInternal::set_allocated_userinfo(::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.userinfo_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.userinfo_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberDataInternal.userInfo)
}

// uint64 joinDate = 2;
inline void RoomMemberDataInternal::clear_joindate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.joindate_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::uint64_t RoomMemberDataInternal::joindate() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternal.joinDate)
  return _internal_joindate();
}
inline void RoomMemberDataInternal::set_joindate(::uint64_t value) {
  _internal_set_joindate(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomMemberDataInternal.joinDate)
}
inline ::uint64_t RoomMemberDataInternal::_internal_joindate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.joindate_;
}
inline void RoomMemberDataInternal::_internal_set_joindate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.joindate_ = value;
}

// uint32 memberId = 3;
inline void RoomMemberDataInternal::clear_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.memberid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000040U);
}
inline ::uint32_t RoomMemberDataInternal::memberid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternal.memberId)
  return _internal_memberid();
}
inline void RoomMemberDataInternal::set_memberid(::uint32_t value) {
  _internal_set_memberid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomMemberDataInternal.memberId)
}
inline ::uint32_t RoomMemberDataInternal::_internal_memberid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.memberid_;
}
inline void RoomMemberDataInternal::_internal_set_memberid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.memberid_ = value;
}

// .np2_structs.uint8 teamId = 4;
inline bool RoomMemberDataInternal::has_teamid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.teamid_ != nullptr);
  return value;
}
inline void RoomMemberDataInternal::clear_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.teamid_ != nullptr) _impl_.teamid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::uint8& RoomMemberDataInternal::_internal_teamid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.teamid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomMemberDataInternal::teamid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternal.teamId)
  return _internal_teamid();
}
inline void RoomMemberDataInternal::unsafe_arena_set_allocated_teamid(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.teamid_);
  }
  _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberDataInternal.teamId)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberDataInternal::release_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* released = _impl_.teamid_;
  _impl_.teamid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberDataInternal::unsafe_arena_release_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberDataInternal.teamId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* temp = _impl_.teamid_;
  _impl_.teamid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberDataInternal::_internal_mutable_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.teamid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.teamid_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberDataInternal::mutable_teamid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* _msg = _internal_mutable_teamid();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataInternal.teamId)
  return _msg;
}
inline void RoomMemberDataInternal::set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.teamid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberDataInternal.teamId)
}

// .np2_structs.RoomGroup roomGroup = 5;
inline bool RoomMemberDataInternal::has_roomgroup() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.roomgroup_ != nullptr);
  return value;
}
inline void RoomMemberDataInternal::clear_roomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.roomgroup_ != nullptr) _impl_.roomgroup_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::np2_structs::RoomGroup& RoomMemberDataInternal::_internal_roomgroup() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::RoomGroup* p = _impl_.roomgroup_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::RoomGroup&>(::np2_structs::_RoomGroup_default_instance_);
}
inline const ::np2_structs::RoomGroup& RoomMemberDataInternal::roomgroup() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternal.roomGroup)
  return _internal_roomgroup();
}
inline void RoomMemberDataInternal::unsafe_arena_set_allocated_roomgroup(
    ::np2_structs::RoomGroup* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.roomgroup_);
  }
  _impl_.roomgroup_ = reinterpret_cast<::np2_structs::RoomGroup*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberDataInternal.roomGroup)
}
inline ::np2_structs::RoomGroup* PROTOBUF_NULLABLE RoomMemberDataInternal::release_roomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::RoomGroup* released = _impl_.roomgroup_;
  _impl_.roomgroup_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::RoomGroup* PROTOBUF_NULLABLE RoomMemberDataInternal::unsafe_arena_release_roomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberDataInternal.roomGroup)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::RoomGroup* temp = _impl_.roomgroup_;
  _impl_.roomgroup_ = nullptr;
  return temp;
}
inline ::np2_structs::RoomGroup* PROTOBUF_NONNULL RoomMemberDataInternal::_internal_mutable_roomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.roomgroup_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::RoomGroup>(GetArena());
    _impl_.roomgroup_ = reinterpret_cast<::np2_structs::RoomGroup*>(p);
  }
  return _impl_.roomgroup_;
}
inline ::np2_structs::RoomGroup* PROTOBUF_NONNULL RoomMemberDataInternal::mutable_roomgroup()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::RoomGroup* _msg = _internal_mutable_roomgroup();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataInternal.roomGroup)
  return _msg;
}
inline void RoomMemberDataInternal::set_allocated_roomgroup(::np2_structs::RoomGroup* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.roomgroup_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.roomgroup_ = reinterpret_cast<::np2_structs::RoomGroup*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberDataInternal.roomGroup)
}

// .np2_structs.uint8 natType = 6;
inline bool RoomMemberDataInternal::has_nattype() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.nattype_ != nullptr);
  return value;
}
inline void RoomMemberDataInternal::clear_nattype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.nattype_ != nullptr) _impl_.nattype_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline const ::np2_structs::uint8& RoomMemberDataInternal::_internal_nattype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.nattype_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomMemberDataInternal::nattype() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternal.natType)
  return _internal_nattype();
}
inline void RoomMemberDataInternal::unsafe_arena_set_allocated_nattype(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.nattype_);
  }
  _impl_.nattype_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberDataInternal.natType)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberDataInternal::release_nattype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint8* released = _impl_.nattype_;
  _impl_.nattype_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberDataInternal::unsafe_arena_release_nattype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberDataInternal.natType)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint8* temp = _impl_.nattype_;
  _impl_.nattype_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberDataInternal::_internal_mutable_nattype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.nattype_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.nattype_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.nattype_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberDataInternal::mutable_nattype()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint8* _msg = _internal_mutable_nattype();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataInternal.natType)
  return _msg;
}
inline void RoomMemberDataInternal::set_allocated_nattype(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.nattype_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.nattype_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberDataInternal.natType)
}

// uint32 flagAttr = 7;
inline void RoomMemberDataInternal::clear_flagattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000080U);
}
inline ::uint32_t RoomMemberDataInternal::flagattr() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternal.flagAttr)
  return _internal_flagattr();
}
inline void RoomMemberDataInternal::set_flagattr(::uint32_t value) {
  _internal_set_flagattr(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomMemberDataInternal.flagAttr)
}
inline ::uint32_t RoomMemberDataInternal::_internal_flagattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flagattr_;
}
inline void RoomMemberDataInternal::_internal_set_flagattr(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = value;
}

// repeated .np2_structs.RoomMemberBinAttrInternal roomMemberBinAttrInternal = 8;
inline int RoomMemberDataInternal::_internal_roommemberbinattrinternal_size() const {
  return _internal_roommemberbinattrinternal().size();
}
inline int RoomMemberDataInternal::roommemberbinattrinternal_size() const {
  return _internal_roommemberbinattrinternal_size();
}
inline void RoomMemberDataInternal::clear_roommemberbinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roommemberbinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::RoomMemberBinAttrInternal* PROTOBUF_NONNULL RoomMemberDataInternal::mutable_roommemberbinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataInternal.roomMemberBinAttrInternal)
  return _internal_mutable_roommemberbinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberBinAttrInternal>* PROTOBUF_NONNULL RoomMemberDataInternal::mutable_roommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomMemberDataInternal.roomMemberBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roommemberbinattrinternal();
}
inline const ::np2_structs::RoomMemberBinAttrInternal& RoomMemberDataInternal::roommemberbinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternal.roomMemberBinAttrInternal)
  return _internal_roommemberbinattrinternal().Get(index);
}
inline ::np2_structs::RoomMemberBinAttrInternal* PROTOBUF_NONNULL RoomMemberDataInternal::add_roommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::RoomMemberBinAttrInternal* _add =
      _internal_mutable_roommemberbinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomMemberDataInternal.roomMemberBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberBinAttrInternal>& RoomMemberDataInternal::roommemberbinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomMemberDataInternal.roomMemberBinAttrInternal)
  return _internal_roommemberbinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberBinAttrInternal>&
RoomMemberDataInternal::_internal_roommemberbinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roommemberbinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberBinAttrInternal>* PROTOBUF_NONNULL
RoomMemberDataInternal::_internal_mutable_roommemberbinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roommemberbinattrinternal_;
}

// -------------------------------------------------------------------

// RoomGroup

// .np2_structs.uint8 groupId = 1;
inline bool RoomGroup::has_groupid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.groupid_ != nullptr);
  return value;
}
inline void RoomGroup::clear_groupid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.groupid_ != nullptr) _impl_.groupid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint8& RoomGroup::_internal_groupid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.groupid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomGroup::groupid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomGroup.groupId)
  return _internal_groupid();
}
inline void RoomGroup::unsafe_arena_set_allocated_groupid(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.groupid_);
  }
  _impl_.groupid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomGroup.groupId)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomGroup::release_groupid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* released = _impl_.groupid_;
  _impl_.groupid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomGroup::unsafe_arena_release_groupid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomGroup.groupId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* temp = _impl_.groupid_;
  _impl_.groupid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomGroup::_internal_mutable_groupid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.groupid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.groupid_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.groupid_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomGroup::mutable_groupid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* _msg = _internal_mutable_groupid();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomGroup.groupId)
  return _msg;
}
inline void RoomGroup::set_allocated_groupid(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.groupid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.groupid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomGroup.groupId)
}

// bool withPassword = 2;
inline void RoomGroup::clear_withpassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withpassword_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline bool RoomGroup::withpassword() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomGroup.withPassword)
  return _internal_withpassword();
}
inline void RoomGroup::set_withpassword(bool value) {
  _internal_set_withpassword(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomGroup.withPassword)
}
inline bool RoomGroup::_internal_withpassword() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withpassword_;
}
inline void RoomGroup::_internal_set_withpassword(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withpassword_ = value;
}

// bytes label = 3;
inline void RoomGroup::clear_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.label_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& RoomGroup::label() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomGroup.label)
  return _internal_label();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RoomGroup::set_label(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.label_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.RoomGroup.label)
}
inline ::std::string* PROTOBUF_NONNULL RoomGroup::mutable_label()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_label();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomGroup.label)
  return _s;
}
inline const ::std::string& RoomGroup::_internal_label() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.label_.Get();
}
inline void RoomGroup::_internal_set_label(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.label_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RoomGroup::_internal_mutable_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.label_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RoomGroup::release_label() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomGroup.label)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.label_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.label_.Set("", GetArena());
  }
  return released;
}
inline void RoomGroup::set_allocated_label(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.label_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.label_.IsDefault()) {
    _impl_.label_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomGroup.label)
}

// uint32 slotNum = 4;
inline void RoomGroup::clear_slotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotnum_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t RoomGroup::slotnum() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomGroup.slotNum)
  return _internal_slotnum();
}
inline void RoomGroup::set_slotnum(::uint32_t value) {
  _internal_set_slotnum(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomGroup.slotNum)
}
inline ::uint32_t RoomGroup::_internal_slotnum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotnum_;
}
inline void RoomGroup::_internal_set_slotnum(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotnum_ = value;
}

// uint32 curGroupMemberNum = 5;
inline void RoomGroup::clear_curgroupmembernum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.curgroupmembernum_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::uint32_t RoomGroup::curgroupmembernum() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomGroup.curGroupMemberNum)
  return _internal_curgroupmembernum();
}
inline void RoomGroup::set_curgroupmembernum(::uint32_t value) {
  _internal_set_curgroupmembernum(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomGroup.curGroupMemberNum)
}
inline ::uint32_t RoomGroup::_internal_curgroupmembernum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.curgroupmembernum_;
}
inline void RoomGroup::_internal_set_curgroupmembernum(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.curgroupmembernum_ = value;
}

// -------------------------------------------------------------------

// RoomDataInternal

// .np2_structs.uint16 serverId = 1;
inline bool RoomDataInternal::has_serverid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.serverid_ != nullptr);
  return value;
}
inline void RoomDataInternal::clear_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.serverid_ != nullptr) _impl_.serverid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::np2_structs::uint16& RoomDataInternal::_internal_serverid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.serverid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataInternal::serverid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.serverId)
  return _internal_serverid();
}
inline void RoomDataInternal::unsafe_arena_set_allocated_serverid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.serverid_);
  }
  _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataInternal.serverId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataInternal::release_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::uint16* released = _impl_.serverid_;
  _impl_.serverid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataInternal::unsafe_arena_release_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataInternal.serverId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::uint16* temp = _impl_.serverid_;
  _impl_.serverid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataInternal::_internal_mutable_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.serverid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.serverid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataInternal::mutable_serverid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::uint16* _msg = _internal_mutable_serverid();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataInternal.serverId)
  return _msg;
}
inline void RoomDataInternal::set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.serverid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataInternal.serverId)
}

// uint32 worldId = 2;
inline void RoomDataInternal::clear_worldid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000080U);
}
inline ::uint32_t RoomDataInternal::worldid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.worldId)
  return _internal_worldid();
}
inline void RoomDataInternal::set_worldid(::uint32_t value) {
  _internal_set_worldid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternal.worldId)
}
inline ::uint32_t RoomDataInternal::_internal_worldid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.worldid_;
}
inline void RoomDataInternal::_internal_set_worldid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = value;
}

// uint64 lobbyId = 3;
inline void RoomDataInternal::clear_lobbyid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lobbyid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::uint64_t RoomDataInternal::lobbyid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.lobbyId)
  return _internal_lobbyid();
}
inline void RoomDataInternal::set_lobbyid(::uint64_t value) {
  _internal_set_lobbyid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternal.lobbyId)
}
inline ::uint64_t RoomDataInternal::_internal_lobbyid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lobbyid_;
}
inline void RoomDataInternal::_internal_set_lobbyid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lobbyid_ = value;
}

// uint64 roomId = 4;
inline void RoomDataInternal::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000040U);
}
inline ::uint64_t RoomDataInternal::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.roomId)
  return _internal_roomid();
}
inline void RoomDataInternal::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternal.roomId)
}
inline ::uint64_t RoomDataInternal::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void RoomDataInternal::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// uint64 passwordSlotMask = 5;
inline void RoomDataInternal::clear_passwordslotmask() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.passwordslotmask_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000200U);
}
inline ::uint64_t RoomDataInternal::passwordslotmask() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.passwordSlotMask)
  return _internal_passwordslotmask();
}
inline void RoomDataInternal::set_passwordslotmask(::uint64_t value) {
  _internal_set_passwordslotmask(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternal.passwordSlotMask)
}
inline ::uint64_t RoomDataInternal::_internal_passwordslotmask() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.passwordslotmask_;
}
inline void RoomDataInternal::_internal_set_passwordslotmask(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.passwordslotmask_ = value;
}

// uint32 maxSlot = 6;
inline void RoomDataInternal::clear_maxslot() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.maxslot_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000100U);
}
inline ::uint32_t RoomDataInternal::maxslot() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.maxSlot)
  return _internal_maxslot();
}
inline void RoomDataInternal::set_maxslot(::uint32_t value) {
  _internal_set_maxslot(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternal.maxSlot)
}
inline ::uint32_t RoomDataInternal::_internal_maxslot() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.maxslot_;
}
inline void RoomDataInternal::_internal_set_maxslot(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.maxslot_ = value;
}

// repeated .np2_structs.RoomMemberDataInternal memberList = 7;
inline int RoomDataInternal::_internal_memberlist_size() const {
  return _internal_memberlist().size();
}
inline int RoomDataInternal::memberlist_size() const {
  return _internal_memberlist_size();
}
inline void RoomDataInternal::clear_memberlist() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.memberlist_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL RoomDataInternal::mutable_memberlist(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataInternal.memberList)
  return _internal_mutable_memberlist()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataInternal>* PROTOBUF_NONNULL RoomDataInternal::mutable_memberlist()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomDataInternal.memberList)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_memberlist();
}
inline const ::np2_structs::RoomMemberDataInternal& RoomDataInternal::memberlist(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.memberList)
  return _internal_memberlist().Get(index);
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL RoomDataInternal::add_memberlist()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::RoomMemberDataInternal* _add =
      _internal_mutable_memberlist()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomDataInternal.memberList)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataInternal>& RoomDataInternal::memberlist() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomDataInternal.memberList)
  return _internal_memberlist();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataInternal>&
RoomDataInternal::_internal_memberlist() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.memberlist_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataInternal>* PROTOBUF_NONNULL
RoomDataInternal::_internal_mutable_memberlist() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.memberlist_;
}

// .np2_structs.uint16 ownerId = 8;
inline bool RoomDataInternal::has_ownerid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.ownerid_ != nullptr);
  return value;
}
inline void RoomDataInternal::clear_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ownerid_ != nullptr) _impl_.ownerid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline const ::np2_structs::uint16& RoomDataInternal::_internal_ownerid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.ownerid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataInternal::ownerid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.ownerId)
  return _internal_ownerid();
}
inline void RoomDataInternal::unsafe_arena_set_allocated_ownerid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ownerid_);
  }
  _impl_.ownerid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataInternal.ownerId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataInternal::release_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* released = _impl_.ownerid_;
  _impl_.ownerid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataInternal::unsafe_arena_release_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataInternal.ownerId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* temp = _impl_.ownerid_;
  _impl_.ownerid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataInternal::_internal_mutable_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.ownerid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.ownerid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.ownerid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataInternal::mutable_ownerid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* _msg = _internal_mutable_ownerid();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataInternal.ownerId)
  return _msg;
}
inline void RoomDataInternal::set_allocated_ownerid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.ownerid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.ownerid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataInternal.ownerId)
}

// repeated .np2_structs.RoomGroup roomGroup = 9;
inline int RoomDataInternal::_internal_roomgroup_size() const {
  return _internal_roomgroup().size();
}
inline int RoomDataInternal::roomgroup_size() const {
  return _internal_roomgroup_size();
}
inline void RoomDataInternal::clear_roomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomgroup_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::RoomGroup* PROTOBUF_NONNULL RoomDataInternal::mutable_roomgroup(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataInternal.roomGroup)
  return _internal_mutable_roomgroup()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>* PROTOBUF_NONNULL RoomDataInternal::mutable_roomgroup()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomDataInternal.roomGroup)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomgroup();
}
inline const ::np2_structs::RoomGroup& RoomDataInternal::roomgroup(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.roomGroup)
  return _internal_roomgroup().Get(index);
}
inline ::np2_structs::RoomGroup* PROTOBUF_NONNULL RoomDataInternal::add_roomgroup()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::RoomGroup* _add =
      _internal_mutable_roomgroup()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomDataInternal.roomGroup)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>& RoomDataInternal::roomgroup() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomDataInternal.roomGroup)
  return _internal_roomgroup();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>&
RoomDataInternal::_internal_roomgroup() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomgroup_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>* PROTOBUF_NONNULL
RoomDataInternal::_internal_mutable_roomgroup() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomgroup_;
}

// uint32 flagAttr = 10;
inline void RoomDataInternal::clear_flagattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000400U);
}
inline ::uint32_t RoomDataInternal::flagattr() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.flagAttr)
  return _internal_flagattr();
}
inline void RoomDataInternal::set_flagattr(::uint32_t value) {
  _internal_set_flagattr(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternal.flagAttr)
}
inline ::uint32_t RoomDataInternal::_internal_flagattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flagattr_;
}
inline void RoomDataInternal::_internal_set_flagattr(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = value;
}

// repeated .np2_structs.BinAttrInternal roomBinAttrInternal = 11;
inline int RoomDataInternal::_internal_roombinattrinternal_size() const {
  return _internal_roombinattrinternal().size();
}
inline int RoomDataInternal::roombinattrinternal_size() const {
  return _internal_roombinattrinternal_size();
}
inline void RoomDataInternal::clear_roombinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roombinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::np2_structs::BinAttrInternal* PROTOBUF_NONNULL RoomDataInternal::mutable_roombinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataInternal.roomBinAttrInternal)
  return _internal_mutable_roombinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttrInternal>* PROTOBUF_NONNULL RoomDataInternal::mutable_roombinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomDataInternal.roomBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roombinattrinternal();
}
inline const ::np2_structs::BinAttrInternal& RoomDataInternal::roombinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternal.roomBinAttrInternal)
  return _internal_roombinattrinternal().Get(index);
}
inline ::np2_structs::BinAttrInternal* PROTOBUF_NONNULL RoomDataInternal::add_roombinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttrInternal* _add =
      _internal_mutable_roombinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomDataInternal.roomBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttrInternal>& RoomDataInternal::roombinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomDataInternal.roomBinAttrInternal)
  return _internal_roombinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttrInternal>&
RoomDataInternal::_internal_roombinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roombinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttrInternal>* PROTOBUF_NONNULL
RoomDataInternal::_internal_mutable_roombinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roombinattrinternal_;
}

// -------------------------------------------------------------------

// RoomDataExternal

// .np2_structs.uint16 serverId = 1;
inline bool RoomDataExternal::has_serverid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.serverid_ != nullptr);
  return value;
}
inline void RoomDataExternal::clear_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.serverid_ != nullptr) _impl_.serverid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline const ::np2_structs::uint16& RoomDataExternal::_internal_serverid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.serverid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataExternal::serverid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.serverId)
  return _internal_serverid();
}
inline void RoomDataExternal::unsafe_arena_set_allocated_serverid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.serverid_);
  }
  _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataExternal.serverId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::release_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* released = _impl_.serverid_;
  _impl_.serverid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::unsafe_arena_release_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataExternal.serverId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* temp = _impl_.serverid_;
  _impl_.serverid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::_internal_mutable_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.serverid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.serverid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::mutable_serverid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* _msg = _internal_mutable_serverid();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.serverId)
  return _msg;
}
inline void RoomDataExternal::set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.serverid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataExternal.serverId)
}

// uint32 worldId = 2;
inline void RoomDataExternal::clear_worldid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00004000U);
}
inline ::uint32_t RoomDataExternal::worldid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.worldId)
  return _internal_worldid();
}
inline void RoomDataExternal::set_worldid(::uint32_t value) {
  _internal_set_worldid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00004000U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataExternal.worldId)
}
inline ::uint32_t RoomDataExternal::_internal_worldid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.worldid_;
}
inline void RoomDataExternal::_internal_set_worldid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = value;
}

// .np2_structs.uint16 publicSlotNum = 3;
inline bool RoomDataExternal::has_publicslotnum() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  PROTOBUF_ASSUME(!value || _impl_.publicslotnum_ != nullptr);
  return value;
}
inline void RoomDataExternal::clear_publicslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.publicslotnum_ != nullptr) _impl_.publicslotnum_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline const ::np2_structs::uint16& RoomDataExternal::_internal_publicslotnum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.publicslotnum_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataExternal::publicslotnum() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.publicSlotNum)
  return _internal_publicslotnum();
}
inline void RoomDataExternal::unsafe_arena_set_allocated_publicslotnum(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.publicslotnum_);
  }
  _impl_.publicslotnum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataExternal.publicSlotNum)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::release_publicslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::np2_structs::uint16* released = _impl_.publicslotnum_;
  _impl_.publicslotnum_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::unsafe_arena_release_publicslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataExternal.publicSlotNum)

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::np2_structs::uint16* temp = _impl_.publicslotnum_;
  _impl_.publicslotnum_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::_internal_mutable_publicslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.publicslotnum_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.publicslotnum_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.publicslotnum_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::mutable_publicslotnum()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::np2_structs::uint16* _msg = _internal_mutable_publicslotnum();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.publicSlotNum)
  return _msg;
}
inline void RoomDataExternal::set_allocated_publicslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.publicslotnum_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }

  _impl_.publicslotnum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataExternal.publicSlotNum)
}

// .np2_structs.uint16 privateSlotNum = 4;
inline bool RoomDataExternal::has_privateslotnum() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000040U);
  PROTOBUF_ASSUME(!value || _impl_.privateslotnum_ != nullptr);
  return value;
}
inline void RoomDataExternal::clear_privateslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.privateslotnum_ != nullptr) _impl_.privateslotnum_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000040U);
}
inline const ::np2_structs::uint16& RoomDataExternal::_internal_privateslotnum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.privateslotnum_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataExternal::privateslotnum() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.privateSlotNum)
  return _internal_privateslotnum();
}
inline void RoomDataExternal::unsafe_arena_set_allocated_privateslotnum(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.privateslotnum_);
  }
  _impl_.privateslotnum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataExternal.privateSlotNum)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::release_privateslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::np2_structs::uint16* released = _impl_.privateslotnum_;
  _impl_.privateslotnum_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::unsafe_arena_release_privateslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataExternal.privateSlotNum)

  ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::np2_structs::uint16* temp = _impl_.privateslotnum_;
  _impl_.privateslotnum_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::_internal_mutable_privateslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.privateslotnum_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.privateslotnum_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.privateslotnum_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::mutable_privateslotnum()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  ::np2_structs::uint16* _msg = _internal_mutable_privateslotnum();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.privateSlotNum)
  return _msg;
}
inline void RoomDataExternal::set_allocated_privateslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.privateslotnum_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000040U);
  }

  _impl_.privateslotnum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataExternal.privateSlotNum)
}

// uint64 lobbyId = 5;
inline void RoomDataExternal::clear_lobbyid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lobbyid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00001000U);
}
inline ::uint64_t RoomDataExternal::lobbyid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.lobbyId)
  return _internal_lobbyid();
}
inline void RoomDataExternal::set_lobbyid(::uint64_t value) {
  _internal_set_lobbyid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00001000U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataExternal.lobbyId)
}
inline ::uint64_t RoomDataExternal::_internal_lobbyid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lobbyid_;
}
inline void RoomDataExternal::_internal_set_lobbyid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lobbyid_ = value;
}

// uint64 roomId = 6;
inline void RoomDataExternal::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00002000U);
}
inline ::uint64_t RoomDataExternal::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.roomId)
  return _internal_roomid();
}
inline void RoomDataExternal::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00002000U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataExternal.roomId)
}
inline ::uint64_t RoomDataExternal::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void RoomDataExternal::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// .np2_structs.uint16 openPublicSlotNum = 7;
inline bool RoomDataExternal::has_openpublicslotnum() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000080U);
  PROTOBUF_ASSUME(!value || _impl_.openpublicslotnum_ != nullptr);
  return value;
}
inline void RoomDataExternal::clear_openpublicslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.openpublicslotnum_ != nullptr) _impl_.openpublicslotnum_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000080U);
}
inline const ::np2_structs::uint16& RoomDataExternal::_internal_openpublicslotnum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.openpublicslotnum_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataExternal::openpublicslotnum() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.openPublicSlotNum)
  return _internal_openpublicslotnum();
}
inline void RoomDataExternal::unsafe_arena_set_allocated_openpublicslotnum(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.openpublicslotnum_);
  }
  _impl_.openpublicslotnum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataExternal.openPublicSlotNum)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::release_openpublicslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::np2_structs::uint16* released = _impl_.openpublicslotnum_;
  _impl_.openpublicslotnum_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::unsafe_arena_release_openpublicslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataExternal.openPublicSlotNum)

  ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::np2_structs::uint16* temp = _impl_.openpublicslotnum_;
  _impl_.openpublicslotnum_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::_internal_mutable_openpublicslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.openpublicslotnum_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.openpublicslotnum_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.openpublicslotnum_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::mutable_openpublicslotnum()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  ::np2_structs::uint16* _msg = _internal_mutable_openpublicslotnum();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.openPublicSlotNum)
  return _msg;
}
inline void RoomDataExternal::set_allocated_openpublicslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.openpublicslotnum_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000080U);
  }

  _impl_.openpublicslotnum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataExternal.openPublicSlotNum)
}

// .np2_structs.uint16 maxSlot = 8;
inline bool RoomDataExternal::has_maxslot() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000100U);
  PROTOBUF_ASSUME(!value || _impl_.maxslot_ != nullptr);
  return value;
}
inline void RoomDataExternal::clear_maxslot() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.maxslot_ != nullptr) _impl_.maxslot_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000100U);
}
inline const ::np2_structs::uint16& RoomDataExternal::_internal_maxslot() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.maxslot_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataExternal::maxslot() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.maxSlot)
  return _internal_maxslot();
}
inline void RoomDataExternal::unsafe_arena_set_allocated_maxslot(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.maxslot_);
  }
  _impl_.maxslot_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataExternal.maxSlot)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::release_maxslot() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::np2_structs::uint16* released = _impl_.maxslot_;
  _impl_.maxslot_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::unsafe_arena_release_maxslot() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataExternal.maxSlot)

  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::np2_structs::uint16* temp = _impl_.maxslot_;
  _impl_.maxslot_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::_internal_mutable_maxslot() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.maxslot_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.maxslot_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.maxslot_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::mutable_maxslot()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::np2_structs::uint16* _msg = _internal_mutable_maxslot();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.maxSlot)
  return _msg;
}
inline void RoomDataExternal::set_allocated_maxslot(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.maxslot_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  }

  _impl_.maxslot_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataExternal.maxSlot)
}

// .np2_structs.uint16 openPrivateSlotNum = 9;
inline bool RoomDataExternal::has_openprivateslotnum() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000200U);
  PROTOBUF_ASSUME(!value || _impl_.openprivateslotnum_ != nullptr);
  return value;
}
inline void RoomDataExternal::clear_openprivateslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.openprivateslotnum_ != nullptr) _impl_.openprivateslotnum_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000200U);
}
inline const ::np2_structs::uint16& RoomDataExternal::_internal_openprivateslotnum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.openprivateslotnum_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataExternal::openprivateslotnum() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.openPrivateSlotNum)
  return _internal_openprivateslotnum();
}
inline void RoomDataExternal::unsafe_arena_set_allocated_openprivateslotnum(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.openprivateslotnum_);
  }
  _impl_.openprivateslotnum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataExternal.openPrivateSlotNum)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::release_openprivateslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
  ::np2_structs::uint16* released = _impl_.openprivateslotnum_;
  _impl_.openprivateslotnum_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::unsafe_arena_release_openprivateslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataExternal.openPrivateSlotNum)

  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
  ::np2_structs::uint16* temp = _impl_.openprivateslotnum_;
  _impl_.openprivateslotnum_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::_internal_mutable_openprivateslotnum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.openprivateslotnum_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.openprivateslotnum_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.openprivateslotnum_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::mutable_openprivateslotnum()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  ::np2_structs::uint16* _msg = _internal_mutable_openprivateslotnum();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.openPrivateSlotNum)
  return _msg;
}
inline void RoomDataExternal::set_allocated_openprivateslotnum(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.openprivateslotnum_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
  }

  _impl_.openprivateslotnum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataExternal.openPrivateSlotNum)
}

// .np2_structs.uint16 curMemberNum = 10;
inline bool RoomDataExternal::has_curmembernum() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000400U);
  PROTOBUF_ASSUME(!value || _impl_.curmembernum_ != nullptr);
  return value;
}
inline void RoomDataExternal::clear_curmembernum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.curmembernum_ != nullptr) _impl_.curmembernum_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000400U);
}
inline const ::np2_structs::uint16& RoomDataExternal::_internal_curmembernum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.curmembernum_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& RoomDataExternal::curmembernum() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.curMemberNum)
  return _internal_curmembernum();
}
inline void RoomDataExternal::unsafe_arena_set_allocated_curmembernum(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.curmembernum_);
  }
  _impl_.curmembernum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataExternal.curMemberNum)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::release_curmembernum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  ::np2_structs::uint16* released = _impl_.curmembernum_;
  _impl_.curmembernum_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE RoomDataExternal::unsafe_arena_release_curmembernum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataExternal.curMemberNum)

  ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  ::np2_structs::uint16* temp = _impl_.curmembernum_;
  _impl_.curmembernum_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::_internal_mutable_curmembernum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.curmembernum_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.curmembernum_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.curmembernum_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataExternal::mutable_curmembernum()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  ::np2_structs::uint16* _msg = _internal_mutable_curmembernum();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.curMemberNum)
  return _msg;
}
inline void RoomDataExternal::set_allocated_curmembernum(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.curmembernum_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  }

  _impl_.curmembernum_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataExternal.curMemberNum)
}

// uint64 passwordSlotMask = 11;
inline void RoomDataExternal::clear_passwordslotmask() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.passwordslotmask_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00010000U);
}
inline ::uint64_t RoomDataExternal::passwordslotmask() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.passwordSlotMask)
  return _internal_passwordslotmask();
}
inline void RoomDataExternal::set_passwordslotmask(::uint64_t value) {
  _internal_set_passwordslotmask(value);
  SetHasBit(_impl_._has_bits_[0], 0x00010000U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataExternal.passwordSlotMask)
}
inline ::uint64_t RoomDataExternal::_internal_passwordslotmask() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.passwordslotmask_;
}
inline void RoomDataExternal::_internal_set_passwordslotmask(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.passwordslotmask_ = value;
}

// .np2_structs.UserInfo owner = 12;
inline bool RoomDataExternal::has_owner() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000800U);
  PROTOBUF_ASSUME(!value || _impl_.owner_ != nullptr);
  return value;
}
inline void RoomDataExternal::clear_owner() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.owner_ != nullptr) _impl_.owner_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000800U);
}
inline const ::np2_structs::UserInfo& RoomDataExternal::_internal_owner() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::UserInfo* p = _impl_.owner_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::UserInfo&>(::np2_structs::_UserInfo_default_instance_);
}
inline const ::np2_structs::UserInfo& RoomDataExternal::owner() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.owner)
  return _internal_owner();
}
inline void RoomDataExternal::unsafe_arena_set_allocated_owner(
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.owner_);
  }
  _impl_.owner_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataExternal.owner)
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE RoomDataExternal::release_owner() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  ::np2_structs::UserInfo* released = _impl_.owner_;
  _impl_.owner_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE RoomDataExternal::unsafe_arena_release_owner() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataExternal.owner)

  ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  ::np2_structs::UserInfo* temp = _impl_.owner_;
  _impl_.owner_ = nullptr;
  return temp;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL RoomDataExternal::_internal_mutable_owner() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.owner_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::UserInfo>(GetArena());
    _impl_.owner_ = reinterpret_cast<::np2_structs::UserInfo*>(p);
  }
  return _impl_.owner_;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL RoomDataExternal::mutable_owner()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  ::np2_structs::UserInfo* _msg = _internal_mutable_owner();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.owner)
  return _msg;
}
inline void RoomDataExternal::set_allocated_owner(::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.owner_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  }

  _impl_.owner_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataExternal.owner)
}

// repeated .np2_structs.RoomGroup roomGroup = 13;
inline int RoomDataExternal::_internal_roomgroup_size() const {
  return _internal_roomgroup().size();
}
inline int RoomDataExternal::roomgroup_size() const {
  return _internal_roomgroup_size();
}
inline void RoomDataExternal::clear_roomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomgroup_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::RoomGroup* PROTOBUF_NONNULL RoomDataExternal::mutable_roomgroup(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.roomGroup)
  return _internal_mutable_roomgroup()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>* PROTOBUF_NONNULL RoomDataExternal::mutable_roomgroup()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomDataExternal.roomGroup)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomgroup();
}
inline const ::np2_structs::RoomGroup& RoomDataExternal::roomgroup(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.roomGroup)
  return _internal_roomgroup().Get(index);
}
inline ::np2_structs::RoomGroup* PROTOBUF_NONNULL RoomDataExternal::add_roomgroup()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::RoomGroup* _add =
      _internal_mutable_roomgroup()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomDataExternal.roomGroup)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>& RoomDataExternal::roomgroup() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomDataExternal.roomGroup)
  return _internal_roomgroup();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>&
RoomDataExternal::_internal_roomgroup() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomgroup_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroup>* PROTOBUF_NONNULL
RoomDataExternal::_internal_mutable_roomgroup() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomgroup_;
}

// uint32 flagAttr = 14;
inline void RoomDataExternal::clear_flagattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00008000U);
}
inline ::uint32_t RoomDataExternal::flagattr() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.flagAttr)
  return _internal_flagattr();
}
inline void RoomDataExternal::set_flagattr(::uint32_t value) {
  _internal_set_flagattr(value);
  SetHasBit(_impl_._has_bits_[0], 0x00008000U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataExternal.flagAttr)
}
inline ::uint32_t RoomDataExternal::_internal_flagattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flagattr_;
}
inline void RoomDataExternal::_internal_set_flagattr(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = value;
}

// repeated .np2_structs.IntAttr roomSearchableIntAttrExternal = 15;
inline int RoomDataExternal::_internal_roomsearchableintattrexternal_size() const {
  return _internal_roomsearchableintattrexternal().size();
}
inline int RoomDataExternal::roomsearchableintattrexternal_size() const {
  return _internal_roomsearchableintattrexternal_size();
}
inline void RoomDataExternal::clear_roomsearchableintattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomsearchableintattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::IntAttr* PROTOBUF_NONNULL RoomDataExternal::mutable_roomsearchableintattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.roomSearchableIntAttrExternal)
  return _internal_mutable_roomsearchableintattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL RoomDataExternal::mutable_roomsearchableintattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomDataExternal.roomSearchableIntAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomsearchableintattrexternal();
}
inline const ::np2_structs::IntAttr& RoomDataExternal::roomsearchableintattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.roomSearchableIntAttrExternal)
  return _internal_roomsearchableintattrexternal().Get(index);
}
inline ::np2_structs::IntAttr* PROTOBUF_NONNULL RoomDataExternal::add_roomsearchableintattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::IntAttr* _add =
      _internal_mutable_roomsearchableintattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomDataExternal.roomSearchableIntAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& RoomDataExternal::roomsearchableintattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomDataExternal.roomSearchableIntAttrExternal)
  return _internal_roomsearchableintattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>&
RoomDataExternal::_internal_roomsearchableintattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomsearchableintattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL
RoomDataExternal::_internal_mutable_roomsearchableintattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomsearchableintattrexternal_;
}

// repeated .np2_structs.BinAttr roomSearchableBinAttrExternal = 16;
inline int RoomDataExternal::_internal_roomsearchablebinattrexternal_size() const {
  return _internal_roomsearchablebinattrexternal().size();
}
inline int RoomDataExternal::roomsearchablebinattrexternal_size() const {
  return _internal_roomsearchablebinattrexternal_size();
}
inline void RoomDataExternal::clear_roomsearchablebinattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomsearchablebinattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL RoomDataExternal::mutable_roomsearchablebinattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.roomSearchableBinAttrExternal)
  return _internal_mutable_roomsearchablebinattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL RoomDataExternal::mutable_roomsearchablebinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomDataExternal.roomSearchableBinAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomsearchablebinattrexternal();
}
inline const ::np2_structs::BinAttr& RoomDataExternal::roomsearchablebinattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.roomSearchableBinAttrExternal)
  return _internal_roomsearchablebinattrexternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL RoomDataExternal::add_roomsearchablebinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roomsearchablebinattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomDataExternal.roomSearchableBinAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& RoomDataExternal::roomsearchablebinattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomDataExternal.roomSearchableBinAttrExternal)
  return _internal_roomsearchablebinattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
RoomDataExternal::_internal_roomsearchablebinattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomsearchablebinattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
RoomDataExternal::_internal_mutable_roomsearchablebinattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomsearchablebinattrexternal_;
}

// repeated .np2_structs.BinAttr roomBinAttrExternal = 17;
inline int RoomDataExternal::_internal_roombinattrexternal_size() const {
  return _internal_roombinattrexternal().size();
}
inline int RoomDataExternal::roombinattrexternal_size() const {
  return _internal_roombinattrexternal_size();
}
inline void RoomDataExternal::clear_roombinattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roombinattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL RoomDataExternal::mutable_roombinattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataExternal.roomBinAttrExternal)
  return _internal_mutable_roombinattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL RoomDataExternal::mutable_roombinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomDataExternal.roomBinAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roombinattrexternal();
}
inline const ::np2_structs::BinAttr& RoomDataExternal::roombinattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataExternal.roomBinAttrExternal)
  return _internal_roombinattrexternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL RoomDataExternal::add_roombinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roombinattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomDataExternal.roomBinAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& RoomDataExternal::roombinattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomDataExternal.roomBinAttrExternal)
  return _internal_roombinattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
RoomDataExternal::_internal_roombinattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roombinattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
RoomDataExternal::_internal_mutable_roombinattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roombinattrexternal_;
}

// -------------------------------------------------------------------

// IntSearchFilter

// .np2_structs.uint8 searchOperator = 1;
inline bool IntSearchFilter::has_searchoperator() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.searchoperator_ != nullptr);
  return value;
}
inline void IntSearchFilter::clear_searchoperator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.searchoperator_ != nullptr) _impl_.searchoperator_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint8& IntSearchFilter::_internal_searchoperator() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.searchoperator_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& IntSearchFilter::searchoperator() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.IntSearchFilter.searchOperator)
  return _internal_searchoperator();
}
inline void IntSearchFilter::unsafe_arena_set_allocated_searchoperator(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.searchoperator_);
  }
  _impl_.searchoperator_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.IntSearchFilter.searchOperator)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE IntSearchFilter::release_searchoperator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* released = _impl_.searchoperator_;
  _impl_.searchoperator_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE IntSearchFilter::unsafe_arena_release_searchoperator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.IntSearchFilter.searchOperator)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* temp = _impl_.searchoperator_;
  _impl_.searchoperator_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL IntSearchFilter::_internal_mutable_searchoperator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.searchoperator_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.searchoperator_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.searchoperator_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL IntSearchFilter::mutable_searchoperator()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* _msg = _internal_mutable_searchoperator();
  // @@protoc_insertion_point(field_mutable:np2_structs.IntSearchFilter.searchOperator)
  return _msg;
}
inline void IntSearchFilter::set_allocated_searchoperator(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.searchoperator_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.searchoperator_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.IntSearchFilter.searchOperator)
}

// .np2_structs.IntAttr attr = 2;
inline bool IntSearchFilter::has_attr() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.attr_ != nullptr);
  return value;
}
inline void IntSearchFilter::clear_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.attr_ != nullptr) _impl_.attr_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::IntAttr& IntSearchFilter::_internal_attr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::IntAttr* p = _impl_.attr_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::IntAttr&>(::np2_structs::_IntAttr_default_instance_);
}
inline const ::np2_structs::IntAttr& IntSearchFilter::attr() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.IntSearchFilter.attr)
  return _internal_attr();
}
inline void IntSearchFilter::unsafe_arena_set_allocated_attr(
    ::np2_structs::IntAttr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.attr_);
  }
  _impl_.attr_ = reinterpret_cast<::np2_structs::IntAttr*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.IntSearchFilter.attr)
}
inline ::np2_structs::IntAttr* PROTOBUF_NULLABLE IntSearchFilter::release_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::IntAttr* released = _impl_.attr_;
  _impl_.attr_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::IntAttr* PROTOBUF_NULLABLE IntSearchFilter::unsafe_arena_release_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.IntSearchFilter.attr)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::IntAttr* temp = _impl_.attr_;
  _impl_.attr_ = nullptr;
  return temp;
}
inline ::np2_structs::IntAttr* PROTOBUF_NONNULL IntSearchFilter::_internal_mutable_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.attr_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::IntAttr>(GetArena());
    _impl_.attr_ = reinterpret_cast<::np2_structs::IntAttr*>(p);
  }
  return _impl_.attr_;
}
inline ::np2_structs::IntAttr* PROTOBUF_NONNULL IntSearchFilter::mutable_attr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::IntAttr* _msg = _internal_mutable_attr();
  // @@protoc_insertion_point(field_mutable:np2_structs.IntSearchFilter.attr)
  return _msg;
}
inline void IntSearchFilter::set_allocated_attr(::np2_structs::IntAttr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.attr_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.attr_ = reinterpret_cast<::np2_structs::IntAttr*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.IntSearchFilter.attr)
}

// -------------------------------------------------------------------

// BinSearchFilter

// .np2_structs.uint8 searchOperator = 1;
inline bool BinSearchFilter::has_searchoperator() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.searchoperator_ != nullptr);
  return value;
}
inline void BinSearchFilter::clear_searchoperator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.searchoperator_ != nullptr) _impl_.searchoperator_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint8& BinSearchFilter::_internal_searchoperator() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.searchoperator_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& BinSearchFilter::searchoperator() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.BinSearchFilter.searchOperator)
  return _internal_searchoperator();
}
inline void BinSearchFilter::unsafe_arena_set_allocated_searchoperator(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.searchoperator_);
  }
  _impl_.searchoperator_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.BinSearchFilter.searchOperator)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE BinSearchFilter::release_searchoperator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* released = _impl_.searchoperator_;
  _impl_.searchoperator_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE BinSearchFilter::unsafe_arena_release_searchoperator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.BinSearchFilter.searchOperator)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* temp = _impl_.searchoperator_;
  _impl_.searchoperator_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL BinSearchFilter::_internal_mutable_searchoperator() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.searchoperator_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.searchoperator_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.searchoperator_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL BinSearchFilter::mutable_searchoperator()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* _msg = _internal_mutable_searchoperator();
  // @@protoc_insertion_point(field_mutable:np2_structs.BinSearchFilter.searchOperator)
  return _msg;
}
inline void BinSearchFilter::set_allocated_searchoperator(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.searchoperator_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.searchoperator_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.BinSearchFilter.searchOperator)
}

// .np2_structs.BinAttr attr = 2;
inline bool BinSearchFilter::has_attr() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.attr_ != nullptr);
  return value;
}
inline void BinSearchFilter::clear_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.attr_ != nullptr) _impl_.attr_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::BinAttr& BinSearchFilter::_internal_attr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::BinAttr* p = _impl_.attr_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::BinAttr&>(::np2_structs::_BinAttr_default_instance_);
}
inline const ::np2_structs::BinAttr& BinSearchFilter::attr() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.BinSearchFilter.attr)
  return _internal_attr();
}
inline void BinSearchFilter::unsafe_arena_set_allocated_attr(
    ::np2_structs::BinAttr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.attr_);
  }
  _impl_.attr_ = reinterpret_cast<::np2_structs::BinAttr*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.BinSearchFilter.attr)
}
inline ::np2_structs::BinAttr* PROTOBUF_NULLABLE BinSearchFilter::release_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::BinAttr* released = _impl_.attr_;
  _impl_.attr_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::BinAttr* PROTOBUF_NULLABLE BinSearchFilter::unsafe_arena_release_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.BinSearchFilter.attr)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::BinAttr* temp = _impl_.attr_;
  _impl_.attr_ = nullptr;
  return temp;
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL BinSearchFilter::_internal_mutable_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.attr_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::BinAttr>(GetArena());
    _impl_.attr_ = reinterpret_cast<::np2_structs::BinAttr*>(p);
  }
  return _impl_.attr_;
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL BinSearchFilter::mutable_attr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::BinAttr* _msg = _internal_mutable_attr();
  // @@protoc_insertion_point(field_mutable:np2_structs.BinSearchFilter.attr)
  return _msg;
}
inline void BinSearchFilter::set_allocated_attr(::np2_structs::BinAttr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.attr_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.attr_ = reinterpret_cast<::np2_structs::BinAttr*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.BinSearchFilter.attr)
}

// -------------------------------------------------------------------

// PresenceOptionData

// bytes data = 1;
inline void PresenceOptionData::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& PresenceOptionData::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.PresenceOptionData.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void PresenceOptionData::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.PresenceOptionData.data)
}
inline ::std::string* PROTOBUF_NONNULL PresenceOptionData::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.PresenceOptionData.data)
  return _s;
}
inline const ::std::string& PresenceOptionData::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void PresenceOptionData::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL PresenceOptionData::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE PresenceOptionData::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.PresenceOptionData.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void PresenceOptionData::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.PresenceOptionData.data)
}

// uint32 len = 2;
inline void PresenceOptionData::clear_len() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.len_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t PresenceOptionData::len() const {
  // @@protoc_insertion_point(field_get:np2_structs.PresenceOptionData.len)
  return _internal_len();
}
inline void PresenceOptionData::set_len(::uint32_t value) {
  _internal_set_len(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.PresenceOptionData.len)
}
inline ::uint32_t PresenceOptionData::_internal_len() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.len_;
}
inline void PresenceOptionData::_internal_set_len(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.len_ = value;
}

// -------------------------------------------------------------------

// RoomGroupPasswordConfig

// .np2_structs.uint8 groupId = 1;
inline bool RoomGroupPasswordConfig::has_groupid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.groupid_ != nullptr);
  return value;
}
inline void RoomGroupPasswordConfig::clear_groupid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.groupid_ != nullptr) _impl_.groupid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint8& RoomGroupPasswordConfig::_internal_groupid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.groupid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomGroupPasswordConfig::groupid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomGroupPasswordConfig.groupId)
  return _internal_groupid();
}
inline void RoomGroupPasswordConfig::unsafe_arena_set_allocated_groupid(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.groupid_);
  }
  _impl_.groupid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomGroupPasswordConfig.groupId)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomGroupPasswordConfig::release_groupid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* released = _impl_.groupid_;
  _impl_.groupid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomGroupPasswordConfig::unsafe_arena_release_groupid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomGroupPasswordConfig.groupId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* temp = _impl_.groupid_;
  _impl_.groupid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomGroupPasswordConfig::_internal_mutable_groupid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.groupid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.groupid_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.groupid_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomGroupPasswordConfig::mutable_groupid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* _msg = _internal_mutable_groupid();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomGroupPasswordConfig.groupId)
  return _msg;
}
inline void RoomGroupPasswordConfig::set_allocated_groupid(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.groupid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.groupid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomGroupPasswordConfig.groupId)
}

// bool withPassword = 2;
inline void RoomGroupPasswordConfig::clear_withpassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withpassword_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline bool RoomGroupPasswordConfig::withpassword() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomGroupPasswordConfig.withPassword)
  return _internal_withpassword();
}
inline void RoomGroupPasswordConfig::set_withpassword(bool value) {
  _internal_set_withpassword(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomGroupPasswordConfig.withPassword)
}
inline bool RoomGroupPasswordConfig::_internal_withpassword() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withpassword_;
}
inline void RoomGroupPasswordConfig::_internal_set_withpassword(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withpassword_ = value;
}

// -------------------------------------------------------------------

// SearchRoomRequest

// int32 option = 1;
inline void SearchRoomRequest::clear_option() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.option_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::int32_t SearchRoomRequest::option() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.option)
  return _internal_option();
}
inline void SearchRoomRequest::set_option(::int32_t value) {
  _internal_set_option(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomRequest.option)
}
inline ::int32_t SearchRoomRequest::_internal_option() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.option_;
}
inline void SearchRoomRequest::_internal_set_option(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.option_ = value;
}

// uint32 worldId = 2;
inline void SearchRoomRequest::clear_worldid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::uint32_t SearchRoomRequest::worldid() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.worldId)
  return _internal_worldid();
}
inline void SearchRoomRequest::set_worldid(::uint32_t value) {
  _internal_set_worldid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomRequest.worldId)
}
inline ::uint32_t SearchRoomRequest::_internal_worldid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.worldid_;
}
inline void SearchRoomRequest::_internal_set_worldid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = value;
}

// uint64 lobbyId = 3;
inline void SearchRoomRequest::clear_lobbyid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lobbyid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::uint64_t SearchRoomRequest::lobbyid() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.lobbyId)
  return _internal_lobbyid();
}
inline void SearchRoomRequest::set_lobbyid(::uint64_t value) {
  _internal_set_lobbyid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomRequest.lobbyId)
}
inline ::uint64_t SearchRoomRequest::_internal_lobbyid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lobbyid_;
}
inline void SearchRoomRequest::_internal_set_lobbyid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lobbyid_ = value;
}

// uint32 rangeFilter_startIndex = 4;
inline void SearchRoomRequest::clear_rangefilter_startindex() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rangefilter_startindex_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000040U);
}
inline ::uint32_t SearchRoomRequest::rangefilter_startindex() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.rangeFilter_startIndex)
  return _internal_rangefilter_startindex();
}
inline void SearchRoomRequest::set_rangefilter_startindex(::uint32_t value) {
  _internal_set_rangefilter_startindex(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomRequest.rangeFilter_startIndex)
}
inline ::uint32_t SearchRoomRequest::_internal_rangefilter_startindex() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rangefilter_startindex_;
}
inline void SearchRoomRequest::_internal_set_rangefilter_startindex(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rangefilter_startindex_ = value;
}

// uint32 rangeFilter_max = 5;
inline void SearchRoomRequest::clear_rangefilter_max() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rangefilter_max_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000080U);
}
inline ::uint32_t SearchRoomRequest::rangefilter_max() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.rangeFilter_max)
  return _internal_rangefilter_max();
}
inline void SearchRoomRequest::set_rangefilter_max(::uint32_t value) {
  _internal_set_rangefilter_max(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomRequest.rangeFilter_max)
}
inline ::uint32_t SearchRoomRequest::_internal_rangefilter_max() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rangefilter_max_;
}
inline void SearchRoomRequest::_internal_set_rangefilter_max(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rangefilter_max_ = value;
}

// uint32 flagFilter = 6;
inline void SearchRoomRequest::clear_flagfilter() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagfilter_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000100U);
}
inline ::uint32_t SearchRoomRequest::flagfilter() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.flagFilter)
  return _internal_flagfilter();
}
inline void SearchRoomRequest::set_flagfilter(::uint32_t value) {
  _internal_set_flagfilter(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomRequest.flagFilter)
}
inline ::uint32_t SearchRoomRequest::_internal_flagfilter() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flagfilter_;
}
inline void SearchRoomRequest::_internal_set_flagfilter(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagfilter_ = value;
}

// uint32 flagAttr = 7;
inline void SearchRoomRequest::clear_flagattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000200U);
}
inline ::uint32_t SearchRoomRequest::flagattr() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.flagAttr)
  return _internal_flagattr();
}
inline void SearchRoomRequest::set_flagattr(::uint32_t value) {
  _internal_set_flagattr(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomRequest.flagAttr)
}
inline ::uint32_t SearchRoomRequest::_internal_flagattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flagattr_;
}
inline void SearchRoomRequest::_internal_set_flagattr(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = value;
}

// repeated .np2_structs.IntSearchFilter intFilter = 8;
inline int SearchRoomRequest::_internal_intfilter_size() const {
  return _internal_intfilter().size();
}
inline int SearchRoomRequest::intfilter_size() const {
  return _internal_intfilter_size();
}
inline void SearchRoomRequest::clear_intfilter() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.intfilter_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::IntSearchFilter* PROTOBUF_NONNULL SearchRoomRequest::mutable_intfilter(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SearchRoomRequest.intFilter)
  return _internal_mutable_intfilter()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::IntSearchFilter>* PROTOBUF_NONNULL SearchRoomRequest::mutable_intfilter()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SearchRoomRequest.intFilter)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_intfilter();
}
inline const ::np2_structs::IntSearchFilter& SearchRoomRequest::intfilter(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.intFilter)
  return _internal_intfilter().Get(index);
}
inline ::np2_structs::IntSearchFilter* PROTOBUF_NONNULL SearchRoomRequest::add_intfilter()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::IntSearchFilter* _add =
      _internal_mutable_intfilter()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SearchRoomRequest.intFilter)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::IntSearchFilter>& SearchRoomRequest::intfilter() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SearchRoomRequest.intFilter)
  return _internal_intfilter();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::IntSearchFilter>&
SearchRoomRequest::_internal_intfilter() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.intfilter_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::IntSearchFilter>* PROTOBUF_NONNULL
SearchRoomRequest::_internal_mutable_intfilter() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.intfilter_;
}

// repeated .np2_structs.BinSearchFilter binFilter = 9;
inline int SearchRoomRequest::_internal_binfilter_size() const {
  return _internal_binfilter().size();
}
inline int SearchRoomRequest::binfilter_size() const {
  return _internal_binfilter_size();
}
inline void SearchRoomRequest::clear_binfilter() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.binfilter_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::BinSearchFilter* PROTOBUF_NONNULL SearchRoomRequest::mutable_binfilter(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SearchRoomRequest.binFilter)
  return _internal_mutable_binfilter()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinSearchFilter>* PROTOBUF_NONNULL SearchRoomRequest::mutable_binfilter()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SearchRoomRequest.binFilter)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_binfilter();
}
inline const ::np2_structs::BinSearchFilter& SearchRoomRequest::binfilter(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.binFilter)
  return _internal_binfilter().Get(index);
}
inline ::np2_structs::BinSearchFilter* PROTOBUF_NONNULL SearchRoomRequest::add_binfilter()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinSearchFilter* _add =
      _internal_mutable_binfilter()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.SearchRoomRequest.binFilter)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinSearchFilter>& SearchRoomRequest::binfilter() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SearchRoomRequest.binFilter)
  return _internal_binfilter();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinSearchFilter>&
SearchRoomRequest::_internal_binfilter() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.binfilter_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinSearchFilter>* PROTOBUF_NONNULL
SearchRoomRequest::_internal_mutable_binfilter() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.binfilter_;
}

// repeated .np2_structs.uint16 attrId = 10;
inline int SearchRoomRequest::_internal_attrid_size() const {
  return _internal_attrid().size();
}
inline int SearchRoomRequest::attrid_size() const {
  return _internal_attrid_size();
}
inline void SearchRoomRequest::clear_attrid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attrid_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SearchRoomRequest::mutable_attrid(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SearchRoomRequest.attrId)
  return _internal_mutable_attrid()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL SearchRoomRequest::mutable_attrid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SearchRoomRequest.attrId)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attrid();
}
inline const ::np2_structs::uint16& SearchRoomRequest::attrid(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomRequest.attrId)
  return _internal_attrid().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SearchRoomRequest::add_attrid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_attrid()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:np2_structs.SearchRoomRequest.attrId)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& SearchRoomRequest::attrid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SearchRoomRequest.attrId)
  return _internal_attrid();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
SearchRoomRequest::_internal_attrid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attrid_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
SearchRoomRequest::_internal_mutable_attrid() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attrid_;
}

// -------------------------------------------------------------------

// SearchRoomResponse

// uint32 startIndex = 1;
inline void SearchRoomResponse::clear_startindex() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.startindex_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t SearchRoomResponse::startindex() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomResponse.startIndex)
  return _internal_startindex();
}
inline void SearchRoomResponse::set_startindex(::uint32_t value) {
  _internal_set_startindex(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomResponse.startIndex)
}
inline ::uint32_t SearchRoomResponse::_internal_startindex() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.startindex_;
}
inline void SearchRoomResponse::_internal_set_startindex(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.startindex_ = value;
}

// uint32 total = 2;
inline void SearchRoomResponse::clear_total() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.total_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t SearchRoomResponse::total() const {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomResponse.total)
  return _internal_total();
}
inline void SearchRoomResponse::set_total(::uint32_t value) {
  _internal_set_total(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.SearchRoomResponse.total)
}
inline ::uint32_t SearchRoomResponse::_internal_total() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.total_;
}
inline void SearchRoomResponse::_internal_set_total(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.total_ = value;
}

// repeated .np2_structs.RoomDataExternal rooms = 3;
inline int SearchRoomResponse::_internal_rooms_size() const {
  return _internal_rooms().size();
}
inline int SearchRoomResponse::rooms_size() const {
  return _internal_rooms_size();
}
inline void SearchRoomResponse::clear_rooms() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rooms_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::RoomDataExternal* PROTOBUF_NONNULL SearchRoomResponse::mutable_rooms(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SearchRoomResponse.rooms)
  return _internal_mutable_rooms()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>* PROTOBUF_NONNULL SearchRoomResponse::mutable_rooms()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SearchRoomResponse.rooms)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_rooms();
}
inline const ::np2_structs::RoomDataExternal& SearchRoomResponse::rooms(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SearchRoomResponse.rooms)
  return _internal_rooms().Get(index);
}
inline ::np2_structs::RoomDataExternal* PROTOBUF_NONNULL SearchRoomResponse::add_rooms()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::RoomDataExternal* _add =
      _internal_mutable_rooms()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SearchRoomResponse.rooms)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>& SearchRoomResponse::rooms() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SearchRoomResponse.rooms)
  return _internal_rooms();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>&
SearchRoomResponse::_internal_rooms() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rooms_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>* PROTOBUF_NONNULL
SearchRoomResponse::_internal_mutable_rooms() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.rooms_;
}

// -------------------------------------------------------------------

// CreateJoinRoomRequest

// uint32 worldId = 1;
inline void CreateJoinRoomRequest::clear_worldid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00002000U);
}
inline ::uint32_t CreateJoinRoomRequest::worldid() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.worldId)
  return _internal_worldid();
}
inline void CreateJoinRoomRequest::set_worldid(::uint32_t value) {
  _internal_set_worldid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00002000U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.worldId)
}
inline ::uint32_t CreateJoinRoomRequest::_internal_worldid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.worldid_;
}
inline void CreateJoinRoomRequest::_internal_set_worldid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = value;
}

// uint64 lobbyId = 2;
inline void CreateJoinRoomRequest::clear_lobbyid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lobbyid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00001000U);
}
inline ::uint64_t CreateJoinRoomRequest::lobbyid() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.lobbyId)
  return _internal_lobbyid();
}
inline void CreateJoinRoomRequest::set_lobbyid(::uint64_t value) {
  _internal_set_lobbyid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00001000U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.lobbyId)
}
inline ::uint64_t CreateJoinRoomRequest::_internal_lobbyid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lobbyid_;
}
inline void CreateJoinRoomRequest::_internal_set_lobbyid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lobbyid_ = value;
}

// uint32 maxSlot = 3;
inline void CreateJoinRoomRequest::clear_maxslot() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.maxslot_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00004000U);
}
inline ::uint32_t CreateJoinRoomRequest::maxslot() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.maxSlot)
  return _internal_maxslot();
}
inline void CreateJoinRoomRequest::set_maxslot(::uint32_t value) {
  _internal_set_maxslot(value);
  SetHasBit(_impl_._has_bits_[0], 0x00004000U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.maxSlot)
}
inline ::uint32_t CreateJoinRoomRequest::_internal_maxslot() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.maxslot_;
}
inline void CreateJoinRoomRequest::_internal_set_maxslot(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.maxslot_ = value;
}

// uint32 flagAttr = 4;
inline void CreateJoinRoomRequest::clear_flagattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00010000U);
}
inline ::uint32_t CreateJoinRoomRequest::flagattr() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.flagAttr)
  return _internal_flagattr();
}
inline void CreateJoinRoomRequest::set_flagattr(::uint32_t value) {
  _internal_set_flagattr(value);
  SetHasBit(_impl_._has_bits_[0], 0x00010000U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.flagAttr)
}
inline ::uint32_t CreateJoinRoomRequest::_internal_flagattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flagattr_;
}
inline void CreateJoinRoomRequest::_internal_set_flagattr(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = value;
}

// repeated .np2_structs.BinAttr roomBinAttrInternal = 5;
inline int CreateJoinRoomRequest::_internal_roombinattrinternal_size() const {
  return _internal_roombinattrinternal().size();
}
inline int CreateJoinRoomRequest::roombinattrinternal_size() const {
  return _internal_roombinattrinternal_size();
}
inline void CreateJoinRoomRequest::clear_roombinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roombinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roombinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.roomBinAttrInternal)
  return _internal_mutable_roombinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roombinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateJoinRoomRequest.roomBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roombinattrinternal();
}
inline const ::np2_structs::BinAttr& CreateJoinRoomRequest::roombinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.roomBinAttrInternal)
  return _internal_roombinattrinternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::add_roombinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roombinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateJoinRoomRequest.roomBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& CreateJoinRoomRequest::roombinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateJoinRoomRequest.roomBinAttrInternal)
  return _internal_roombinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
CreateJoinRoomRequest::_internal_roombinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roombinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
CreateJoinRoomRequest::_internal_mutable_roombinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roombinattrinternal_;
}

// repeated .np2_structs.IntAttr roomSearchableIntAttrExternal = 6;
inline int CreateJoinRoomRequest::_internal_roomsearchableintattrexternal_size() const {
  return _internal_roomsearchableintattrexternal().size();
}
inline int CreateJoinRoomRequest::roomsearchableintattrexternal_size() const {
  return _internal_roomsearchableintattrexternal_size();
}
inline void CreateJoinRoomRequest::clear_roomsearchableintattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomsearchableintattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::IntAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roomsearchableintattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.roomSearchableIntAttrExternal)
  return _internal_mutable_roomsearchableintattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roomsearchableintattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateJoinRoomRequest.roomSearchableIntAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomsearchableintattrexternal();
}
inline const ::np2_structs::IntAttr& CreateJoinRoomRequest::roomsearchableintattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.roomSearchableIntAttrExternal)
  return _internal_roomsearchableintattrexternal().Get(index);
}
inline ::np2_structs::IntAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::add_roomsearchableintattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::IntAttr* _add =
      _internal_mutable_roomsearchableintattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateJoinRoomRequest.roomSearchableIntAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& CreateJoinRoomRequest::roomsearchableintattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateJoinRoomRequest.roomSearchableIntAttrExternal)
  return _internal_roomsearchableintattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>&
CreateJoinRoomRequest::_internal_roomsearchableintattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomsearchableintattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL
CreateJoinRoomRequest::_internal_mutable_roomsearchableintattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomsearchableintattrexternal_;
}

// repeated .np2_structs.BinAttr roomSearchableBinAttrExternal = 7;
inline int CreateJoinRoomRequest::_internal_roomsearchablebinattrexternal_size() const {
  return _internal_roomsearchablebinattrexternal().size();
}
inline int CreateJoinRoomRequest::roomsearchablebinattrexternal_size() const {
  return _internal_roomsearchablebinattrexternal_size();
}
inline void CreateJoinRoomRequest::clear_roomsearchablebinattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomsearchablebinattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roomsearchablebinattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.roomSearchableBinAttrExternal)
  return _internal_mutable_roomsearchablebinattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roomsearchablebinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateJoinRoomRequest.roomSearchableBinAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomsearchablebinattrexternal();
}
inline const ::np2_structs::BinAttr& CreateJoinRoomRequest::roomsearchablebinattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.roomSearchableBinAttrExternal)
  return _internal_roomsearchablebinattrexternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::add_roomsearchablebinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roomsearchablebinattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateJoinRoomRequest.roomSearchableBinAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& CreateJoinRoomRequest::roomsearchablebinattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateJoinRoomRequest.roomSearchableBinAttrExternal)
  return _internal_roomsearchablebinattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
CreateJoinRoomRequest::_internal_roomsearchablebinattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomsearchablebinattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
CreateJoinRoomRequest::_internal_mutable_roomsearchablebinattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomsearchablebinattrexternal_;
}

// repeated .np2_structs.BinAttr roomBinAttrExternal = 8;
inline int CreateJoinRoomRequest::_internal_roombinattrexternal_size() const {
  return _internal_roombinattrexternal().size();
}
inline int CreateJoinRoomRequest::roombinattrexternal_size() const {
  return _internal_roombinattrexternal_size();
}
inline void CreateJoinRoomRequest::clear_roombinattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roombinattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roombinattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.roomBinAttrExternal)
  return _internal_mutable_roombinattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roombinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateJoinRoomRequest.roomBinAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roombinattrexternal();
}
inline const ::np2_structs::BinAttr& CreateJoinRoomRequest::roombinattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.roomBinAttrExternal)
  return _internal_roombinattrexternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::add_roombinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roombinattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateJoinRoomRequest.roomBinAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& CreateJoinRoomRequest::roombinattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateJoinRoomRequest.roomBinAttrExternal)
  return _internal_roombinattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
CreateJoinRoomRequest::_internal_roombinattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roombinattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
CreateJoinRoomRequest::_internal_mutable_roombinattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roombinattrexternal_;
}

// bytes roomPassword = 9;
inline void CreateJoinRoomRequest::clear_roompassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roompassword_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000100U);
}
inline const ::std::string& CreateJoinRoomRequest::roompassword() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.roomPassword)
  return _internal_roompassword();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CreateJoinRoomRequest::set_roompassword(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  _impl_.roompassword_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.roomPassword)
}
inline ::std::string* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roompassword()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  ::std::string* _s = _internal_mutable_roompassword();
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.roomPassword)
  return _s;
}
inline const ::std::string& CreateJoinRoomRequest::_internal_roompassword() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roompassword_.Get();
}
inline void CreateJoinRoomRequest::_internal_set_roompassword(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roompassword_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CreateJoinRoomRequest::_internal_mutable_roompassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.roompassword_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CreateJoinRoomRequest::release_roompassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.CreateJoinRoomRequest.roomPassword)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000100U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  auto* released = _impl_.roompassword_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.roompassword_.Set("", GetArena());
  }
  return released;
}
inline void CreateJoinRoomRequest::set_allocated_roompassword(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000100U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000100U);
  }
  _impl_.roompassword_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.roompassword_.IsDefault()) {
    _impl_.roompassword_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.CreateJoinRoomRequest.roomPassword)
}

// repeated .np2_structs.GroupConfig groupConfig = 10;
inline int CreateJoinRoomRequest::_internal_groupconfig_size() const {
  return _internal_groupconfig().size();
}
inline int CreateJoinRoomRequest::groupconfig_size() const {
  return _internal_groupconfig_size();
}
inline void CreateJoinRoomRequest::clear_groupconfig() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.groupconfig_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::np2_structs::GroupConfig* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_groupconfig(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.groupConfig)
  return _internal_mutable_groupconfig()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::GroupConfig>* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_groupconfig()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateJoinRoomRequest.groupConfig)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_groupconfig();
}
inline const ::np2_structs::GroupConfig& CreateJoinRoomRequest::groupconfig(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.groupConfig)
  return _internal_groupconfig().Get(index);
}
inline ::np2_structs::GroupConfig* PROTOBUF_NONNULL CreateJoinRoomRequest::add_groupconfig()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::GroupConfig* _add =
      _internal_mutable_groupconfig()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateJoinRoomRequest.groupConfig)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::GroupConfig>& CreateJoinRoomRequest::groupconfig() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateJoinRoomRequest.groupConfig)
  return _internal_groupconfig();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::GroupConfig>&
CreateJoinRoomRequest::_internal_groupconfig() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.groupconfig_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::GroupConfig>* PROTOBUF_NONNULL
CreateJoinRoomRequest::_internal_mutable_groupconfig() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.groupconfig_;
}

// uint64 passwordSlotMask = 11;
inline void CreateJoinRoomRequest::clear_passwordslotmask() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.passwordslotmask_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00008000U);
}
inline ::uint64_t CreateJoinRoomRequest::passwordslotmask() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.passwordSlotMask)
  return _internal_passwordslotmask();
}
inline void CreateJoinRoomRequest::set_passwordslotmask(::uint64_t value) {
  _internal_set_passwordslotmask(value);
  SetHasBit(_impl_._has_bits_[0], 0x00008000U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.passwordSlotMask)
}
inline ::uint64_t CreateJoinRoomRequest::_internal_passwordslotmask() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.passwordslotmask_;
}
inline void CreateJoinRoomRequest::_internal_set_passwordslotmask(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.passwordslotmask_ = value;
}

// repeated string allowedUser = 12;
inline int CreateJoinRoomRequest::_internal_alloweduser_size() const {
  return _internal_alloweduser().size();
}
inline int CreateJoinRoomRequest::alloweduser_size() const {
  return _internal_alloweduser_size();
}
inline void CreateJoinRoomRequest::clear_alloweduser() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.alloweduser_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::std::string* PROTOBUF_NONNULL CreateJoinRoomRequest::add_alloweduser()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_alloweduser()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_add_mutable:np2_structs.CreateJoinRoomRequest.allowedUser)
  return _s;
}
inline const ::std::string& CreateJoinRoomRequest::alloweduser(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.allowedUser)
  return _internal_alloweduser().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_alloweduser(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.allowedUser)
  return _internal_mutable_alloweduser()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void CreateJoinRoomRequest::set_alloweduser(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_alloweduser()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.allowedUser)
}
template <typename Arg_, typename... Args_>
inline void CreateJoinRoomRequest::add_alloweduser(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_alloweduser(), ::std::forward<Arg_>(value),
      args... );
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateJoinRoomRequest.allowedUser)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& CreateJoinRoomRequest::alloweduser()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateJoinRoomRequest.allowedUser)
  return _internal_alloweduser();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
CreateJoinRoomRequest::mutable_alloweduser() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateJoinRoomRequest.allowedUser)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_alloweduser();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
CreateJoinRoomRequest::_internal_alloweduser() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.alloweduser_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
CreateJoinRoomRequest::_internal_mutable_alloweduser() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.alloweduser_;
}

// repeated string blockedUser = 13;
inline int CreateJoinRoomRequest::_internal_blockeduser_size() const {
  return _internal_blockeduser().size();
}
inline int CreateJoinRoomRequest::blockeduser_size() const {
  return _internal_blockeduser_size();
}
inline void CreateJoinRoomRequest::clear_blockeduser() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.blockeduser_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000040U);
}
inline ::std::string* PROTOBUF_NONNULL CreateJoinRoomRequest::add_blockeduser()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_blockeduser()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_add_mutable:np2_structs.CreateJoinRoomRequest.blockedUser)
  return _s;
}
inline const ::std::string& CreateJoinRoomRequest::blockeduser(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.blockedUser)
  return _internal_blockeduser().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_blockeduser(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.blockedUser)
  return _internal_mutable_blockeduser()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void CreateJoinRoomRequest::set_blockeduser(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_blockeduser()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.blockedUser)
}
template <typename Arg_, typename... Args_>
inline void CreateJoinRoomRequest::add_blockeduser(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_blockeduser(), ::std::forward<Arg_>(value),
      args... );
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateJoinRoomRequest.blockedUser)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& CreateJoinRoomRequest::blockeduser()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateJoinRoomRequest.blockedUser)
  return _internal_blockeduser();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
CreateJoinRoomRequest::mutable_blockeduser() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateJoinRoomRequest.blockedUser)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_blockeduser();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
CreateJoinRoomRequest::_internal_blockeduser() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.blockeduser_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
CreateJoinRoomRequest::_internal_mutable_blockeduser() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.blockeduser_;
}

// bytes joinRoomGroupLabel = 14;
inline void CreateJoinRoomRequest::clear_joinroomgrouplabel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.joinroomgrouplabel_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000200U);
}
inline const ::std::string& CreateJoinRoomRequest::joinroomgrouplabel() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.joinRoomGroupLabel)
  return _internal_joinroomgrouplabel();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void CreateJoinRoomRequest::set_joinroomgrouplabel(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  _impl_.joinroomgrouplabel_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.CreateJoinRoomRequest.joinRoomGroupLabel)
}
inline ::std::string* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_joinroomgrouplabel()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  ::std::string* _s = _internal_mutable_joinroomgrouplabel();
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.joinRoomGroupLabel)
  return _s;
}
inline const ::std::string& CreateJoinRoomRequest::_internal_joinroomgrouplabel() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.joinroomgrouplabel_.Get();
}
inline void CreateJoinRoomRequest::_internal_set_joinroomgrouplabel(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.joinroomgrouplabel_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL CreateJoinRoomRequest::_internal_mutable_joinroomgrouplabel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.joinroomgrouplabel_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE CreateJoinRoomRequest::release_joinroomgrouplabel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.CreateJoinRoomRequest.joinRoomGroupLabel)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000200U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
  auto* released = _impl_.joinroomgrouplabel_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.joinroomgrouplabel_.Set("", GetArena());
  }
  return released;
}
inline void CreateJoinRoomRequest::set_allocated_joinroomgrouplabel(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000200U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000200U);
  }
  _impl_.joinroomgrouplabel_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.joinroomgrouplabel_.IsDefault()) {
    _impl_.joinroomgrouplabel_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.CreateJoinRoomRequest.joinRoomGroupLabel)
}

// repeated .np2_structs.BinAttr roomMemberBinAttrInternal = 15;
inline int CreateJoinRoomRequest::_internal_roommemberbinattrinternal_size() const {
  return _internal_roommemberbinattrinternal().size();
}
inline int CreateJoinRoomRequest::roommemberbinattrinternal_size() const {
  return _internal_roommemberbinattrinternal_size();
}
inline void CreateJoinRoomRequest::clear_roommemberbinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roommemberbinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000080U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roommemberbinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.roomMemberBinAttrInternal)
  return _internal_mutable_roommemberbinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_roommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateJoinRoomRequest.roomMemberBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roommemberbinattrinternal();
}
inline const ::np2_structs::BinAttr& CreateJoinRoomRequest::roommemberbinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.roomMemberBinAttrInternal)
  return _internal_roommemberbinattrinternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL CreateJoinRoomRequest::add_roommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roommemberbinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateJoinRoomRequest.roomMemberBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& CreateJoinRoomRequest::roommemberbinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateJoinRoomRequest.roomMemberBinAttrInternal)
  return _internal_roommemberbinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
CreateJoinRoomRequest::_internal_roommemberbinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roommemberbinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
CreateJoinRoomRequest::_internal_mutable_roommemberbinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roommemberbinattrinternal_;
}

// .np2_structs.uint8 teamId = 16;
inline bool CreateJoinRoomRequest::has_teamid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000400U);
  PROTOBUF_ASSUME(!value || _impl_.teamid_ != nullptr);
  return value;
}
inline void CreateJoinRoomRequest::clear_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.teamid_ != nullptr) _impl_.teamid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000400U);
}
inline const ::np2_structs::uint8& CreateJoinRoomRequest::_internal_teamid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.teamid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& CreateJoinRoomRequest::teamid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.teamId)
  return _internal_teamid();
}
inline void CreateJoinRoomRequest::unsafe_arena_set_allocated_teamid(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.teamid_);
  }
  _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.CreateJoinRoomRequest.teamId)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE CreateJoinRoomRequest::release_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  ::np2_structs::uint8* released = _impl_.teamid_;
  _impl_.teamid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE CreateJoinRoomRequest::unsafe_arena_release_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.CreateJoinRoomRequest.teamId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  ::np2_structs::uint8* temp = _impl_.teamid_;
  _impl_.teamid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL CreateJoinRoomRequest::_internal_mutable_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.teamid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.teamid_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_teamid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  ::np2_structs::uint8* _msg = _internal_mutable_teamid();
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.teamId)
  return _msg;
}
inline void CreateJoinRoomRequest::set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.teamid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000400U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000400U);
  }

  _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.CreateJoinRoomRequest.teamId)
}

// .np2_structs.OptParam sigOptParam = 17;
inline bool CreateJoinRoomRequest::has_sigoptparam() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000800U);
  PROTOBUF_ASSUME(!value || _impl_.sigoptparam_ != nullptr);
  return value;
}
inline void CreateJoinRoomRequest::clear_sigoptparam() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.sigoptparam_ != nullptr) _impl_.sigoptparam_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000800U);
}
inline const ::np2_structs::OptParam& CreateJoinRoomRequest::_internal_sigoptparam() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::OptParam* p = _impl_.sigoptparam_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::OptParam&>(::np2_structs::_OptParam_default_instance_);
}
inline const ::np2_structs::OptParam& CreateJoinRoomRequest::sigoptparam() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateJoinRoomRequest.sigOptParam)
  return _internal_sigoptparam();
}
inline void CreateJoinRoomRequest::unsafe_arena_set_allocated_sigoptparam(
    ::np2_structs::OptParam* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sigoptparam_);
  }
  _impl_.sigoptparam_ = reinterpret_cast<::np2_structs::OptParam*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.CreateJoinRoomRequest.sigOptParam)
}
inline ::np2_structs::OptParam* PROTOBUF_NULLABLE CreateJoinRoomRequest::release_sigoptparam() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  ::np2_structs::OptParam* released = _impl_.sigoptparam_;
  _impl_.sigoptparam_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::OptParam* PROTOBUF_NULLABLE CreateJoinRoomRequest::unsafe_arena_release_sigoptparam() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.CreateJoinRoomRequest.sigOptParam)

  ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  ::np2_structs::OptParam* temp = _impl_.sigoptparam_;
  _impl_.sigoptparam_ = nullptr;
  return temp;
}
inline ::np2_structs::OptParam* PROTOBUF_NONNULL CreateJoinRoomRequest::_internal_mutable_sigoptparam() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.sigoptparam_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::OptParam>(GetArena());
    _impl_.sigoptparam_ = reinterpret_cast<::np2_structs::OptParam*>(p);
  }
  return _impl_.sigoptparam_;
}
inline ::np2_structs::OptParam* PROTOBUF_NONNULL CreateJoinRoomRequest::mutable_sigoptparam()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  ::np2_structs::OptParam* _msg = _internal_mutable_sigoptparam();
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateJoinRoomRequest.sigOptParam)
  return _msg;
}
inline void CreateJoinRoomRequest::set_allocated_sigoptparam(::np2_structs::OptParam* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.sigoptparam_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000800U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000800U);
  }

  _impl_.sigoptparam_ = reinterpret_cast<::np2_structs::OptParam*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.CreateJoinRoomRequest.sigOptParam)
}

// -------------------------------------------------------------------

// CreateRoomResponse

// .np2_structs.RoomDataInternal internal = 1;
inline bool CreateRoomResponse::has_internal() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.internal_ != nullptr);
  return value;
}
inline void CreateRoomResponse::clear_internal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.internal_ != nullptr) _impl_.internal_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::RoomDataInternal& CreateRoomResponse::_internal_internal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::RoomDataInternal* p = _impl_.internal_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::RoomDataInternal&>(::np2_structs::_RoomDataInternal_default_instance_);
}
inline const ::np2_structs::RoomDataInternal& CreateRoomResponse::internal() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateRoomResponse.internal)
  return _internal_internal();
}
inline void CreateRoomResponse::unsafe_arena_set_allocated_internal(
    ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.internal_);
  }
  _impl_.internal_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.CreateRoomResponse.internal)
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE CreateRoomResponse::release_internal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomDataInternal* released = _impl_.internal_;
  _impl_.internal_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE CreateRoomResponse::unsafe_arena_release_internal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.CreateRoomResponse.internal)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomDataInternal* temp = _impl_.internal_;
  _impl_.internal_ = nullptr;
  return temp;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL CreateRoomResponse::_internal_mutable_internal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.internal_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::RoomDataInternal>(GetArena());
    _impl_.internal_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(p);
  }
  return _impl_.internal_;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL CreateRoomResponse::mutable_internal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomDataInternal* _msg = _internal_mutable_internal();
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateRoomResponse.internal)
  return _msg;
}
inline void CreateRoomResponse::set_allocated_internal(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.internal_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.internal_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.CreateRoomResponse.internal)
}

// .np2_structs.OptParam opt_param = 2;
inline bool CreateRoomResponse::has_opt_param() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.opt_param_ != nullptr);
  return value;
}
inline void CreateRoomResponse::clear_opt_param() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.opt_param_ != nullptr) _impl_.opt_param_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::OptParam& CreateRoomResponse::_internal_opt_param() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::OptParam* p = _impl_.opt_param_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::OptParam&>(::np2_structs::_OptParam_default_instance_);
}
inline const ::np2_structs::OptParam& CreateRoomResponse::opt_param() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateRoomResponse.opt_param)
  return _internal_opt_param();
}
inline void CreateRoomResponse::unsafe_arena_set_allocated_opt_param(
    ::np2_structs::OptParam* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.opt_param_);
  }
  _impl_.opt_param_ = reinterpret_cast<::np2_structs::OptParam*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.CreateRoomResponse.opt_param)
}
inline ::np2_structs::OptParam* PROTOBUF_NULLABLE CreateRoomResponse::release_opt_param() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::OptParam* released = _impl_.opt_param_;
  _impl_.opt_param_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::OptParam* PROTOBUF_NULLABLE CreateRoomResponse::unsafe_arena_release_opt_param() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.CreateRoomResponse.opt_param)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::OptParam* temp = _impl_.opt_param_;
  _impl_.opt_param_ = nullptr;
  return temp;
}
inline ::np2_structs::OptParam* PROTOBUF_NONNULL CreateRoomResponse::_internal_mutable_opt_param() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.opt_param_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::OptParam>(GetArena());
    _impl_.opt_param_ = reinterpret_cast<::np2_structs::OptParam*>(p);
  }
  return _impl_.opt_param_;
}
inline ::np2_structs::OptParam* PROTOBUF_NONNULL CreateRoomResponse::mutable_opt_param()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::OptParam* _msg = _internal_mutable_opt_param();
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateRoomResponse.opt_param)
  return _msg;
}
inline void CreateRoomResponse::set_allocated_opt_param(::np2_structs::OptParam* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.opt_param_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.opt_param_ = reinterpret_cast<::np2_structs::OptParam*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.CreateRoomResponse.opt_param)
}

// -------------------------------------------------------------------

// JoinRoomRequest

// uint64 roomId = 1;
inline void JoinRoomRequest::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::uint64_t JoinRoomRequest::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomRequest.roomId)
  return _internal_roomid();
}
inline void JoinRoomRequest::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.JoinRoomRequest.roomId)
}
inline ::uint64_t JoinRoomRequest::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void JoinRoomRequest::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// bytes roomPassword = 2;
inline void JoinRoomRequest::clear_roompassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roompassword_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& JoinRoomRequest::roompassword() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomRequest.roomPassword)
  return _internal_roompassword();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JoinRoomRequest::set_roompassword(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.roompassword_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.JoinRoomRequest.roomPassword)
}
inline ::std::string* PROTOBUF_NONNULL JoinRoomRequest::mutable_roompassword()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_roompassword();
  // @@protoc_insertion_point(field_mutable:np2_structs.JoinRoomRequest.roomPassword)
  return _s;
}
inline const ::std::string& JoinRoomRequest::_internal_roompassword() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roompassword_.Get();
}
inline void JoinRoomRequest::_internal_set_roompassword(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roompassword_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JoinRoomRequest::_internal_mutable_roompassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.roompassword_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JoinRoomRequest::release_roompassword() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.JoinRoomRequest.roomPassword)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.roompassword_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.roompassword_.Set("", GetArena());
  }
  return released;
}
inline void JoinRoomRequest::set_allocated_roompassword(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.roompassword_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.roompassword_.IsDefault()) {
    _impl_.roompassword_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.JoinRoomRequest.roomPassword)
}

// bytes joinRoomGroupLabel = 3;
inline void JoinRoomRequest::clear_joinroomgrouplabel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.joinroomgrouplabel_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::std::string& JoinRoomRequest::joinroomgrouplabel() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomRequest.joinRoomGroupLabel)
  return _internal_joinroomgrouplabel();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void JoinRoomRequest::set_joinroomgrouplabel(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.joinroomgrouplabel_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.JoinRoomRequest.joinRoomGroupLabel)
}
inline ::std::string* PROTOBUF_NONNULL JoinRoomRequest::mutable_joinroomgrouplabel()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_joinroomgrouplabel();
  // @@protoc_insertion_point(field_mutable:np2_structs.JoinRoomRequest.joinRoomGroupLabel)
  return _s;
}
inline const ::std::string& JoinRoomRequest::_internal_joinroomgrouplabel() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.joinroomgrouplabel_.Get();
}
inline void JoinRoomRequest::_internal_set_joinroomgrouplabel(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.joinroomgrouplabel_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL JoinRoomRequest::_internal_mutable_joinroomgrouplabel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.joinroomgrouplabel_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE JoinRoomRequest::release_joinroomgrouplabel() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.JoinRoomRequest.joinRoomGroupLabel)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.joinroomgrouplabel_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.joinroomgrouplabel_.Set("", GetArena());
  }
  return released;
}
inline void JoinRoomRequest::set_allocated_joinroomgrouplabel(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.joinroomgrouplabel_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.joinroomgrouplabel_.IsDefault()) {
    _impl_.joinroomgrouplabel_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.JoinRoomRequest.joinRoomGroupLabel)
}

// repeated .np2_structs.BinAttr roomMemberBinAttrInternal = 4;
inline int JoinRoomRequest::_internal_roommemberbinattrinternal_size() const {
  return _internal_roommemberbinattrinternal().size();
}
inline int JoinRoomRequest::roommemberbinattrinternal_size() const {
  return _internal_roommemberbinattrinternal_size();
}
inline void JoinRoomRequest::clear_roommemberbinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roommemberbinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL JoinRoomRequest::mutable_roommemberbinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.JoinRoomRequest.roomMemberBinAttrInternal)
  return _internal_mutable_roommemberbinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL JoinRoomRequest::mutable_roommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.JoinRoomRequest.roomMemberBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roommemberbinattrinternal();
}
inline const ::np2_structs::BinAttr& JoinRoomRequest::roommemberbinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomRequest.roomMemberBinAttrInternal)
  return _internal_roommemberbinattrinternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL JoinRoomRequest::add_roommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roommemberbinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.JoinRoomRequest.roomMemberBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& JoinRoomRequest::roommemberbinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.JoinRoomRequest.roomMemberBinAttrInternal)
  return _internal_roommemberbinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
JoinRoomRequest::_internal_roommemberbinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roommemberbinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
JoinRoomRequest::_internal_mutable_roommemberbinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roommemberbinattrinternal_;
}

// .np2_structs.PresenceOptionData optData = 5;
inline bool JoinRoomRequest::has_optdata() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.optdata_ != nullptr);
  return value;
}
inline void JoinRoomRequest::clear_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.optdata_ != nullptr) _impl_.optdata_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::np2_structs::PresenceOptionData& JoinRoomRequest::_internal_optdata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::PresenceOptionData* p = _impl_.optdata_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::PresenceOptionData&>(::np2_structs::_PresenceOptionData_default_instance_);
}
inline const ::np2_structs::PresenceOptionData& JoinRoomRequest::optdata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomRequest.optData)
  return _internal_optdata();
}
inline void JoinRoomRequest::unsafe_arena_set_allocated_optdata(
    ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.optdata_);
  }
  _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.JoinRoomRequest.optData)
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE JoinRoomRequest::release_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::PresenceOptionData* released = _impl_.optdata_;
  _impl_.optdata_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE JoinRoomRequest::unsafe_arena_release_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.JoinRoomRequest.optData)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::PresenceOptionData* temp = _impl_.optdata_;
  _impl_.optdata_ = nullptr;
  return temp;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL JoinRoomRequest::_internal_mutable_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.optdata_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::PresenceOptionData>(GetArena());
    _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(p);
  }
  return _impl_.optdata_;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL JoinRoomRequest::mutable_optdata()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::PresenceOptionData* _msg = _internal_mutable_optdata();
  // @@protoc_insertion_point(field_mutable:np2_structs.JoinRoomRequest.optData)
  return _msg;
}
inline void JoinRoomRequest::set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.optdata_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.JoinRoomRequest.optData)
}

// .np2_structs.uint8 teamId = 6;
inline bool JoinRoomRequest::has_teamid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.teamid_ != nullptr);
  return value;
}
inline void JoinRoomRequest::clear_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.teamid_ != nullptr) _impl_.teamid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline const ::np2_structs::uint8& JoinRoomRequest::_internal_teamid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.teamid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& JoinRoomRequest::teamid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomRequest.teamId)
  return _internal_teamid();
}
inline void JoinRoomRequest::unsafe_arena_set_allocated_teamid(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.teamid_);
  }
  _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.JoinRoomRequest.teamId)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE JoinRoomRequest::release_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint8* released = _impl_.teamid_;
  _impl_.teamid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE JoinRoomRequest::unsafe_arena_release_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.JoinRoomRequest.teamId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint8* temp = _impl_.teamid_;
  _impl_.teamid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL JoinRoomRequest::_internal_mutable_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.teamid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.teamid_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL JoinRoomRequest::mutable_teamid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint8* _msg = _internal_mutable_teamid();
  // @@protoc_insertion_point(field_mutable:np2_structs.JoinRoomRequest.teamId)
  return _msg;
}
inline void JoinRoomRequest::set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.teamid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.JoinRoomRequest.teamId)
}

// -------------------------------------------------------------------

// JoinRoomResponse

// .np2_structs.RoomDataInternal room_data = 1;
inline bool JoinRoomResponse::has_room_data() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.room_data_ != nullptr);
  return value;
}
inline void JoinRoomResponse::clear_room_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.room_data_ != nullptr) _impl_.room_data_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::RoomDataInternal& JoinRoomResponse::_internal_room_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::RoomDataInternal* p = _impl_.room_data_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::RoomDataInternal&>(::np2_structs::_RoomDataInternal_default_instance_);
}
inline const ::np2_structs::RoomDataInternal& JoinRoomResponse::room_data() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomResponse.room_data)
  return _internal_room_data();
}
inline void JoinRoomResponse::unsafe_arena_set_allocated_room_data(
    ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.room_data_);
  }
  _impl_.room_data_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.JoinRoomResponse.room_data)
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE JoinRoomResponse::release_room_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::RoomDataInternal* released = _impl_.room_data_;
  _impl_.room_data_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE JoinRoomResponse::unsafe_arena_release_room_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.JoinRoomResponse.room_data)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::RoomDataInternal* temp = _impl_.room_data_;
  _impl_.room_data_ = nullptr;
  return temp;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL JoinRoomResponse::_internal_mutable_room_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.room_data_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::RoomDataInternal>(GetArena());
    _impl_.room_data_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(p);
  }
  return _impl_.room_data_;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL JoinRoomResponse::mutable_room_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::RoomDataInternal* _msg = _internal_mutable_room_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.JoinRoomResponse.room_data)
  return _msg;
}
inline void JoinRoomResponse::set_allocated_room_data(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.room_data_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.room_data_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.JoinRoomResponse.room_data)
}

// repeated .np2_structs.Matching2SignalingInfo signaling_data = 2;
inline int JoinRoomResponse::_internal_signaling_data_size() const {
  return _internal_signaling_data().size();
}
inline int JoinRoomResponse::signaling_data_size() const {
  return _internal_signaling_data_size();
}
inline void JoinRoomResponse::clear_signaling_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.signaling_data_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::Matching2SignalingInfo* PROTOBUF_NONNULL JoinRoomResponse::mutable_signaling_data(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.JoinRoomResponse.signaling_data)
  return _internal_mutable_signaling_data()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::Matching2SignalingInfo>* PROTOBUF_NONNULL JoinRoomResponse::mutable_signaling_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.JoinRoomResponse.signaling_data)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_signaling_data();
}
inline const ::np2_structs::Matching2SignalingInfo& JoinRoomResponse::signaling_data(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomResponse.signaling_data)
  return _internal_signaling_data().Get(index);
}
inline ::np2_structs::Matching2SignalingInfo* PROTOBUF_NONNULL JoinRoomResponse::add_signaling_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::Matching2SignalingInfo* _add =
      _internal_mutable_signaling_data()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.JoinRoomResponse.signaling_data)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::Matching2SignalingInfo>& JoinRoomResponse::signaling_data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.JoinRoomResponse.signaling_data)
  return _internal_signaling_data();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::Matching2SignalingInfo>&
JoinRoomResponse::_internal_signaling_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.signaling_data_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::Matching2SignalingInfo>* PROTOBUF_NONNULL
JoinRoomResponse::_internal_mutable_signaling_data() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.signaling_data_;
}

// .np2_structs.OptParam opt_param = 3;
inline bool JoinRoomResponse::has_opt_param() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.opt_param_ != nullptr);
  return value;
}
inline void JoinRoomResponse::clear_opt_param() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.opt_param_ != nullptr) _impl_.opt_param_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::OptParam& JoinRoomResponse::_internal_opt_param() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::OptParam* p = _impl_.opt_param_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::OptParam&>(::np2_structs::_OptParam_default_instance_);
}
inline const ::np2_structs::OptParam& JoinRoomResponse::opt_param() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.JoinRoomResponse.opt_param)
  return _internal_opt_param();
}
inline void JoinRoomResponse::unsafe_arena_set_allocated_opt_param(
    ::np2_structs::OptParam* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.opt_param_);
  }
  _impl_.opt_param_ = reinterpret_cast<::np2_structs::OptParam*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.JoinRoomResponse.opt_param)
}
inline ::np2_structs::OptParam* PROTOBUF_NULLABLE JoinRoomResponse::release_opt_param() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::OptParam* released = _impl_.opt_param_;
  _impl_.opt_param_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::OptParam* PROTOBUF_NULLABLE JoinRoomResponse::unsafe_arena_release_opt_param() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.JoinRoomResponse.opt_param)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::OptParam* temp = _impl_.opt_param_;
  _impl_.opt_param_ = nullptr;
  return temp;
}
inline ::np2_structs::OptParam* PROTOBUF_NONNULL JoinRoomResponse::_internal_mutable_opt_param() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.opt_param_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::OptParam>(GetArena());
    _impl_.opt_param_ = reinterpret_cast<::np2_structs::OptParam*>(p);
  }
  return _impl_.opt_param_;
}
inline ::np2_structs::OptParam* PROTOBUF_NONNULL JoinRoomResponse::mutable_opt_param()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::OptParam* _msg = _internal_mutable_opt_param();
  // @@protoc_insertion_point(field_mutable:np2_structs.JoinRoomResponse.opt_param)
  return _msg;
}
inline void JoinRoomResponse::set_allocated_opt_param(::np2_structs::OptParam* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.opt_param_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.opt_param_ = reinterpret_cast<::np2_structs::OptParam*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.JoinRoomResponse.opt_param)
}

// -------------------------------------------------------------------

// LeaveRoomRequest

// uint64 roomId = 1;
inline void LeaveRoomRequest::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint64_t LeaveRoomRequest::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.LeaveRoomRequest.roomId)
  return _internal_roomid();
}
inline void LeaveRoomRequest::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.LeaveRoomRequest.roomId)
}
inline ::uint64_t LeaveRoomRequest::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void LeaveRoomRequest::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// .np2_structs.PresenceOptionData optData = 2;
inline bool LeaveRoomRequest::has_optdata() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.optdata_ != nullptr);
  return value;
}
inline void LeaveRoomRequest::clear_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.optdata_ != nullptr) _impl_.optdata_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::PresenceOptionData& LeaveRoomRequest::_internal_optdata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::PresenceOptionData* p = _impl_.optdata_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::PresenceOptionData&>(::np2_structs::_PresenceOptionData_default_instance_);
}
inline const ::np2_structs::PresenceOptionData& LeaveRoomRequest::optdata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.LeaveRoomRequest.optData)
  return _internal_optdata();
}
inline void LeaveRoomRequest::unsafe_arena_set_allocated_optdata(
    ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.optdata_);
  }
  _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.LeaveRoomRequest.optData)
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE LeaveRoomRequest::release_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::PresenceOptionData* released = _impl_.optdata_;
  _impl_.optdata_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE LeaveRoomRequest::unsafe_arena_release_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.LeaveRoomRequest.optData)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::PresenceOptionData* temp = _impl_.optdata_;
  _impl_.optdata_ = nullptr;
  return temp;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL LeaveRoomRequest::_internal_mutable_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.optdata_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::PresenceOptionData>(GetArena());
    _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(p);
  }
  return _impl_.optdata_;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL LeaveRoomRequest::mutable_optdata()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::PresenceOptionData* _msg = _internal_mutable_optdata();
  // @@protoc_insertion_point(field_mutable:np2_structs.LeaveRoomRequest.optData)
  return _msg;
}
inline void LeaveRoomRequest::set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.optdata_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.LeaveRoomRequest.optData)
}

// -------------------------------------------------------------------

// GetRoomDataExternalListRequest

// repeated uint64 roomIds = 1;
inline int GetRoomDataExternalListRequest::_internal_roomids_size() const {
  return _internal_roomids().size();
}
inline int GetRoomDataExternalListRequest::roomids_size() const {
  return _internal_roomids_size();
}
inline void GetRoomDataExternalListRequest::clear_roomids() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomids_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint64_t GetRoomDataExternalListRequest::roomids(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomDataExternalListRequest.roomIds)
  return _internal_roomids().Get(index);
}
inline void GetRoomDataExternalListRequest::set_roomids(int index, ::uint64_t value) {
  _internal_mutable_roomids()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.GetRoomDataExternalListRequest.roomIds)
}
inline void GetRoomDataExternalListRequest::add_roomids(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_roomids()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.GetRoomDataExternalListRequest.roomIds)
}
inline const ::google::protobuf::RepeatedField<::uint64_t>& GetRoomDataExternalListRequest::roomids() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetRoomDataExternalListRequest.roomIds)
  return _internal_roomids();
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL GetRoomDataExternalListRequest::mutable_roomids()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetRoomDataExternalListRequest.roomIds)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomids();
}
inline const ::google::protobuf::RepeatedField<::uint64_t>&
GetRoomDataExternalListRequest::_internal_roomids() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomids_;
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL
GetRoomDataExternalListRequest::_internal_mutable_roomids() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomids_;
}

// repeated .np2_structs.uint16 attrIds = 2;
inline int GetRoomDataExternalListRequest::_internal_attrids_size() const {
  return _internal_attrids().size();
}
inline int GetRoomDataExternalListRequest::attrids_size() const {
  return _internal_attrids_size();
}
inline void GetRoomDataExternalListRequest::clear_attrids() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attrids_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetRoomDataExternalListRequest::mutable_attrids(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetRoomDataExternalListRequest.attrIds)
  return _internal_mutable_attrids()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL GetRoomDataExternalListRequest::mutable_attrids()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetRoomDataExternalListRequest.attrIds)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attrids();
}
inline const ::np2_structs::uint16& GetRoomDataExternalListRequest::attrids(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomDataExternalListRequest.attrIds)
  return _internal_attrids().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetRoomDataExternalListRequest::add_attrids()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_attrids()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.GetRoomDataExternalListRequest.attrIds)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& GetRoomDataExternalListRequest::attrids() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetRoomDataExternalListRequest.attrIds)
  return _internal_attrids();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
GetRoomDataExternalListRequest::_internal_attrids() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attrids_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
GetRoomDataExternalListRequest::_internal_mutable_attrids() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attrids_;
}

// -------------------------------------------------------------------

// GetRoomDataExternalListResponse

// repeated .np2_structs.RoomDataExternal rooms = 1;
inline int GetRoomDataExternalListResponse::_internal_rooms_size() const {
  return _internal_rooms().size();
}
inline int GetRoomDataExternalListResponse::rooms_size() const {
  return _internal_rooms_size();
}
inline void GetRoomDataExternalListResponse::clear_rooms() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rooms_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::RoomDataExternal* PROTOBUF_NONNULL GetRoomDataExternalListResponse::mutable_rooms(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetRoomDataExternalListResponse.rooms)
  return _internal_mutable_rooms()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>* PROTOBUF_NONNULL GetRoomDataExternalListResponse::mutable_rooms()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetRoomDataExternalListResponse.rooms)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_rooms();
}
inline const ::np2_structs::RoomDataExternal& GetRoomDataExternalListResponse::rooms(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomDataExternalListResponse.rooms)
  return _internal_rooms().Get(index);
}
inline ::np2_structs::RoomDataExternal* PROTOBUF_NONNULL GetRoomDataExternalListResponse::add_rooms()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::RoomDataExternal* _add =
      _internal_mutable_rooms()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.GetRoomDataExternalListResponse.rooms)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>& GetRoomDataExternalListResponse::rooms() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetRoomDataExternalListResponse.rooms)
  return _internal_rooms();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>&
GetRoomDataExternalListResponse::_internal_rooms() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rooms_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomDataExternal>* PROTOBUF_NONNULL
GetRoomDataExternalListResponse::_internal_mutable_rooms() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.rooms_;
}

// -------------------------------------------------------------------

// SetRoomDataExternalRequest

// uint64 roomId = 1;
inline void SetRoomDataExternalRequest::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint64_t SetRoomDataExternalRequest::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataExternalRequest.roomId)
  return _internal_roomid();
}
inline void SetRoomDataExternalRequest::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.SetRoomDataExternalRequest.roomId)
}
inline ::uint64_t SetRoomDataExternalRequest::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void SetRoomDataExternalRequest::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// repeated .np2_structs.IntAttr roomSearchableIntAttrExternal = 2;
inline int SetRoomDataExternalRequest::_internal_roomsearchableintattrexternal_size() const {
  return _internal_roomsearchableintattrexternal().size();
}
inline int SetRoomDataExternalRequest::roomsearchableintattrexternal_size() const {
  return _internal_roomsearchableintattrexternal_size();
}
inline void SetRoomDataExternalRequest::clear_roomsearchableintattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomsearchableintattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::IntAttr* PROTOBUF_NONNULL SetRoomDataExternalRequest::mutable_roomsearchableintattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomDataExternalRequest.roomSearchableIntAttrExternal)
  return _internal_mutable_roomsearchableintattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL SetRoomDataExternalRequest::mutable_roomsearchableintattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetRoomDataExternalRequest.roomSearchableIntAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomsearchableintattrexternal();
}
inline const ::np2_structs::IntAttr& SetRoomDataExternalRequest::roomsearchableintattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataExternalRequest.roomSearchableIntAttrExternal)
  return _internal_roomsearchableintattrexternal().Get(index);
}
inline ::np2_structs::IntAttr* PROTOBUF_NONNULL SetRoomDataExternalRequest::add_roomsearchableintattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::IntAttr* _add =
      _internal_mutable_roomsearchableintattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SetRoomDataExternalRequest.roomSearchableIntAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>& SetRoomDataExternalRequest::roomsearchableintattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetRoomDataExternalRequest.roomSearchableIntAttrExternal)
  return _internal_roomsearchableintattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>&
SetRoomDataExternalRequest::_internal_roomsearchableintattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomsearchableintattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::IntAttr>* PROTOBUF_NONNULL
SetRoomDataExternalRequest::_internal_mutable_roomsearchableintattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomsearchableintattrexternal_;
}

// repeated .np2_structs.BinAttr roomSearchableBinAttrExternal = 3;
inline int SetRoomDataExternalRequest::_internal_roomsearchablebinattrexternal_size() const {
  return _internal_roomsearchablebinattrexternal().size();
}
inline int SetRoomDataExternalRequest::roomsearchablebinattrexternal_size() const {
  return _internal_roomsearchablebinattrexternal_size();
}
inline void SetRoomDataExternalRequest::clear_roomsearchablebinattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomsearchablebinattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetRoomDataExternalRequest::mutable_roomsearchablebinattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomDataExternalRequest.roomSearchableBinAttrExternal)
  return _internal_mutable_roomsearchablebinattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL SetRoomDataExternalRequest::mutable_roomsearchablebinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetRoomDataExternalRequest.roomSearchableBinAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roomsearchablebinattrexternal();
}
inline const ::np2_structs::BinAttr& SetRoomDataExternalRequest::roomsearchablebinattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataExternalRequest.roomSearchableBinAttrExternal)
  return _internal_roomsearchablebinattrexternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetRoomDataExternalRequest::add_roomsearchablebinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roomsearchablebinattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.SetRoomDataExternalRequest.roomSearchableBinAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& SetRoomDataExternalRequest::roomsearchablebinattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetRoomDataExternalRequest.roomSearchableBinAttrExternal)
  return _internal_roomsearchablebinattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
SetRoomDataExternalRequest::_internal_roomsearchablebinattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomsearchablebinattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
SetRoomDataExternalRequest::_internal_mutable_roomsearchablebinattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roomsearchablebinattrexternal_;
}

// repeated .np2_structs.BinAttr roomBinAttrExternal = 4;
inline int SetRoomDataExternalRequest::_internal_roombinattrexternal_size() const {
  return _internal_roombinattrexternal().size();
}
inline int SetRoomDataExternalRequest::roombinattrexternal_size() const {
  return _internal_roombinattrexternal_size();
}
inline void SetRoomDataExternalRequest::clear_roombinattrexternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roombinattrexternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetRoomDataExternalRequest::mutable_roombinattrexternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomDataExternalRequest.roomBinAttrExternal)
  return _internal_mutable_roombinattrexternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL SetRoomDataExternalRequest::mutable_roombinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetRoomDataExternalRequest.roomBinAttrExternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roombinattrexternal();
}
inline const ::np2_structs::BinAttr& SetRoomDataExternalRequest::roombinattrexternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataExternalRequest.roomBinAttrExternal)
  return _internal_roombinattrexternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetRoomDataExternalRequest::add_roombinattrexternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roombinattrexternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:np2_structs.SetRoomDataExternalRequest.roomBinAttrExternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& SetRoomDataExternalRequest::roombinattrexternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetRoomDataExternalRequest.roomBinAttrExternal)
  return _internal_roombinattrexternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
SetRoomDataExternalRequest::_internal_roombinattrexternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roombinattrexternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
SetRoomDataExternalRequest::_internal_mutable_roombinattrexternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roombinattrexternal_;
}

// -------------------------------------------------------------------

// SetRoomDataInternalRequest

// uint64 roomId = 1;
inline void SetRoomDataInternalRequest::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::uint64_t SetRoomDataInternalRequest::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataInternalRequest.roomId)
  return _internal_roomid();
}
inline void SetRoomDataInternalRequest::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.SetRoomDataInternalRequest.roomId)
}
inline ::uint64_t SetRoomDataInternalRequest::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void SetRoomDataInternalRequest::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// uint32 flagFilter = 2;
inline void SetRoomDataInternalRequest::clear_flagfilter() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagfilter_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::uint32_t SetRoomDataInternalRequest::flagfilter() const {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataInternalRequest.flagFilter)
  return _internal_flagfilter();
}
inline void SetRoomDataInternalRequest::set_flagfilter(::uint32_t value) {
  _internal_set_flagfilter(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.SetRoomDataInternalRequest.flagFilter)
}
inline ::uint32_t SetRoomDataInternalRequest::_internal_flagfilter() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flagfilter_;
}
inline void SetRoomDataInternalRequest::_internal_set_flagfilter(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagfilter_ = value;
}

// uint32 flagAttr = 3;
inline void SetRoomDataInternalRequest::clear_flagattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000040U);
}
inline ::uint32_t SetRoomDataInternalRequest::flagattr() const {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataInternalRequest.flagAttr)
  return _internal_flagattr();
}
inline void SetRoomDataInternalRequest::set_flagattr(::uint32_t value) {
  _internal_set_flagattr(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:np2_structs.SetRoomDataInternalRequest.flagAttr)
}
inline ::uint32_t SetRoomDataInternalRequest::_internal_flagattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.flagattr_;
}
inline void SetRoomDataInternalRequest::_internal_set_flagattr(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.flagattr_ = value;
}

// repeated .np2_structs.BinAttr roomBinAttrInternal = 4;
inline int SetRoomDataInternalRequest::_internal_roombinattrinternal_size() const {
  return _internal_roombinattrinternal().size();
}
inline int SetRoomDataInternalRequest::roombinattrinternal_size() const {
  return _internal_roombinattrinternal_size();
}
inline void SetRoomDataInternalRequest::clear_roombinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roombinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetRoomDataInternalRequest::mutable_roombinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomDataInternalRequest.roomBinAttrInternal)
  return _internal_mutable_roombinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL SetRoomDataInternalRequest::mutable_roombinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetRoomDataInternalRequest.roomBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roombinattrinternal();
}
inline const ::np2_structs::BinAttr& SetRoomDataInternalRequest::roombinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataInternalRequest.roomBinAttrInternal)
  return _internal_roombinattrinternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetRoomDataInternalRequest::add_roombinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roombinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SetRoomDataInternalRequest.roomBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& SetRoomDataInternalRequest::roombinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetRoomDataInternalRequest.roomBinAttrInternal)
  return _internal_roombinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
SetRoomDataInternalRequest::_internal_roombinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roombinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
SetRoomDataInternalRequest::_internal_mutable_roombinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roombinattrinternal_;
}

// repeated .np2_structs.RoomGroupPasswordConfig passwordConfig = 5;
inline int SetRoomDataInternalRequest::_internal_passwordconfig_size() const {
  return _internal_passwordconfig().size();
}
inline int SetRoomDataInternalRequest::passwordconfig_size() const {
  return _internal_passwordconfig_size();
}
inline void SetRoomDataInternalRequest::clear_passwordconfig() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.passwordconfig_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::RoomGroupPasswordConfig* PROTOBUF_NONNULL SetRoomDataInternalRequest::mutable_passwordconfig(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomDataInternalRequest.passwordConfig)
  return _internal_mutable_passwordconfig()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroupPasswordConfig>* PROTOBUF_NONNULL SetRoomDataInternalRequest::mutable_passwordconfig()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetRoomDataInternalRequest.passwordConfig)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_passwordconfig();
}
inline const ::np2_structs::RoomGroupPasswordConfig& SetRoomDataInternalRequest::passwordconfig(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataInternalRequest.passwordConfig)
  return _internal_passwordconfig().Get(index);
}
inline ::np2_structs::RoomGroupPasswordConfig* PROTOBUF_NONNULL SetRoomDataInternalRequest::add_passwordconfig()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::RoomGroupPasswordConfig* _add =
      _internal_mutable_passwordconfig()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.SetRoomDataInternalRequest.passwordConfig)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroupPasswordConfig>& SetRoomDataInternalRequest::passwordconfig() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetRoomDataInternalRequest.passwordConfig)
  return _internal_passwordconfig();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroupPasswordConfig>&
SetRoomDataInternalRequest::_internal_passwordconfig() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.passwordconfig_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomGroupPasswordConfig>* PROTOBUF_NONNULL
SetRoomDataInternalRequest::_internal_mutable_passwordconfig() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.passwordconfig_;
}

// repeated uint64 passwordSlotMask = 6;
inline int SetRoomDataInternalRequest::_internal_passwordslotmask_size() const {
  return _internal_passwordslotmask().size();
}
inline int SetRoomDataInternalRequest::passwordslotmask_size() const {
  return _internal_passwordslotmask_size();
}
inline void SetRoomDataInternalRequest::clear_passwordslotmask() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.passwordslotmask_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint64_t SetRoomDataInternalRequest::passwordslotmask(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataInternalRequest.passwordSlotMask)
  return _internal_passwordslotmask().Get(index);
}
inline void SetRoomDataInternalRequest::set_passwordslotmask(int index, ::uint64_t value) {
  _internal_mutable_passwordslotmask()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.SetRoomDataInternalRequest.passwordSlotMask)
}
inline void SetRoomDataInternalRequest::add_passwordslotmask(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_passwordslotmask()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:np2_structs.SetRoomDataInternalRequest.passwordSlotMask)
}
inline const ::google::protobuf::RepeatedField<::uint64_t>& SetRoomDataInternalRequest::passwordslotmask() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetRoomDataInternalRequest.passwordSlotMask)
  return _internal_passwordslotmask();
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL SetRoomDataInternalRequest::mutable_passwordslotmask()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetRoomDataInternalRequest.passwordSlotMask)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_passwordslotmask();
}
inline const ::google::protobuf::RepeatedField<::uint64_t>&
SetRoomDataInternalRequest::_internal_passwordslotmask() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.passwordslotmask_;
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL
SetRoomDataInternalRequest::_internal_mutable_passwordslotmask() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.passwordslotmask_;
}

// repeated .np2_structs.uint16 ownerPrivilegeRank = 7;
inline int SetRoomDataInternalRequest::_internal_ownerprivilegerank_size() const {
  return _internal_ownerprivilegerank().size();
}
inline int SetRoomDataInternalRequest::ownerprivilegerank_size() const {
  return _internal_ownerprivilegerank_size();
}
inline void SetRoomDataInternalRequest::clear_ownerprivilegerank() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ownerprivilegerank_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SetRoomDataInternalRequest::mutable_ownerprivilegerank(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomDataInternalRequest.ownerPrivilegeRank)
  return _internal_mutable_ownerprivilegerank()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL SetRoomDataInternalRequest::mutable_ownerprivilegerank()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetRoomDataInternalRequest.ownerPrivilegeRank)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_ownerprivilegerank();
}
inline const ::np2_structs::uint16& SetRoomDataInternalRequest::ownerprivilegerank(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomDataInternalRequest.ownerPrivilegeRank)
  return _internal_ownerprivilegerank().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SetRoomDataInternalRequest::add_ownerprivilegerank()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_ownerprivilegerank()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_add:np2_structs.SetRoomDataInternalRequest.ownerPrivilegeRank)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& SetRoomDataInternalRequest::ownerprivilegerank() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetRoomDataInternalRequest.ownerPrivilegeRank)
  return _internal_ownerprivilegerank();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
SetRoomDataInternalRequest::_internal_ownerprivilegerank() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ownerprivilegerank_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
SetRoomDataInternalRequest::_internal_mutable_ownerprivilegerank() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.ownerprivilegerank_;
}

// -------------------------------------------------------------------

// GetRoomMemberDataInternalRequest

// uint64 roomId = 1;
inline void GetRoomMemberDataInternalRequest::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint64_t GetRoomMemberDataInternalRequest::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomMemberDataInternalRequest.roomId)
  return _internal_roomid();
}
inline void GetRoomMemberDataInternalRequest::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.GetRoomMemberDataInternalRequest.roomId)
}
inline ::uint64_t GetRoomMemberDataInternalRequest::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void GetRoomMemberDataInternalRequest::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// .np2_structs.uint16 memberId = 2;
inline bool GetRoomMemberDataInternalRequest::has_memberid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.memberid_ != nullptr);
  return value;
}
inline void GetRoomMemberDataInternalRequest::clear_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.memberid_ != nullptr) _impl_.memberid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint16& GetRoomMemberDataInternalRequest::_internal_memberid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.memberid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& GetRoomMemberDataInternalRequest::memberid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomMemberDataInternalRequest.memberId)
  return _internal_memberid();
}
inline void GetRoomMemberDataInternalRequest::unsafe_arena_set_allocated_memberid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.memberid_);
  }
  _impl_.memberid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.GetRoomMemberDataInternalRequest.memberId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE GetRoomMemberDataInternalRequest::release_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* released = _impl_.memberid_;
  _impl_.memberid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE GetRoomMemberDataInternalRequest::unsafe_arena_release_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.GetRoomMemberDataInternalRequest.memberId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* temp = _impl_.memberid_;
  _impl_.memberid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetRoomMemberDataInternalRequest::_internal_mutable_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.memberid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.memberid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.memberid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetRoomMemberDataInternalRequest::mutable_memberid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* _msg = _internal_mutable_memberid();
  // @@protoc_insertion_point(field_mutable:np2_structs.GetRoomMemberDataInternalRequest.memberId)
  return _msg;
}
inline void GetRoomMemberDataInternalRequest::set_allocated_memberid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.memberid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.memberid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.GetRoomMemberDataInternalRequest.memberId)
}

// repeated .np2_structs.uint16 attrId = 3;
inline int GetRoomMemberDataInternalRequest::_internal_attrid_size() const {
  return _internal_attrid().size();
}
inline int GetRoomMemberDataInternalRequest::attrid_size() const {
  return _internal_attrid_size();
}
inline void GetRoomMemberDataInternalRequest::clear_attrid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attrid_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetRoomMemberDataInternalRequest::mutable_attrid(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetRoomMemberDataInternalRequest.attrId)
  return _internal_mutable_attrid()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL GetRoomMemberDataInternalRequest::mutable_attrid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetRoomMemberDataInternalRequest.attrId)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attrid();
}
inline const ::np2_structs::uint16& GetRoomMemberDataInternalRequest::attrid(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomMemberDataInternalRequest.attrId)
  return _internal_attrid().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetRoomMemberDataInternalRequest::add_attrid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_attrid()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.GetRoomMemberDataInternalRequest.attrId)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& GetRoomMemberDataInternalRequest::attrid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetRoomMemberDataInternalRequest.attrId)
  return _internal_attrid();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
GetRoomMemberDataInternalRequest::_internal_attrid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attrid_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
GetRoomMemberDataInternalRequest::_internal_mutable_attrid() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attrid_;
}

// -------------------------------------------------------------------

// SetRoomMemberDataInternalRequest

// uint64 roomId = 1;
inline void SetRoomMemberDataInternalRequest::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint64_t SetRoomMemberDataInternalRequest::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomMemberDataInternalRequest.roomId)
  return _internal_roomid();
}
inline void SetRoomMemberDataInternalRequest::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.SetRoomMemberDataInternalRequest.roomId)
}
inline ::uint64_t SetRoomMemberDataInternalRequest::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void SetRoomMemberDataInternalRequest::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// .np2_structs.uint16 memberId = 2;
inline bool SetRoomMemberDataInternalRequest::has_memberid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.memberid_ != nullptr);
  return value;
}
inline void SetRoomMemberDataInternalRequest::clear_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.memberid_ != nullptr) _impl_.memberid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint16& SetRoomMemberDataInternalRequest::_internal_memberid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.memberid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& SetRoomMemberDataInternalRequest::memberid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomMemberDataInternalRequest.memberId)
  return _internal_memberid();
}
inline void SetRoomMemberDataInternalRequest::unsafe_arena_set_allocated_memberid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.memberid_);
  }
  _impl_.memberid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.SetRoomMemberDataInternalRequest.memberId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE SetRoomMemberDataInternalRequest::release_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* released = _impl_.memberid_;
  _impl_.memberid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE SetRoomMemberDataInternalRequest::unsafe_arena_release_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SetRoomMemberDataInternalRequest.memberId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* temp = _impl_.memberid_;
  _impl_.memberid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SetRoomMemberDataInternalRequest::_internal_mutable_memberid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.memberid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.memberid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.memberid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SetRoomMemberDataInternalRequest::mutable_memberid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* _msg = _internal_mutable_memberid();
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomMemberDataInternalRequest.memberId)
  return _msg;
}
inline void SetRoomMemberDataInternalRequest::set_allocated_memberid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.memberid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.memberid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SetRoomMemberDataInternalRequest.memberId)
}

// .np2_structs.uint8 teamId = 3;
inline bool SetRoomMemberDataInternalRequest::has_teamid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.teamid_ != nullptr);
  return value;
}
inline void SetRoomMemberDataInternalRequest::clear_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.teamid_ != nullptr) _impl_.teamid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::uint8& SetRoomMemberDataInternalRequest::_internal_teamid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.teamid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& SetRoomMemberDataInternalRequest::teamid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomMemberDataInternalRequest.teamId)
  return _internal_teamid();
}
inline void SetRoomMemberDataInternalRequest::unsafe_arena_set_allocated_teamid(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.teamid_);
  }
  _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.SetRoomMemberDataInternalRequest.teamId)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE SetRoomMemberDataInternalRequest::release_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* released = _impl_.teamid_;
  _impl_.teamid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE SetRoomMemberDataInternalRequest::unsafe_arena_release_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SetRoomMemberDataInternalRequest.teamId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* temp = _impl_.teamid_;
  _impl_.teamid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL SetRoomMemberDataInternalRequest::_internal_mutable_teamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.teamid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.teamid_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL SetRoomMemberDataInternalRequest::mutable_teamid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* _msg = _internal_mutable_teamid();
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomMemberDataInternalRequest.teamId)
  return _msg;
}
inline void SetRoomMemberDataInternalRequest::set_allocated_teamid(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.teamid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.teamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SetRoomMemberDataInternalRequest.teamId)
}

// repeated .np2_structs.BinAttr roomMemberBinAttrInternal = 4;
inline int SetRoomMemberDataInternalRequest::_internal_roommemberbinattrinternal_size() const {
  return _internal_roommemberbinattrinternal().size();
}
inline int SetRoomMemberDataInternalRequest::roommemberbinattrinternal_size() const {
  return _internal_roommemberbinattrinternal_size();
}
inline void SetRoomMemberDataInternalRequest::clear_roommemberbinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roommemberbinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetRoomMemberDataInternalRequest::mutable_roommemberbinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomMemberDataInternalRequest.roomMemberBinAttrInternal)
  return _internal_mutable_roommemberbinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL SetRoomMemberDataInternalRequest::mutable_roommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetRoomMemberDataInternalRequest.roomMemberBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_roommemberbinattrinternal();
}
inline const ::np2_structs::BinAttr& SetRoomMemberDataInternalRequest::roommemberbinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomMemberDataInternalRequest.roomMemberBinAttrInternal)
  return _internal_roommemberbinattrinternal().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetRoomMemberDataInternalRequest::add_roommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_roommemberbinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SetRoomMemberDataInternalRequest.roomMemberBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& SetRoomMemberDataInternalRequest::roommemberbinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetRoomMemberDataInternalRequest.roomMemberBinAttrInternal)
  return _internal_roommemberbinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
SetRoomMemberDataInternalRequest::_internal_roommemberbinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roommemberbinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
SetRoomMemberDataInternalRequest::_internal_mutable_roommemberbinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.roommemberbinattrinternal_;
}

// -------------------------------------------------------------------

// SetUserInfo

// .np2_structs.uint16 serverId = 1;
inline bool SetUserInfo::has_serverid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.serverid_ != nullptr);
  return value;
}
inline void SetUserInfo::clear_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.serverid_ != nullptr) _impl_.serverid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint16& SetUserInfo::_internal_serverid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.serverid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& SetUserInfo::serverid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetUserInfo.serverId)
  return _internal_serverid();
}
inline void SetUserInfo::unsafe_arena_set_allocated_serverid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.serverid_);
  }
  _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.SetUserInfo.serverId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE SetUserInfo::release_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* released = _impl_.serverid_;
  _impl_.serverid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE SetUserInfo::unsafe_arena_release_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SetUserInfo.serverId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* temp = _impl_.serverid_;
  _impl_.serverid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SetUserInfo::_internal_mutable_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.serverid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.serverid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SetUserInfo::mutable_serverid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint16* _msg = _internal_mutable_serverid();
  // @@protoc_insertion_point(field_mutable:np2_structs.SetUserInfo.serverId)
  return _msg;
}
inline void SetUserInfo::set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.serverid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SetUserInfo.serverId)
}

// repeated .np2_structs.BinAttr userBinAttr = 2;
inline int SetUserInfo::_internal_userbinattr_size() const {
  return _internal_userbinattr().size();
}
inline int SetUserInfo::userbinattr_size() const {
  return _internal_userbinattr_size();
}
inline void SetUserInfo::clear_userbinattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.userbinattr_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetUserInfo::mutable_userbinattr(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SetUserInfo.userBinAttr)
  return _internal_mutable_userbinattr()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL SetUserInfo::mutable_userbinattr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SetUserInfo.userBinAttr)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_userbinattr();
}
inline const ::np2_structs::BinAttr& SetUserInfo::userbinattr(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetUserInfo.userBinAttr)
  return _internal_userbinattr().Get(index);
}
inline ::np2_structs::BinAttr* PROTOBUF_NONNULL SetUserInfo::add_userbinattr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::BinAttr* _add =
      _internal_mutable_userbinattr()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SetUserInfo.userBinAttr)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>& SetUserInfo::userbinattr() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SetUserInfo.userBinAttr)
  return _internal_userbinattr();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>&
SetUserInfo::_internal_userbinattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.userbinattr_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::BinAttr>* PROTOBUF_NONNULL
SetUserInfo::_internal_mutable_userbinattr() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.userbinattr_;
}

// -------------------------------------------------------------------

// GetRoomDataInternalRequest

// uint64 roomId = 1;
inline void GetRoomDataInternalRequest::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint64_t GetRoomDataInternalRequest::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomDataInternalRequest.roomId)
  return _internal_roomid();
}
inline void GetRoomDataInternalRequest::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.GetRoomDataInternalRequest.roomId)
}
inline ::uint64_t GetRoomDataInternalRequest::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void GetRoomDataInternalRequest::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// repeated .np2_structs.uint16 attrId = 2;
inline int GetRoomDataInternalRequest::_internal_attrid_size() const {
  return _internal_attrid().size();
}
inline int GetRoomDataInternalRequest::attrid_size() const {
  return _internal_attrid_size();
}
inline void GetRoomDataInternalRequest::clear_attrid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attrid_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetRoomDataInternalRequest::mutable_attrid(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetRoomDataInternalRequest.attrId)
  return _internal_mutable_attrid()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL GetRoomDataInternalRequest::mutable_attrid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetRoomDataInternalRequest.attrId)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attrid();
}
inline const ::np2_structs::uint16& GetRoomDataInternalRequest::attrid(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomDataInternalRequest.attrId)
  return _internal_attrid().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetRoomDataInternalRequest::add_attrid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_attrid()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.GetRoomDataInternalRequest.attrId)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& GetRoomDataInternalRequest::attrid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetRoomDataInternalRequest.attrId)
  return _internal_attrid();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
GetRoomDataInternalRequest::_internal_attrid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attrid_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
GetRoomDataInternalRequest::_internal_mutable_attrid() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attrid_;
}

// -------------------------------------------------------------------

// RoomMemberUpdateInfo

// .np2_structs.RoomMemberDataInternal roomMemberDataInternal = 1;
inline bool RoomMemberUpdateInfo::has_roommemberdatainternal() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.roommemberdatainternal_ != nullptr);
  return value;
}
inline void RoomMemberUpdateInfo::clear_roommemberdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.roommemberdatainternal_ != nullptr) _impl_.roommemberdatainternal_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::RoomMemberDataInternal& RoomMemberUpdateInfo::_internal_roommemberdatainternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::RoomMemberDataInternal* p = _impl_.roommemberdatainternal_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::RoomMemberDataInternal&>(::np2_structs::_RoomMemberDataInternal_default_instance_);
}
inline const ::np2_structs::RoomMemberDataInternal& RoomMemberUpdateInfo::roommemberdatainternal() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberUpdateInfo.roomMemberDataInternal)
  return _internal_roommemberdatainternal();
}
inline void RoomMemberUpdateInfo::unsafe_arena_set_allocated_roommemberdatainternal(
    ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.roommemberdatainternal_);
  }
  _impl_.roommemberdatainternal_ = reinterpret_cast<::np2_structs::RoomMemberDataInternal*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberUpdateInfo.roomMemberDataInternal)
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE RoomMemberUpdateInfo::release_roommemberdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomMemberDataInternal* released = _impl_.roommemberdatainternal_;
  _impl_.roommemberdatainternal_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE RoomMemberUpdateInfo::unsafe_arena_release_roommemberdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberUpdateInfo.roomMemberDataInternal)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomMemberDataInternal* temp = _impl_.roommemberdatainternal_;
  _impl_.roommemberdatainternal_ = nullptr;
  return temp;
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL RoomMemberUpdateInfo::_internal_mutable_roommemberdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.roommemberdatainternal_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::RoomMemberDataInternal>(GetArena());
    _impl_.roommemberdatainternal_ = reinterpret_cast<::np2_structs::RoomMemberDataInternal*>(p);
  }
  return _impl_.roommemberdatainternal_;
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL RoomMemberUpdateInfo::mutable_roommemberdatainternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomMemberDataInternal* _msg = _internal_mutable_roommemberdatainternal();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberUpdateInfo.roomMemberDataInternal)
  return _msg;
}
inline void RoomMemberUpdateInfo::set_allocated_roommemberdatainternal(::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.roommemberdatainternal_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.roommemberdatainternal_ = reinterpret_cast<::np2_structs::RoomMemberDataInternal*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberUpdateInfo.roomMemberDataInternal)
}

// .np2_structs.uint8 eventCause = 2;
inline bool RoomMemberUpdateInfo::has_eventcause() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.eventcause_ != nullptr);
  return value;
}
inline void RoomMemberUpdateInfo::clear_eventcause() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.eventcause_ != nullptr) _impl_.eventcause_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint8& RoomMemberUpdateInfo::_internal_eventcause() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.eventcause_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomMemberUpdateInfo::eventcause() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberUpdateInfo.eventCause)
  return _internal_eventcause();
}
inline void RoomMemberUpdateInfo::unsafe_arena_set_allocated_eventcause(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.eventcause_);
  }
  _impl_.eventcause_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberUpdateInfo.eventCause)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberUpdateInfo::release_eventcause() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* released = _impl_.eventcause_;
  _impl_.eventcause_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberUpdateInfo::unsafe_arena_release_eventcause() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberUpdateInfo.eventCause)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* temp = _impl_.eventcause_;
  _impl_.eventcause_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberUpdateInfo::_internal_mutable_eventcause() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.eventcause_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.eventcause_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.eventcause_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberUpdateInfo::mutable_eventcause()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* _msg = _internal_mutable_eventcause();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberUpdateInfo.eventCause)
  return _msg;
}
inline void RoomMemberUpdateInfo::set_allocated_eventcause(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.eventcause_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.eventcause_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberUpdateInfo.eventCause)
}

// .np2_structs.PresenceOptionData optData = 3;
inline bool RoomMemberUpdateInfo::has_optdata() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.optdata_ != nullptr);
  return value;
}
inline void RoomMemberUpdateInfo::clear_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.optdata_ != nullptr) _impl_.optdata_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::PresenceOptionData& RoomMemberUpdateInfo::_internal_optdata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::PresenceOptionData* p = _impl_.optdata_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::PresenceOptionData&>(::np2_structs::_PresenceOptionData_default_instance_);
}
inline const ::np2_structs::PresenceOptionData& RoomMemberUpdateInfo::optdata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberUpdateInfo.optData)
  return _internal_optdata();
}
inline void RoomMemberUpdateInfo::unsafe_arena_set_allocated_optdata(
    ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.optdata_);
  }
  _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberUpdateInfo.optData)
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE RoomMemberUpdateInfo::release_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::PresenceOptionData* released = _impl_.optdata_;
  _impl_.optdata_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE RoomMemberUpdateInfo::unsafe_arena_release_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberUpdateInfo.optData)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::PresenceOptionData* temp = _impl_.optdata_;
  _impl_.optdata_ = nullptr;
  return temp;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL RoomMemberUpdateInfo::_internal_mutable_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.optdata_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::PresenceOptionData>(GetArena());
    _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(p);
  }
  return _impl_.optdata_;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL RoomMemberUpdateInfo::mutable_optdata()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::PresenceOptionData* _msg = _internal_mutable_optdata();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberUpdateInfo.optData)
  return _msg;
}
inline void RoomMemberUpdateInfo::set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.optdata_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberUpdateInfo.optData)
}

// -------------------------------------------------------------------

// NotificationUserJoinedRoom

// uint64 room_id = 1;
inline void NotificationUserJoinedRoom::clear_room_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.room_id_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint64_t NotificationUserJoinedRoom::room_id() const {
  // @@protoc_insertion_point(field_get:np2_structs.NotificationUserJoinedRoom.room_id)
  return _internal_room_id();
}
inline void NotificationUserJoinedRoom::set_room_id(::uint64_t value) {
  _internal_set_room_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.NotificationUserJoinedRoom.room_id)
}
inline ::uint64_t NotificationUserJoinedRoom::_internal_room_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.room_id_;
}
inline void NotificationUserJoinedRoom::_internal_set_room_id(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.room_id_ = value;
}

// .np2_structs.RoomMemberUpdateInfo update_info = 2;
inline bool NotificationUserJoinedRoom::has_update_info() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.update_info_ != nullptr);
  return value;
}
inline void NotificationUserJoinedRoom::clear_update_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.update_info_ != nullptr) _impl_.update_info_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::RoomMemberUpdateInfo& NotificationUserJoinedRoom::_internal_update_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::RoomMemberUpdateInfo* p = _impl_.update_info_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::RoomMemberUpdateInfo&>(::np2_structs::_RoomMemberUpdateInfo_default_instance_);
}
inline const ::np2_structs::RoomMemberUpdateInfo& NotificationUserJoinedRoom::update_info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.NotificationUserJoinedRoom.update_info)
  return _internal_update_info();
}
inline void NotificationUserJoinedRoom::unsafe_arena_set_allocated_update_info(
    ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.update_info_);
  }
  _impl_.update_info_ = reinterpret_cast<::np2_structs::RoomMemberUpdateInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.NotificationUserJoinedRoom.update_info)
}
inline ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE NotificationUserJoinedRoom::release_update_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomMemberUpdateInfo* released = _impl_.update_info_;
  _impl_.update_info_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE NotificationUserJoinedRoom::unsafe_arena_release_update_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.NotificationUserJoinedRoom.update_info)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomMemberUpdateInfo* temp = _impl_.update_info_;
  _impl_.update_info_ = nullptr;
  return temp;
}
inline ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NONNULL NotificationUserJoinedRoom::_internal_mutable_update_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.update_info_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::RoomMemberUpdateInfo>(GetArena());
    _impl_.update_info_ = reinterpret_cast<::np2_structs::RoomMemberUpdateInfo*>(p);
  }
  return _impl_.update_info_;
}
inline ::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NONNULL NotificationUserJoinedRoom::mutable_update_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::RoomMemberUpdateInfo* _msg = _internal_mutable_update_info();
  // @@protoc_insertion_point(field_mutable:np2_structs.NotificationUserJoinedRoom.update_info)
  return _msg;
}
inline void NotificationUserJoinedRoom::set_allocated_update_info(::np2_structs::RoomMemberUpdateInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.update_info_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.update_info_ = reinterpret_cast<::np2_structs::RoomMemberUpdateInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.NotificationUserJoinedRoom.update_info)
}

// .np2_structs.SignalingAddr signaling = 3;
inline bool NotificationUserJoinedRoom::has_signaling() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.signaling_ != nullptr);
  return value;
}
inline void NotificationUserJoinedRoom::clear_signaling() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.signaling_ != nullptr) _impl_.signaling_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::SignalingAddr& NotificationUserJoinedRoom::_internal_signaling() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::SignalingAddr* p = _impl_.signaling_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::SignalingAddr&>(::np2_structs::_SignalingAddr_default_instance_);
}
inline const ::np2_structs::SignalingAddr& NotificationUserJoinedRoom::signaling() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.NotificationUserJoinedRoom.signaling)
  return _internal_signaling();
}
inline void NotificationUserJoinedRoom::unsafe_arena_set_allocated_signaling(
    ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.signaling_);
  }
  _impl_.signaling_ = reinterpret_cast<::np2_structs::SignalingAddr*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.NotificationUserJoinedRoom.signaling)
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE NotificationUserJoinedRoom::release_signaling() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* released = _impl_.signaling_;
  _impl_.signaling_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NULLABLE NotificationUserJoinedRoom::unsafe_arena_release_signaling() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.NotificationUserJoinedRoom.signaling)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* temp = _impl_.signaling_;
  _impl_.signaling_ = nullptr;
  return temp;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NONNULL NotificationUserJoinedRoom::_internal_mutable_signaling() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.signaling_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::SignalingAddr>(GetArena());
    _impl_.signaling_ = reinterpret_cast<::np2_structs::SignalingAddr*>(p);
  }
  return _impl_.signaling_;
}
inline ::np2_structs::SignalingAddr* PROTOBUF_NONNULL NotificationUserJoinedRoom::mutable_signaling()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::SignalingAddr* _msg = _internal_mutable_signaling();
  // @@protoc_insertion_point(field_mutable:np2_structs.NotificationUserJoinedRoom.signaling)
  return _msg;
}
inline void NotificationUserJoinedRoom::set_allocated_signaling(::np2_structs::SignalingAddr* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.signaling_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.signaling_ = reinterpret_cast<::np2_structs::SignalingAddr*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.NotificationUserJoinedRoom.signaling)
}

// -------------------------------------------------------------------

// RoomUpdateInfo

// .np2_structs.uint8 eventCause = 1;
inline bool RoomUpdateInfo::has_eventcause() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.eventcause_ != nullptr);
  return value;
}
inline void RoomUpdateInfo::clear_eventcause() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.eventcause_ != nullptr) _impl_.eventcause_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint8& RoomUpdateInfo::_internal_eventcause() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.eventcause_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomUpdateInfo::eventcause() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomUpdateInfo.eventCause)
  return _internal_eventcause();
}
inline void RoomUpdateInfo::unsafe_arena_set_allocated_eventcause(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.eventcause_);
  }
  _impl_.eventcause_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomUpdateInfo.eventCause)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomUpdateInfo::release_eventcause() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* released = _impl_.eventcause_;
  _impl_.eventcause_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomUpdateInfo::unsafe_arena_release_eventcause() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomUpdateInfo.eventCause)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* temp = _impl_.eventcause_;
  _impl_.eventcause_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomUpdateInfo::_internal_mutable_eventcause() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.eventcause_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.eventcause_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.eventcause_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomUpdateInfo::mutable_eventcause()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint8* _msg = _internal_mutable_eventcause();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomUpdateInfo.eventCause)
  return _msg;
}
inline void RoomUpdateInfo::set_allocated_eventcause(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.eventcause_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.eventcause_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomUpdateInfo.eventCause)
}

// int32 errorCode = 2;
inline void RoomUpdateInfo::clear_errorcode() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.errorcode_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::int32_t RoomUpdateInfo::errorcode() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomUpdateInfo.errorCode)
  return _internal_errorcode();
}
inline void RoomUpdateInfo::set_errorcode(::int32_t value) {
  _internal_set_errorcode(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomUpdateInfo.errorCode)
}
inline ::int32_t RoomUpdateInfo::_internal_errorcode() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.errorcode_;
}
inline void RoomUpdateInfo::_internal_set_errorcode(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.errorcode_ = value;
}

// .np2_structs.PresenceOptionData optData = 3;
inline bool RoomUpdateInfo::has_optdata() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.optdata_ != nullptr);
  return value;
}
inline void RoomUpdateInfo::clear_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.optdata_ != nullptr) _impl_.optdata_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::PresenceOptionData& RoomUpdateInfo::_internal_optdata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::PresenceOptionData* p = _impl_.optdata_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::PresenceOptionData&>(::np2_structs::_PresenceOptionData_default_instance_);
}
inline const ::np2_structs::PresenceOptionData& RoomUpdateInfo::optdata() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomUpdateInfo.optData)
  return _internal_optdata();
}
inline void RoomUpdateInfo::unsafe_arena_set_allocated_optdata(
    ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.optdata_);
  }
  _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomUpdateInfo.optData)
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE RoomUpdateInfo::release_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::PresenceOptionData* released = _impl_.optdata_;
  _impl_.optdata_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE RoomUpdateInfo::unsafe_arena_release_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomUpdateInfo.optData)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::PresenceOptionData* temp = _impl_.optdata_;
  _impl_.optdata_ = nullptr;
  return temp;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL RoomUpdateInfo::_internal_mutable_optdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.optdata_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::PresenceOptionData>(GetArena());
    _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(p);
  }
  return _impl_.optdata_;
}
inline ::np2_structs::PresenceOptionData* PROTOBUF_NONNULL RoomUpdateInfo::mutable_optdata()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::PresenceOptionData* _msg = _internal_mutable_optdata();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomUpdateInfo.optData)
  return _msg;
}
inline void RoomUpdateInfo::set_allocated_optdata(::np2_structs::PresenceOptionData* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.optdata_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.optdata_ = reinterpret_cast<::np2_structs::PresenceOptionData*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomUpdateInfo.optData)
}

// -------------------------------------------------------------------

// RoomDataInternalUpdateInfo

// .np2_structs.RoomDataInternal newRoomDataInternal = 1;
inline bool RoomDataInternalUpdateInfo::has_newroomdatainternal() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.newroomdatainternal_ != nullptr);
  return value;
}
inline void RoomDataInternalUpdateInfo::clear_newroomdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.newroomdatainternal_ != nullptr) _impl_.newroomdatainternal_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::RoomDataInternal& RoomDataInternalUpdateInfo::_internal_newroomdatainternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::RoomDataInternal* p = _impl_.newroomdatainternal_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::RoomDataInternal&>(::np2_structs::_RoomDataInternal_default_instance_);
}
inline const ::np2_structs::RoomDataInternal& RoomDataInternalUpdateInfo::newroomdatainternal() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternalUpdateInfo.newRoomDataInternal)
  return _internal_newroomdatainternal();
}
inline void RoomDataInternalUpdateInfo::unsafe_arena_set_allocated_newroomdatainternal(
    ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.newroomdatainternal_);
  }
  _impl_.newroomdatainternal_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomDataInternalUpdateInfo.newRoomDataInternal)
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE RoomDataInternalUpdateInfo::release_newroomdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::RoomDataInternal* released = _impl_.newroomdatainternal_;
  _impl_.newroomdatainternal_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE RoomDataInternalUpdateInfo::unsafe_arena_release_newroomdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataInternalUpdateInfo.newRoomDataInternal)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::RoomDataInternal* temp = _impl_.newroomdatainternal_;
  _impl_.newroomdatainternal_ = nullptr;
  return temp;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL RoomDataInternalUpdateInfo::_internal_mutable_newroomdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.newroomdatainternal_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::RoomDataInternal>(GetArena());
    _impl_.newroomdatainternal_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(p);
  }
  return _impl_.newroomdatainternal_;
}
inline ::np2_structs::RoomDataInternal* PROTOBUF_NONNULL RoomDataInternalUpdateInfo::mutable_newroomdatainternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::RoomDataInternal* _msg = _internal_mutable_newroomdatainternal();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataInternalUpdateInfo.newRoomDataInternal)
  return _msg;
}
inline void RoomDataInternalUpdateInfo::set_allocated_newroomdatainternal(::np2_structs::RoomDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.newroomdatainternal_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.newroomdatainternal_ = reinterpret_cast<::np2_structs::RoomDataInternal*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataInternalUpdateInfo.newRoomDataInternal)
}

// uint32 prevFlagAttr = 2;
inline void RoomDataInternalUpdateInfo::clear_prevflagattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.prevflagattr_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::uint32_t RoomDataInternalUpdateInfo::prevflagattr() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternalUpdateInfo.prevFlagAttr)
  return _internal_prevflagattr();
}
inline void RoomDataInternalUpdateInfo::set_prevflagattr(::uint32_t value) {
  _internal_set_prevflagattr(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternalUpdateInfo.prevFlagAttr)
}
inline ::uint32_t RoomDataInternalUpdateInfo::_internal_prevflagattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.prevflagattr_;
}
inline void RoomDataInternalUpdateInfo::_internal_set_prevflagattr(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.prevflagattr_ = value;
}

// uint64 prevRoomPasswordSlotMask = 3;
inline void RoomDataInternalUpdateInfo::clear_prevroompasswordslotmask() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.prevroompasswordslotmask_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint64_t RoomDataInternalUpdateInfo::prevroompasswordslotmask() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternalUpdateInfo.prevRoomPasswordSlotMask)
  return _internal_prevroompasswordslotmask();
}
inline void RoomDataInternalUpdateInfo::set_prevroompasswordslotmask(::uint64_t value) {
  _internal_set_prevroompasswordslotmask(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternalUpdateInfo.prevRoomPasswordSlotMask)
}
inline ::uint64_t RoomDataInternalUpdateInfo::_internal_prevroompasswordslotmask() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.prevroompasswordslotmask_;
}
inline void RoomDataInternalUpdateInfo::_internal_set_prevroompasswordslotmask(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.prevroompasswordslotmask_ = value;
}

// bytes newRoomGroup = 4;
inline void RoomDataInternalUpdateInfo::clear_newroomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.newroomgroup_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& RoomDataInternalUpdateInfo::newroomgroup() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternalUpdateInfo.newRoomGroup)
  return _internal_newroomgroup();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RoomDataInternalUpdateInfo::set_newroomgroup(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.newroomgroup_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.RoomDataInternalUpdateInfo.newRoomGroup)
}
inline ::std::string* PROTOBUF_NONNULL RoomDataInternalUpdateInfo::mutable_newroomgroup()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_newroomgroup();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataInternalUpdateInfo.newRoomGroup)
  return _s;
}
inline const ::std::string& RoomDataInternalUpdateInfo::_internal_newroomgroup() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.newroomgroup_.Get();
}
inline void RoomDataInternalUpdateInfo::_internal_set_newroomgroup(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.newroomgroup_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RoomDataInternalUpdateInfo::_internal_mutable_newroomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.newroomgroup_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RoomDataInternalUpdateInfo::release_newroomgroup() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomDataInternalUpdateInfo.newRoomGroup)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.newroomgroup_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.newroomgroup_.Set("", GetArena());
  }
  return released;
}
inline void RoomDataInternalUpdateInfo::set_allocated_newroomgroup(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.newroomgroup_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.newroomgroup_.IsDefault()) {
    _impl_.newroomgroup_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomDataInternalUpdateInfo.newRoomGroup)
}

// repeated .np2_structs.uint16 newRoomBinAttrInternal = 5;
inline int RoomDataInternalUpdateInfo::_internal_newroombinattrinternal_size() const {
  return _internal_newroombinattrinternal().size();
}
inline int RoomDataInternalUpdateInfo::newroombinattrinternal_size() const {
  return _internal_newroombinattrinternal_size();
}
inline void RoomDataInternalUpdateInfo::clear_newroombinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.newroombinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataInternalUpdateInfo::mutable_newroombinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomDataInternalUpdateInfo.newRoomBinAttrInternal)
  return _internal_mutable_newroombinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL RoomDataInternalUpdateInfo::mutable_newroombinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomDataInternalUpdateInfo.newRoomBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_newroombinattrinternal();
}
inline const ::np2_structs::uint16& RoomDataInternalUpdateInfo::newroombinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomDataInternalUpdateInfo.newRoomBinAttrInternal)
  return _internal_newroombinattrinternal().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomDataInternalUpdateInfo::add_newroombinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_newroombinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomDataInternalUpdateInfo.newRoomBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& RoomDataInternalUpdateInfo::newroombinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomDataInternalUpdateInfo.newRoomBinAttrInternal)
  return _internal_newroombinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
RoomDataInternalUpdateInfo::_internal_newroombinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.newroombinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
RoomDataInternalUpdateInfo::_internal_mutable_newroombinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.newroombinattrinternal_;
}

// -------------------------------------------------------------------

// RoomMemberDataInternalUpdateInfo

// .np2_structs.RoomMemberDataInternal newRoomMemberDataInternal = 1;
inline bool RoomMemberDataInternalUpdateInfo::has_newroommemberdatainternal() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.newroommemberdatainternal_ != nullptr);
  return value;
}
inline void RoomMemberDataInternalUpdateInfo::clear_newroommemberdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.newroommemberdatainternal_ != nullptr) _impl_.newroommemberdatainternal_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::RoomMemberDataInternal& RoomMemberDataInternalUpdateInfo::_internal_newroommemberdatainternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::RoomMemberDataInternal* p = _impl_.newroommemberdatainternal_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::RoomMemberDataInternal&>(::np2_structs::_RoomMemberDataInternal_default_instance_);
}
inline const ::np2_structs::RoomMemberDataInternal& RoomMemberDataInternalUpdateInfo::newroommemberdatainternal() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberDataInternal)
  return _internal_newroommemberdatainternal();
}
inline void RoomMemberDataInternalUpdateInfo::unsafe_arena_set_allocated_newroommemberdatainternal(
    ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.newroommemberdatainternal_);
  }
  _impl_.newroommemberdatainternal_ = reinterpret_cast<::np2_structs::RoomMemberDataInternal*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberDataInternal)
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE RoomMemberDataInternalUpdateInfo::release_newroommemberdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::RoomMemberDataInternal* released = _impl_.newroommemberdatainternal_;
  _impl_.newroommemberdatainternal_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE RoomMemberDataInternalUpdateInfo::unsafe_arena_release_newroommemberdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberDataInternal)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::RoomMemberDataInternal* temp = _impl_.newroommemberdatainternal_;
  _impl_.newroommemberdatainternal_ = nullptr;
  return temp;
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL RoomMemberDataInternalUpdateInfo::_internal_mutable_newroommemberdatainternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.newroommemberdatainternal_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::RoomMemberDataInternal>(GetArena());
    _impl_.newroommemberdatainternal_ = reinterpret_cast<::np2_structs::RoomMemberDataInternal*>(p);
  }
  return _impl_.newroommemberdatainternal_;
}
inline ::np2_structs::RoomMemberDataInternal* PROTOBUF_NONNULL RoomMemberDataInternalUpdateInfo::mutable_newroommemberdatainternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::RoomMemberDataInternal* _msg = _internal_mutable_newroommemberdatainternal();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberDataInternal)
  return _msg;
}
inline void RoomMemberDataInternalUpdateInfo::set_allocated_newroommemberdatainternal(::np2_structs::RoomMemberDataInternal* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.newroommemberdatainternal_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.newroommemberdatainternal_ = reinterpret_cast<::np2_structs::RoomMemberDataInternal*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberDataInternal)
}

// uint32 prevFlagAttr = 2;
inline void RoomMemberDataInternalUpdateInfo::clear_prevflagattr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.prevflagattr_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t RoomMemberDataInternalUpdateInfo::prevflagattr() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternalUpdateInfo.prevFlagAttr)
  return _internal_prevflagattr();
}
inline void RoomMemberDataInternalUpdateInfo::set_prevflagattr(::uint32_t value) {
  _internal_set_prevflagattr(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomMemberDataInternalUpdateInfo.prevFlagAttr)
}
inline ::uint32_t RoomMemberDataInternalUpdateInfo::_internal_prevflagattr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.prevflagattr_;
}
inline void RoomMemberDataInternalUpdateInfo::_internal_set_prevflagattr(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.prevflagattr_ = value;
}

// .np2_structs.uint8 prevTeamId = 3;
inline bool RoomMemberDataInternalUpdateInfo::has_prevteamid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.prevteamid_ != nullptr);
  return value;
}
inline void RoomMemberDataInternalUpdateInfo::clear_prevteamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.prevteamid_ != nullptr) _impl_.prevteamid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::uint8& RoomMemberDataInternalUpdateInfo::_internal_prevteamid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.prevteamid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomMemberDataInternalUpdateInfo::prevteamid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternalUpdateInfo.prevTeamId)
  return _internal_prevteamid();
}
inline void RoomMemberDataInternalUpdateInfo::unsafe_arena_set_allocated_prevteamid(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.prevteamid_);
  }
  _impl_.prevteamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberDataInternalUpdateInfo.prevTeamId)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberDataInternalUpdateInfo::release_prevteamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* released = _impl_.prevteamid_;
  _impl_.prevteamid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberDataInternalUpdateInfo::unsafe_arena_release_prevteamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberDataInternalUpdateInfo.prevTeamId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* temp = _impl_.prevteamid_;
  _impl_.prevteamid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberDataInternalUpdateInfo::_internal_mutable_prevteamid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.prevteamid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.prevteamid_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.prevteamid_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberDataInternalUpdateInfo::mutable_prevteamid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* _msg = _internal_mutable_prevteamid();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataInternalUpdateInfo.prevTeamId)
  return _msg;
}
inline void RoomMemberDataInternalUpdateInfo::set_allocated_prevteamid(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.prevteamid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.prevteamid_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberDataInternalUpdateInfo.prevTeamId)
}

// repeated .np2_structs.uint16 newRoomMemberBinAttrInternal = 4;
inline int RoomMemberDataInternalUpdateInfo::_internal_newroommemberbinattrinternal_size() const {
  return _internal_newroommemberbinattrinternal().size();
}
inline int RoomMemberDataInternalUpdateInfo::newroommemberbinattrinternal_size() const {
  return _internal_newroommemberbinattrinternal_size();
}
inline void RoomMemberDataInternalUpdateInfo::clear_newroommemberbinattrinternal() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.newroommemberbinattrinternal_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomMemberDataInternalUpdateInfo::mutable_newroommemberbinattrinternal(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberBinAttrInternal)
  return _internal_mutable_newroommemberbinattrinternal()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL RoomMemberDataInternalUpdateInfo::mutable_newroommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberBinAttrInternal)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_newroommemberbinattrinternal();
}
inline const ::np2_structs::uint16& RoomMemberDataInternalUpdateInfo::newroommemberbinattrinternal(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberBinAttrInternal)
  return _internal_newroommemberbinattrinternal().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomMemberDataInternalUpdateInfo::add_newroommemberbinattrinternal()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_newroommemberbinattrinternal()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberBinAttrInternal)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& RoomMemberDataInternalUpdateInfo::newroommemberbinattrinternal() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomMemberDataInternalUpdateInfo.newRoomMemberBinAttrInternal)
  return _internal_newroommemberbinattrinternal();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
RoomMemberDataInternalUpdateInfo::_internal_newroommemberbinattrinternal() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.newroommemberbinattrinternal_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
RoomMemberDataInternalUpdateInfo::_internal_mutable_newroommemberbinattrinternal() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.newroommemberbinattrinternal_;
}

// -------------------------------------------------------------------

// GetPingInfoResponse

// .np2_structs.uint16 serverId = 1;
inline bool GetPingInfoResponse::has_serverid() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.serverid_ != nullptr);
  return value;
}
inline void GetPingInfoResponse::clear_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.serverid_ != nullptr) _impl_.serverid_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::uint16& GetPingInfoResponse::_internal_serverid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.serverid_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& GetPingInfoResponse::serverid() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetPingInfoResponse.serverId)
  return _internal_serverid();
}
inline void GetPingInfoResponse::unsafe_arena_set_allocated_serverid(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.serverid_);
  }
  _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.GetPingInfoResponse.serverId)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE GetPingInfoResponse::release_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* released = _impl_.serverid_;
  _impl_.serverid_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE GetPingInfoResponse::unsafe_arena_release_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.GetPingInfoResponse.serverId)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* temp = _impl_.serverid_;
  _impl_.serverid_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetPingInfoResponse::_internal_mutable_serverid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.serverid_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.serverid_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL GetPingInfoResponse::mutable_serverid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::uint16* _msg = _internal_mutable_serverid();
  // @@protoc_insertion_point(field_mutable:np2_structs.GetPingInfoResponse.serverId)
  return _msg;
}
inline void GetPingInfoResponse::set_allocated_serverid(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.serverid_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.serverid_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.GetPingInfoResponse.serverId)
}

// uint32 worldId = 2;
inline void GetPingInfoResponse::clear_worldid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t GetPingInfoResponse::worldid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetPingInfoResponse.worldId)
  return _internal_worldid();
}
inline void GetPingInfoResponse::set_worldid(::uint32_t value) {
  _internal_set_worldid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.GetPingInfoResponse.worldId)
}
inline ::uint32_t GetPingInfoResponse::_internal_worldid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.worldid_;
}
inline void GetPingInfoResponse::_internal_set_worldid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.worldid_ = value;
}

// uint64 roomId = 3;
inline void GetPingInfoResponse::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint64_t GetPingInfoResponse::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetPingInfoResponse.roomId)
  return _internal_roomid();
}
inline void GetPingInfoResponse::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.GetPingInfoResponse.roomId)
}
inline ::uint64_t GetPingInfoResponse::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void GetPingInfoResponse::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// uint32 rtt = 4;
inline void GetPingInfoResponse::clear_rtt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rtt_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t GetPingInfoResponse::rtt() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetPingInfoResponse.rtt)
  return _internal_rtt();
}
inline void GetPingInfoResponse::set_rtt(::uint32_t value) {
  _internal_set_rtt(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.GetPingInfoResponse.rtt)
}
inline ::uint32_t GetPingInfoResponse::_internal_rtt() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rtt_;
}
inline void GetPingInfoResponse::_internal_set_rtt(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rtt_ = value;
}

// -------------------------------------------------------------------

// SendRoomMessageRequest

// uint64 roomId = 1;
inline void SendRoomMessageRequest::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::uint64_t SendRoomMessageRequest::roomid() const {
  // @@protoc_insertion_point(field_get:np2_structs.SendRoomMessageRequest.roomId)
  return _internal_roomid();
}
inline void SendRoomMessageRequest::set_roomid(::uint64_t value) {
  _internal_set_roomid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.SendRoomMessageRequest.roomId)
}
inline ::uint64_t SendRoomMessageRequest::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_;
}
inline void SendRoomMessageRequest::_internal_set_roomid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_ = value;
}

// .np2_structs.uint8 castType = 2;
inline bool SendRoomMessageRequest::has_casttype() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.casttype_ != nullptr);
  return value;
}
inline void SendRoomMessageRequest::clear_casttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.casttype_ != nullptr) _impl_.casttype_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::uint8& SendRoomMessageRequest::_internal_casttype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.casttype_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& SendRoomMessageRequest::casttype() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SendRoomMessageRequest.castType)
  return _internal_casttype();
}
inline void SendRoomMessageRequest::unsafe_arena_set_allocated_casttype(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.casttype_);
  }
  _impl_.casttype_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.SendRoomMessageRequest.castType)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE SendRoomMessageRequest::release_casttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* released = _impl_.casttype_;
  _impl_.casttype_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE SendRoomMessageRequest::unsafe_arena_release_casttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SendRoomMessageRequest.castType)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* temp = _impl_.casttype_;
  _impl_.casttype_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL SendRoomMessageRequest::_internal_mutable_casttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.casttype_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.casttype_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.casttype_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL SendRoomMessageRequest::mutable_casttype()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* _msg = _internal_mutable_casttype();
  // @@protoc_insertion_point(field_mutable:np2_structs.SendRoomMessageRequest.castType)
  return _msg;
}
inline void SendRoomMessageRequest::set_allocated_casttype(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.casttype_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.casttype_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SendRoomMessageRequest.castType)
}

// repeated .np2_structs.uint16 dst = 3;
inline int SendRoomMessageRequest::_internal_dst_size() const {
  return _internal_dst().size();
}
inline int SendRoomMessageRequest::dst_size() const {
  return _internal_dst_size();
}
inline void SendRoomMessageRequest::clear_dst() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.dst_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SendRoomMessageRequest::mutable_dst(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SendRoomMessageRequest.dst)
  return _internal_mutable_dst()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL SendRoomMessageRequest::mutable_dst()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SendRoomMessageRequest.dst)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_dst();
}
inline const ::np2_structs::uint16& SendRoomMessageRequest::dst(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SendRoomMessageRequest.dst)
  return _internal_dst().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL SendRoomMessageRequest::add_dst()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_dst()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SendRoomMessageRequest.dst)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& SendRoomMessageRequest::dst() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SendRoomMessageRequest.dst)
  return _internal_dst();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
SendRoomMessageRequest::_internal_dst() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.dst_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
SendRoomMessageRequest::_internal_mutable_dst() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.dst_;
}

// bytes msg = 4;
inline void SendRoomMessageRequest::clear_msg() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.msg_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& SendRoomMessageRequest::msg() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SendRoomMessageRequest.msg)
  return _internal_msg();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SendRoomMessageRequest::set_msg(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.msg_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.SendRoomMessageRequest.msg)
}
inline ::std::string* PROTOBUF_NONNULL SendRoomMessageRequest::mutable_msg()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_msg();
  // @@protoc_insertion_point(field_mutable:np2_structs.SendRoomMessageRequest.msg)
  return _s;
}
inline const ::std::string& SendRoomMessageRequest::_internal_msg() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.msg_.Get();
}
inline void SendRoomMessageRequest::_internal_set_msg(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.msg_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SendRoomMessageRequest::_internal_mutable_msg() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.msg_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SendRoomMessageRequest::release_msg() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SendRoomMessageRequest.msg)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.msg_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.msg_.Set("", GetArena());
  }
  return released;
}
inline void SendRoomMessageRequest::set_allocated_msg(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.msg_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.msg_.IsDefault()) {
    _impl_.msg_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SendRoomMessageRequest.msg)
}

// .np2_structs.uint8 option = 5;
inline bool SendRoomMessageRequest::has_option() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.option_ != nullptr);
  return value;
}
inline void SendRoomMessageRequest::clear_option() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.option_ != nullptr) _impl_.option_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::np2_structs::uint8& SendRoomMessageRequest::_internal_option() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.option_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& SendRoomMessageRequest::option() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SendRoomMessageRequest.option)
  return _internal_option();
}
inline void SendRoomMessageRequest::unsafe_arena_set_allocated_option(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.option_);
  }
  _impl_.option_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.SendRoomMessageRequest.option)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE SendRoomMessageRequest::release_option() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::uint8* released = _impl_.option_;
  _impl_.option_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE SendRoomMessageRequest::unsafe_arena_release_option() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SendRoomMessageRequest.option)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::uint8* temp = _impl_.option_;
  _impl_.option_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL SendRoomMessageRequest::_internal_mutable_option() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.option_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.option_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.option_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL SendRoomMessageRequest::mutable_option()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::uint8* _msg = _internal_mutable_option();
  // @@protoc_insertion_point(field_mutable:np2_structs.SendRoomMessageRequest.option)
  return _msg;
}
inline void SendRoomMessageRequest::set_allocated_option(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.option_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.option_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SendRoomMessageRequest.option)
}

// -------------------------------------------------------------------

// RoomMessageInfo

// bool filtered = 1;
inline void RoomMessageInfo::clear_filtered() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.filtered_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline bool RoomMessageInfo::filtered() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMessageInfo.filtered)
  return _internal_filtered();
}
inline void RoomMessageInfo::set_filtered(bool value) {
  _internal_set_filtered(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomMessageInfo.filtered)
}
inline bool RoomMessageInfo::_internal_filtered() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.filtered_;
}
inline void RoomMessageInfo::_internal_set_filtered(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.filtered_ = value;
}

// .np2_structs.uint8 castType = 2;
inline bool RoomMessageInfo::has_casttype() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.casttype_ != nullptr);
  return value;
}
inline void RoomMessageInfo::clear_casttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.casttype_ != nullptr) _impl_.casttype_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::uint8& RoomMessageInfo::_internal_casttype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.casttype_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomMessageInfo::casttype() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMessageInfo.castType)
  return _internal_casttype();
}
inline void RoomMessageInfo::unsafe_arena_set_allocated_casttype(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.casttype_);
  }
  _impl_.casttype_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMessageInfo.castType)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMessageInfo::release_casttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* released = _impl_.casttype_;
  _impl_.casttype_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMessageInfo::unsafe_arena_release_casttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMessageInfo.castType)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* temp = _impl_.casttype_;
  _impl_.casttype_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMessageInfo::_internal_mutable_casttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.casttype_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.casttype_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.casttype_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMessageInfo::mutable_casttype()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::uint8* _msg = _internal_mutable_casttype();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMessageInfo.castType)
  return _msg;
}
inline void RoomMessageInfo::set_allocated_casttype(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.casttype_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.casttype_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMessageInfo.castType)
}

// repeated .np2_structs.uint16 dst = 3;
inline int RoomMessageInfo::_internal_dst_size() const {
  return _internal_dst().size();
}
inline int RoomMessageInfo::dst_size() const {
  return _internal_dst_size();
}
inline void RoomMessageInfo::clear_dst() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.dst_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomMessageInfo::mutable_dst(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMessageInfo.dst)
  return _internal_mutable_dst()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL RoomMessageInfo::mutable_dst()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.RoomMessageInfo.dst)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_dst();
}
inline const ::np2_structs::uint16& RoomMessageInfo::dst(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMessageInfo.dst)
  return _internal_dst().Get(index);
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL RoomMessageInfo::add_dst()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::uint16* _add =
      _internal_mutable_dst()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.RoomMessageInfo.dst)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>& RoomMessageInfo::dst() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.RoomMessageInfo.dst)
  return _internal_dst();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>&
RoomMessageInfo::_internal_dst() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.dst_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::uint16>* PROTOBUF_NONNULL
RoomMessageInfo::_internal_mutable_dst() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.dst_;
}

// .np2_structs.UserInfo srcMember = 4;
inline bool RoomMessageInfo::has_srcmember() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.srcmember_ != nullptr);
  return value;
}
inline void RoomMessageInfo::clear_srcmember() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.srcmember_ != nullptr) _impl_.srcmember_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::np2_structs::UserInfo& RoomMessageInfo::_internal_srcmember() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::UserInfo* p = _impl_.srcmember_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::UserInfo&>(::np2_structs::_UserInfo_default_instance_);
}
inline const ::np2_structs::UserInfo& RoomMessageInfo::srcmember() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMessageInfo.srcMember)
  return _internal_srcmember();
}
inline void RoomMessageInfo::unsafe_arena_set_allocated_srcmember(
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.srcmember_);
  }
  _impl_.srcmember_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMessageInfo.srcMember)
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE RoomMessageInfo::release_srcmember() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::UserInfo* released = _impl_.srcmember_;
  _impl_.srcmember_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE RoomMessageInfo::unsafe_arena_release_srcmember() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMessageInfo.srcMember)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::UserInfo* temp = _impl_.srcmember_;
  _impl_.srcmember_ = nullptr;
  return temp;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL RoomMessageInfo::_internal_mutable_srcmember() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.srcmember_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::UserInfo>(GetArena());
    _impl_.srcmember_ = reinterpret_cast<::np2_structs::UserInfo*>(p);
  }
  return _impl_.srcmember_;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL RoomMessageInfo::mutable_srcmember()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::UserInfo* _msg = _internal_mutable_srcmember();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMessageInfo.srcMember)
  return _msg;
}
inline void RoomMessageInfo::set_allocated_srcmember(::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.srcmember_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.srcmember_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMessageInfo.srcMember)
}

// bytes msg = 5;
inline void RoomMessageInfo::clear_msg() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.msg_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& RoomMessageInfo::msg() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMessageInfo.msg)
  return _internal_msg();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RoomMessageInfo::set_msg(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.msg_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.RoomMessageInfo.msg)
}
inline ::std::string* PROTOBUF_NONNULL RoomMessageInfo::mutable_msg()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_msg();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMessageInfo.msg)
  return _s;
}
inline const ::std::string& RoomMessageInfo::_internal_msg() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.msg_.Get();
}
inline void RoomMessageInfo::_internal_set_msg(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.msg_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RoomMessageInfo::_internal_mutable_msg() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.msg_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RoomMessageInfo::release_msg() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMessageInfo.msg)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.msg_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.msg_.Set("", GetArena());
  }
  return released;
}
inline void RoomMessageInfo::set_allocated_msg(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.msg_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.msg_.IsDefault()) {
    _impl_.msg_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMessageInfo.msg)
}

// -------------------------------------------------------------------

// MessageDetails

// string communicationId = 1;
inline void MessageDetails::clear_communicationid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.communicationid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& MessageDetails::communicationid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MessageDetails.communicationId)
  return _internal_communicationid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MessageDetails::set_communicationid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.communicationid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MessageDetails.communicationId)
}
inline ::std::string* PROTOBUF_NONNULL MessageDetails::mutable_communicationid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_communicationid();
  // @@protoc_insertion_point(field_mutable:np2_structs.MessageDetails.communicationId)
  return _s;
}
inline const ::std::string& MessageDetails::_internal_communicationid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.communicationid_.Get();
}
inline void MessageDetails::_internal_set_communicationid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.communicationid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MessageDetails::_internal_mutable_communicationid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.communicationid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MessageDetails::release_communicationid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MessageDetails.communicationId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.communicationid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.communicationid_.Set("", GetArena());
  }
  return released;
}
inline void MessageDetails::set_allocated_communicationid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.communicationid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.communicationid_.IsDefault()) {
    _impl_.communicationid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MessageDetails.communicationId)
}

// uint64 msgId = 2;
inline void MessageDetails::clear_msgid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.msgid_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000040U);
}
inline ::uint64_t MessageDetails::msgid() const {
  // @@protoc_insertion_point(field_get:np2_structs.MessageDetails.msgId)
  return _internal_msgid();
}
inline void MessageDetails::set_msgid(::uint64_t value) {
  _internal_set_msgid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:np2_structs.MessageDetails.msgId)
}
inline ::uint64_t MessageDetails::_internal_msgid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.msgid_;
}
inline void MessageDetails::_internal_set_msgid(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.msgid_ = value;
}

// .np2_structs.uint16 mainType = 3;
inline bool MessageDetails::has_maintype() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.maintype_ != nullptr);
  return value;
}
inline void MessageDetails::clear_maintype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.maintype_ != nullptr) _impl_.maintype_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline const ::np2_structs::uint16& MessageDetails::_internal_maintype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.maintype_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& MessageDetails::maintype() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MessageDetails.mainType)
  return _internal_maintype();
}
inline void MessageDetails::unsafe_arena_set_allocated_maintype(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.maintype_);
  }
  _impl_.maintype_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.MessageDetails.mainType)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE MessageDetails::release_maintype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* released = _impl_.maintype_;
  _impl_.maintype_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE MessageDetails::unsafe_arena_release_maintype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MessageDetails.mainType)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* temp = _impl_.maintype_;
  _impl_.maintype_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL MessageDetails::_internal_mutable_maintype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.maintype_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.maintype_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.maintype_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL MessageDetails::mutable_maintype()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::uint16* _msg = _internal_mutable_maintype();
  // @@protoc_insertion_point(field_mutable:np2_structs.MessageDetails.mainType)
  return _msg;
}
inline void MessageDetails::set_allocated_maintype(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.maintype_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.maintype_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MessageDetails.mainType)
}

// .np2_structs.uint16 subType = 4;
inline bool MessageDetails::has_subtype() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000020U);
  PROTOBUF_ASSUME(!value || _impl_.subtype_ != nullptr);
  return value;
}
inline void MessageDetails::clear_subtype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.subtype_ != nullptr) _impl_.subtype_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline const ::np2_structs::uint16& MessageDetails::_internal_subtype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint16* p = _impl_.subtype_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint16&>(::np2_structs::_uint16_default_instance_);
}
inline const ::np2_structs::uint16& MessageDetails::subtype() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MessageDetails.subType)
  return _internal_subtype();
}
inline void MessageDetails::unsafe_arena_set_allocated_subtype(
    ::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subtype_);
  }
  _impl_.subtype_ = reinterpret_cast<::np2_structs::uint16*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.MessageDetails.subType)
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE MessageDetails::release_subtype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::np2_structs::uint16* released = _impl_.subtype_;
  _impl_.subtype_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint16* PROTOBUF_NULLABLE MessageDetails::unsafe_arena_release_subtype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MessageDetails.subType)

  ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::np2_structs::uint16* temp = _impl_.subtype_;
  _impl_.subtype_ = nullptr;
  return temp;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL MessageDetails::_internal_mutable_subtype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.subtype_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint16>(GetArena());
    _impl_.subtype_ = reinterpret_cast<::np2_structs::uint16*>(p);
  }
  return _impl_.subtype_;
}
inline ::np2_structs::uint16* PROTOBUF_NONNULL MessageDetails::mutable_subtype()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  ::np2_structs::uint16* _msg = _internal_mutable_subtype();
  // @@protoc_insertion_point(field_mutable:np2_structs.MessageDetails.subType)
  return _msg;
}
inline void MessageDetails::set_allocated_subtype(::np2_structs::uint16* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.subtype_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000020U);
  }

  _impl_.subtype_ = reinterpret_cast<::np2_structs::uint16*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MessageDetails.subType)
}

// uint32 msgFeatures = 5;
inline void MessageDetails::clear_msgfeatures() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.msgfeatures_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000080U);
}
inline ::uint32_t MessageDetails::msgfeatures() const {
  // @@protoc_insertion_point(field_get:np2_structs.MessageDetails.msgFeatures)
  return _internal_msgfeatures();
}
inline void MessageDetails::set_msgfeatures(::uint32_t value) {
  _internal_set_msgfeatures(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000080U);
  // @@protoc_insertion_point(field_set:np2_structs.MessageDetails.msgFeatures)
}
inline ::uint32_t MessageDetails::_internal_msgfeatures() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.msgfeatures_;
}
inline void MessageDetails::_internal_set_msgfeatures(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.msgfeatures_ = value;
}

// string subject = 6;
inline void MessageDetails::clear_subject() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.subject_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& MessageDetails::subject() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MessageDetails.subject)
  return _internal_subject();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MessageDetails::set_subject(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.subject_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MessageDetails.subject)
}
inline ::std::string* PROTOBUF_NONNULL MessageDetails::mutable_subject()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_subject();
  // @@protoc_insertion_point(field_mutable:np2_structs.MessageDetails.subject)
  return _s;
}
inline const ::std::string& MessageDetails::_internal_subject() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.subject_.Get();
}
inline void MessageDetails::_internal_set_subject(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.subject_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MessageDetails::_internal_mutable_subject() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.subject_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MessageDetails::release_subject() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MessageDetails.subject)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.subject_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.subject_.Set("", GetArena());
  }
  return released;
}
inline void MessageDetails::set_allocated_subject(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.subject_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.subject_.IsDefault()) {
    _impl_.subject_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MessageDetails.subject)
}

// string body = 7;
inline void MessageDetails::clear_body() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.body_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::std::string& MessageDetails::body() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MessageDetails.body)
  return _internal_body();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MessageDetails::set_body(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.body_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MessageDetails.body)
}
inline ::std::string* PROTOBUF_NONNULL MessageDetails::mutable_body()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_body();
  // @@protoc_insertion_point(field_mutable:np2_structs.MessageDetails.body)
  return _s;
}
inline const ::std::string& MessageDetails::_internal_body() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.body_.Get();
}
inline void MessageDetails::_internal_set_body(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.body_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MessageDetails::_internal_mutable_body() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.body_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MessageDetails::release_body() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MessageDetails.body)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.body_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.body_.Set("", GetArena());
  }
  return released;
}
inline void MessageDetails::set_allocated_body(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.body_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.body_.IsDefault()) {
    _impl_.body_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MessageDetails.body)
}

// bytes data = 8;
inline void MessageDetails::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::std::string& MessageDetails::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MessageDetails.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MessageDetails::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MessageDetails.data)
}
inline ::std::string* PROTOBUF_NONNULL MessageDetails::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.MessageDetails.data)
  return _s;
}
inline const ::std::string& MessageDetails::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void MessageDetails::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MessageDetails::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MessageDetails::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MessageDetails.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void MessageDetails::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MessageDetails.data)
}

// -------------------------------------------------------------------

// SendMessageRequest

// bytes message = 1;
inline void SendMessageRequest::clear_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& SendMessageRequest::message() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SendMessageRequest.message)
  return _internal_message();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SendMessageRequest::set_message(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.message_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.SendMessageRequest.message)
}
inline ::std::string* PROTOBUF_NONNULL SendMessageRequest::mutable_message()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_message();
  // @@protoc_insertion_point(field_mutable:np2_structs.SendMessageRequest.message)
  return _s;
}
inline const ::std::string& SendMessageRequest::_internal_message() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.message_.Get();
}
inline void SendMessageRequest::_internal_set_message(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.message_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SendMessageRequest::_internal_mutable_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.message_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SendMessageRequest::release_message() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SendMessageRequest.message)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.message_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.message_.Set("", GetArena());
  }
  return released;
}
inline void SendMessageRequest::set_allocated_message(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.message_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.message_.IsDefault()) {
    _impl_.message_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SendMessageRequest.message)
}

// repeated string npids = 2;
inline int SendMessageRequest::_internal_npids_size() const {
  return _internal_npids().size();
}
inline int SendMessageRequest::npids_size() const {
  return _internal_npids_size();
}
inline void SendMessageRequest::clear_npids() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npids_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::std::string* PROTOBUF_NONNULL SendMessageRequest::add_npids()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_npids()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add_mutable:np2_structs.SendMessageRequest.npids)
  return _s;
}
inline const ::std::string& SendMessageRequest::npids(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SendMessageRequest.npids)
  return _internal_npids().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL SendMessageRequest::mutable_npids(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SendMessageRequest.npids)
  return _internal_mutable_npids()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void SendMessageRequest::set_npids(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_npids()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:np2_structs.SendMessageRequest.npids)
}
template <typename Arg_, typename... Args_>
inline void SendMessageRequest::add_npids(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_npids(), ::std::forward<Arg_>(value),
      args... );
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SendMessageRequest.npids)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& SendMessageRequest::npids()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SendMessageRequest.npids)
  return _internal_npids();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
SendMessageRequest::mutable_npids() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SendMessageRequest.npids)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_npids();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
SendMessageRequest::_internal_npids() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.npids_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
SendMessageRequest::_internal_mutable_npids() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.npids_;
}

// -------------------------------------------------------------------

// BoardInfo

// uint32 rankLimit = 1;
inline void BoardInfo::clear_ranklimit() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ranklimit_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint32_t BoardInfo::ranklimit() const {
  // @@protoc_insertion_point(field_get:np2_structs.BoardInfo.rankLimit)
  return _internal_ranklimit();
}
inline void BoardInfo::set_ranklimit(::uint32_t value) {
  _internal_set_ranklimit(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.BoardInfo.rankLimit)
}
inline ::uint32_t BoardInfo::_internal_ranklimit() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ranklimit_;
}
inline void BoardInfo::_internal_set_ranklimit(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ranklimit_ = value;
}

// uint32 updateMode = 2;
inline void BoardInfo::clear_updatemode() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.updatemode_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t BoardInfo::updatemode() const {
  // @@protoc_insertion_point(field_get:np2_structs.BoardInfo.updateMode)
  return _internal_updatemode();
}
inline void BoardInfo::set_updatemode(::uint32_t value) {
  _internal_set_updatemode(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.BoardInfo.updateMode)
}
inline ::uint32_t BoardInfo::_internal_updatemode() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.updatemode_;
}
inline void BoardInfo::_internal_set_updatemode(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.updatemode_ = value;
}

// uint32 sortMode = 3;
inline void BoardInfo::clear_sortmode() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sortmode_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t BoardInfo::sortmode() const {
  // @@protoc_insertion_point(field_get:np2_structs.BoardInfo.sortMode)
  return _internal_sortmode();
}
inline void BoardInfo::set_sortmode(::uint32_t value) {
  _internal_set_sortmode(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.BoardInfo.sortMode)
}
inline ::uint32_t BoardInfo::_internal_sortmode() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.sortmode_;
}
inline void BoardInfo::_internal_set_sortmode(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sortmode_ = value;
}

// uint32 uploadNumLimit = 4;
inline void BoardInfo::clear_uploadnumlimit() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.uploadnumlimit_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t BoardInfo::uploadnumlimit() const {
  // @@protoc_insertion_point(field_get:np2_structs.BoardInfo.uploadNumLimit)
  return _internal_uploadnumlimit();
}
inline void BoardInfo::set_uploadnumlimit(::uint32_t value) {
  _internal_set_uploadnumlimit(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.BoardInfo.uploadNumLimit)
}
inline ::uint32_t BoardInfo::_internal_uploadnumlimit() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.uploadnumlimit_;
}
inline void BoardInfo::_internal_set_uploadnumlimit(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.uploadnumlimit_ = value;
}

// uint32 uploadSizeLimit = 5;
inline void BoardInfo::clear_uploadsizelimit() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.uploadsizelimit_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::uint32_t BoardInfo::uploadsizelimit() const {
  // @@protoc_insertion_point(field_get:np2_structs.BoardInfo.uploadSizeLimit)
  return _internal_uploadsizelimit();
}
inline void BoardInfo::set_uploadsizelimit(::uint32_t value) {
  _internal_set_uploadsizelimit(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.BoardInfo.uploadSizeLimit)
}
inline ::uint32_t BoardInfo::_internal_uploadsizelimit() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.uploadsizelimit_;
}
inline void BoardInfo::_internal_set_uploadsizelimit(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.uploadsizelimit_ = value;
}

// -------------------------------------------------------------------

// RecordScoreRequest

// uint32 boardId = 1;
inline void RecordScoreRequest::clear_boardid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t RecordScoreRequest::boardid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RecordScoreRequest.boardId)
  return _internal_boardid();
}
inline void RecordScoreRequest::set_boardid(::uint32_t value) {
  _internal_set_boardid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.RecordScoreRequest.boardId)
}
inline ::uint32_t RecordScoreRequest::_internal_boardid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.boardid_;
}
inline void RecordScoreRequest::_internal_set_boardid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = value;
}

// int32 pcId = 2;
inline void RecordScoreRequest::clear_pcid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::int32_t RecordScoreRequest::pcid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RecordScoreRequest.pcId)
  return _internal_pcid();
}
inline void RecordScoreRequest::set_pcid(::int32_t value) {
  _internal_set_pcid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.RecordScoreRequest.pcId)
}
inline ::int32_t RecordScoreRequest::_internal_pcid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pcid_;
}
inline void RecordScoreRequest::_internal_set_pcid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = value;
}

// int64 score = 3;
inline void RecordScoreRequest::clear_score() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.score_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::int64_t RecordScoreRequest::score() const {
  // @@protoc_insertion_point(field_get:np2_structs.RecordScoreRequest.score)
  return _internal_score();
}
inline void RecordScoreRequest::set_score(::int64_t value) {
  _internal_set_score(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.RecordScoreRequest.score)
}
inline ::int64_t RecordScoreRequest::_internal_score() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.score_;
}
inline void RecordScoreRequest::_internal_set_score(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.score_ = value;
}

// string comment = 4;
inline void RecordScoreRequest::clear_comment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comment_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& RecordScoreRequest::comment() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RecordScoreRequest.comment)
  return _internal_comment();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RecordScoreRequest::set_comment(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.comment_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.RecordScoreRequest.comment)
}
inline ::std::string* PROTOBUF_NONNULL RecordScoreRequest::mutable_comment()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_comment();
  // @@protoc_insertion_point(field_mutable:np2_structs.RecordScoreRequest.comment)
  return _s;
}
inline const ::std::string& RecordScoreRequest::_internal_comment() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.comment_.Get();
}
inline void RecordScoreRequest::_internal_set_comment(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comment_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RecordScoreRequest::_internal_mutable_comment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.comment_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RecordScoreRequest::release_comment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RecordScoreRequest.comment)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.comment_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.comment_.Set("", GetArena());
  }
  return released;
}
inline void RecordScoreRequest::set_allocated_comment(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.comment_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.comment_.IsDefault()) {
    _impl_.comment_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RecordScoreRequest.comment)
}

// bytes data = 5;
inline void RecordScoreRequest::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& RecordScoreRequest::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RecordScoreRequest.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void RecordScoreRequest::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.RecordScoreRequest.data)
}
inline ::std::string* PROTOBUF_NONNULL RecordScoreRequest::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.RecordScoreRequest.data)
  return _s;
}
inline const ::std::string& RecordScoreRequest::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void RecordScoreRequest::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL RecordScoreRequest::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE RecordScoreRequest::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RecordScoreRequest.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void RecordScoreRequest::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RecordScoreRequest.data)
}

// -------------------------------------------------------------------

// GetScoreRangeRequest

// uint32 boardId = 1;
inline void GetScoreRangeRequest::clear_boardid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint32_t GetScoreRangeRequest::boardid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreRangeRequest.boardId)
  return _internal_boardid();
}
inline void GetScoreRangeRequest::set_boardid(::uint32_t value) {
  _internal_set_boardid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreRangeRequest.boardId)
}
inline ::uint32_t GetScoreRangeRequest::_internal_boardid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.boardid_;
}
inline void GetScoreRangeRequest::_internal_set_boardid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = value;
}

// uint32 startRank = 2;
inline void GetScoreRangeRequest::clear_startrank() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.startrank_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t GetScoreRangeRequest::startrank() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreRangeRequest.startRank)
  return _internal_startrank();
}
inline void GetScoreRangeRequest::set_startrank(::uint32_t value) {
  _internal_set_startrank(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreRangeRequest.startRank)
}
inline ::uint32_t GetScoreRangeRequest::_internal_startrank() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.startrank_;
}
inline void GetScoreRangeRequest::_internal_set_startrank(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.startrank_ = value;
}

// uint32 numRanks = 3;
inline void GetScoreRangeRequest::clear_numranks() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.numranks_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t GetScoreRangeRequest::numranks() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreRangeRequest.numRanks)
  return _internal_numranks();
}
inline void GetScoreRangeRequest::set_numranks(::uint32_t value) {
  _internal_set_numranks(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreRangeRequest.numRanks)
}
inline ::uint32_t GetScoreRangeRequest::_internal_numranks() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.numranks_;
}
inline void GetScoreRangeRequest::_internal_set_numranks(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.numranks_ = value;
}

// bool withComment = 4;
inline void GetScoreRangeRequest::clear_withcomment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withcomment_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline bool GetScoreRangeRequest::withcomment() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreRangeRequest.withComment)
  return _internal_withcomment();
}
inline void GetScoreRangeRequest::set_withcomment(bool value) {
  _internal_set_withcomment(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreRangeRequest.withComment)
}
inline bool GetScoreRangeRequest::_internal_withcomment() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withcomment_;
}
inline void GetScoreRangeRequest::_internal_set_withcomment(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withcomment_ = value;
}

// bool withGameInfo = 5;
inline void GetScoreRangeRequest::clear_withgameinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withgameinfo_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline bool GetScoreRangeRequest::withgameinfo() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreRangeRequest.withGameInfo)
  return _internal_withgameinfo();
}
inline void GetScoreRangeRequest::set_withgameinfo(bool value) {
  _internal_set_withgameinfo(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreRangeRequest.withGameInfo)
}
inline bool GetScoreRangeRequest::_internal_withgameinfo() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withgameinfo_;
}
inline void GetScoreRangeRequest::_internal_set_withgameinfo(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withgameinfo_ = value;
}

// -------------------------------------------------------------------

// ScoreNpIdPcId

// string npid = 1;
inline void ScoreNpIdPcId::clear_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& ScoreNpIdPcId::npid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreNpIdPcId.npid)
  return _internal_npid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ScoreNpIdPcId::set_npid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.npid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.ScoreNpIdPcId.npid)
}
inline ::std::string* PROTOBUF_NONNULL ScoreNpIdPcId::mutable_npid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_npid();
  // @@protoc_insertion_point(field_mutable:np2_structs.ScoreNpIdPcId.npid)
  return _s;
}
inline const ::std::string& ScoreNpIdPcId::_internal_npid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.npid_.Get();
}
inline void ScoreNpIdPcId::_internal_set_npid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ScoreNpIdPcId::_internal_mutable_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.npid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ScoreNpIdPcId::release_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.ScoreNpIdPcId.npid)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.npid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.npid_.Set("", GetArena());
  }
  return released;
}
inline void ScoreNpIdPcId::set_allocated_npid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.npid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.npid_.IsDefault()) {
    _impl_.npid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.ScoreNpIdPcId.npid)
}

// int32 pcId = 2;
inline void ScoreNpIdPcId::clear_pcid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::int32_t ScoreNpIdPcId::pcid() const {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreNpIdPcId.pcId)
  return _internal_pcid();
}
inline void ScoreNpIdPcId::set_pcid(::int32_t value) {
  _internal_set_pcid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.ScoreNpIdPcId.pcId)
}
inline ::int32_t ScoreNpIdPcId::_internal_pcid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pcid_;
}
inline void ScoreNpIdPcId::_internal_set_pcid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = value;
}

// -------------------------------------------------------------------

// GetScoreNpIdRequest

// uint32 boardId = 1;
inline void GetScoreNpIdRequest::clear_boardid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t GetScoreNpIdRequest::boardid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreNpIdRequest.boardId)
  return _internal_boardid();
}
inline void GetScoreNpIdRequest::set_boardid(::uint32_t value) {
  _internal_set_boardid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreNpIdRequest.boardId)
}
inline ::uint32_t GetScoreNpIdRequest::_internal_boardid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.boardid_;
}
inline void GetScoreNpIdRequest::_internal_set_boardid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = value;
}

// repeated .np2_structs.ScoreNpIdPcId npids = 2;
inline int GetScoreNpIdRequest::_internal_npids_size() const {
  return _internal_npids().size();
}
inline int GetScoreNpIdRequest::npids_size() const {
  return _internal_npids_size();
}
inline void GetScoreNpIdRequest::clear_npids() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npids_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::ScoreNpIdPcId* PROTOBUF_NONNULL GetScoreNpIdRequest::mutable_npids(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetScoreNpIdRequest.npids)
  return _internal_mutable_npids()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreNpIdPcId>* PROTOBUF_NONNULL GetScoreNpIdRequest::mutable_npids()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetScoreNpIdRequest.npids)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_npids();
}
inline const ::np2_structs::ScoreNpIdPcId& GetScoreNpIdRequest::npids(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreNpIdRequest.npids)
  return _internal_npids().Get(index);
}
inline ::np2_structs::ScoreNpIdPcId* PROTOBUF_NONNULL GetScoreNpIdRequest::add_npids()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::ScoreNpIdPcId* _add =
      _internal_mutable_npids()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.GetScoreNpIdRequest.npids)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreNpIdPcId>& GetScoreNpIdRequest::npids() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetScoreNpIdRequest.npids)
  return _internal_npids();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreNpIdPcId>&
GetScoreNpIdRequest::_internal_npids() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.npids_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreNpIdPcId>* PROTOBUF_NONNULL
GetScoreNpIdRequest::_internal_mutable_npids() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.npids_;
}

// bool withComment = 3;
inline void GetScoreNpIdRequest::clear_withcomment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withcomment_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline bool GetScoreNpIdRequest::withcomment() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreNpIdRequest.withComment)
  return _internal_withcomment();
}
inline void GetScoreNpIdRequest::set_withcomment(bool value) {
  _internal_set_withcomment(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreNpIdRequest.withComment)
}
inline bool GetScoreNpIdRequest::_internal_withcomment() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withcomment_;
}
inline void GetScoreNpIdRequest::_internal_set_withcomment(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withcomment_ = value;
}

// bool withGameInfo = 4;
inline void GetScoreNpIdRequest::clear_withgameinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withgameinfo_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline bool GetScoreNpIdRequest::withgameinfo() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreNpIdRequest.withGameInfo)
  return _internal_withgameinfo();
}
inline void GetScoreNpIdRequest::set_withgameinfo(bool value) {
  _internal_set_withgameinfo(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreNpIdRequest.withGameInfo)
}
inline bool GetScoreNpIdRequest::_internal_withgameinfo() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withgameinfo_;
}
inline void GetScoreNpIdRequest::_internal_set_withgameinfo(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withgameinfo_ = value;
}

// -------------------------------------------------------------------

// GetScoreFriendsRequest

// uint32 boardId = 1;
inline void GetScoreFriendsRequest::clear_boardid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint32_t GetScoreFriendsRequest::boardid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreFriendsRequest.boardId)
  return _internal_boardid();
}
inline void GetScoreFriendsRequest::set_boardid(::uint32_t value) {
  _internal_set_boardid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreFriendsRequest.boardId)
}
inline ::uint32_t GetScoreFriendsRequest::_internal_boardid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.boardid_;
}
inline void GetScoreFriendsRequest::_internal_set_boardid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = value;
}

// bool include_self = 2;
inline void GetScoreFriendsRequest::clear_include_self() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.include_self_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline bool GetScoreFriendsRequest::include_self() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreFriendsRequest.include_self)
  return _internal_include_self();
}
inline void GetScoreFriendsRequest::set_include_self(bool value) {
  _internal_set_include_self(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreFriendsRequest.include_self)
}
inline bool GetScoreFriendsRequest::_internal_include_self() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.include_self_;
}
inline void GetScoreFriendsRequest::_internal_set_include_self(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.include_self_ = value;
}

// uint32 max = 3;
inline void GetScoreFriendsRequest::clear_max() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t GetScoreFriendsRequest::max() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreFriendsRequest.max)
  return _internal_max();
}
inline void GetScoreFriendsRequest::set_max(::uint32_t value) {
  _internal_set_max(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreFriendsRequest.max)
}
inline ::uint32_t GetScoreFriendsRequest::_internal_max() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.max_;
}
inline void GetScoreFriendsRequest::_internal_set_max(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.max_ = value;
}

// bool withComment = 4;
inline void GetScoreFriendsRequest::clear_withcomment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withcomment_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline bool GetScoreFriendsRequest::withcomment() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreFriendsRequest.withComment)
  return _internal_withcomment();
}
inline void GetScoreFriendsRequest::set_withcomment(bool value) {
  _internal_set_withcomment(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreFriendsRequest.withComment)
}
inline bool GetScoreFriendsRequest::_internal_withcomment() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withcomment_;
}
inline void GetScoreFriendsRequest::_internal_set_withcomment(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withcomment_ = value;
}

// bool withGameInfo = 5;
inline void GetScoreFriendsRequest::clear_withgameinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withgameinfo_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline bool GetScoreFriendsRequest::withgameinfo() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreFriendsRequest.withGameInfo)
  return _internal_withgameinfo();
}
inline void GetScoreFriendsRequest::set_withgameinfo(bool value) {
  _internal_set_withgameinfo(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreFriendsRequest.withGameInfo)
}
inline bool GetScoreFriendsRequest::_internal_withgameinfo() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.withgameinfo_;
}
inline void GetScoreFriendsRequest::_internal_set_withgameinfo(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.withgameinfo_ = value;
}

// -------------------------------------------------------------------

// ScoreRankData

// string npId = 1;
inline void ScoreRankData::clear_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& ScoreRankData::npid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreRankData.npId)
  return _internal_npid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ScoreRankData::set_npid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.npid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.ScoreRankData.npId)
}
inline ::std::string* PROTOBUF_NONNULL ScoreRankData::mutable_npid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_npid();
  // @@protoc_insertion_point(field_mutable:np2_structs.ScoreRankData.npId)
  return _s;
}
inline const ::std::string& ScoreRankData::_internal_npid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.npid_.Get();
}
inline void ScoreRankData::_internal_set_npid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ScoreRankData::_internal_mutable_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.npid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ScoreRankData::release_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.ScoreRankData.npId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.npid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.npid_.Set("", GetArena());
  }
  return released;
}
inline void ScoreRankData::set_allocated_npid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.npid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.npid_.IsDefault()) {
    _impl_.npid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.ScoreRankData.npId)
}

// string onlineName = 2;
inline void ScoreRankData::clear_onlinename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.onlinename_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& ScoreRankData::onlinename() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreRankData.onlineName)
  return _internal_onlinename();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ScoreRankData::set_onlinename(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.onlinename_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.ScoreRankData.onlineName)
}
inline ::std::string* PROTOBUF_NONNULL ScoreRankData::mutable_onlinename()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_onlinename();
  // @@protoc_insertion_point(field_mutable:np2_structs.ScoreRankData.onlineName)
  return _s;
}
inline const ::std::string& ScoreRankData::_internal_onlinename() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.onlinename_.Get();
}
inline void ScoreRankData::_internal_set_onlinename(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.onlinename_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ScoreRankData::_internal_mutable_onlinename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.onlinename_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ScoreRankData::release_onlinename() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.ScoreRankData.onlineName)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.onlinename_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.onlinename_.Set("", GetArena());
  }
  return released;
}
inline void ScoreRankData::set_allocated_onlinename(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.onlinename_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.onlinename_.IsDefault()) {
    _impl_.onlinename_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.ScoreRankData.onlineName)
}

// int32 pcId = 3;
inline void ScoreRankData::clear_pcid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::int32_t ScoreRankData::pcid() const {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreRankData.pcId)
  return _internal_pcid();
}
inline void ScoreRankData::set_pcid(::int32_t value) {
  _internal_set_pcid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.ScoreRankData.pcId)
}
inline ::int32_t ScoreRankData::_internal_pcid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pcid_;
}
inline void ScoreRankData::_internal_set_pcid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = value;
}

// uint32 rank = 4;
inline void ScoreRankData::clear_rank() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rank_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t ScoreRankData::rank() const {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreRankData.rank)
  return _internal_rank();
}
inline void ScoreRankData::set_rank(::uint32_t value) {
  _internal_set_rank(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.ScoreRankData.rank)
}
inline ::uint32_t ScoreRankData::_internal_rank() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rank_;
}
inline void ScoreRankData::_internal_set_rank(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rank_ = value;
}

// int64 score = 5;
inline void ScoreRankData::clear_score() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.score_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::int64_t ScoreRankData::score() const {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreRankData.score)
  return _internal_score();
}
inline void ScoreRankData::set_score(::int64_t value) {
  _internal_set_score(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.ScoreRankData.score)
}
inline ::int64_t ScoreRankData::_internal_score() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.score_;
}
inline void ScoreRankData::_internal_set_score(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.score_ = value;
}

// bool hasGameData = 6;
inline void ScoreRankData::clear_hasgamedata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hasgamedata_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000040U);
}
inline bool ScoreRankData::hasgamedata() const {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreRankData.hasGameData)
  return _internal_hasgamedata();
}
inline void ScoreRankData::set_hasgamedata(bool value) {
  _internal_set_hasgamedata(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:np2_structs.ScoreRankData.hasGameData)
}
inline bool ScoreRankData::_internal_hasgamedata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.hasgamedata_;
}
inline void ScoreRankData::_internal_set_hasgamedata(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hasgamedata_ = value;
}

// uint64 recordDate = 7;
inline void ScoreRankData::clear_recorddate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.recorddate_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::uint64_t ScoreRankData::recorddate() const {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreRankData.recordDate)
  return _internal_recorddate();
}
inline void ScoreRankData::set_recorddate(::uint64_t value) {
  _internal_set_recorddate(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.ScoreRankData.recordDate)
}
inline ::uint64_t ScoreRankData::_internal_recorddate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.recorddate_;
}
inline void ScoreRankData::_internal_set_recorddate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.recorddate_ = value;
}

// -------------------------------------------------------------------

// ScoreInfo

// bytes data = 1;
inline void ScoreInfo::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& ScoreInfo::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.ScoreInfo.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void ScoreInfo::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.ScoreInfo.data)
}
inline ::std::string* PROTOBUF_NONNULL ScoreInfo::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.ScoreInfo.data)
  return _s;
}
inline const ::std::string& ScoreInfo::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void ScoreInfo::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL ScoreInfo::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE ScoreInfo::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.ScoreInfo.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void ScoreInfo::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.ScoreInfo.data)
}

// -------------------------------------------------------------------

// GetScoreResponse

// repeated .np2_structs.ScoreRankData rankArray = 1;
inline int GetScoreResponse::_internal_rankarray_size() const {
  return _internal_rankarray().size();
}
inline int GetScoreResponse::rankarray_size() const {
  return _internal_rankarray_size();
}
inline void GetScoreResponse::clear_rankarray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rankarray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::ScoreRankData* PROTOBUF_NONNULL GetScoreResponse::mutable_rankarray(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetScoreResponse.rankArray)
  return _internal_mutable_rankarray()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreRankData>* PROTOBUF_NONNULL GetScoreResponse::mutable_rankarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetScoreResponse.rankArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_rankarray();
}
inline const ::np2_structs::ScoreRankData& GetScoreResponse::rankarray(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreResponse.rankArray)
  return _internal_rankarray().Get(index);
}
inline ::np2_structs::ScoreRankData* PROTOBUF_NONNULL GetScoreResponse::add_rankarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::ScoreRankData* _add =
      _internal_mutable_rankarray()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.GetScoreResponse.rankArray)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreRankData>& GetScoreResponse::rankarray() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetScoreResponse.rankArray)
  return _internal_rankarray();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreRankData>&
GetScoreResponse::_internal_rankarray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rankarray_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreRankData>* PROTOBUF_NONNULL
GetScoreResponse::_internal_mutable_rankarray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.rankarray_;
}

// repeated string commentArray = 2;
inline int GetScoreResponse::_internal_commentarray_size() const {
  return _internal_commentarray().size();
}
inline int GetScoreResponse::commentarray_size() const {
  return _internal_commentarray_size();
}
inline void GetScoreResponse::clear_commentarray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.commentarray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::std::string* PROTOBUF_NONNULL GetScoreResponse::add_commentarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::std::string* _s =
      _internal_mutable_commentarray()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add_mutable:np2_structs.GetScoreResponse.commentArray)
  return _s;
}
inline const ::std::string& GetScoreResponse::commentarray(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreResponse.commentArray)
  return _internal_commentarray().Get(index);
}
inline ::std::string* PROTOBUF_NONNULL GetScoreResponse::mutable_commentarray(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetScoreResponse.commentArray)
  return _internal_mutable_commentarray()->Mutable(index);
}
template <typename Arg_, typename... Args_>
inline void GetScoreResponse::set_commentarray(int index, Arg_&& value, Args_... args) {
  ::google::protobuf::internal::AssignToString(*_internal_mutable_commentarray()->Mutable(index), ::std::forward<Arg_>(value),
                        args... );
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreResponse.commentArray)
}
template <typename Arg_, typename... Args_>
inline void GetScoreResponse::add_commentarray(Arg_&& value, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::google::protobuf::internal::AddToRepeatedPtrField(
      ::google::protobuf::MessageLite::internal_visibility(), GetArena(),
      *_internal_mutable_commentarray(), ::std::forward<Arg_>(value),
      args... );
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.GetScoreResponse.commentArray)
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>& GetScoreResponse::commentarray()
    const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetScoreResponse.commentArray)
  return _internal_commentarray();
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
GetScoreResponse::mutable_commentarray() ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetScoreResponse.commentArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_commentarray();
}
inline const ::google::protobuf::RepeatedPtrField<::std::string>&
GetScoreResponse::_internal_commentarray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.commentarray_;
}
inline ::google::protobuf::RepeatedPtrField<::std::string>* PROTOBUF_NONNULL
GetScoreResponse::_internal_mutable_commentarray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.commentarray_;
}

// repeated .np2_structs.ScoreInfo infoArray = 3;
inline int GetScoreResponse::_internal_infoarray_size() const {
  return _internal_infoarray().size();
}
inline int GetScoreResponse::infoarray_size() const {
  return _internal_infoarray_size();
}
inline void GetScoreResponse::clear_infoarray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.infoarray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::np2_structs::ScoreInfo* PROTOBUF_NONNULL GetScoreResponse::mutable_infoarray(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetScoreResponse.infoArray)
  return _internal_mutable_infoarray()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreInfo>* PROTOBUF_NONNULL GetScoreResponse::mutable_infoarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetScoreResponse.infoArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_infoarray();
}
inline const ::np2_structs::ScoreInfo& GetScoreResponse::infoarray(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreResponse.infoArray)
  return _internal_infoarray().Get(index);
}
inline ::np2_structs::ScoreInfo* PROTOBUF_NONNULL GetScoreResponse::add_infoarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::ScoreInfo* _add =
      _internal_mutable_infoarray()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_add:np2_structs.GetScoreResponse.infoArray)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreInfo>& GetScoreResponse::infoarray() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetScoreResponse.infoArray)
  return _internal_infoarray();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreInfo>&
GetScoreResponse::_internal_infoarray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.infoarray_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::ScoreInfo>* PROTOBUF_NONNULL
GetScoreResponse::_internal_mutable_infoarray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.infoarray_;
}

// uint64 lastSortDate = 4;
inline void GetScoreResponse::clear_lastsortdate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastsortdate_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint64_t GetScoreResponse::lastsortdate() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreResponse.lastSortDate)
  return _internal_lastsortdate();
}
inline void GetScoreResponse::set_lastsortdate(::uint64_t value) {
  _internal_set_lastsortdate(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreResponse.lastSortDate)
}
inline ::uint64_t GetScoreResponse::_internal_lastsortdate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lastsortdate_;
}
inline void GetScoreResponse::_internal_set_lastsortdate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastsortdate_ = value;
}

// uint32 totalRecord = 5;
inline void GetScoreResponse::clear_totalrecord() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.totalrecord_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::uint32_t GetScoreResponse::totalrecord() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreResponse.totalRecord)
  return _internal_totalrecord();
}
inline void GetScoreResponse::set_totalrecord(::uint32_t value) {
  _internal_set_totalrecord(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreResponse.totalRecord)
}
inline ::uint32_t GetScoreResponse::_internal_totalrecord() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.totalrecord_;
}
inline void GetScoreResponse::_internal_set_totalrecord(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.totalrecord_ = value;
}

// -------------------------------------------------------------------

// RecordScoreGameDataRequest

// uint32 boardId = 1;
inline void RecordScoreGameDataRequest::clear_boardid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint32_t RecordScoreGameDataRequest::boardid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RecordScoreGameDataRequest.boardId)
  return _internal_boardid();
}
inline void RecordScoreGameDataRequest::set_boardid(::uint32_t value) {
  _internal_set_boardid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.RecordScoreGameDataRequest.boardId)
}
inline ::uint32_t RecordScoreGameDataRequest::_internal_boardid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.boardid_;
}
inline void RecordScoreGameDataRequest::_internal_set_boardid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = value;
}

// int32 pcId = 2;
inline void RecordScoreGameDataRequest::clear_pcid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::int32_t RecordScoreGameDataRequest::pcid() const {
  // @@protoc_insertion_point(field_get:np2_structs.RecordScoreGameDataRequest.pcId)
  return _internal_pcid();
}
inline void RecordScoreGameDataRequest::set_pcid(::int32_t value) {
  _internal_set_pcid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.RecordScoreGameDataRequest.pcId)
}
inline ::int32_t RecordScoreGameDataRequest::_internal_pcid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pcid_;
}
inline void RecordScoreGameDataRequest::_internal_set_pcid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = value;
}

// int64 score = 3;
inline void RecordScoreGameDataRequest::clear_score() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.score_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::int64_t RecordScoreGameDataRequest::score() const {
  // @@protoc_insertion_point(field_get:np2_structs.RecordScoreGameDataRequest.score)
  return _internal_score();
}
inline void RecordScoreGameDataRequest::set_score(::int64_t value) {
  _internal_set_score(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.RecordScoreGameDataRequest.score)
}
inline ::int64_t RecordScoreGameDataRequest::_internal_score() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.score_;
}
inline void RecordScoreGameDataRequest::_internal_set_score(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.score_ = value;
}

// -------------------------------------------------------------------

// GetScoreGameDataRequest

// uint32 boardId = 1;
inline void GetScoreGameDataRequest::clear_boardid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t GetScoreGameDataRequest::boardid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreGameDataRequest.boardId)
  return _internal_boardid();
}
inline void GetScoreGameDataRequest::set_boardid(::uint32_t value) {
  _internal_set_boardid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreGameDataRequest.boardId)
}
inline ::uint32_t GetScoreGameDataRequest::_internal_boardid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.boardid_;
}
inline void GetScoreGameDataRequest::_internal_set_boardid(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.boardid_ = value;
}

// string npId = 2;
inline void GetScoreGameDataRequest::clear_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& GetScoreGameDataRequest::npid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreGameDataRequest.npId)
  return _internal_npid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void GetScoreGameDataRequest::set_npid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.npid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreGameDataRequest.npId)
}
inline ::std::string* PROTOBUF_NONNULL GetScoreGameDataRequest::mutable_npid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_npid();
  // @@protoc_insertion_point(field_mutable:np2_structs.GetScoreGameDataRequest.npId)
  return _s;
}
inline const ::std::string& GetScoreGameDataRequest::_internal_npid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.npid_.Get();
}
inline void GetScoreGameDataRequest::_internal_set_npid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL GetScoreGameDataRequest::_internal_mutable_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.npid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE GetScoreGameDataRequest::release_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.GetScoreGameDataRequest.npId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.npid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.npid_.Set("", GetArena());
  }
  return released;
}
inline void GetScoreGameDataRequest::set_allocated_npid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.npid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.npid_.IsDefault()) {
    _impl_.npid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.GetScoreGameDataRequest.npId)
}

// int32 pcId = 3;
inline void GetScoreGameDataRequest::clear_pcid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::int32_t GetScoreGameDataRequest::pcid() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetScoreGameDataRequest.pcId)
  return _internal_pcid();
}
inline void GetScoreGameDataRequest::set_pcid(::int32_t value) {
  _internal_set_pcid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.GetScoreGameDataRequest.pcId)
}
inline ::int32_t GetScoreGameDataRequest::_internal_pcid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.pcid_;
}
inline void GetScoreGameDataRequest::_internal_set_pcid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.pcid_ = value;
}

// -------------------------------------------------------------------

// TusUser

// bool vuser = 1;
inline void TusUser::clear_vuser() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.vuser_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline bool TusUser::vuser() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusUser.vuser)
  return _internal_vuser();
}
inline void TusUser::set_vuser(bool value) {
  _internal_set_vuser(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.TusUser.vuser)
}
inline bool TusUser::_internal_vuser() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.vuser_;
}
inline void TusUser::_internal_set_vuser(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.vuser_ = value;
}

// string npid = 2;
inline void TusUser::clear_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& TusUser::npid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusUser.npid)
  return _internal_npid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusUser::set_npid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.npid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusUser.npid)
}
inline ::std::string* PROTOBUF_NONNULL TusUser::mutable_npid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_npid();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusUser.npid)
  return _s;
}
inline const ::std::string& TusUser::_internal_npid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.npid_.Get();
}
inline void TusUser::_internal_set_npid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.npid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusUser::_internal_mutable_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.npid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusUser::release_npid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusUser.npid)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.npid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.npid_.Set("", GetArena());
  }
  return released;
}
inline void TusUser::set_allocated_npid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.npid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.npid_.IsDefault()) {
    _impl_.npid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusUser.npid)
}

// -------------------------------------------------------------------

// TusVariable

// string ownerId = 1;
inline void TusVariable::clear_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ownerid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& TusVariable::ownerid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusVariable.ownerId)
  return _internal_ownerid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusVariable::set_ownerid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.ownerid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusVariable.ownerId)
}
inline ::std::string* PROTOBUF_NONNULL TusVariable::mutable_ownerid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_ownerid();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusVariable.ownerId)
  return _s;
}
inline const ::std::string& TusVariable::_internal_ownerid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ownerid_.Get();
}
inline void TusVariable::_internal_set_ownerid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ownerid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusVariable::_internal_mutable_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.ownerid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusVariable::release_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusVariable.ownerId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.ownerid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.ownerid_.Set("", GetArena());
  }
  return released;
}
inline void TusVariable::set_allocated_ownerid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.ownerid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.ownerid_.IsDefault()) {
    _impl_.ownerid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusVariable.ownerId)
}

// bool hasData = 2;
inline void TusVariable::clear_hasdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hasdata_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline bool TusVariable::hasdata() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusVariable.hasData)
  return _internal_hasdata();
}
inline void TusVariable::set_hasdata(bool value) {
  _internal_set_hasdata(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.TusVariable.hasData)
}
inline bool TusVariable::_internal_hasdata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.hasdata_;
}
inline void TusVariable::_internal_set_hasdata(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hasdata_ = value;
}

// uint64 lastChangedDate = 3;
inline void TusVariable::clear_lastchangeddate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastchangeddate_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint64_t TusVariable::lastchangeddate() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusVariable.lastChangedDate)
  return _internal_lastchangeddate();
}
inline void TusVariable::set_lastchangeddate(::uint64_t value) {
  _internal_set_lastchangeddate(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.TusVariable.lastChangedDate)
}
inline ::uint64_t TusVariable::_internal_lastchangeddate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lastchangeddate_;
}
inline void TusVariable::_internal_set_lastchangeddate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastchangeddate_ = value;
}

// string lastChangedAuthorId = 4;
inline void TusVariable::clear_lastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastchangedauthorid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& TusVariable::lastchangedauthorid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusVariable.lastChangedAuthorId)
  return _internal_lastchangedauthorid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusVariable::set_lastchangedauthorid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.lastchangedauthorid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusVariable.lastChangedAuthorId)
}
inline ::std::string* PROTOBUF_NONNULL TusVariable::mutable_lastchangedauthorid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_lastchangedauthorid();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusVariable.lastChangedAuthorId)
  return _s;
}
inline const ::std::string& TusVariable::_internal_lastchangedauthorid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lastchangedauthorid_.Get();
}
inline void TusVariable::_internal_set_lastchangedauthorid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastchangedauthorid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusVariable::_internal_mutable_lastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.lastchangedauthorid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusVariable::release_lastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusVariable.lastChangedAuthorId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.lastchangedauthorid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.lastchangedauthorid_.Set("", GetArena());
  }
  return released;
}
inline void TusVariable::set_allocated_lastchangedauthorid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.lastchangedauthorid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.lastchangedauthorid_.IsDefault()) {
    _impl_.lastchangedauthorid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusVariable.lastChangedAuthorId)
}

// int64 variable = 5;
inline void TusVariable::clear_variable() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.variable_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::int64_t TusVariable::variable() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusVariable.variable)
  return _internal_variable();
}
inline void TusVariable::set_variable(::int64_t value) {
  _internal_set_variable(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.TusVariable.variable)
}
inline ::int64_t TusVariable::_internal_variable() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.variable_;
}
inline void TusVariable::_internal_set_variable(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.variable_ = value;
}

// int64 oldVariable = 6;
inline void TusVariable::clear_oldvariable() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.oldvariable_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::int64_t TusVariable::oldvariable() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusVariable.oldVariable)
  return _internal_oldvariable();
}
inline void TusVariable::set_oldvariable(::int64_t value) {
  _internal_set_oldvariable(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.TusVariable.oldVariable)
}
inline ::int64_t TusVariable::_internal_oldvariable() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.oldvariable_;
}
inline void TusVariable::_internal_set_oldvariable(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.oldvariable_ = value;
}

// -------------------------------------------------------------------

// TusVarResponse

// repeated .np2_structs.TusVariable vars = 1;
inline int TusVarResponse::_internal_vars_size() const {
  return _internal_vars().size();
}
inline int TusVarResponse::vars_size() const {
  return _internal_vars_size();
}
inline void TusVarResponse::clear_vars() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.vars_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::TusVariable* PROTOBUF_NONNULL TusVarResponse::mutable_vars(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.TusVarResponse.vars)
  return _internal_mutable_vars()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::TusVariable>* PROTOBUF_NONNULL TusVarResponse::mutable_vars()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusVarResponse.vars)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_vars();
}
inline const ::np2_structs::TusVariable& TusVarResponse::vars(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusVarResponse.vars)
  return _internal_vars().Get(index);
}
inline ::np2_structs::TusVariable* PROTOBUF_NONNULL TusVarResponse::add_vars()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::TusVariable* _add =
      _internal_mutable_vars()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusVarResponse.vars)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::TusVariable>& TusVarResponse::vars() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusVarResponse.vars)
  return _internal_vars();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::TusVariable>&
TusVarResponse::_internal_vars() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.vars_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::TusVariable>* PROTOBUF_NONNULL
TusVarResponse::_internal_mutable_vars() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.vars_;
}

// -------------------------------------------------------------------

// TusSetMultiSlotVariableRequest

// .np2_structs.TusUser user = 1;
inline bool TusSetMultiSlotVariableRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusSetMultiSlotVariableRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::TusUser& TusSetMultiSlotVariableRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusSetMultiSlotVariableRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetMultiSlotVariableRequest.user)
  return _internal_user();
}
inline void TusSetMultiSlotVariableRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusSetMultiSlotVariableRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusSetMultiSlotVariableRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusSetMultiSlotVariableRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusSetMultiSlotVariableRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusSetMultiSlotVariableRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusSetMultiSlotVariableRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusSetMultiSlotVariableRequest.user)
  return _msg;
}
inline void TusSetMultiSlotVariableRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusSetMultiSlotVariableRequest.user)
}

// repeated int32 slotIdArray = 2;
inline int TusSetMultiSlotVariableRequest::_internal_slotidarray_size() const {
  return _internal_slotidarray().size();
}
inline int TusSetMultiSlotVariableRequest::slotidarray_size() const {
  return _internal_slotidarray_size();
}
inline void TusSetMultiSlotVariableRequest::clear_slotidarray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotidarray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::int32_t TusSetMultiSlotVariableRequest::slotidarray(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetMultiSlotVariableRequest.slotIdArray)
  return _internal_slotidarray().Get(index);
}
inline void TusSetMultiSlotVariableRequest::set_slotidarray(int index, ::int32_t value) {
  _internal_mutable_slotidarray()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusSetMultiSlotVariableRequest.slotIdArray)
}
inline void TusSetMultiSlotVariableRequest::add_slotidarray(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_slotidarray()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusSetMultiSlotVariableRequest.slotIdArray)
}
inline const ::google::protobuf::RepeatedField<::int32_t>& TusSetMultiSlotVariableRequest::slotidarray() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusSetMultiSlotVariableRequest.slotIdArray)
  return _internal_slotidarray();
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL TusSetMultiSlotVariableRequest::mutable_slotidarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusSetMultiSlotVariableRequest.slotIdArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_slotidarray();
}
inline const ::google::protobuf::RepeatedField<::int32_t>&
TusSetMultiSlotVariableRequest::_internal_slotidarray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotidarray_;
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
TusSetMultiSlotVariableRequest::_internal_mutable_slotidarray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.slotidarray_;
}

// repeated int64 variableArray = 3;
inline int TusSetMultiSlotVariableRequest::_internal_variablearray_size() const {
  return _internal_variablearray().size();
}
inline int TusSetMultiSlotVariableRequest::variablearray_size() const {
  return _internal_variablearray_size();
}
inline void TusSetMultiSlotVariableRequest::clear_variablearray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.variablearray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::int64_t TusSetMultiSlotVariableRequest::variablearray(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetMultiSlotVariableRequest.variableArray)
  return _internal_variablearray().Get(index);
}
inline void TusSetMultiSlotVariableRequest::set_variablearray(int index, ::int64_t value) {
  _internal_mutable_variablearray()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusSetMultiSlotVariableRequest.variableArray)
}
inline void TusSetMultiSlotVariableRequest::add_variablearray(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_variablearray()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.TusSetMultiSlotVariableRequest.variableArray)
}
inline const ::google::protobuf::RepeatedField<::int64_t>& TusSetMultiSlotVariableRequest::variablearray() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusSetMultiSlotVariableRequest.variableArray)
  return _internal_variablearray();
}
inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL TusSetMultiSlotVariableRequest::mutable_variablearray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusSetMultiSlotVariableRequest.variableArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_variablearray();
}
inline const ::google::protobuf::RepeatedField<::int64_t>&
TusSetMultiSlotVariableRequest::_internal_variablearray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.variablearray_;
}
inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
TusSetMultiSlotVariableRequest::_internal_mutable_variablearray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.variablearray_;
}

// -------------------------------------------------------------------

// TusGetMultiSlotVariableRequest

// .np2_structs.TusUser user = 1;
inline bool TusGetMultiSlotVariableRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusGetMultiSlotVariableRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::TusUser& TusGetMultiSlotVariableRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusGetMultiSlotVariableRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetMultiSlotVariableRequest.user)
  return _internal_user();
}
inline void TusGetMultiSlotVariableRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusGetMultiSlotVariableRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusGetMultiSlotVariableRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusGetMultiSlotVariableRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusGetMultiSlotVariableRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetMultiSlotVariableRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetMultiSlotVariableRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusGetMultiSlotVariableRequest.user)
  return _msg;
}
inline void TusGetMultiSlotVariableRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusGetMultiSlotVariableRequest.user)
}

// repeated int32 slotIdArray = 2;
inline int TusGetMultiSlotVariableRequest::_internal_slotidarray_size() const {
  return _internal_slotidarray().size();
}
inline int TusGetMultiSlotVariableRequest::slotidarray_size() const {
  return _internal_slotidarray_size();
}
inline void TusGetMultiSlotVariableRequest::clear_slotidarray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotidarray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::int32_t TusGetMultiSlotVariableRequest::slotidarray(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetMultiSlotVariableRequest.slotIdArray)
  return _internal_slotidarray().Get(index);
}
inline void TusGetMultiSlotVariableRequest::set_slotidarray(int index, ::int32_t value) {
  _internal_mutable_slotidarray()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetMultiSlotVariableRequest.slotIdArray)
}
inline void TusGetMultiSlotVariableRequest::add_slotidarray(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_slotidarray()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusGetMultiSlotVariableRequest.slotIdArray)
}
inline const ::google::protobuf::RepeatedField<::int32_t>& TusGetMultiSlotVariableRequest::slotidarray() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusGetMultiSlotVariableRequest.slotIdArray)
  return _internal_slotidarray();
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL TusGetMultiSlotVariableRequest::mutable_slotidarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusGetMultiSlotVariableRequest.slotIdArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_slotidarray();
}
inline const ::google::protobuf::RepeatedField<::int32_t>&
TusGetMultiSlotVariableRequest::_internal_slotidarray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotidarray_;
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
TusGetMultiSlotVariableRequest::_internal_mutable_slotidarray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.slotidarray_;
}

// -------------------------------------------------------------------

// TusGetMultiUserVariableRequest

// repeated .np2_structs.TusUser users = 1;
inline int TusGetMultiUserVariableRequest::_internal_users_size() const {
  return _internal_users().size();
}
inline int TusGetMultiUserVariableRequest::users_size() const {
  return _internal_users_size();
}
inline void TusGetMultiUserVariableRequest::clear_users() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.users_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetMultiUserVariableRequest::mutable_users(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.TusGetMultiUserVariableRequest.users)
  return _internal_mutable_users()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>* PROTOBUF_NONNULL TusGetMultiUserVariableRequest::mutable_users()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusGetMultiUserVariableRequest.users)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_users();
}
inline const ::np2_structs::TusUser& TusGetMultiUserVariableRequest::users(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetMultiUserVariableRequest.users)
  return _internal_users().Get(index);
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetMultiUserVariableRequest::add_users()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::TusUser* _add =
      _internal_mutable_users()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusGetMultiUserVariableRequest.users)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>& TusGetMultiUserVariableRequest::users() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusGetMultiUserVariableRequest.users)
  return _internal_users();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>&
TusGetMultiUserVariableRequest::_internal_users() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.users_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>* PROTOBUF_NONNULL
TusGetMultiUserVariableRequest::_internal_mutable_users() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.users_;
}

// int32 slotId = 2;
inline void TusGetMultiUserVariableRequest::clear_slotid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::int32_t TusGetMultiUserVariableRequest::slotid() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetMultiUserVariableRequest.slotId)
  return _internal_slotid();
}
inline void TusGetMultiUserVariableRequest::set_slotid(::int32_t value) {
  _internal_set_slotid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetMultiUserVariableRequest.slotId)
}
inline ::int32_t TusGetMultiUserVariableRequest::_internal_slotid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotid_;
}
inline void TusGetMultiUserVariableRequest::_internal_set_slotid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = value;
}

// -------------------------------------------------------------------

// TusGetFriendsVariableRequest

// int32 slotId = 1;
inline void TusGetFriendsVariableRequest::clear_slotid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::int32_t TusGetFriendsVariableRequest::slotid() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetFriendsVariableRequest.slotId)
  return _internal_slotid();
}
inline void TusGetFriendsVariableRequest::set_slotid(::int32_t value) {
  _internal_set_slotid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetFriendsVariableRequest.slotId)
}
inline ::int32_t TusGetFriendsVariableRequest::_internal_slotid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotid_;
}
inline void TusGetFriendsVariableRequest::_internal_set_slotid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = value;
}

// bool includeSelf = 2;
inline void TusGetFriendsVariableRequest::clear_includeself() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.includeself_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline bool TusGetFriendsVariableRequest::includeself() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetFriendsVariableRequest.includeSelf)
  return _internal_includeself();
}
inline void TusGetFriendsVariableRequest::set_includeself(bool value) {
  _internal_set_includeself(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetFriendsVariableRequest.includeSelf)
}
inline bool TusGetFriendsVariableRequest::_internal_includeself() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.includeself_;
}
inline void TusGetFriendsVariableRequest::_internal_set_includeself(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.includeself_ = value;
}

// int32 sortType = 3;
inline void TusGetFriendsVariableRequest::clear_sorttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sorttype_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::int32_t TusGetFriendsVariableRequest::sorttype() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetFriendsVariableRequest.sortType)
  return _internal_sorttype();
}
inline void TusGetFriendsVariableRequest::set_sorttype(::int32_t value) {
  _internal_set_sorttype(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetFriendsVariableRequest.sortType)
}
inline ::int32_t TusGetFriendsVariableRequest::_internal_sorttype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.sorttype_;
}
inline void TusGetFriendsVariableRequest::_internal_set_sorttype(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sorttype_ = value;
}

// uint32 arrayNum = 4;
inline void TusGetFriendsVariableRequest::clear_arraynum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.arraynum_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t TusGetFriendsVariableRequest::arraynum() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetFriendsVariableRequest.arrayNum)
  return _internal_arraynum();
}
inline void TusGetFriendsVariableRequest::set_arraynum(::uint32_t value) {
  _internal_set_arraynum(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetFriendsVariableRequest.arrayNum)
}
inline ::uint32_t TusGetFriendsVariableRequest::_internal_arraynum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.arraynum_;
}
inline void TusGetFriendsVariableRequest::_internal_set_arraynum(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.arraynum_ = value;
}

// -------------------------------------------------------------------

// TusAddAndGetVariableRequest

// .np2_structs.TusUser user = 1;
inline bool TusAddAndGetVariableRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000004U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusAddAndGetVariableRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::np2_structs::TusUser& TusAddAndGetVariableRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusAddAndGetVariableRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusAddAndGetVariableRequest.user)
  return _internal_user();
}
inline void TusAddAndGetVariableRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusAddAndGetVariableRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusAddAndGetVariableRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusAddAndGetVariableRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusAddAndGetVariableRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusAddAndGetVariableRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusAddAndGetVariableRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusAddAndGetVariableRequest.user)
  return _msg;
}
inline void TusAddAndGetVariableRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusAddAndGetVariableRequest.user)
}

// int32 slotId = 2;
inline void TusAddAndGetVariableRequest::clear_slotid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::int32_t TusAddAndGetVariableRequest::slotid() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusAddAndGetVariableRequest.slotId)
  return _internal_slotid();
}
inline void TusAddAndGetVariableRequest::set_slotid(::int32_t value) {
  _internal_set_slotid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.TusAddAndGetVariableRequest.slotId)
}
inline ::int32_t TusAddAndGetVariableRequest::_internal_slotid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotid_;
}
inline void TusAddAndGetVariableRequest::_internal_set_slotid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = value;
}

// int64 inVariable = 3;
inline void TusAddAndGetVariableRequest::clear_invariable() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.invariable_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::int64_t TusAddAndGetVariableRequest::invariable() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusAddAndGetVariableRequest.inVariable)
  return _internal_invariable();
}
inline void TusAddAndGetVariableRequest::set_invariable(::int64_t value) {
  _internal_set_invariable(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.TusAddAndGetVariableRequest.inVariable)
}
inline ::int64_t TusAddAndGetVariableRequest::_internal_invariable() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.invariable_;
}
inline void TusAddAndGetVariableRequest::_internal_set_invariable(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.invariable_ = value;
}

// repeated uint64 isLastChangedDate = 4;
inline int TusAddAndGetVariableRequest::_internal_islastchangeddate_size() const {
  return _internal_islastchangeddate().size();
}
inline int TusAddAndGetVariableRequest::islastchangeddate_size() const {
  return _internal_islastchangeddate_size();
}
inline void TusAddAndGetVariableRequest::clear_islastchangeddate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangeddate_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint64_t TusAddAndGetVariableRequest::islastchangeddate(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusAddAndGetVariableRequest.isLastChangedDate)
  return _internal_islastchangeddate().Get(index);
}
inline void TusAddAndGetVariableRequest::set_islastchangeddate(int index, ::uint64_t value) {
  _internal_mutable_islastchangeddate()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusAddAndGetVariableRequest.isLastChangedDate)
}
inline void TusAddAndGetVariableRequest::add_islastchangeddate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_islastchangeddate()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusAddAndGetVariableRequest.isLastChangedDate)
}
inline const ::google::protobuf::RepeatedField<::uint64_t>& TusAddAndGetVariableRequest::islastchangeddate() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusAddAndGetVariableRequest.isLastChangedDate)
  return _internal_islastchangeddate();
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL TusAddAndGetVariableRequest::mutable_islastchangeddate()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusAddAndGetVariableRequest.isLastChangedDate)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_islastchangeddate();
}
inline const ::google::protobuf::RepeatedField<::uint64_t>&
TusAddAndGetVariableRequest::_internal_islastchangeddate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.islastchangeddate_;
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL
TusAddAndGetVariableRequest::_internal_mutable_islastchangeddate() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.islastchangeddate_;
}

// string isLastChangedAuthorId = 5;
inline void TusAddAndGetVariableRequest::clear_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangedauthorid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& TusAddAndGetVariableRequest::islastchangedauthorid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusAddAndGetVariableRequest.isLastChangedAuthorId)
  return _internal_islastchangedauthorid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusAddAndGetVariableRequest::set_islastchangedauthorid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.islastchangedauthorid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusAddAndGetVariableRequest.isLastChangedAuthorId)
}
inline ::std::string* PROTOBUF_NONNULL TusAddAndGetVariableRequest::mutable_islastchangedauthorid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_islastchangedauthorid();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusAddAndGetVariableRequest.isLastChangedAuthorId)
  return _s;
}
inline const ::std::string& TusAddAndGetVariableRequest::_internal_islastchangedauthorid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.islastchangedauthorid_.Get();
}
inline void TusAddAndGetVariableRequest::_internal_set_islastchangedauthorid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangedauthorid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusAddAndGetVariableRequest::_internal_mutable_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.islastchangedauthorid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusAddAndGetVariableRequest::release_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusAddAndGetVariableRequest.isLastChangedAuthorId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.islastchangedauthorid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.islastchangedauthorid_.Set("", GetArena());
  }
  return released;
}
inline void TusAddAndGetVariableRequest::set_allocated_islastchangedauthorid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.islastchangedauthorid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.islastchangedauthorid_.IsDefault()) {
    _impl_.islastchangedauthorid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusAddAndGetVariableRequest.isLastChangedAuthorId)
}

// -------------------------------------------------------------------

// TusTryAndSetVariableRequest

// .np2_structs.TusUser user = 1;
inline bool TusTryAndSetVariableRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000008U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusTryAndSetVariableRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::np2_structs::TusUser& TusTryAndSetVariableRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusTryAndSetVariableRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusTryAndSetVariableRequest.user)
  return _internal_user();
}
inline void TusTryAndSetVariableRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusTryAndSetVariableRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusTryAndSetVariableRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusTryAndSetVariableRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusTryAndSetVariableRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusTryAndSetVariableRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusTryAndSetVariableRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusTryAndSetVariableRequest.user)
  return _msg;
}
inline void TusTryAndSetVariableRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusTryAndSetVariableRequest.user)
}

// int32 slotId = 2;
inline void TusTryAndSetVariableRequest::clear_slotid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline ::int32_t TusTryAndSetVariableRequest::slotid() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusTryAndSetVariableRequest.slotId)
  return _internal_slotid();
}
inline void TusTryAndSetVariableRequest::set_slotid(::int32_t value) {
  _internal_set_slotid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.TusTryAndSetVariableRequest.slotId)
}
inline ::int32_t TusTryAndSetVariableRequest::_internal_slotid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotid_;
}
inline void TusTryAndSetVariableRequest::_internal_set_slotid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = value;
}

// int32 opeType = 3;
inline void TusTryAndSetVariableRequest::clear_opetype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.opetype_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::int32_t TusTryAndSetVariableRequest::opetype() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusTryAndSetVariableRequest.opeType)
  return _internal_opetype();
}
inline void TusTryAndSetVariableRequest::set_opetype(::int32_t value) {
  _internal_set_opetype(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.TusTryAndSetVariableRequest.opeType)
}
inline ::int32_t TusTryAndSetVariableRequest::_internal_opetype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.opetype_;
}
inline void TusTryAndSetVariableRequest::_internal_set_opetype(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.opetype_ = value;
}

// int64 variable = 4;
inline void TusTryAndSetVariableRequest::clear_variable() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.variable_ = ::int64_t{0};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000040U);
}
inline ::int64_t TusTryAndSetVariableRequest::variable() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusTryAndSetVariableRequest.variable)
  return _internal_variable();
}
inline void TusTryAndSetVariableRequest::set_variable(::int64_t value) {
  _internal_set_variable(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000040U);
  // @@protoc_insertion_point(field_set:np2_structs.TusTryAndSetVariableRequest.variable)
}
inline ::int64_t TusTryAndSetVariableRequest::_internal_variable() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.variable_;
}
inline void TusTryAndSetVariableRequest::_internal_set_variable(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.variable_ = value;
}

// repeated uint64 isLastChangedDate = 5;
inline int TusTryAndSetVariableRequest::_internal_islastchangeddate_size() const {
  return _internal_islastchangeddate().size();
}
inline int TusTryAndSetVariableRequest::islastchangeddate_size() const {
  return _internal_islastchangeddate_size();
}
inline void TusTryAndSetVariableRequest::clear_islastchangeddate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangeddate_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint64_t TusTryAndSetVariableRequest::islastchangeddate(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusTryAndSetVariableRequest.isLastChangedDate)
  return _internal_islastchangeddate().Get(index);
}
inline void TusTryAndSetVariableRequest::set_islastchangeddate(int index, ::uint64_t value) {
  _internal_mutable_islastchangeddate()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusTryAndSetVariableRequest.isLastChangedDate)
}
inline void TusTryAndSetVariableRequest::add_islastchangeddate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_islastchangeddate()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusTryAndSetVariableRequest.isLastChangedDate)
}
inline const ::google::protobuf::RepeatedField<::uint64_t>& TusTryAndSetVariableRequest::islastchangeddate() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusTryAndSetVariableRequest.isLastChangedDate)
  return _internal_islastchangeddate();
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL TusTryAndSetVariableRequest::mutable_islastchangeddate()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusTryAndSetVariableRequest.isLastChangedDate)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_islastchangeddate();
}
inline const ::google::protobuf::RepeatedField<::uint64_t>&
TusTryAndSetVariableRequest::_internal_islastchangeddate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.islastchangeddate_;
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL
TusTryAndSetVariableRequest::_internal_mutable_islastchangeddate() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.islastchangeddate_;
}

// string isLastChangedAuthorId = 6;
inline void TusTryAndSetVariableRequest::clear_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangedauthorid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::std::string& TusTryAndSetVariableRequest::islastchangedauthorid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusTryAndSetVariableRequest.isLastChangedAuthorId)
  return _internal_islastchangedauthorid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusTryAndSetVariableRequest::set_islastchangedauthorid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.islastchangedauthorid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusTryAndSetVariableRequest.isLastChangedAuthorId)
}
inline ::std::string* PROTOBUF_NONNULL TusTryAndSetVariableRequest::mutable_islastchangedauthorid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_islastchangedauthorid();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusTryAndSetVariableRequest.isLastChangedAuthorId)
  return _s;
}
inline const ::std::string& TusTryAndSetVariableRequest::_internal_islastchangedauthorid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.islastchangedauthorid_.Get();
}
inline void TusTryAndSetVariableRequest::_internal_set_islastchangedauthorid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangedauthorid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusTryAndSetVariableRequest::_internal_mutable_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.islastchangedauthorid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusTryAndSetVariableRequest::release_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusTryAndSetVariableRequest.isLastChangedAuthorId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.islastchangedauthorid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.islastchangedauthorid_.Set("", GetArena());
  }
  return released;
}
inline void TusTryAndSetVariableRequest::set_allocated_islastchangedauthorid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.islastchangedauthorid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.islastchangedauthorid_.IsDefault()) {
    _impl_.islastchangedauthorid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusTryAndSetVariableRequest.isLastChangedAuthorId)
}

// repeated int64 compareValue = 7;
inline int TusTryAndSetVariableRequest::_internal_comparevalue_size() const {
  return _internal_comparevalue().size();
}
inline int TusTryAndSetVariableRequest::comparevalue_size() const {
  return _internal_comparevalue_size();
}
inline void TusTryAndSetVariableRequest::clear_comparevalue() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comparevalue_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::int64_t TusTryAndSetVariableRequest::comparevalue(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusTryAndSetVariableRequest.compareValue)
  return _internal_comparevalue().Get(index);
}
inline void TusTryAndSetVariableRequest::set_comparevalue(int index, ::int64_t value) {
  _internal_mutable_comparevalue()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusTryAndSetVariableRequest.compareValue)
}
inline void TusTryAndSetVariableRequest::add_comparevalue(::int64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_comparevalue()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.TusTryAndSetVariableRequest.compareValue)
}
inline const ::google::protobuf::RepeatedField<::int64_t>& TusTryAndSetVariableRequest::comparevalue() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusTryAndSetVariableRequest.compareValue)
  return _internal_comparevalue();
}
inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL TusTryAndSetVariableRequest::mutable_comparevalue()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusTryAndSetVariableRequest.compareValue)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_comparevalue();
}
inline const ::google::protobuf::RepeatedField<::int64_t>&
TusTryAndSetVariableRequest::_internal_comparevalue() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.comparevalue_;
}
inline ::google::protobuf::RepeatedField<::int64_t>* PROTOBUF_NONNULL
TusTryAndSetVariableRequest::_internal_mutable_comparevalue() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.comparevalue_;
}

// -------------------------------------------------------------------

// TusDeleteMultiSlotVariableRequest

// .np2_structs.TusUser user = 1;
inline bool TusDeleteMultiSlotVariableRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusDeleteMultiSlotVariableRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::TusUser& TusDeleteMultiSlotVariableRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusDeleteMultiSlotVariableRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusDeleteMultiSlotVariableRequest.user)
  return _internal_user();
}
inline void TusDeleteMultiSlotVariableRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusDeleteMultiSlotVariableRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusDeleteMultiSlotVariableRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusDeleteMultiSlotVariableRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusDeleteMultiSlotVariableRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusDeleteMultiSlotVariableRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusDeleteMultiSlotVariableRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusDeleteMultiSlotVariableRequest.user)
  return _msg;
}
inline void TusDeleteMultiSlotVariableRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusDeleteMultiSlotVariableRequest.user)
}

// repeated int32 slotIdArray = 2;
inline int TusDeleteMultiSlotVariableRequest::_internal_slotidarray_size() const {
  return _internal_slotidarray().size();
}
inline int TusDeleteMultiSlotVariableRequest::slotidarray_size() const {
  return _internal_slotidarray_size();
}
inline void TusDeleteMultiSlotVariableRequest::clear_slotidarray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotidarray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::int32_t TusDeleteMultiSlotVariableRequest::slotidarray(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusDeleteMultiSlotVariableRequest.slotIdArray)
  return _internal_slotidarray().Get(index);
}
inline void TusDeleteMultiSlotVariableRequest::set_slotidarray(int index, ::int32_t value) {
  _internal_mutable_slotidarray()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusDeleteMultiSlotVariableRequest.slotIdArray)
}
inline void TusDeleteMultiSlotVariableRequest::add_slotidarray(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_slotidarray()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusDeleteMultiSlotVariableRequest.slotIdArray)
}
inline const ::google::protobuf::RepeatedField<::int32_t>& TusDeleteMultiSlotVariableRequest::slotidarray() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusDeleteMultiSlotVariableRequest.slotIdArray)
  return _internal_slotidarray();
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL TusDeleteMultiSlotVariableRequest::mutable_slotidarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusDeleteMultiSlotVariableRequest.slotIdArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_slotidarray();
}
inline const ::google::protobuf::RepeatedField<::int32_t>&
TusDeleteMultiSlotVariableRequest::_internal_slotidarray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotidarray_;
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
TusDeleteMultiSlotVariableRequest::_internal_mutable_slotidarray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.slotidarray_;
}

// -------------------------------------------------------------------

// TusSetDataRequest

// .np2_structs.TusUser user = 1;
inline bool TusSetDataRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000010U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusSetDataRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline const ::np2_structs::TusUser& TusSetDataRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusSetDataRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetDataRequest.user)
  return _internal_user();
}
inline void TusSetDataRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusSetDataRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusSetDataRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusSetDataRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusSetDataRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusSetDataRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusSetDataRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusSetDataRequest.user)
  return _msg;
}
inline void TusSetDataRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000010U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusSetDataRequest.user)
}

// int32 slotId = 2;
inline void TusSetDataRequest::clear_slotid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000020U);
}
inline ::int32_t TusSetDataRequest::slotid() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetDataRequest.slotId)
  return _internal_slotid();
}
inline void TusSetDataRequest::set_slotid(::int32_t value) {
  _internal_set_slotid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000020U);
  // @@protoc_insertion_point(field_set:np2_structs.TusSetDataRequest.slotId)
}
inline ::int32_t TusSetDataRequest::_internal_slotid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotid_;
}
inline void TusSetDataRequest::_internal_set_slotid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = value;
}

// bytes data = 3;
inline void TusSetDataRequest::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& TusSetDataRequest::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetDataRequest.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusSetDataRequest::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusSetDataRequest.data)
}
inline ::std::string* PROTOBUF_NONNULL TusSetDataRequest::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusSetDataRequest.data)
  return _s;
}
inline const ::std::string& TusSetDataRequest::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void TusSetDataRequest::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusSetDataRequest::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusSetDataRequest::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusSetDataRequest.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void TusSetDataRequest::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusSetDataRequest.data)
}

// bytes info = 4;
inline void TusSetDataRequest::clear_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.info_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::std::string& TusSetDataRequest::info() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetDataRequest.info)
  return _internal_info();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusSetDataRequest::set_info(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.info_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusSetDataRequest.info)
}
inline ::std::string* PROTOBUF_NONNULL TusSetDataRequest::mutable_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_info();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusSetDataRequest.info)
  return _s;
}
inline const ::std::string& TusSetDataRequest::_internal_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.info_.Get();
}
inline void TusSetDataRequest::_internal_set_info(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.info_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusSetDataRequest::_internal_mutable_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.info_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusSetDataRequest::release_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusSetDataRequest.info)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.info_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.info_.Set("", GetArena());
  }
  return released;
}
inline void TusSetDataRequest::set_allocated_info(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.info_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.info_.IsDefault()) {
    _impl_.info_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusSetDataRequest.info)
}

// repeated uint64 isLastChangedDate = 5;
inline int TusSetDataRequest::_internal_islastchangeddate_size() const {
  return _internal_islastchangeddate().size();
}
inline int TusSetDataRequest::islastchangeddate_size() const {
  return _internal_islastchangeddate_size();
}
inline void TusSetDataRequest::clear_islastchangeddate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangeddate_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint64_t TusSetDataRequest::islastchangeddate(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetDataRequest.isLastChangedDate)
  return _internal_islastchangeddate().Get(index);
}
inline void TusSetDataRequest::set_islastchangeddate(int index, ::uint64_t value) {
  _internal_mutable_islastchangeddate()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusSetDataRequest.isLastChangedDate)
}
inline void TusSetDataRequest::add_islastchangeddate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_islastchangeddate()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusSetDataRequest.isLastChangedDate)
}
inline const ::google::protobuf::RepeatedField<::uint64_t>& TusSetDataRequest::islastchangeddate() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusSetDataRequest.isLastChangedDate)
  return _internal_islastchangeddate();
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL TusSetDataRequest::mutable_islastchangeddate()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusSetDataRequest.isLastChangedDate)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_islastchangeddate();
}
inline const ::google::protobuf::RepeatedField<::uint64_t>&
TusSetDataRequest::_internal_islastchangeddate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.islastchangeddate_;
}
inline ::google::protobuf::RepeatedField<::uint64_t>* PROTOBUF_NONNULL
TusSetDataRequest::_internal_mutable_islastchangeddate() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.islastchangeddate_;
}

// string isLastChangedAuthorId = 6;
inline void TusSetDataRequest::clear_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangedauthorid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::std::string& TusSetDataRequest::islastchangedauthorid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusSetDataRequest.isLastChangedAuthorId)
  return _internal_islastchangedauthorid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusSetDataRequest::set_islastchangedauthorid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.islastchangedauthorid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusSetDataRequest.isLastChangedAuthorId)
}
inline ::std::string* PROTOBUF_NONNULL TusSetDataRequest::mutable_islastchangedauthorid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_islastchangedauthorid();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusSetDataRequest.isLastChangedAuthorId)
  return _s;
}
inline const ::std::string& TusSetDataRequest::_internal_islastchangedauthorid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.islastchangedauthorid_.Get();
}
inline void TusSetDataRequest::_internal_set_islastchangedauthorid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.islastchangedauthorid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusSetDataRequest::_internal_mutable_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.islastchangedauthorid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusSetDataRequest::release_islastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusSetDataRequest.isLastChangedAuthorId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.islastchangedauthorid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.islastchangedauthorid_.Set("", GetArena());
  }
  return released;
}
inline void TusSetDataRequest::set_allocated_islastchangedauthorid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.islastchangedauthorid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.islastchangedauthorid_.IsDefault()) {
    _impl_.islastchangedauthorid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusSetDataRequest.isLastChangedAuthorId)
}

// -------------------------------------------------------------------

// TusDataStatus

// string ownerId = 1;
inline void TusDataStatus::clear_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ownerid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& TusDataStatus::ownerid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusDataStatus.ownerId)
  return _internal_ownerid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusDataStatus::set_ownerid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.ownerid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusDataStatus.ownerId)
}
inline ::std::string* PROTOBUF_NONNULL TusDataStatus::mutable_ownerid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_ownerid();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusDataStatus.ownerId)
  return _s;
}
inline const ::std::string& TusDataStatus::_internal_ownerid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.ownerid_.Get();
}
inline void TusDataStatus::_internal_set_ownerid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.ownerid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusDataStatus::_internal_mutable_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.ownerid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusDataStatus::release_ownerid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusDataStatus.ownerId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.ownerid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.ownerid_.Set("", GetArena());
  }
  return released;
}
inline void TusDataStatus::set_allocated_ownerid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.ownerid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.ownerid_.IsDefault()) {
    _impl_.ownerid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusDataStatus.ownerId)
}

// bool hasData = 2;
inline void TusDataStatus::clear_hasdata() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hasdata_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline bool TusDataStatus::hasdata() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusDataStatus.hasData)
  return _internal_hasdata();
}
inline void TusDataStatus::set_hasdata(bool value) {
  _internal_set_hasdata(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.TusDataStatus.hasData)
}
inline bool TusDataStatus::_internal_hasdata() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.hasdata_;
}
inline void TusDataStatus::_internal_set_hasdata(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.hasdata_ = value;
}

// uint64 lastChangedDate = 3;
inline void TusDataStatus::clear_lastchangeddate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastchangeddate_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint64_t TusDataStatus::lastchangeddate() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusDataStatus.lastChangedDate)
  return _internal_lastchangeddate();
}
inline void TusDataStatus::set_lastchangeddate(::uint64_t value) {
  _internal_set_lastchangeddate(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.TusDataStatus.lastChangedDate)
}
inline ::uint64_t TusDataStatus::_internal_lastchangeddate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lastchangeddate_;
}
inline void TusDataStatus::_internal_set_lastchangeddate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastchangeddate_ = value;
}

// string lastChangedAuthorId = 4;
inline void TusDataStatus::clear_lastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastchangedauthorid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& TusDataStatus::lastchangedauthorid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusDataStatus.lastChangedAuthorId)
  return _internal_lastchangedauthorid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusDataStatus::set_lastchangedauthorid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.lastchangedauthorid_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusDataStatus.lastChangedAuthorId)
}
inline ::std::string* PROTOBUF_NONNULL TusDataStatus::mutable_lastchangedauthorid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_lastchangedauthorid();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusDataStatus.lastChangedAuthorId)
  return _s;
}
inline const ::std::string& TusDataStatus::_internal_lastchangedauthorid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.lastchangedauthorid_.Get();
}
inline void TusDataStatus::_internal_set_lastchangedauthorid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.lastchangedauthorid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusDataStatus::_internal_mutable_lastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.lastchangedauthorid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusDataStatus::release_lastchangedauthorid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusDataStatus.lastChangedAuthorId)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.lastchangedauthorid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.lastchangedauthorid_.Set("", GetArena());
  }
  return released;
}
inline void TusDataStatus::set_allocated_lastchangedauthorid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.lastchangedauthorid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.lastchangedauthorid_.IsDefault()) {
    _impl_.lastchangedauthorid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusDataStatus.lastChangedAuthorId)
}

// bytes info = 5;
inline void TusDataStatus::clear_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.info_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::std::string& TusDataStatus::info() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusDataStatus.info)
  return _internal_info();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusDataStatus::set_info(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.info_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusDataStatus.info)
}
inline ::std::string* PROTOBUF_NONNULL TusDataStatus::mutable_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_info();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusDataStatus.info)
  return _s;
}
inline const ::std::string& TusDataStatus::_internal_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.info_.Get();
}
inline void TusDataStatus::_internal_set_info(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.info_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusDataStatus::_internal_mutable_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.info_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusDataStatus::release_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusDataStatus.info)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.info_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.info_.Set("", GetArena());
  }
  return released;
}
inline void TusDataStatus::set_allocated_info(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.info_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.info_.IsDefault()) {
    _impl_.info_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusDataStatus.info)
}

// -------------------------------------------------------------------

// TusData

// .np2_structs.TusDataStatus status = 1;
inline bool TusData::has_status() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.status_ != nullptr);
  return value;
}
inline void TusData::clear_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.status_ != nullptr) _impl_.status_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::TusDataStatus& TusData::_internal_status() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusDataStatus* p = _impl_.status_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusDataStatus&>(::np2_structs::_TusDataStatus_default_instance_);
}
inline const ::np2_structs::TusDataStatus& TusData::status() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusData.status)
  return _internal_status();
}
inline void TusData::unsafe_arena_set_allocated_status(
    ::np2_structs::TusDataStatus* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.status_);
  }
  _impl_.status_ = reinterpret_cast<::np2_structs::TusDataStatus*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusData.status)
}
inline ::np2_structs::TusDataStatus* PROTOBUF_NULLABLE TusData::release_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusDataStatus* released = _impl_.status_;
  _impl_.status_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusDataStatus* PROTOBUF_NULLABLE TusData::unsafe_arena_release_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusData.status)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusDataStatus* temp = _impl_.status_;
  _impl_.status_ = nullptr;
  return temp;
}
inline ::np2_structs::TusDataStatus* PROTOBUF_NONNULL TusData::_internal_mutable_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.status_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusDataStatus>(GetArena());
    _impl_.status_ = reinterpret_cast<::np2_structs::TusDataStatus*>(p);
  }
  return _impl_.status_;
}
inline ::np2_structs::TusDataStatus* PROTOBUF_NONNULL TusData::mutable_status()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusDataStatus* _msg = _internal_mutable_status();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusData.status)
  return _msg;
}
inline void TusData::set_allocated_status(::np2_structs::TusDataStatus* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.status_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.status_ = reinterpret_cast<::np2_structs::TusDataStatus*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusData.status)
}

// bytes data = 2;
inline void TusData::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& TusData::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusData.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void TusData::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.TusData.data)
}
inline ::std::string* PROTOBUF_NONNULL TusData::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusData.data)
  return _s;
}
inline const ::std::string& TusData::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void TusData::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL TusData::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE TusData::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusData.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void TusData::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusData.data)
}

// -------------------------------------------------------------------

// TusDataStatusResponse

// repeated .np2_structs.TusDataStatus status = 1;
inline int TusDataStatusResponse::_internal_status_size() const {
  return _internal_status().size();
}
inline int TusDataStatusResponse::status_size() const {
  return _internal_status_size();
}
inline void TusDataStatusResponse::clear_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.status_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::TusDataStatus* PROTOBUF_NONNULL TusDataStatusResponse::mutable_status(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.TusDataStatusResponse.status)
  return _internal_mutable_status()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::TusDataStatus>* PROTOBUF_NONNULL TusDataStatusResponse::mutable_status()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusDataStatusResponse.status)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_status();
}
inline const ::np2_structs::TusDataStatus& TusDataStatusResponse::status(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusDataStatusResponse.status)
  return _internal_status().Get(index);
}
inline ::np2_structs::TusDataStatus* PROTOBUF_NONNULL TusDataStatusResponse::add_status()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::TusDataStatus* _add =
      _internal_mutable_status()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusDataStatusResponse.status)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::TusDataStatus>& TusDataStatusResponse::status() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusDataStatusResponse.status)
  return _internal_status();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::TusDataStatus>&
TusDataStatusResponse::_internal_status() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.status_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::TusDataStatus>* PROTOBUF_NONNULL
TusDataStatusResponse::_internal_mutable_status() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.status_;
}

// -------------------------------------------------------------------

// TusGetDataRequest

// .np2_structs.TusUser user = 1;
inline bool TusGetDataRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusGetDataRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::TusUser& TusGetDataRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusGetDataRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetDataRequest.user)
  return _internal_user();
}
inline void TusGetDataRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusGetDataRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusGetDataRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusGetDataRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusGetDataRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetDataRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetDataRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusGetDataRequest.user)
  return _msg;
}
inline void TusGetDataRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusGetDataRequest.user)
}

// int32 slotId = 2;
inline void TusGetDataRequest::clear_slotid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::int32_t TusGetDataRequest::slotid() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetDataRequest.slotId)
  return _internal_slotid();
}
inline void TusGetDataRequest::set_slotid(::int32_t value) {
  _internal_set_slotid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetDataRequest.slotId)
}
inline ::int32_t TusGetDataRequest::_internal_slotid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotid_;
}
inline void TusGetDataRequest::_internal_set_slotid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = value;
}

// -------------------------------------------------------------------

// TusGetMultiSlotDataStatusRequest

// .np2_structs.TusUser user = 1;
inline bool TusGetMultiSlotDataStatusRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusGetMultiSlotDataStatusRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::TusUser& TusGetMultiSlotDataStatusRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusGetMultiSlotDataStatusRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetMultiSlotDataStatusRequest.user)
  return _internal_user();
}
inline void TusGetMultiSlotDataStatusRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusGetMultiSlotDataStatusRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusGetMultiSlotDataStatusRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusGetMultiSlotDataStatusRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusGetMultiSlotDataStatusRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetMultiSlotDataStatusRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetMultiSlotDataStatusRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusGetMultiSlotDataStatusRequest.user)
  return _msg;
}
inline void TusGetMultiSlotDataStatusRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusGetMultiSlotDataStatusRequest.user)
}

// repeated int32 slotIdArray = 2;
inline int TusGetMultiSlotDataStatusRequest::_internal_slotidarray_size() const {
  return _internal_slotidarray().size();
}
inline int TusGetMultiSlotDataStatusRequest::slotidarray_size() const {
  return _internal_slotidarray_size();
}
inline void TusGetMultiSlotDataStatusRequest::clear_slotidarray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotidarray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::int32_t TusGetMultiSlotDataStatusRequest::slotidarray(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetMultiSlotDataStatusRequest.slotIdArray)
  return _internal_slotidarray().Get(index);
}
inline void TusGetMultiSlotDataStatusRequest::set_slotidarray(int index, ::int32_t value) {
  _internal_mutable_slotidarray()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetMultiSlotDataStatusRequest.slotIdArray)
}
inline void TusGetMultiSlotDataStatusRequest::add_slotidarray(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_slotidarray()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusGetMultiSlotDataStatusRequest.slotIdArray)
}
inline const ::google::protobuf::RepeatedField<::int32_t>& TusGetMultiSlotDataStatusRequest::slotidarray() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusGetMultiSlotDataStatusRequest.slotIdArray)
  return _internal_slotidarray();
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL TusGetMultiSlotDataStatusRequest::mutable_slotidarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusGetMultiSlotDataStatusRequest.slotIdArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_slotidarray();
}
inline const ::google::protobuf::RepeatedField<::int32_t>&
TusGetMultiSlotDataStatusRequest::_internal_slotidarray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotidarray_;
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
TusGetMultiSlotDataStatusRequest::_internal_mutable_slotidarray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.slotidarray_;
}

// -------------------------------------------------------------------

// TusGetMultiUserDataStatusRequest

// repeated .np2_structs.TusUser users = 1;
inline int TusGetMultiUserDataStatusRequest::_internal_users_size() const {
  return _internal_users().size();
}
inline int TusGetMultiUserDataStatusRequest::users_size() const {
  return _internal_users_size();
}
inline void TusGetMultiUserDataStatusRequest::clear_users() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.users_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetMultiUserDataStatusRequest::mutable_users(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.TusGetMultiUserDataStatusRequest.users)
  return _internal_mutable_users()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>* PROTOBUF_NONNULL TusGetMultiUserDataStatusRequest::mutable_users()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusGetMultiUserDataStatusRequest.users)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_users();
}
inline const ::np2_structs::TusUser& TusGetMultiUserDataStatusRequest::users(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetMultiUserDataStatusRequest.users)
  return _internal_users().Get(index);
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusGetMultiUserDataStatusRequest::add_users()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::TusUser* _add =
      _internal_mutable_users()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusGetMultiUserDataStatusRequest.users)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>& TusGetMultiUserDataStatusRequest::users() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusGetMultiUserDataStatusRequest.users)
  return _internal_users();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>&
TusGetMultiUserDataStatusRequest::_internal_users() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.users_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::TusUser>* PROTOBUF_NONNULL
TusGetMultiUserDataStatusRequest::_internal_mutable_users() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.users_;
}

// int32 slotId = 2;
inline void TusGetMultiUserDataStatusRequest::clear_slotid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::int32_t TusGetMultiUserDataStatusRequest::slotid() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetMultiUserDataStatusRequest.slotId)
  return _internal_slotid();
}
inline void TusGetMultiUserDataStatusRequest::set_slotid(::int32_t value) {
  _internal_set_slotid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetMultiUserDataStatusRequest.slotId)
}
inline ::int32_t TusGetMultiUserDataStatusRequest::_internal_slotid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotid_;
}
inline void TusGetMultiUserDataStatusRequest::_internal_set_slotid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = value;
}

// -------------------------------------------------------------------

// TusGetFriendsDataStatusRequest

// int32 slotId = 1;
inline void TusGetFriendsDataStatusRequest::clear_slotid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::int32_t TusGetFriendsDataStatusRequest::slotid() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetFriendsDataStatusRequest.slotId)
  return _internal_slotid();
}
inline void TusGetFriendsDataStatusRequest::set_slotid(::int32_t value) {
  _internal_set_slotid(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetFriendsDataStatusRequest.slotId)
}
inline ::int32_t TusGetFriendsDataStatusRequest::_internal_slotid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotid_;
}
inline void TusGetFriendsDataStatusRequest::_internal_set_slotid(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotid_ = value;
}

// bool includeSelf = 2;
inline void TusGetFriendsDataStatusRequest::clear_includeself() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.includeself_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline bool TusGetFriendsDataStatusRequest::includeself() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetFriendsDataStatusRequest.includeSelf)
  return _internal_includeself();
}
inline void TusGetFriendsDataStatusRequest::set_includeself(bool value) {
  _internal_set_includeself(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetFriendsDataStatusRequest.includeSelf)
}
inline bool TusGetFriendsDataStatusRequest::_internal_includeself() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.includeself_;
}
inline void TusGetFriendsDataStatusRequest::_internal_set_includeself(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.includeself_ = value;
}

// int32 sortType = 3;
inline void TusGetFriendsDataStatusRequest::clear_sorttype() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sorttype_ = 0;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::int32_t TusGetFriendsDataStatusRequest::sorttype() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetFriendsDataStatusRequest.sortType)
  return _internal_sorttype();
}
inline void TusGetFriendsDataStatusRequest::set_sorttype(::int32_t value) {
  _internal_set_sorttype(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetFriendsDataStatusRequest.sortType)
}
inline ::int32_t TusGetFriendsDataStatusRequest::_internal_sorttype() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.sorttype_;
}
inline void TusGetFriendsDataStatusRequest::_internal_set_sorttype(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.sorttype_ = value;
}

// uint32 arrayNum = 4;
inline void TusGetFriendsDataStatusRequest::clear_arraynum() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.arraynum_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t TusGetFriendsDataStatusRequest::arraynum() const {
  // @@protoc_insertion_point(field_get:np2_structs.TusGetFriendsDataStatusRequest.arrayNum)
  return _internal_arraynum();
}
inline void TusGetFriendsDataStatusRequest::set_arraynum(::uint32_t value) {
  _internal_set_arraynum(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.TusGetFriendsDataStatusRequest.arrayNum)
}
inline ::uint32_t TusGetFriendsDataStatusRequest::_internal_arraynum() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.arraynum_;
}
inline void TusGetFriendsDataStatusRequest::_internal_set_arraynum(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.arraynum_ = value;
}

// -------------------------------------------------------------------

// TusDeleteMultiSlotDataRequest

// .np2_structs.TusUser user = 1;
inline bool TusDeleteMultiSlotDataRequest::has_user() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.user_ != nullptr);
  return value;
}
inline void TusDeleteMultiSlotDataRequest::clear_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ != nullptr) _impl_.user_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::TusUser& TusDeleteMultiSlotDataRequest::_internal_user() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::TusUser* p = _impl_.user_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::TusUser&>(::np2_structs::_TusUser_default_instance_);
}
inline const ::np2_structs::TusUser& TusDeleteMultiSlotDataRequest::user() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.TusDeleteMultiSlotDataRequest.user)
  return _internal_user();
}
inline void TusDeleteMultiSlotDataRequest::unsafe_arena_set_allocated_user(
    ::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }
  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.TusDeleteMultiSlotDataRequest.user)
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusDeleteMultiSlotDataRequest::release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* released = _impl_.user_;
  _impl_.user_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::TusUser* PROTOBUF_NULLABLE TusDeleteMultiSlotDataRequest::unsafe_arena_release_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.TusDeleteMultiSlotDataRequest.user)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* temp = _impl_.user_;
  _impl_.user_ = nullptr;
  return temp;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusDeleteMultiSlotDataRequest::_internal_mutable_user() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.user_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::TusUser>(GetArena());
    _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(p);
  }
  return _impl_.user_;
}
inline ::np2_structs::TusUser* PROTOBUF_NONNULL TusDeleteMultiSlotDataRequest::mutable_user()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::TusUser* _msg = _internal_mutable_user();
  // @@protoc_insertion_point(field_mutable:np2_structs.TusDeleteMultiSlotDataRequest.user)
  return _msg;
}
inline void TusDeleteMultiSlotDataRequest::set_allocated_user(::np2_structs::TusUser* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.user_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.user_ = reinterpret_cast<::np2_structs::TusUser*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.TusDeleteMultiSlotDataRequest.user)
}

// repeated int32 slotIdArray = 2;
inline int TusDeleteMultiSlotDataRequest::_internal_slotidarray_size() const {
  return _internal_slotidarray().size();
}
inline int TusDeleteMultiSlotDataRequest::slotidarray_size() const {
  return _internal_slotidarray_size();
}
inline void TusDeleteMultiSlotDataRequest::clear_slotidarray() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.slotidarray_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::int32_t TusDeleteMultiSlotDataRequest::slotidarray(int index) const {
  // @@protoc_insertion_point(field_get:np2_structs.TusDeleteMultiSlotDataRequest.slotIdArray)
  return _internal_slotidarray().Get(index);
}
inline void TusDeleteMultiSlotDataRequest::set_slotidarray(int index, ::int32_t value) {
  _internal_mutable_slotidarray()->Set(index, value);
  // @@protoc_insertion_point(field_set:np2_structs.TusDeleteMultiSlotDataRequest.slotIdArray)
}
inline void TusDeleteMultiSlotDataRequest::add_slotidarray(::int32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _internal_mutable_slotidarray()->Add(value);
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.TusDeleteMultiSlotDataRequest.slotIdArray)
}
inline const ::google::protobuf::RepeatedField<::int32_t>& TusDeleteMultiSlotDataRequest::slotidarray() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.TusDeleteMultiSlotDataRequest.slotIdArray)
  return _internal_slotidarray();
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL TusDeleteMultiSlotDataRequest::mutable_slotidarray()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.TusDeleteMultiSlotDataRequest.slotIdArray)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_slotidarray();
}
inline const ::google::protobuf::RepeatedField<::int32_t>&
TusDeleteMultiSlotDataRequest::_internal_slotidarray() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.slotidarray_;
}
inline ::google::protobuf::RepeatedField<::int32_t>* PROTOBUF_NONNULL
TusDeleteMultiSlotDataRequest::_internal_mutable_slotidarray() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.slotidarray_;
}

// -------------------------------------------------------------------

// SetPresenceRequest

// string title = 1;
inline void SetPresenceRequest::clear_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& SetPresenceRequest::title() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetPresenceRequest.title)
  return _internal_title();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SetPresenceRequest::set_title(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.title_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.SetPresenceRequest.title)
}
inline ::std::string* PROTOBUF_NONNULL SetPresenceRequest::mutable_title()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_title();
  // @@protoc_insertion_point(field_mutable:np2_structs.SetPresenceRequest.title)
  return _s;
}
inline const ::std::string& SetPresenceRequest::_internal_title() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.title_.Get();
}
inline void SetPresenceRequest::_internal_set_title(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.title_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SetPresenceRequest::_internal_mutable_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.title_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SetPresenceRequest::release_title() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SetPresenceRequest.title)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.title_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.title_.Set("", GetArena());
  }
  return released;
}
inline void SetPresenceRequest::set_allocated_title(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.title_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.title_.IsDefault()) {
    _impl_.title_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SetPresenceRequest.title)
}

// string status = 2;
inline void SetPresenceRequest::clear_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.status_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& SetPresenceRequest::status() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetPresenceRequest.status)
  return _internal_status();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SetPresenceRequest::set_status(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.status_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.SetPresenceRequest.status)
}
inline ::std::string* PROTOBUF_NONNULL SetPresenceRequest::mutable_status()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_status();
  // @@protoc_insertion_point(field_mutable:np2_structs.SetPresenceRequest.status)
  return _s;
}
inline const ::std::string& SetPresenceRequest::_internal_status() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.status_.Get();
}
inline void SetPresenceRequest::_internal_set_status(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.status_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SetPresenceRequest::_internal_mutable_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.status_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SetPresenceRequest::release_status() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SetPresenceRequest.status)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.status_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.status_.Set("", GetArena());
  }
  return released;
}
inline void SetPresenceRequest::set_allocated_status(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.status_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.status_.IsDefault()) {
    _impl_.status_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SetPresenceRequest.status)
}

// string comment = 3;
inline void SetPresenceRequest::clear_comment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comment_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::std::string& SetPresenceRequest::comment() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetPresenceRequest.comment)
  return _internal_comment();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SetPresenceRequest::set_comment(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.comment_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.SetPresenceRequest.comment)
}
inline ::std::string* PROTOBUF_NONNULL SetPresenceRequest::mutable_comment()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_comment();
  // @@protoc_insertion_point(field_mutable:np2_structs.SetPresenceRequest.comment)
  return _s;
}
inline const ::std::string& SetPresenceRequest::_internal_comment() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.comment_.Get();
}
inline void SetPresenceRequest::_internal_set_comment(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comment_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SetPresenceRequest::_internal_mutable_comment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.comment_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SetPresenceRequest::release_comment() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SetPresenceRequest.comment)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.comment_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.comment_.Set("", GetArena());
  }
  return released;
}
inline void SetPresenceRequest::set_allocated_comment(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.comment_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.comment_.IsDefault()) {
    _impl_.comment_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SetPresenceRequest.comment)
}

// bytes data = 4;
inline void SetPresenceRequest::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::std::string& SetPresenceRequest::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetPresenceRequest.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SetPresenceRequest::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.SetPresenceRequest.data)
}
inline ::std::string* PROTOBUF_NONNULL SetPresenceRequest::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.SetPresenceRequest.data)
  return _s;
}
inline const ::std::string& SetPresenceRequest::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void SetPresenceRequest::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SetPresenceRequest::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SetPresenceRequest::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SetPresenceRequest.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void SetPresenceRequest::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SetPresenceRequest.data)
}

// -------------------------------------------------------------------

// MatchingSearchCondition

// uint32 attr_type = 1;
inline void MatchingSearchCondition::clear_attr_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_type_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::uint32_t MatchingSearchCondition::attr_type() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingSearchCondition.attr_type)
  return _internal_attr_type();
}
inline void MatchingSearchCondition::set_attr_type(::uint32_t value) {
  _internal_set_attr_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingSearchCondition.attr_type)
}
inline ::uint32_t MatchingSearchCondition::_internal_attr_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attr_type_;
}
inline void MatchingSearchCondition::_internal_set_attr_type(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_type_ = value;
}

// uint32 attr_id = 2;
inline void MatchingSearchCondition::clear_attr_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t MatchingSearchCondition::attr_id() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingSearchCondition.attr_id)
  return _internal_attr_id();
}
inline void MatchingSearchCondition::set_attr_id(::uint32_t value) {
  _internal_set_attr_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingSearchCondition.attr_id)
}
inline ::uint32_t MatchingSearchCondition::_internal_attr_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attr_id_;
}
inline void MatchingSearchCondition::_internal_set_attr_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_id_ = value;
}

// uint32 comp_op = 3;
inline void MatchingSearchCondition::clear_comp_op() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comp_op_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t MatchingSearchCondition::comp_op() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingSearchCondition.comp_op)
  return _internal_comp_op();
}
inline void MatchingSearchCondition::set_comp_op(::uint32_t value) {
  _internal_set_comp_op(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingSearchCondition.comp_op)
}
inline ::uint32_t MatchingSearchCondition::_internal_comp_op() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.comp_op_;
}
inline void MatchingSearchCondition::_internal_set_comp_op(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comp_op_ = value;
}

// uint32 comp_value = 4;
inline void MatchingSearchCondition::clear_comp_value() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comp_value_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t MatchingSearchCondition::comp_value() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingSearchCondition.comp_value)
  return _internal_comp_value();
}
inline void MatchingSearchCondition::set_comp_value(::uint32_t value) {
  _internal_set_comp_value(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingSearchCondition.comp_value)
}
inline ::uint32_t MatchingSearchCondition::_internal_comp_value() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.comp_value_;
}
inline void MatchingSearchCondition::_internal_set_comp_value(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.comp_value_ = value;
}

// -------------------------------------------------------------------

// MatchingAttr

// uint32 attr_type = 1;
inline void MatchingAttr::clear_attr_type() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_type_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t MatchingAttr::attr_type() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingAttr.attr_type)
  return _internal_attr_type();
}
inline void MatchingAttr::set_attr_type(::uint32_t value) {
  _internal_set_attr_type(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingAttr.attr_type)
}
inline ::uint32_t MatchingAttr::_internal_attr_type() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attr_type_;
}
inline void MatchingAttr::_internal_set_attr_type(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_type_ = value;
}

// uint32 attr_id = 2;
inline void MatchingAttr::clear_attr_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_id_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t MatchingAttr::attr_id() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingAttr.attr_id)
  return _internal_attr_id();
}
inline void MatchingAttr::set_attr_id(::uint32_t value) {
  _internal_set_attr_id(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingAttr.attr_id)
}
inline ::uint32_t MatchingAttr::_internal_attr_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attr_id_;
}
inline void MatchingAttr::_internal_set_attr_id(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_id_ = value;
}

// uint32 num = 3;
inline void MatchingAttr::clear_num() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.num_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t MatchingAttr::num() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingAttr.num)
  return _internal_num();
}
inline void MatchingAttr::set_num(::uint32_t value) {
  _internal_set_num(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingAttr.num)
}
inline ::uint32_t MatchingAttr::_internal_num() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.num_;
}
inline void MatchingAttr::_internal_set_num(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.num_ = value;
}

// bytes data = 4;
inline void MatchingAttr::clear_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& MatchingAttr::data() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingAttr.data)
  return _internal_data();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MatchingAttr::set_data(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.data_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MatchingAttr.data)
}
inline ::std::string* PROTOBUF_NONNULL MatchingAttr::mutable_data()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_data();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingAttr.data)
  return _s;
}
inline const ::std::string& MatchingAttr::_internal_data() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.data_.Get();
}
inline void MatchingAttr::_internal_set_data(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.data_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MatchingAttr::_internal_mutable_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.data_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MatchingAttr::release_data() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingAttr.data)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.data_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.data_.Set("", GetArena());
  }
  return released;
}
inline void MatchingAttr::set_allocated_data(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.data_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.data_.IsDefault()) {
    _impl_.data_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingAttr.data)
}

// -------------------------------------------------------------------

// CreateRoomGUIRequest

// uint32 total_slots = 1;
inline void CreateRoomGUIRequest::clear_total_slots() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.total_slots_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t CreateRoomGUIRequest::total_slots() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateRoomGUIRequest.total_slots)
  return _internal_total_slots();
}
inline void CreateRoomGUIRequest::set_total_slots(::uint32_t value) {
  _internal_set_total_slots(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateRoomGUIRequest.total_slots)
}
inline ::uint32_t CreateRoomGUIRequest::_internal_total_slots() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.total_slots_;
}
inline void CreateRoomGUIRequest::_internal_set_total_slots(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.total_slots_ = value;
}

// uint32 private_slots = 2;
inline void CreateRoomGUIRequest::clear_private_slots() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.private_slots_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t CreateRoomGUIRequest::private_slots() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateRoomGUIRequest.private_slots)
  return _internal_private_slots();
}
inline void CreateRoomGUIRequest::set_private_slots(::uint32_t value) {
  _internal_set_private_slots(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateRoomGUIRequest.private_slots)
}
inline ::uint32_t CreateRoomGUIRequest::_internal_private_slots() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.private_slots_;
}
inline void CreateRoomGUIRequest::_internal_set_private_slots(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.private_slots_ = value;
}

// bool privilege_grant = 3;
inline void CreateRoomGUIRequest::clear_privilege_grant() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.privilege_grant_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline bool CreateRoomGUIRequest::privilege_grant() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateRoomGUIRequest.privilege_grant)
  return _internal_privilege_grant();
}
inline void CreateRoomGUIRequest::set_privilege_grant(bool value) {
  _internal_set_privilege_grant(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateRoomGUIRequest.privilege_grant)
}
inline bool CreateRoomGUIRequest::_internal_privilege_grant() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.privilege_grant_;
}
inline void CreateRoomGUIRequest::_internal_set_privilege_grant(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.privilege_grant_ = value;
}

// bool stealth = 4;
inline void CreateRoomGUIRequest::clear_stealth() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stealth_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000010U);
}
inline bool CreateRoomGUIRequest::stealth() const {
  // @@protoc_insertion_point(field_get:np2_structs.CreateRoomGUIRequest.stealth)
  return _internal_stealth();
}
inline void CreateRoomGUIRequest::set_stealth(bool value) {
  _internal_set_stealth(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000010U);
  // @@protoc_insertion_point(field_set:np2_structs.CreateRoomGUIRequest.stealth)
}
inline bool CreateRoomGUIRequest::_internal_stealth() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.stealth_;
}
inline void CreateRoomGUIRequest::_internal_set_stealth(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stealth_ = value;
}

// repeated .np2_structs.MatchingAttr game_attrs = 5;
inline int CreateRoomGUIRequest::_internal_game_attrs_size() const {
  return _internal_game_attrs().size();
}
inline int CreateRoomGUIRequest::game_attrs_size() const {
  return _internal_game_attrs_size();
}
inline void CreateRoomGUIRequest::clear_game_attrs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.game_attrs_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL CreateRoomGUIRequest::mutable_game_attrs(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.CreateRoomGUIRequest.game_attrs)
  return _internal_mutable_game_attrs()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL CreateRoomGUIRequest::mutable_game_attrs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.CreateRoomGUIRequest.game_attrs)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_game_attrs();
}
inline const ::np2_structs::MatchingAttr& CreateRoomGUIRequest::game_attrs(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.CreateRoomGUIRequest.game_attrs)
  return _internal_game_attrs().Get(index);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL CreateRoomGUIRequest::add_game_attrs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingAttr* _add =
      _internal_mutable_game_attrs()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.CreateRoomGUIRequest.game_attrs)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& CreateRoomGUIRequest::game_attrs() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.CreateRoomGUIRequest.game_attrs)
  return _internal_game_attrs();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>&
CreateRoomGUIRequest::_internal_game_attrs() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.game_attrs_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL
CreateRoomGUIRequest::_internal_mutable_game_attrs() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.game_attrs_;
}

// -------------------------------------------------------------------

// GUIUserInfo

// .np2_structs.UserInfo info = 1;
inline bool GUIUserInfo::has_info() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.info_ != nullptr);
  return value;
}
inline void GUIUserInfo::clear_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.info_ != nullptr) _impl_.info_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::UserInfo& GUIUserInfo::_internal_info() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::UserInfo* p = _impl_.info_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::UserInfo&>(::np2_structs::_UserInfo_default_instance_);
}
inline const ::np2_structs::UserInfo& GUIUserInfo::info() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GUIUserInfo.info)
  return _internal_info();
}
inline void GUIUserInfo::unsafe_arena_set_allocated_info(
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.info_);
  }
  _impl_.info_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.GUIUserInfo.info)
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE GUIUserInfo::release_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::UserInfo* released = _impl_.info_;
  _impl_.info_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE GUIUserInfo::unsafe_arena_release_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.GUIUserInfo.info)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::UserInfo* temp = _impl_.info_;
  _impl_.info_ = nullptr;
  return temp;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL GUIUserInfo::_internal_mutable_info() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.info_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::UserInfo>(GetArena());
    _impl_.info_ = reinterpret_cast<::np2_structs::UserInfo*>(p);
  }
  return _impl_.info_;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL GUIUserInfo::mutable_info()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::UserInfo* _msg = _internal_mutable_info();
  // @@protoc_insertion_point(field_mutable:np2_structs.GUIUserInfo.info)
  return _msg;
}
inline void GUIUserInfo::set_allocated_info(::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.info_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.info_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.GUIUserInfo.info)
}

// bool owner = 2;
inline void GUIUserInfo::clear_owner() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.owner_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline bool GUIUserInfo::owner() const {
  // @@protoc_insertion_point(field_get:np2_structs.GUIUserInfo.owner)
  return _internal_owner();
}
inline void GUIUserInfo::set_owner(bool value) {
  _internal_set_owner(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.GUIUserInfo.owner)
}
inline bool GUIUserInfo::_internal_owner() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.owner_;
}
inline void GUIUserInfo::_internal_set_owner(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.owner_ = value;
}

// -------------------------------------------------------------------

// MatchingRoomStatus

// bytes id = 1;
inline void MatchingRoomStatus::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& MatchingRoomStatus::id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoomStatus.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MatchingRoomStatus::set_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.id_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MatchingRoomStatus.id)
}
inline ::std::string* PROTOBUF_NONNULL MatchingRoomStatus::mutable_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingRoomStatus.id)
  return _s;
}
inline const ::std::string& MatchingRoomStatus::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.id_.Get();
}
inline void MatchingRoomStatus::_internal_set_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MatchingRoomStatus::_internal_mutable_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MatchingRoomStatus::release_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingRoomStatus.id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.id_.Set("", GetArena());
  }
  return released;
}
inline void MatchingRoomStatus::set_allocated_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.id_.IsDefault()) {
    _impl_.id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingRoomStatus.id)
}

// repeated .np2_structs.GUIUserInfo members = 2;
inline int MatchingRoomStatus::_internal_members_size() const {
  return _internal_members().size();
}
inline int MatchingRoomStatus::members_size() const {
  return _internal_members_size();
}
inline void MatchingRoomStatus::clear_members() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.members_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::GUIUserInfo* PROTOBUF_NONNULL MatchingRoomStatus::mutable_members(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingRoomStatus.members)
  return _internal_mutable_members()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::GUIUserInfo>* PROTOBUF_NONNULL MatchingRoomStatus::mutable_members()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.MatchingRoomStatus.members)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_members();
}
inline const ::np2_structs::GUIUserInfo& MatchingRoomStatus::members(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoomStatus.members)
  return _internal_members().Get(index);
}
inline ::np2_structs::GUIUserInfo* PROTOBUF_NONNULL MatchingRoomStatus::add_members()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::GUIUserInfo* _add =
      _internal_mutable_members()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.MatchingRoomStatus.members)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::GUIUserInfo>& MatchingRoomStatus::members() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.MatchingRoomStatus.members)
  return _internal_members();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::GUIUserInfo>&
MatchingRoomStatus::_internal_members() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.members_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::GUIUserInfo>* PROTOBUF_NONNULL
MatchingRoomStatus::_internal_mutable_members() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.members_;
}

// string kick_actor = 3;
inline void MatchingRoomStatus::clear_kick_actor() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.kick_actor_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline const ::std::string& MatchingRoomStatus::kick_actor() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoomStatus.kick_actor)
  return _internal_kick_actor();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MatchingRoomStatus::set_kick_actor(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  _impl_.kick_actor_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MatchingRoomStatus.kick_actor)
}
inline ::std::string* PROTOBUF_NONNULL MatchingRoomStatus::mutable_kick_actor()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  ::std::string* _s = _internal_mutable_kick_actor();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingRoomStatus.kick_actor)
  return _s;
}
inline const ::std::string& MatchingRoomStatus::_internal_kick_actor() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.kick_actor_.Get();
}
inline void MatchingRoomStatus::_internal_set_kick_actor(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.kick_actor_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MatchingRoomStatus::_internal_mutable_kick_actor() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.kick_actor_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MatchingRoomStatus::release_kick_actor() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingRoomStatus.kick_actor)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000004U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  auto* released = _impl_.kick_actor_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.kick_actor_.Set("", GetArena());
  }
  return released;
}
inline void MatchingRoomStatus::set_allocated_kick_actor(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000004U);
  }
  _impl_.kick_actor_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.kick_actor_.IsDefault()) {
    _impl_.kick_actor_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingRoomStatus.kick_actor)
}

// bytes opt = 4;
inline void MatchingRoomStatus::clear_opt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.opt_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline const ::std::string& MatchingRoomStatus::opt() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoomStatus.opt)
  return _internal_opt();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MatchingRoomStatus::set_opt(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  _impl_.opt_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MatchingRoomStatus.opt)
}
inline ::std::string* PROTOBUF_NONNULL MatchingRoomStatus::mutable_opt()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  ::std::string* _s = _internal_mutable_opt();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingRoomStatus.opt)
  return _s;
}
inline const ::std::string& MatchingRoomStatus::_internal_opt() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.opt_.Get();
}
inline void MatchingRoomStatus::_internal_set_opt(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.opt_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MatchingRoomStatus::_internal_mutable_opt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.opt_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MatchingRoomStatus::release_opt() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingRoomStatus.opt)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000008U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  auto* released = _impl_.opt_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.opt_.Set("", GetArena());
  }
  return released;
}
inline void MatchingRoomStatus::set_allocated_opt(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000008U);
  }
  _impl_.opt_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.opt_.IsDefault()) {
    _impl_.opt_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingRoomStatus.opt)
}

// -------------------------------------------------------------------

// GetRoomListGUIRequest

// uint32 range_start = 1;
inline void GetRoomListGUIRequest::clear_range_start() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.range_start_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t GetRoomListGUIRequest::range_start() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomListGUIRequest.range_start)
  return _internal_range_start();
}
inline void GetRoomListGUIRequest::set_range_start(::uint32_t value) {
  _internal_set_range_start(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.GetRoomListGUIRequest.range_start)
}
inline ::uint32_t GetRoomListGUIRequest::_internal_range_start() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.range_start_;
}
inline void GetRoomListGUIRequest::_internal_set_range_start(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.range_start_ = value;
}

// uint32 range_max = 2;
inline void GetRoomListGUIRequest::clear_range_max() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.range_max_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000008U);
}
inline ::uint32_t GetRoomListGUIRequest::range_max() const {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomListGUIRequest.range_max)
  return _internal_range_max();
}
inline void GetRoomListGUIRequest::set_range_max(::uint32_t value) {
  _internal_set_range_max(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000008U);
  // @@protoc_insertion_point(field_set:np2_structs.GetRoomListGUIRequest.range_max)
}
inline ::uint32_t GetRoomListGUIRequest::_internal_range_max() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.range_max_;
}
inline void GetRoomListGUIRequest::_internal_set_range_max(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.range_max_ = value;
}

// repeated .np2_structs.MatchingSearchCondition conds = 3;
inline int GetRoomListGUIRequest::_internal_conds_size() const {
  return _internal_conds().size();
}
inline int GetRoomListGUIRequest::conds_size() const {
  return _internal_conds_size();
}
inline void GetRoomListGUIRequest::clear_conds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.conds_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL GetRoomListGUIRequest::mutable_conds(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetRoomListGUIRequest.conds)
  return _internal_mutable_conds()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL GetRoomListGUIRequest::mutable_conds()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetRoomListGUIRequest.conds)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_conds();
}
inline const ::np2_structs::MatchingSearchCondition& GetRoomListGUIRequest::conds(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomListGUIRequest.conds)
  return _internal_conds().Get(index);
}
inline ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL GetRoomListGUIRequest::add_conds()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingSearchCondition* _add =
      _internal_mutable_conds()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.GetRoomListGUIRequest.conds)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& GetRoomListGUIRequest::conds() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetRoomListGUIRequest.conds)
  return _internal_conds();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>&
GetRoomListGUIRequest::_internal_conds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.conds_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL
GetRoomListGUIRequest::_internal_mutable_conds() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.conds_;
}

// repeated .np2_structs.MatchingAttr attrs = 4;
inline int GetRoomListGUIRequest::_internal_attrs_size() const {
  return _internal_attrs().size();
}
inline int GetRoomListGUIRequest::attrs_size() const {
  return _internal_attrs_size();
}
inline void GetRoomListGUIRequest::clear_attrs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attrs_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL GetRoomListGUIRequest::mutable_attrs(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetRoomListGUIRequest.attrs)
  return _internal_mutable_attrs()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL GetRoomListGUIRequest::mutable_attrs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetRoomListGUIRequest.attrs)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attrs();
}
inline const ::np2_structs::MatchingAttr& GetRoomListGUIRequest::attrs(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomListGUIRequest.attrs)
  return _internal_attrs().Get(index);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL GetRoomListGUIRequest::add_attrs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingAttr* _add =
      _internal_mutable_attrs()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.GetRoomListGUIRequest.attrs)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& GetRoomListGUIRequest::attrs() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetRoomListGUIRequest.attrs)
  return _internal_attrs();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>&
GetRoomListGUIRequest::_internal_attrs() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attrs_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL
GetRoomListGUIRequest::_internal_mutable_attrs() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attrs_;
}

// -------------------------------------------------------------------

// MatchingRoom

// bytes id = 1;
inline void MatchingRoom::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::std::string& MatchingRoom::id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoom.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MatchingRoom::set_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  _impl_.id_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MatchingRoom.id)
}
inline ::std::string* PROTOBUF_NONNULL MatchingRoom::mutable_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingRoom.id)
  return _s;
}
inline const ::std::string& MatchingRoom::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.id_.Get();
}
inline void MatchingRoom::_internal_set_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MatchingRoom::_internal_mutable_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MatchingRoom::release_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingRoom.id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000002U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  auto* released = _impl_.id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.id_.Set("", GetArena());
  }
  return released;
}
inline void MatchingRoom::set_allocated_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  _impl_.id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.id_.IsDefault()) {
    _impl_.id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingRoom.id)
}

// repeated .np2_structs.MatchingAttr attr = 2;
inline int MatchingRoom::_internal_attr_size() const {
  return _internal_attr().size();
}
inline int MatchingRoom::attr_size() const {
  return _internal_attr_size();
}
inline void MatchingRoom::clear_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL MatchingRoom::mutable_attr(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingRoom.attr)
  return _internal_mutable_attr()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL MatchingRoom::mutable_attr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.MatchingRoom.attr)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attr();
}
inline const ::np2_structs::MatchingAttr& MatchingRoom::attr(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoom.attr)
  return _internal_attr().Get(index);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL MatchingRoom::add_attr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingAttr* _add =
      _internal_mutable_attr()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.MatchingRoom.attr)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& MatchingRoom::attr() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.MatchingRoom.attr)
  return _internal_attr();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>&
MatchingRoom::_internal_attr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attr_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL
MatchingRoom::_internal_mutable_attr() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attr_;
}

// -------------------------------------------------------------------

// MatchingRoomList

// uint32 start = 1;
inline void MatchingRoomList::clear_start() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.start_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t MatchingRoomList::start() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoomList.start)
  return _internal_start();
}
inline void MatchingRoomList::set_start(::uint32_t value) {
  _internal_set_start(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingRoomList.start)
}
inline ::uint32_t MatchingRoomList::_internal_start() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.start_;
}
inline void MatchingRoomList::_internal_set_start(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.start_ = value;
}

// uint32 total = 2;
inline void MatchingRoomList::clear_total() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.total_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint32_t MatchingRoomList::total() const {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoomList.total)
  return _internal_total();
}
inline void MatchingRoomList::set_total(::uint32_t value) {
  _internal_set_total(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.MatchingRoomList.total)
}
inline ::uint32_t MatchingRoomList::_internal_total() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.total_;
}
inline void MatchingRoomList::_internal_set_total(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.total_ = value;
}

// repeated .np2_structs.MatchingRoom rooms = 3;
inline int MatchingRoomList::_internal_rooms_size() const {
  return _internal_rooms().size();
}
inline int MatchingRoomList::rooms_size() const {
  return _internal_rooms_size();
}
inline void MatchingRoomList::clear_rooms() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.rooms_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::MatchingRoom* PROTOBUF_NONNULL MatchingRoomList::mutable_rooms(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingRoomList.rooms)
  return _internal_mutable_rooms()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingRoom>* PROTOBUF_NONNULL MatchingRoomList::mutable_rooms()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.MatchingRoomList.rooms)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_rooms();
}
inline const ::np2_structs::MatchingRoom& MatchingRoomList::rooms(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingRoomList.rooms)
  return _internal_rooms().Get(index);
}
inline ::np2_structs::MatchingRoom* PROTOBUF_NONNULL MatchingRoomList::add_rooms()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingRoom* _add =
      _internal_mutable_rooms()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.MatchingRoomList.rooms)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingRoom>& MatchingRoomList::rooms() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.MatchingRoomList.rooms)
  return _internal_rooms();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingRoom>&
MatchingRoomList::_internal_rooms() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.rooms_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingRoom>* PROTOBUF_NONNULL
MatchingRoomList::_internal_mutable_rooms() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.rooms_;
}

// -------------------------------------------------------------------

// MatchingGuiRoomId

// bytes id = 1;
inline void MatchingGuiRoomId::clear_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& MatchingGuiRoomId::id() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingGuiRoomId.id)
  return _internal_id();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void MatchingGuiRoomId::set_id(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.id_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.MatchingGuiRoomId.id)
}
inline ::std::string* PROTOBUF_NONNULL MatchingGuiRoomId::mutable_id()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_id();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingGuiRoomId.id)
  return _s;
}
inline const ::std::string& MatchingGuiRoomId::_internal_id() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.id_.Get();
}
inline void MatchingGuiRoomId::_internal_set_id(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.id_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL MatchingGuiRoomId::_internal_mutable_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.id_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE MatchingGuiRoomId::release_id() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingGuiRoomId.id)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.id_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.id_.Set("", GetArena());
  }
  return released;
}
inline void MatchingGuiRoomId::set_allocated_id(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.id_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.id_.IsDefault()) {
    _impl_.id_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingGuiRoomId.id)
}

// -------------------------------------------------------------------

// SetRoomSearchFlagGUI

// bytes roomid = 1;
inline void SetRoomSearchFlagGUI::clear_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_.ClearToEmpty();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::std::string& SetRoomSearchFlagGUI::roomid() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomSearchFlagGUI.roomid)
  return _internal_roomid();
}
template <typename Arg_, typename... Args_>
PROTOBUF_ALWAYS_INLINE void SetRoomSearchFlagGUI::set_roomid(Arg_&& arg, Args_... args) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  _impl_.roomid_.SetBytes(static_cast<Arg_&&>(arg), args..., GetArena());
  // @@protoc_insertion_point(field_set:np2_structs.SetRoomSearchFlagGUI.roomid)
}
inline ::std::string* PROTOBUF_NONNULL SetRoomSearchFlagGUI::mutable_roomid()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::std::string* _s = _internal_mutable_roomid();
  // @@protoc_insertion_point(field_mutable:np2_structs.SetRoomSearchFlagGUI.roomid)
  return _s;
}
inline const ::std::string& SetRoomSearchFlagGUI::_internal_roomid() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.roomid_.Get();
}
inline void SetRoomSearchFlagGUI::_internal_set_roomid(const ::std::string& value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.roomid_.Set(value, GetArena());
}
inline ::std::string* PROTOBUF_NONNULL SetRoomSearchFlagGUI::_internal_mutable_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _impl_.roomid_.Mutable( GetArena());
}
inline ::std::string* PROTOBUF_NULLABLE SetRoomSearchFlagGUI::release_roomid() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.SetRoomSearchFlagGUI.roomid)
  if (!CheckHasBit(_impl_._has_bits_[0], 0x00000001U)) {
    return nullptr;
  }
  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  auto* released = _impl_.roomid_.Release();
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
    _impl_.roomid_.Set("", GetArena());
  }
  return released;
}
inline void SetRoomSearchFlagGUI::set_allocated_roomid(::std::string* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  _impl_.roomid_.SetAllocated(value, GetArena());
  if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.roomid_.IsDefault()) {
    _impl_.roomid_.Set("", GetArena());
  }
  // @@protoc_insertion_point(field_set_allocated:np2_structs.SetRoomSearchFlagGUI.roomid)
}

// bool stealth = 2;
inline void SetRoomSearchFlagGUI::clear_stealth() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stealth_ = false;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline bool SetRoomSearchFlagGUI::stealth() const {
  // @@protoc_insertion_point(field_get:np2_structs.SetRoomSearchFlagGUI.stealth)
  return _internal_stealth();
}
inline void SetRoomSearchFlagGUI::set_stealth(bool value) {
  _internal_set_stealth(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.SetRoomSearchFlagGUI.stealth)
}
inline bool SetRoomSearchFlagGUI::_internal_stealth() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.stealth_;
}
inline void SetRoomSearchFlagGUI::_internal_set_stealth(bool value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.stealth_ = value;
}

// -------------------------------------------------------------------

// QuickMatchGUIRequest

// repeated .np2_structs.MatchingSearchCondition conds = 1;
inline int QuickMatchGUIRequest::_internal_conds_size() const {
  return _internal_conds().size();
}
inline int QuickMatchGUIRequest::conds_size() const {
  return _internal_conds_size();
}
inline void QuickMatchGUIRequest::clear_conds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.conds_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL QuickMatchGUIRequest::mutable_conds(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.QuickMatchGUIRequest.conds)
  return _internal_mutable_conds()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL QuickMatchGUIRequest::mutable_conds()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.QuickMatchGUIRequest.conds)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_conds();
}
inline const ::np2_structs::MatchingSearchCondition& QuickMatchGUIRequest::conds(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.QuickMatchGUIRequest.conds)
  return _internal_conds().Get(index);
}
inline ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL QuickMatchGUIRequest::add_conds()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingSearchCondition* _add =
      _internal_mutable_conds()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.QuickMatchGUIRequest.conds)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& QuickMatchGUIRequest::conds() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.QuickMatchGUIRequest.conds)
  return _internal_conds();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>&
QuickMatchGUIRequest::_internal_conds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.conds_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL
QuickMatchGUIRequest::_internal_mutable_conds() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.conds_;
}

// uint32 available_num = 2;
inline void QuickMatchGUIRequest::clear_available_num() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.available_num_ = 0u;
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::uint32_t QuickMatchGUIRequest::available_num() const {
  // @@protoc_insertion_point(field_get:np2_structs.QuickMatchGUIRequest.available_num)
  return _internal_available_num();
}
inline void QuickMatchGUIRequest::set_available_num(::uint32_t value) {
  _internal_set_available_num(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_set:np2_structs.QuickMatchGUIRequest.available_num)
}
inline ::uint32_t QuickMatchGUIRequest::_internal_available_num() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.available_num_;
}
inline void QuickMatchGUIRequest::_internal_set_available_num(::uint32_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.available_num_ = value;
}

// -------------------------------------------------------------------

// SearchJoinRoomGUIRequest

// repeated .np2_structs.MatchingSearchCondition conds = 1;
inline int SearchJoinRoomGUIRequest::_internal_conds_size() const {
  return _internal_conds().size();
}
inline int SearchJoinRoomGUIRequest::conds_size() const {
  return _internal_conds_size();
}
inline void SearchJoinRoomGUIRequest::clear_conds() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.conds_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL SearchJoinRoomGUIRequest::mutable_conds(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SearchJoinRoomGUIRequest.conds)
  return _internal_mutable_conds()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL SearchJoinRoomGUIRequest::mutable_conds()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SearchJoinRoomGUIRequest.conds)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_conds();
}
inline const ::np2_structs::MatchingSearchCondition& SearchJoinRoomGUIRequest::conds(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SearchJoinRoomGUIRequest.conds)
  return _internal_conds().Get(index);
}
inline ::np2_structs::MatchingSearchCondition* PROTOBUF_NONNULL SearchJoinRoomGUIRequest::add_conds()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingSearchCondition* _add =
      _internal_mutable_conds()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.SearchJoinRoomGUIRequest.conds)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>& SearchJoinRoomGUIRequest::conds() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SearchJoinRoomGUIRequest.conds)
  return _internal_conds();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>&
SearchJoinRoomGUIRequest::_internal_conds() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.conds_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingSearchCondition>* PROTOBUF_NONNULL
SearchJoinRoomGUIRequest::_internal_mutable_conds() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.conds_;
}

// repeated .np2_structs.MatchingAttr attrs = 2;
inline int SearchJoinRoomGUIRequest::_internal_attrs_size() const {
  return _internal_attrs().size();
}
inline int SearchJoinRoomGUIRequest::attrs_size() const {
  return _internal_attrs_size();
}
inline void SearchJoinRoomGUIRequest::clear_attrs() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attrs_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000002U);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL SearchJoinRoomGUIRequest::mutable_attrs(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.SearchJoinRoomGUIRequest.attrs)
  return _internal_mutable_attrs()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL SearchJoinRoomGUIRequest::mutable_attrs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.SearchJoinRoomGUIRequest.attrs)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attrs();
}
inline const ::np2_structs::MatchingAttr& SearchJoinRoomGUIRequest::attrs(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.SearchJoinRoomGUIRequest.attrs)
  return _internal_attrs().Get(index);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL SearchJoinRoomGUIRequest::add_attrs()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingAttr* _add =
      _internal_mutable_attrs()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000002U);
  // @@protoc_insertion_point(field_add:np2_structs.SearchJoinRoomGUIRequest.attrs)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& SearchJoinRoomGUIRequest::attrs() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.SearchJoinRoomGUIRequest.attrs)
  return _internal_attrs();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>&
SearchJoinRoomGUIRequest::_internal_attrs() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attrs_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL
SearchJoinRoomGUIRequest::_internal_mutable_attrs() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attrs_;
}

// -------------------------------------------------------------------

// MatchingSearchJoinRoomInfo

// .np2_structs.MatchingRoomStatus room = 1;
inline bool MatchingSearchJoinRoomInfo::has_room() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.room_ != nullptr);
  return value;
}
inline void MatchingSearchJoinRoomInfo::clear_room() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.room_ != nullptr) _impl_.room_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::MatchingRoomStatus& MatchingSearchJoinRoomInfo::_internal_room() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::MatchingRoomStatus* p = _impl_.room_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::MatchingRoomStatus&>(::np2_structs::_MatchingRoomStatus_default_instance_);
}
inline const ::np2_structs::MatchingRoomStatus& MatchingSearchJoinRoomInfo::room() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingSearchJoinRoomInfo.room)
  return _internal_room();
}
inline void MatchingSearchJoinRoomInfo::unsafe_arena_set_allocated_room(
    ::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.room_);
  }
  _impl_.room_ = reinterpret_cast<::np2_structs::MatchingRoomStatus*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.MatchingSearchJoinRoomInfo.room)
}
inline ::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE MatchingSearchJoinRoomInfo::release_room() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::MatchingRoomStatus* released = _impl_.room_;
  _impl_.room_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE MatchingSearchJoinRoomInfo::unsafe_arena_release_room() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.MatchingSearchJoinRoomInfo.room)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::MatchingRoomStatus* temp = _impl_.room_;
  _impl_.room_ = nullptr;
  return temp;
}
inline ::np2_structs::MatchingRoomStatus* PROTOBUF_NONNULL MatchingSearchJoinRoomInfo::_internal_mutable_room() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.room_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::MatchingRoomStatus>(GetArena());
    _impl_.room_ = reinterpret_cast<::np2_structs::MatchingRoomStatus*>(p);
  }
  return _impl_.room_;
}
inline ::np2_structs::MatchingRoomStatus* PROTOBUF_NONNULL MatchingSearchJoinRoomInfo::mutable_room()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::MatchingRoomStatus* _msg = _internal_mutable_room();
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingSearchJoinRoomInfo.room)
  return _msg;
}
inline void MatchingSearchJoinRoomInfo::set_allocated_room(::np2_structs::MatchingRoomStatus* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.room_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.room_ = reinterpret_cast<::np2_structs::MatchingRoomStatus*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.MatchingSearchJoinRoomInfo.room)
}

// repeated .np2_structs.MatchingAttr attr = 2;
inline int MatchingSearchJoinRoomInfo::_internal_attr_size() const {
  return _internal_attr().size();
}
inline int MatchingSearchJoinRoomInfo::attr_size() const {
  return _internal_attr_size();
}
inline void MatchingSearchJoinRoomInfo::clear_attr() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.attr_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL MatchingSearchJoinRoomInfo::mutable_attr(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.MatchingSearchJoinRoomInfo.attr)
  return _internal_mutable_attr()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL MatchingSearchJoinRoomInfo::mutable_attr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.MatchingSearchJoinRoomInfo.attr)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_attr();
}
inline const ::np2_structs::MatchingAttr& MatchingSearchJoinRoomInfo::attr(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.MatchingSearchJoinRoomInfo.attr)
  return _internal_attr().Get(index);
}
inline ::np2_structs::MatchingAttr* PROTOBUF_NONNULL MatchingSearchJoinRoomInfo::add_attr()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::MatchingAttr* _add =
      _internal_mutable_attr()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.MatchingSearchJoinRoomInfo.attr)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>& MatchingSearchJoinRoomInfo::attr() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.MatchingSearchJoinRoomInfo.attr)
  return _internal_attr();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>&
MatchingSearchJoinRoomInfo::_internal_attr() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.attr_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::MatchingAttr>* PROTOBUF_NONNULL
MatchingSearchJoinRoomInfo::_internal_mutable_attr() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.attr_;
}

// -------------------------------------------------------------------

// RoomMemberDataExternal

// .np2_structs.UserInfo userInfo = 1;
inline bool RoomMemberDataExternal::has_userinfo() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000001U);
  PROTOBUF_ASSUME(!value || _impl_.userinfo_ != nullptr);
  return value;
}
inline void RoomMemberDataExternal::clear_userinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.userinfo_ != nullptr) _impl_.userinfo_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000001U);
}
inline const ::np2_structs::UserInfo& RoomMemberDataExternal::_internal_userinfo() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::UserInfo* p = _impl_.userinfo_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::UserInfo&>(::np2_structs::_UserInfo_default_instance_);
}
inline const ::np2_structs::UserInfo& RoomMemberDataExternal::userinfo() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataExternal.userInfo)
  return _internal_userinfo();
}
inline void RoomMemberDataExternal::unsafe_arena_set_allocated_userinfo(
    ::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.userinfo_);
  }
  _impl_.userinfo_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberDataExternal.userInfo)
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE RoomMemberDataExternal::release_userinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::UserInfo* released = _impl_.userinfo_;
  _impl_.userinfo_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::UserInfo* PROTOBUF_NULLABLE RoomMemberDataExternal::unsafe_arena_release_userinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberDataExternal.userInfo)

  ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::UserInfo* temp = _impl_.userinfo_;
  _impl_.userinfo_ = nullptr;
  return temp;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL RoomMemberDataExternal::_internal_mutable_userinfo() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.userinfo_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::UserInfo>(GetArena());
    _impl_.userinfo_ = reinterpret_cast<::np2_structs::UserInfo*>(p);
  }
  return _impl_.userinfo_;
}
inline ::np2_structs::UserInfo* PROTOBUF_NONNULL RoomMemberDataExternal::mutable_userinfo()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  ::np2_structs::UserInfo* _msg = _internal_mutable_userinfo();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataExternal.userInfo)
  return _msg;
}
inline void RoomMemberDataExternal::set_allocated_userinfo(::np2_structs::UserInfo* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.userinfo_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000001U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000001U);
  }

  _impl_.userinfo_ = reinterpret_cast<::np2_structs::UserInfo*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberDataExternal.userInfo)
}

// uint64 joinDate = 2;
inline void RoomMemberDataExternal::clear_joindate() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.joindate_ = ::uint64_t{0u};
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000004U);
}
inline ::uint64_t RoomMemberDataExternal::joindate() const {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataExternal.joinDate)
  return _internal_joindate();
}
inline void RoomMemberDataExternal::set_joindate(::uint64_t value) {
  _internal_set_joindate(value);
  SetHasBit(_impl_._has_bits_[0], 0x00000004U);
  // @@protoc_insertion_point(field_set:np2_structs.RoomMemberDataExternal.joinDate)
}
inline ::uint64_t RoomMemberDataExternal::_internal_joindate() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.joindate_;
}
inline void RoomMemberDataExternal::_internal_set_joindate(::uint64_t value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.joindate_ = value;
}

// .np2_structs.uint8 role = 3;
inline bool RoomMemberDataExternal::has_role() const {
  bool value = CheckHasBit(_impl_._has_bits_[0], 0x00000002U);
  PROTOBUF_ASSUME(!value || _impl_.role_ != nullptr);
  return value;
}
inline void RoomMemberDataExternal::clear_role() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.role_ != nullptr) _impl_.role_->Clear();
  ClearHasBit(_impl_._has_bits_[0],
                  0x00000002U);
}
inline const ::np2_structs::uint8& RoomMemberDataExternal::_internal_role() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  const ::np2_structs::uint8* p = _impl_.role_;
  return p != nullptr ? *p : reinterpret_cast<const ::np2_structs::uint8&>(::np2_structs::_uint8_default_instance_);
}
inline const ::np2_structs::uint8& RoomMemberDataExternal::role() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.RoomMemberDataExternal.role)
  return _internal_role();
}
inline void RoomMemberDataExternal::unsafe_arena_set_allocated_role(
    ::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (GetArena() == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.role_);
  }
  _impl_.role_ = reinterpret_cast<::np2_structs::uint8*>(value);
  if (value != nullptr) {
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:np2_structs.RoomMemberDataExternal.role)
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberDataExternal::release_role() {
  ::google::protobuf::internal::TSanWrite(&_impl_);

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* released = _impl_.role_;
  _impl_.role_ = nullptr;
  if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) {
    auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released);
    released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    if (GetArena() == nullptr) {
      delete old;
    }
  } else {
    if (GetArena() != nullptr) {
      released = ::google::protobuf::internal::DuplicateIfNonNull(released);
    }
  }
  return released;
}
inline ::np2_structs::uint8* PROTOBUF_NULLABLE RoomMemberDataExternal::unsafe_arena_release_role() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  // @@protoc_insertion_point(field_release:np2_structs.RoomMemberDataExternal.role)

  ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* temp = _impl_.role_;
  _impl_.role_ = nullptr;
  return temp;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberDataExternal::_internal_mutable_role() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (_impl_.role_ == nullptr) {
    auto* p = ::google::protobuf::MessageLite::DefaultConstruct<::np2_structs::uint8>(GetArena());
    _impl_.role_ = reinterpret_cast<::np2_structs::uint8*>(p);
  }
  return _impl_.role_;
}
inline ::np2_structs::uint8* PROTOBUF_NONNULL RoomMemberDataExternal::mutable_role()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  ::np2_structs::uint8* _msg = _internal_mutable_role();
  // @@protoc_insertion_point(field_mutable:np2_structs.RoomMemberDataExternal.role)
  return _msg;
}
inline void RoomMemberDataExternal::set_allocated_role(::np2_structs::uint8* PROTOBUF_NULLABLE value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  ::google::protobuf::internal::TSanWrite(&_impl_);
  if (message_arena == nullptr) {
    delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.role_);
  }

  if (value != nullptr) {
    ::google::protobuf::Arena* submessage_arena = value->GetArena();
    if (message_arena != submessage_arena) {
      value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena);
    }
    SetHasBit(_impl_._has_bits_[0], 0x00000002U);
  } else {
    ClearHasBit(_impl_._has_bits_[0], 0x00000002U);
  }

  _impl_.role_ = reinterpret_cast<::np2_structs::uint8*>(value);
  // @@protoc_insertion_point(field_set_allocated:np2_structs.RoomMemberDataExternal.role)
}

// -------------------------------------------------------------------

// GetRoomMemberDataExternalListResponse

// repeated .np2_structs.RoomMemberDataExternal members = 1;
inline int GetRoomMemberDataExternalListResponse::_internal_members_size() const {
  return _internal_members().size();
}
inline int GetRoomMemberDataExternalListResponse::members_size() const {
  return _internal_members_size();
}
inline void GetRoomMemberDataExternalListResponse::clear_members() {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  _impl_.members_.Clear();
  ClearHasBitForRepeated(_impl_._has_bits_[0],
                  0x00000001U);
}
inline ::np2_structs::RoomMemberDataExternal* PROTOBUF_NONNULL GetRoomMemberDataExternalListResponse::mutable_members(int index)
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_mutable:np2_structs.GetRoomMemberDataExternalListResponse.members)
  return _internal_mutable_members()->Mutable(index);
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataExternal>* PROTOBUF_NONNULL GetRoomMemberDataExternalListResponse::mutable_members()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_mutable_list:np2_structs.GetRoomMemberDataExternalListResponse.members)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  return _internal_mutable_members();
}
inline const ::np2_structs::RoomMemberDataExternal& GetRoomMemberDataExternalListResponse::members(int index) const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_get:np2_structs.GetRoomMemberDataExternalListResponse.members)
  return _internal_members().Get(index);
}
inline ::np2_structs::RoomMemberDataExternal* PROTOBUF_NONNULL GetRoomMemberDataExternalListResponse::add_members()
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::np2_structs::RoomMemberDataExternal* _add =
      _internal_mutable_members()->InternalAddWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), GetArena());
  SetHasBitForRepeated(_impl_._has_bits_[0], 0x00000001U);
  // @@protoc_insertion_point(field_add:np2_structs.GetRoomMemberDataExternalListResponse.members)
  return _add;
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataExternal>& GetRoomMemberDataExternalListResponse::members() const
    ABSL_ATTRIBUTE_LIFETIME_BOUND {
  // @@protoc_insertion_point(field_list:np2_structs.GetRoomMemberDataExternalListResponse.members)
  return _internal_members();
}
inline const ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataExternal>&
GetRoomMemberDataExternalListResponse::_internal_members() const {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return _impl_.members_;
}
inline ::google::protobuf::RepeatedPtrField<::np2_structs::RoomMemberDataExternal>* PROTOBUF_NONNULL
GetRoomMemberDataExternalListResponse::_internal_mutable_members() {
  ::google::protobuf::internal::TSanRead(&_impl_);
  return &_impl_.members_;
}

#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif  // __GNUC__

// @@protoc_insertion_point(namespace_scope)
}  // namespace np2_structs


// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // np2_5fstructs_2eproto_2epb_2eh
