// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.1 // protoc v3.19.4 // source: user_center.proto package pb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type GiftType int32 const ( GiftType_starter GiftType = 0 // 新手礼包 GiftType_subsistence GiftType = 1 // 低保 ) // Enum value maps for GiftType. var ( GiftType_name = map[int32]string{ 0: "starter", 1: "subsistence", } GiftType_value = map[string]int32{ "starter": 0, "subsistence": 1, } ) func (x GiftType) Enum() *GiftType { p := new(GiftType) *p = x return p } func (x GiftType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (GiftType) Descriptor() protoreflect.EnumDescriptor { return file_user_center_proto_enumTypes[0].Descriptor() } func (GiftType) Type() protoreflect.EnumType { return &file_user_center_proto_enumTypes[0] } func (x GiftType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use GiftType.Descriptor instead. func (GiftType) EnumDescriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{0} } ////////////////////// rank type RankType int32 const ( RankType_Unknown RankType = 0 RankType_Damage RankType = 1 // 伤害榜 RankType_DeDamage RankType = 2 // 受伤榜 RankType_General RankType = 3 // 名将榜 RankType_DeGeneral RankType = 4 // 落马榜 RankType_KillUnit RankType = 5 // 小兵击杀 RankType_DeKillUnit RankType = 6 // 小兵被杀 RankType_KillPlayer RankType = 7 // 击杀玩家 RankType_DeKillPlayer RankType = 8 // 被杀榜 RankType_Win RankType = 9 // 获胜榜 RankType_Lost RankType = 10 // 战败榜 RankType_FirstBlood RankType = 11 // 一血榜 RankType_DeFirstBlood RankType = 12 // 被拿一血榜 ) // Enum value maps for RankType. var ( RankType_name = map[int32]string{ 0: "Unknown", 1: "Damage", 2: "DeDamage", 3: "General", 4: "DeGeneral", 5: "KillUnit", 6: "DeKillUnit", 7: "KillPlayer", 8: "DeKillPlayer", 9: "Win", 10: "Lost", 11: "FirstBlood", 12: "DeFirstBlood", } RankType_value = map[string]int32{ "Unknown": 0, "Damage": 1, "DeDamage": 2, "General": 3, "DeGeneral": 4, "KillUnit": 5, "DeKillUnit": 6, "KillPlayer": 7, "DeKillPlayer": 8, "Win": 9, "Lost": 10, "FirstBlood": 11, "DeFirstBlood": 12, } ) func (x RankType) Enum() *RankType { p := new(RankType) *p = x return p } func (x RankType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RankType) Descriptor() protoreflect.EnumDescriptor { return file_user_center_proto_enumTypes[1].Descriptor() } func (RankType) Type() protoreflect.EnumType { return &file_user_center_proto_enumTypes[1] } func (x RankType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use RankType.Descriptor instead. func (RankType) EnumDescriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{1} } // model type User struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // platform Platform string `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` PUid string `protobuf:"bytes,4,opt,name=pUid,proto3" json:"pUid,omitempty"` PUname string `protobuf:"bytes,5,opt,name=pUname,proto3" json:"pUname,omitempty"` PAvatar string `protobuf:"bytes,6,opt,name=pAvatar,proto3" json:"pAvatar,omitempty"` NobilityLevel int32 `protobuf:"varint,7,opt,name=nobilityLevel,proto3" json:"nobilityLevel,omitempty"` // 贵族等级 Integral int64 `protobuf:"varint,8,opt,name=integral,proto3" json:"integral,omitempty"` // 用户积分(充值) } func (x *User) Reset() { *x = User{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *User) String() string { return protoimpl.X.MessageStringOf(x) } func (*User) ProtoMessage() {} func (x *User) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use User.ProtoReflect.Descriptor instead. func (*User) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{0} } func (x *User) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *User) GetUsername() string { if x != nil { return x.Username } return "" } func (x *User) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *User) GetPUid() string { if x != nil { return x.PUid } return "" } func (x *User) GetPUname() string { if x != nil { return x.PUname } return "" } func (x *User) GetPAvatar() string { if x != nil { return x.PAvatar } return "" } func (x *User) GetNobilityLevel() int32 { if x != nil { return x.NobilityLevel } return 0 } func (x *User) GetIntegral() int64 { if x != nil { return x.Integral } return 0 } type Empty struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *Empty) Reset() { *x = Empty{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Empty) String() string { return protoimpl.X.MessageStringOf(x) } func (*Empty) ProtoMessage() {} func (x *Empty) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Empty.ProtoReflect.Descriptor instead. func (*Empty) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{1} } // req type PlatformUserReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` PUid string `protobuf:"bytes,2,opt,name=pUid,proto3" json:"pUid,omitempty"` } func (x *PlatformUserReq) Reset() { *x = PlatformUserReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PlatformUserReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*PlatformUserReq) ProtoMessage() {} func (x *PlatformUserReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PlatformUserReq.ProtoReflect.Descriptor instead. func (*PlatformUserReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{2} } func (x *PlatformUserReq) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *PlatformUserReq) GetPUid() string { if x != nil { return x.PUid } return "" } type PlatformUserResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` } func (x *PlatformUserResp) Reset() { *x = PlatformUserResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PlatformUserResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*PlatformUserResp) ProtoMessage() {} func (x *PlatformUserResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PlatformUserResp.ProtoReflect.Descriptor instead. func (*PlatformUserResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{3} } func (x *PlatformUserResp) GetUser() *User { if x != nil { return x.User } return nil } // 用户ID请求 type UserIdReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *UserIdReq) Reset() { *x = UserIdReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserIdReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserIdReq) ProtoMessage() {} func (x *UserIdReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserIdReq.ProtoReflect.Descriptor instead. func (*UserIdReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{4} } func (x *UserIdReq) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 用户ID回复 type UserIdResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` } func (x *UserIdResp) Reset() { *x = UserIdResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserIdResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserIdResp) ProtoMessage() {} func (x *UserIdResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserIdResp.ProtoReflect.Descriptor instead. func (*UserIdResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{5} } func (x *UserIdResp) GetUserId() int64 { if x != nil { return x.UserId } return 0 } // 变更积分请求 type ChangeIntegralReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` // 系统用户ID Change int64 `protobuf:"varint,2,opt,name=change,proto3" json:"change,omitempty"` // 变更数量 } func (x *ChangeIntegralReq) Reset() { *x = ChangeIntegralReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeIntegralReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeIntegralReq) ProtoMessage() {} func (x *ChangeIntegralReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChangeIntegralReq.ProtoReflect.Descriptor instead. func (*ChangeIntegralReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{6} } func (x *ChangeIntegralReq) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *ChangeIntegralReq) GetChange() int64 { if x != nil { return x.Change } return 0 } // 变更积分回复 type ChangeIntegralResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` // 系统用户ID Change int64 `protobuf:"varint,2,opt,name=change,proto3" json:"change,omitempty"` // 本次变更积分数量,负数为扣减 Integral int64 `protobuf:"varint,3,opt,name=integral,proto3" json:"integral,omitempty"` // 用户当前总积分 } func (x *ChangeIntegralResp) Reset() { *x = ChangeIntegralResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ChangeIntegralResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*ChangeIntegralResp) ProtoMessage() {} func (x *ChangeIntegralResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ChangeIntegralResp.ProtoReflect.Descriptor instead. func (*ChangeIntegralResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{7} } func (x *ChangeIntegralResp) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *ChangeIntegralResp) GetChange() int64 { if x != nil { return x.Change } return 0 } func (x *ChangeIntegralResp) GetIntegral() int64 { if x != nil { return x.Integral } return 0 } // 用户积分回复 type UserIntegralResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` // 用户ID Integral int64 `protobuf:"varint,2,opt,name=integral,proto3" json:"integral,omitempty"` // 用户当前总积分 } func (x *UserIntegralResp) Reset() { *x = UserIntegralResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserIntegralResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserIntegralResp) ProtoMessage() {} func (x *UserIntegralResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserIntegralResp.ProtoReflect.Descriptor instead. func (*UserIntegralResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{8} } func (x *UserIntegralResp) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UserIntegralResp) GetIntegral() int64 { if x != nil { return x.Integral } return 0 } // 用户打卡(签到)回复 type UserCheckInResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` // 成功与否 Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` // 消息 IntegralChange int64 `protobuf:"varint,3,opt,name=integralChange,proto3" json:"integralChange,omitempty"` // 积分变动量 Integral int64 `protobuf:"varint,4,opt,name=integral,proto3" json:"integral,omitempty"` // 变动后的积分量 IsCritical bool `protobuf:"varint,5,opt,name=isCritical,proto3" json:"isCritical,omitempty"` // 是否发生了暴击奖励 } func (x *UserCheckInResp) Reset() { *x = UserCheckInResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserCheckInResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserCheckInResp) ProtoMessage() {} func (x *UserCheckInResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserCheckInResp.ProtoReflect.Descriptor instead. func (*UserCheckInResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{9} } func (x *UserCheckInResp) GetSuccess() bool { if x != nil { return x.Success } return false } func (x *UserCheckInResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *UserCheckInResp) GetIntegralChange() int64 { if x != nil { return x.IntegralChange } return 0 } func (x *UserCheckInResp) GetIntegral() int64 { if x != nil { return x.Integral } return 0 } func (x *UserCheckInResp) GetIsCritical() bool { if x != nil { return x.IsCritical } return false } // 用户送礼请求 type UserSendGiftReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` // 平台 UserId int64 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"` // 系统用户ID PUid string `protobuf:"bytes,3,opt,name=pUid,proto3" json:"pUid,omitempty"` // 平台用户ID RoomId string `protobuf:"bytes,4,opt,name=roomId,proto3" json:"roomId,omitempty"` // 直播间ID GiftId int64 `protobuf:"varint,5,opt,name=giftId,proto3" json:"giftId,omitempty"` // 礼物ID GiftName string `protobuf:"bytes,6,opt,name=giftName,proto3" json:"giftName,omitempty"` // 礼物名 Num int64 `protobuf:"varint,7,opt,name=num,proto3" json:"num,omitempty"` // 赠送数量 Price int64 `protobuf:"varint,8,opt,name=price,proto3" json:"price,omitempty"` // 礼物单价(系统不存在对应礼物数据时使用) IsPaid bool `protobuf:"varint,9,opt,name=isPaid,proto3" json:"isPaid,omitempty"` // 是否收费礼物 } func (x *UserSendGiftReq) Reset() { *x = UserSendGiftReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSendGiftReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSendGiftReq) ProtoMessage() {} func (x *UserSendGiftReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserSendGiftReq.ProtoReflect.Descriptor instead. func (*UserSendGiftReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{10} } func (x *UserSendGiftReq) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *UserSendGiftReq) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UserSendGiftReq) GetPUid() string { if x != nil { return x.PUid } return "" } func (x *UserSendGiftReq) GetRoomId() string { if x != nil { return x.RoomId } return "" } func (x *UserSendGiftReq) GetGiftId() int64 { if x != nil { return x.GiftId } return 0 } func (x *UserSendGiftReq) GetGiftName() string { if x != nil { return x.GiftName } return "" } func (x *UserSendGiftReq) GetNum() int64 { if x != nil { return x.Num } return 0 } func (x *UserSendGiftReq) GetPrice() int64 { if x != nil { return x.Price } return 0 } func (x *UserSendGiftReq) GetIsPaid() bool { if x != nil { return x.IsPaid } return false } // 用户送礼回复 type UserSendGiftResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Integral *ChangeIntegralResp `protobuf:"bytes,10,opt,name=integral,proto3" json:"integral,omitempty"` // 积分变动 } func (x *UserSendGiftResp) Reset() { *x = UserSendGiftResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserSendGiftResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserSendGiftResp) ProtoMessage() {} func (x *UserSendGiftResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserSendGiftResp.ProtoReflect.Descriptor instead. func (*UserSendGiftResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{11} } func (x *UserSendGiftResp) GetIntegral() *ChangeIntegralResp { if x != nil { return x.Integral } return nil } // 用户购买舰长请求 type UserBuyNobilityReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` // 平台 PUid string `protobuf:"bytes,2,opt,name=pUid,proto3" json:"pUid,omitempty"` // 平台用户ID RoomId string `protobuf:"bytes,3,opt,name=roomId,proto3" json:"roomId,omitempty"` // 直播间ID GiftId int64 `protobuf:"varint,4,opt,name=giftId,proto3" json:"giftId,omitempty"` // 礼物ID GiftName string `protobuf:"bytes,5,opt,name=giftName,proto3" json:"giftName,omitempty"` // 礼物名 Num int64 `protobuf:"varint,6,opt,name=num,proto3" json:"num,omitempty"` // 赠送数量 Price int64 `protobuf:"varint,7,opt,name=price,proto3" json:"price,omitempty"` // 礼物单价(系统不存在对应礼物数据时使用) Level int64 `protobuf:"varint,8,opt,name=level,proto3" json:"level,omitempty"` // 贵族等级 StartTime int64 `protobuf:"varint,9,opt,name=startTime,proto3" json:"startTime,omitempty"` // 开始时间 EndTime int64 `protobuf:"varint,10,opt,name=endTime,proto3" json:"endTime,omitempty"` // 结束时间 } func (x *UserBuyNobilityReq) Reset() { *x = UserBuyNobilityReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserBuyNobilityReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserBuyNobilityReq) ProtoMessage() {} func (x *UserBuyNobilityReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserBuyNobilityReq.ProtoReflect.Descriptor instead. func (*UserBuyNobilityReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{12} } func (x *UserBuyNobilityReq) GetPlatform() string { if x != nil { return x.Platform } return "" } func (x *UserBuyNobilityReq) GetPUid() string { if x != nil { return x.PUid } return "" } func (x *UserBuyNobilityReq) GetRoomId() string { if x != nil { return x.RoomId } return "" } func (x *UserBuyNobilityReq) GetGiftId() int64 { if x != nil { return x.GiftId } return 0 } func (x *UserBuyNobilityReq) GetGiftName() string { if x != nil { return x.GiftName } return "" } func (x *UserBuyNobilityReq) GetNum() int64 { if x != nil { return x.Num } return 0 } func (x *UserBuyNobilityReq) GetPrice() int64 { if x != nil { return x.Price } return 0 } func (x *UserBuyNobilityReq) GetLevel() int64 { if x != nil { return x.Level } return 0 } func (x *UserBuyNobilityReq) GetStartTime() int64 { if x != nil { return x.StartTime } return 0 } func (x *UserBuyNobilityReq) GetEndTime() int64 { if x != nil { return x.EndTime } return 0 } // 用户购买舰长回复 type UserBuyNobilityResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"` // 系统用户信息 Integral *ChangeIntegralResp `protobuf:"bytes,10,opt,name=integral,proto3" json:"integral,omitempty"` // 积分变动 } func (x *UserBuyNobilityResp) Reset() { *x = UserBuyNobilityResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserBuyNobilityResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserBuyNobilityResp) ProtoMessage() {} func (x *UserBuyNobilityResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserBuyNobilityResp.ProtoReflect.Descriptor instead. func (*UserBuyNobilityResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{13} } func (x *UserBuyNobilityResp) GetUser() *User { if x != nil { return x.User } return nil } func (x *UserBuyNobilityResp) GetIntegral() *ChangeIntegralResp { if x != nil { return x.Integral } return nil } // 通知-PvP杀兵营(人) statistics.pvp.kill type StatPvPKillReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID TargetUid int64 `protobuf:"varint,2,opt,name=targetUid,proto3" json:"targetUid,omitempty"` // 目标用户 IsGeneral bool `protobuf:"varint,3,opt,name=isGeneral,proto3" json:"isGeneral,omitempty"` // targetUid是否名将 } func (x *StatPvPKillReq) Reset() { *x = StatPvPKillReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatPvPKillReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatPvPKillReq) ProtoMessage() {} func (x *StatPvPKillReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatPvPKillReq.ProtoReflect.Descriptor instead. func (*StatPvPKillReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{14} } func (x *StatPvPKillReq) GetUid() int64 { if x != nil { return x.Uid } return 0 } func (x *StatPvPKillReq) GetTargetUid() int64 { if x != nil { return x.TargetUid } return 0 } func (x *StatPvPKillReq) GetIsGeneral() bool { if x != nil { return x.IsGeneral } return false } // 通知-PvP一血 statistics.pvp.first type StatPvPFirstBloodReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID Type int32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` // 1-拿到一血 2-被破一血 } func (x *StatPvPFirstBloodReq) Reset() { *x = StatPvPFirstBloodReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatPvPFirstBloodReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatPvPFirstBloodReq) ProtoMessage() {} func (x *StatPvPFirstBloodReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatPvPFirstBloodReq.ProtoReflect.Descriptor instead. func (*StatPvPFirstBloodReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{15} } func (x *StatPvPFirstBloodReq) GetUid() int64 { if x != nil { return x.Uid } return 0 } func (x *StatPvPFirstBloodReq) GetType() int32 { if x != nil { return x.Type } return 0 } // 通知-PvP战报 statistics.pvp.report type StatPvPReportReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields WinCamp int32 `protobuf:"varint,1,opt,name=winCamp,proto3" json:"winCamp,omitempty"` // 获胜阵营 1-蓝 2-红 General *StatPvPReportReq_General `protobuf:"bytes,2,opt,name=general,proto3" json:"general,omitempty"` WinItems []*StatPvPReportReq_Item `protobuf:"bytes,10,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 LostItems []*StatPvPReportReq_Item `protobuf:"bytes,11,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 } func (x *StatPvPReportReq) Reset() { *x = StatPvPReportReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatPvPReportReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatPvPReportReq) ProtoMessage() {} func (x *StatPvPReportReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatPvPReportReq.ProtoReflect.Descriptor instead. func (*StatPvPReportReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{16} } func (x *StatPvPReportReq) GetWinCamp() int32 { if x != nil { return x.WinCamp } return 0 } func (x *StatPvPReportReq) GetGeneral() *StatPvPReportReq_General { if x != nil { return x.General } return nil } func (x *StatPvPReportReq) GetWinItems() []*StatPvPReportReq_Item { if x != nil { return x.WinItems } return nil } func (x *StatPvPReportReq) GetLostItems() []*StatPvPReportReq_Item { if x != nil { return x.LostItems } return nil } // 通知-PvP战报 回复 type StatPvPReportResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields General *StatPvPReportResp_Item `protobuf:"bytes,1,opt,name=general,proto3" json:"general,omitempty"` // 名将 WinItems []*StatPvPReportResp_Item `protobuf:"bytes,10,rep,name=winItems,proto3" json:"winItems,omitempty"` // 获胜方数据 LostItems []*StatPvPReportResp_Item `protobuf:"bytes,11,rep,name=lostItems,proto3" json:"lostItems,omitempty"` // 战败方数据 } func (x *StatPvPReportResp) Reset() { *x = StatPvPReportResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatPvPReportResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatPvPReportResp) ProtoMessage() {} func (x *StatPvPReportResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatPvPReportResp.ProtoReflect.Descriptor instead. func (*StatPvPReportResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{17} } func (x *StatPvPReportResp) GetGeneral() *StatPvPReportResp_Item { if x != nil { return x.General } return nil } func (x *StatPvPReportResp) GetWinItems() []*StatPvPReportResp_Item { if x != nil { return x.WinItems } return nil } func (x *StatPvPReportResp) GetLostItems() []*StatPvPReportResp_Item { if x != nil { return x.LostItems } return nil } type GiftPackItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields GiftType string `protobuf:"bytes,1,opt,name=giftType,proto3" json:"giftType,omitempty"` // 礼包类型 starter:新手礼包 Integral int64 `protobuf:"varint,2,opt,name=integral,proto3" json:"integral,omitempty"` // 获取的积分 Title []string `protobuf:"bytes,3,rep,name=title,proto3" json:"title,omitempty"` // 获取的称号 } func (x *GiftPackItem) Reset() { *x = GiftPackItem{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GiftPackItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*GiftPackItem) ProtoMessage() {} func (x *GiftPackItem) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GiftPackItem.ProtoReflect.Descriptor instead. func (*GiftPackItem) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{18} } func (x *GiftPackItem) GetGiftType() string { if x != nil { return x.GiftType } return "" } func (x *GiftPackItem) GetIntegral() int64 { if x != nil { return x.Integral } return 0 } func (x *GiftPackItem) GetTitle() []string { if x != nil { return x.Title } return nil } type DrawGiftPackReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` GiftType string `protobuf:"bytes,3,opt,name=giftType,proto3" json:"giftType,omitempty"` } func (x *DrawGiftPackReq) Reset() { *x = DrawGiftPackReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DrawGiftPackReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DrawGiftPackReq) ProtoMessage() {} func (x *DrawGiftPackReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DrawGiftPackReq.ProtoReflect.Descriptor instead. func (*DrawGiftPackReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{19} } func (x *DrawGiftPackReq) GetUid() int64 { if x != nil { return x.Uid } return 0 } func (x *DrawGiftPackReq) GetUname() string { if x != nil { return x.Uname } return "" } func (x *DrawGiftPackReq) GetGiftType() string { if x != nil { return x.GiftType } return "" } type DrawGiftPackResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` Code int32 `protobuf:"varint,3,opt,name=code,proto3" json:"code,omitempty"` // 领取结果 200:成功 201100:已经领取过 201101:已领取完 Msg string `protobuf:"bytes,4,opt,name=msg,proto3" json:"msg,omitempty"` // 消息 [领取成功|已经领取过|该用户已领取(当日|每周|每月)完所有礼包] Item *GiftPackItem `protobuf:"bytes,10,opt,name=item,proto3" json:"item,omitempty"` } func (x *DrawGiftPackResp) Reset() { *x = DrawGiftPackResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DrawGiftPackResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*DrawGiftPackResp) ProtoMessage() {} func (x *DrawGiftPackResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DrawGiftPackResp.ProtoReflect.Descriptor instead. func (*DrawGiftPackResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{20} } func (x *DrawGiftPackResp) GetUid() int64 { if x != nil { return x.Uid } return 0 } func (x *DrawGiftPackResp) GetUname() string { if x != nil { return x.Uname } return "" } func (x *DrawGiftPackResp) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *DrawGiftPackResp) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *DrawGiftPackResp) GetItem() *GiftPackItem { if x != nil { return x.Item } return nil } type RankPvpReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // rank类型 TopN int32 `protobuf:"varint,2,opt,name=topN,proto3" json:"topN,omitempty"` // TopN } func (x *RankPvpReq) Reset() { *x = RankPvpReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankPvpReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankPvpReq) ProtoMessage() {} func (x *RankPvpReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RankPvpReq.ProtoReflect.Descriptor instead. func (*RankPvpReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{21} } func (x *RankPvpReq) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *RankPvpReq) GetTopN() int32 { if x != nil { return x.TopN } return 0 } type RankPvpResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type int32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // rank类型 Items []*RankPvpResp_Item `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` // rank数据 } func (x *RankPvpResp) Reset() { *x = RankPvpResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankPvpResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankPvpResp) ProtoMessage() {} func (x *RankPvpResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RankPvpResp.ProtoReflect.Descriptor instead. func (*RankPvpResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{22} } func (x *RankPvpResp) GetType() int32 { if x != nil { return x.Type } return 0 } func (x *RankPvpResp) GetItems() []*RankPvpResp_Item { if x != nil { return x.Items } return nil } // RankPvpSubmitReq 手动排行榜结算 type RankPvpSubmitReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RankType int32 `protobuf:"varint,1,opt,name=rankType,proto3" json:"rankType,omitempty"` // 待结算的排行榜类型 AllRankType bool `protobuf:"varint,2,opt,name=allRankType,proto3" json:"allRankType,omitempty"` // 是否直接结算所有排行类型 } func (x *RankPvpSubmitReq) Reset() { *x = RankPvpSubmitReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankPvpSubmitReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankPvpSubmitReq) ProtoMessage() {} func (x *RankPvpSubmitReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RankPvpSubmitReq.ProtoReflect.Descriptor instead. func (*RankPvpSubmitReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{23} } func (x *RankPvpSubmitReq) GetRankType() int32 { if x != nil { return x.RankType } return 0 } func (x *RankPvpSubmitReq) GetAllRankType() bool { if x != nil { return x.AllRankType } return false } type RankPvpSubmitResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Items []*RankPvpSubmitResp_Item `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` } func (x *RankPvpSubmitResp) Reset() { *x = RankPvpSubmitResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankPvpSubmitResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankPvpSubmitResp) ProtoMessage() {} func (x *RankPvpSubmitResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RankPvpSubmitResp.ProtoReflect.Descriptor instead. func (*RankPvpSubmitResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{24} } func (x *RankPvpSubmitResp) GetItems() []*RankPvpSubmitResp_Item { if x != nil { return x.Items } return nil } // UserRankReq 查询用户自己的排行 type UserRankReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` // 系统用户ID Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // 用户名 RankType int32 `protobuf:"varint,3,opt,name=rankType,proto3" json:"rankType,omitempty"` // 排行榜类型 AllRankType bool `protobuf:"varint,4,opt,name=allRankType,proto3" json:"allRankType,omitempty"` // 直接查询所有排行类型 } func (x *UserRankReq) Reset() { *x = UserRankReq{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRankReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRankReq) ProtoMessage() {} func (x *UserRankReq) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserRankReq.ProtoReflect.Descriptor instead. func (*UserRankReq) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{25} } func (x *UserRankReq) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *UserRankReq) GetUsername() string { if x != nil { return x.Username } return "" } func (x *UserRankReq) GetRankType() int32 { if x != nil { return x.RankType } return 0 } func (x *UserRankReq) GetAllRankType() bool { if x != nil { return x.AllRankType } return false } type UserRankResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Items []*UserRankResp_Item `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` } func (x *UserRankResp) Reset() { *x = UserRankResp{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRankResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRankResp) ProtoMessage() {} func (x *UserRankResp) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserRankResp.ProtoReflect.Descriptor instead. func (*UserRankResp) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{26} } func (x *UserRankResp) GetItems() []*UserRankResp_Item { if x != nil { return x.Items } return nil } type StatPvPReportReq_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 用户名 Damage int64 `protobuf:"varint,3,opt,name=damage,proto3" json:"damage,omitempty"` // 伤害量 DeDamage int64 `protobuf:"varint,4,opt,name=deDamage,proto3" json:"deDamage,omitempty"` // 承受伤害 KillUnit int64 `protobuf:"varint,5,opt,name=killUnit,proto3" json:"killUnit,omitempty"` // 击杀单位数量 DeKillUnit int64 `protobuf:"varint,6,opt,name=deKillUnit,proto3" json:"deKillUnit,omitempty"` // 被杀单位数量 } func (x *StatPvPReportReq_Item) Reset() { *x = StatPvPReportReq_Item{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatPvPReportReq_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatPvPReportReq_Item) ProtoMessage() {} func (x *StatPvPReportReq_Item) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatPvPReportReq_Item.ProtoReflect.Descriptor instead. func (*StatPvPReportReq_Item) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{16, 0} } func (x *StatPvPReportReq_Item) GetUid() int64 { if x != nil { return x.Uid } return 0 } func (x *StatPvPReportReq_Item) GetUname() string { if x != nil { return x.Uname } return "" } func (x *StatPvPReportReq_Item) GetDamage() int64 { if x != nil { return x.Damage } return 0 } func (x *StatPvPReportReq_Item) GetDeDamage() int64 { if x != nil { return x.DeDamage } return 0 } func (x *StatPvPReportReq_Item) GetKillUnit() int64 { if x != nil { return x.KillUnit } return 0 } func (x *StatPvPReportReq_Item) GetDeKillUnit() int64 { if x != nil { return x.DeKillUnit } return 0 } type StatPvPReportReq_General struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 名将UID Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 名将用户名 } func (x *StatPvPReportReq_General) Reset() { *x = StatPvPReportReq_General{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatPvPReportReq_General) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatPvPReportReq_General) ProtoMessage() {} func (x *StatPvPReportReq_General) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatPvPReportReq_General.ProtoReflect.Descriptor instead. func (*StatPvPReportReq_General) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{16, 1} } func (x *StatPvPReportReq_General) GetUid() int64 { if x != nil { return x.Uid } return 0 } func (x *StatPvPReportReq_General) GetUname() string { if x != nil { return x.Uname } return "" } type StatPvPReportResp_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` // 用户ID Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` // 用户名 AddonIntegral int64 `protobuf:"varint,3,opt,name=addonIntegral,proto3" json:"addonIntegral,omitempty"` // 本次获取的积分 } func (x *StatPvPReportResp_Item) Reset() { *x = StatPvPReportResp_Item{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StatPvPReportResp_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatPvPReportResp_Item) ProtoMessage() {} func (x *StatPvPReportResp_Item) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatPvPReportResp_Item.ProtoReflect.Descriptor instead. func (*StatPvPReportResp_Item) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{17, 0} } func (x *StatPvPReportResp_Item) GetUid() int64 { if x != nil { return x.Uid } return 0 } func (x *StatPvPReportResp_Item) GetUname() string { if x != nil { return x.Uname } return "" } func (x *StatPvPReportResp_Item) GetAddonIntegral() int64 { if x != nil { return x.AddonIntegral } return 0 } type RankPvpResp_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Uid int64 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"` Uname string `protobuf:"bytes,2,opt,name=uname,proto3" json:"uname,omitempty"` Score int64 `protobuf:"varint,3,opt,name=score,proto3" json:"score,omitempty"` Avatar string `protobuf:"bytes,4,opt,name=avatar,proto3" json:"avatar,omitempty"` } func (x *RankPvpResp_Item) Reset() { *x = RankPvpResp_Item{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankPvpResp_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankPvpResp_Item) ProtoMessage() {} func (x *RankPvpResp_Item) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RankPvpResp_Item.ProtoReflect.Descriptor instead. func (*RankPvpResp_Item) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{22, 0} } func (x *RankPvpResp_Item) GetUid() int64 { if x != nil { return x.Uid } return 0 } func (x *RankPvpResp_Item) GetUname() string { if x != nil { return x.Uname } return "" } func (x *RankPvpResp_Item) GetScore() int64 { if x != nil { return x.Score } return 0 } func (x *RankPvpResp_Item) GetAvatar() string { if x != nil { return x.Avatar } return "" } type RankPvpSubmitResp_Result struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` Username string `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` Avatar string `protobuf:"bytes,3,opt,name=avatar,proto3" json:"avatar,omitempty"` Integral int64 `protobuf:"varint,4,opt,name=integral,proto3" json:"integral,omitempty"` // 获取到的积分数 Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` // 获取到的称号 TitleDuration int64 `protobuf:"varint,6,opt,name=titleDuration,proto3" json:"titleDuration,omitempty"` // 称号持续时间(单位: 秒,负数为无限长) } func (x *RankPvpSubmitResp_Result) Reset() { *x = RankPvpSubmitResp_Result{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankPvpSubmitResp_Result) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankPvpSubmitResp_Result) ProtoMessage() {} func (x *RankPvpSubmitResp_Result) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RankPvpSubmitResp_Result.ProtoReflect.Descriptor instead. func (*RankPvpSubmitResp_Result) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{24, 0} } func (x *RankPvpSubmitResp_Result) GetUserId() int64 { if x != nil { return x.UserId } return 0 } func (x *RankPvpSubmitResp_Result) GetUsername() string { if x != nil { return x.Username } return "" } func (x *RankPvpSubmitResp_Result) GetAvatar() string { if x != nil { return x.Avatar } return "" } func (x *RankPvpSubmitResp_Result) GetIntegral() int64 { if x != nil { return x.Integral } return 0 } func (x *RankPvpSubmitResp_Result) GetTitle() string { if x != nil { return x.Title } return "" } func (x *RankPvpSubmitResp_Result) GetTitleDuration() int64 { if x != nil { return x.TitleDuration } return 0 } type RankPvpSubmitResp_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RankType int32 `protobuf:"varint,1,opt,name=rankType,proto3" json:"rankType,omitempty"` // 排行榜类型 Results []*RankPvpSubmitResp_Result `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"` // 上榜玩家? } func (x *RankPvpSubmitResp_Item) Reset() { *x = RankPvpSubmitResp_Item{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RankPvpSubmitResp_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*RankPvpSubmitResp_Item) ProtoMessage() {} func (x *RankPvpSubmitResp_Item) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RankPvpSubmitResp_Item.ProtoReflect.Descriptor instead. func (*RankPvpSubmitResp_Item) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{24, 1} } func (x *RankPvpSubmitResp_Item) GetRankType() int32 { if x != nil { return x.RankType } return 0 } func (x *RankPvpSubmitResp_Item) GetResults() []*RankPvpSubmitResp_Result { if x != nil { return x.Results } return nil } type UserRankResp_Item struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields RankType int32 `protobuf:"varint,1,opt,name=rankType,proto3" json:"rankType,omitempty"` // 排行类型 Pos int32 `protobuf:"varint,2,opt,name=pos,proto3" json:"pos,omitempty"` // 名次 } func (x *UserRankResp_Item) Reset() { *x = UserRankResp_Item{} if protoimpl.UnsafeEnabled { mi := &file_user_center_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserRankResp_Item) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserRankResp_Item) ProtoMessage() {} func (x *UserRankResp_Item) ProtoReflect() protoreflect.Message { mi := &file_user_center_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UserRankResp_Item.ProtoReflect.Descriptor instead. func (*UserRankResp_Item) Descriptor() ([]byte, []int) { return file_user_center_proto_rawDescGZIP(), []int{26, 0} } func (x *UserRankResp_Item) GetRankType() int32 { if x != nil { return x.RankType } return 0 } func (x *UserRankResp_Item) GetPos() int32 { if x != nil { return x.Pos } return 0 } var File_user_center_proto protoreflect.FileDescriptor var file_user_center_proto_rawDesc = []byte{ 0x0a, 0x11, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xd6, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x55, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x55, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x55, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x6e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x07, 0x0a, 0x05, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x41, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x55, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x24, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x60, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x46, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x26, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x72, 0x69, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x22, 0xe5, 0x01, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x69, 0x66, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x67, 0x69, 0x66, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x50, 0x61, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x50, 0x61, 0x69, 0x64, 0x22, 0x46, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x32, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x86, 0x02, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x69, 0x66, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x67, 0x69, 0x66, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x66, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x67, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x5e, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x22, 0x3c, 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xa8, 0x03, 0x0a, 0x10, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x77, 0x69, 0x6e, 0x43, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x35, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x9e, 0x01, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x1a, 0x31, 0x0a, 0x07, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x91, 0x02, 0x0a, 0x11, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x08, 0x77, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x38, 0x0a, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x54, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x22, 0x5c, 0x0a, 0x0c, 0x47, 0x69, 0x66, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x69, 0x66, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x66, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x55, 0x0a, 0x0f, 0x44, 0x72, 0x61, 0x77, 0x47, 0x69, 0x66, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x69, 0x66, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x67, 0x69, 0x66, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x10, 0x44, 0x72, 0x61, 0x77, 0x47, 0x69, 0x66, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x24, 0x0a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x69, 0x66, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x34, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x6f, 0x70, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x6f, 0x70, 0x4e, 0x22, 0xab, 0x01, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x5c, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x22, 0x50, 0x0a, 0x10, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0xd0, 0x02, 0x0a, 0x11, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x5a, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x7f, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x22, 0x71, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x34, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x2a, 0x28, 0x0a, 0x08, 0x47, 0x69, 0x66, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x72, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x10, 0x01, 0x2a, 0xc2, 0x01, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x65, 0x44, 0x61, 0x6d, 0x61, 0x67, 0x65, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x55, 0x6e, 0x69, 0x74, 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x65, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x10, 0x08, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x69, 0x6e, 0x10, 0x09, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x6f, 0x73, 0x74, 0x10, 0x0a, 0x12, 0x0e, 0x0a, 0x0a, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x10, 0x0c, 0x32, 0xaf, 0x06, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x14, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0f, 0x67, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x42, 0x79, 0x50, 0x55, 0x69, 0x64, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3f, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x12, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x6e, 0x64, 0x47, 0x69, 0x66, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x75, 0x79, 0x4e, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x50, 0x76, 0x70, 0x4b, 0x69, 0x6c, 0x6c, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x50, 0x76, 0x70, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x6c, 0x6f, 0x6f, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x50, 0x76, 0x70, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x50, 0x76, 0x50, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x39, 0x0a, 0x0c, 0x64, 0x72, 0x61, 0x77, 0x47, 0x69, 0x66, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x72, 0x61, 0x77, 0x47, 0x69, 0x66, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x72, 0x61, 0x77, 0x47, 0x69, 0x66, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x12, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3c, 0x0a, 0x0d, 0x72, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x50, 0x76, 0x70, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_user_center_proto_rawDescOnce sync.Once file_user_center_proto_rawDescData = file_user_center_proto_rawDesc ) func file_user_center_proto_rawDescGZIP() []byte { file_user_center_proto_rawDescOnce.Do(func() { file_user_center_proto_rawDescData = protoimpl.X.CompressGZIP(file_user_center_proto_rawDescData) }) return file_user_center_proto_rawDescData } var file_user_center_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_user_center_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_user_center_proto_goTypes = []interface{}{ (GiftType)(0), // 0: pb.GiftType (RankType)(0), // 1: pb.RankType (*User)(nil), // 2: pb.User (*Empty)(nil), // 3: pb.Empty (*PlatformUserReq)(nil), // 4: pb.PlatformUserReq (*PlatformUserResp)(nil), // 5: pb.PlatformUserResp (*UserIdReq)(nil), // 6: pb.UserIdReq (*UserIdResp)(nil), // 7: pb.UserIdResp (*ChangeIntegralReq)(nil), // 8: pb.ChangeIntegralReq (*ChangeIntegralResp)(nil), // 9: pb.ChangeIntegralResp (*UserIntegralResp)(nil), // 10: pb.UserIntegralResp (*UserCheckInResp)(nil), // 11: pb.UserCheckInResp (*UserSendGiftReq)(nil), // 12: pb.UserSendGiftReq (*UserSendGiftResp)(nil), // 13: pb.UserSendGiftResp (*UserBuyNobilityReq)(nil), // 14: pb.UserBuyNobilityReq (*UserBuyNobilityResp)(nil), // 15: pb.UserBuyNobilityResp (*StatPvPKillReq)(nil), // 16: pb.StatPvPKillReq (*StatPvPFirstBloodReq)(nil), // 17: pb.StatPvPFirstBloodReq (*StatPvPReportReq)(nil), // 18: pb.StatPvPReportReq (*StatPvPReportResp)(nil), // 19: pb.StatPvPReportResp (*GiftPackItem)(nil), // 20: pb.GiftPackItem (*DrawGiftPackReq)(nil), // 21: pb.DrawGiftPackReq (*DrawGiftPackResp)(nil), // 22: pb.DrawGiftPackResp (*RankPvpReq)(nil), // 23: pb.RankPvpReq (*RankPvpResp)(nil), // 24: pb.RankPvpResp (*RankPvpSubmitReq)(nil), // 25: pb.RankPvpSubmitReq (*RankPvpSubmitResp)(nil), // 26: pb.RankPvpSubmitResp (*UserRankReq)(nil), // 27: pb.UserRankReq (*UserRankResp)(nil), // 28: pb.UserRankResp (*StatPvPReportReq_Item)(nil), // 29: pb.StatPvPReportReq.Item (*StatPvPReportReq_General)(nil), // 30: pb.StatPvPReportReq.General (*StatPvPReportResp_Item)(nil), // 31: pb.StatPvPReportResp.Item (*RankPvpResp_Item)(nil), // 32: pb.RankPvpResp.Item (*RankPvpSubmitResp_Result)(nil), // 33: pb.RankPvpSubmitResp.Result (*RankPvpSubmitResp_Item)(nil), // 34: pb.RankPvpSubmitResp.Item (*UserRankResp_Item)(nil), // 35: pb.UserRankResp.Item } var file_user_center_proto_depIdxs = []int32{ 2, // 0: pb.PlatformUserResp.user:type_name -> pb.User 9, // 1: pb.UserSendGiftResp.integral:type_name -> pb.ChangeIntegralResp 2, // 2: pb.UserBuyNobilityResp.user:type_name -> pb.User 9, // 3: pb.UserBuyNobilityResp.integral:type_name -> pb.ChangeIntegralResp 30, // 4: pb.StatPvPReportReq.general:type_name -> pb.StatPvPReportReq.General 29, // 5: pb.StatPvPReportReq.winItems:type_name -> pb.StatPvPReportReq.Item 29, // 6: pb.StatPvPReportReq.lostItems:type_name -> pb.StatPvPReportReq.Item 31, // 7: pb.StatPvPReportResp.general:type_name -> pb.StatPvPReportResp.Item 31, // 8: pb.StatPvPReportResp.winItems:type_name -> pb.StatPvPReportResp.Item 31, // 9: pb.StatPvPReportResp.lostItems:type_name -> pb.StatPvPReportResp.Item 20, // 10: pb.DrawGiftPackResp.item:type_name -> pb.GiftPackItem 32, // 11: pb.RankPvpResp.items:type_name -> pb.RankPvpResp.Item 34, // 12: pb.RankPvpSubmitResp.items:type_name -> pb.RankPvpSubmitResp.Item 35, // 13: pb.UserRankResp.items:type_name -> pb.UserRankResp.Item 33, // 14: pb.RankPvpSubmitResp.Item.results:type_name -> pb.RankPvpSubmitResp.Result 4, // 15: pb.userCenter.retrievePlatformUser:input_type -> pb.PlatformUserReq 4, // 16: pb.userCenter.getUserIdByPUid:input_type -> pb.PlatformUserReq 8, // 17: pb.userCenter.ChangeIntegral:input_type -> pb.ChangeIntegralReq 6, // 18: pb.userCenter.GetUserIntegral:input_type -> pb.UserIdReq 6, // 19: pb.userCenter.UserCheckIn:input_type -> pb.UserIdReq 12, // 20: pb.userCenter.userSendGift:input_type -> pb.UserSendGiftReq 14, // 21: pb.userCenter.userBuyNobility:input_type -> pb.UserBuyNobilityReq 16, // 22: pb.userCenter.statPvpKill:input_type -> pb.StatPvPKillReq 17, // 23: pb.userCenter.statPvpFirstBlood:input_type -> pb.StatPvPFirstBloodReq 18, // 24: pb.userCenter.statPvpReport:input_type -> pb.StatPvPReportReq 21, // 25: pb.userCenter.drawGiftPack:input_type -> pb.DrawGiftPackReq 23, // 26: pb.userCenter.rankPvp:input_type -> pb.RankPvpReq 25, // 27: pb.userCenter.rankPvpSubmit:input_type -> pb.RankPvpSubmitReq 27, // 28: pb.userCenter.userRankPvp:input_type -> pb.UserRankReq 5, // 29: pb.userCenter.retrievePlatformUser:output_type -> pb.PlatformUserResp 7, // 30: pb.userCenter.getUserIdByPUid:output_type -> pb.UserIdResp 9, // 31: pb.userCenter.ChangeIntegral:output_type -> pb.ChangeIntegralResp 10, // 32: pb.userCenter.GetUserIntegral:output_type -> pb.UserIntegralResp 11, // 33: pb.userCenter.UserCheckIn:output_type -> pb.UserCheckInResp 13, // 34: pb.userCenter.userSendGift:output_type -> pb.UserSendGiftResp 15, // 35: pb.userCenter.userBuyNobility:output_type -> pb.UserBuyNobilityResp 3, // 36: pb.userCenter.statPvpKill:output_type -> pb.Empty 3, // 37: pb.userCenter.statPvpFirstBlood:output_type -> pb.Empty 19, // 38: pb.userCenter.statPvpReport:output_type -> pb.StatPvPReportResp 22, // 39: pb.userCenter.drawGiftPack:output_type -> pb.DrawGiftPackResp 24, // 40: pb.userCenter.rankPvp:output_type -> pb.RankPvpResp 26, // 41: pb.userCenter.rankPvpSubmit:output_type -> pb.RankPvpSubmitResp 28, // 42: pb.userCenter.userRankPvp:output_type -> pb.UserRankResp 29, // [29:43] is the sub-list for method output_type 15, // [15:29] is the sub-list for method input_type 15, // [15:15] is the sub-list for extension type_name 15, // [15:15] is the sub-list for extension extendee 0, // [0:15] is the sub-list for field type_name } func init() { file_user_center_proto_init() } func file_user_center_proto_init() { if File_user_center_proto != nil { return } if !protoimpl.UnsafeEnabled { file_user_center_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*User); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Empty); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlatformUserReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PlatformUserResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserIdReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserIdResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeIntegralReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChangeIntegralResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserIntegralResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserCheckInResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSendGiftReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserSendGiftResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserBuyNobilityReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserBuyNobilityResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatPvPKillReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatPvPFirstBloodReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatPvPReportReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatPvPReportResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GiftPackItem); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DrawGiftPackReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DrawGiftPackResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankPvpReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankPvpResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankPvpSubmitReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankPvpSubmitResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRankReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRankResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatPvPReportReq_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatPvPReportReq_General); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StatPvPReportResp_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankPvpResp_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankPvpSubmitResp_Result); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RankPvpSubmitResp_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_user_center_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserRankResp_Item); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_user_center_proto_rawDesc, NumEnums: 2, NumMessages: 34, NumExtensions: 0, NumServices: 1, }, GoTypes: file_user_center_proto_goTypes, DependencyIndexes: file_user_center_proto_depIdxs, EnumInfos: file_user_center_proto_enumTypes, MessageInfos: file_user_center_proto_msgTypes, }.Build() File_user_center_proto = out.File file_user_center_proto_rawDesc = nil file_user_center_proto_goTypes = nil file_user_center_proto_depIdxs = nil }