From eb6a8777a041abd840e6a4763958426332e42d18 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 13 Jan 2025 16:57:17 +0800 Subject: [PATCH 01/24] =?UTF-8?q?=E9=A2=84=E7=83=AD=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/Order.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 80bf4441..e6a981d9 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -107,7 +107,7 @@ func (o *OrderMod) CreateOrder(lv int, Emit []int, EnergyMul int) error { ChessColor := mergeDataCfg.GetColorById(ChessId) PreheatStep := o.PreheatStep[ChessColor] if PreheatStep < 4 { - NewChessId := mergeDataCfg.GetChessIdByLvAndColor(EnergyMul+PreheatStep, ChessColor) + NewChessId := mergeDataCfg.GetChessIdByLvAndColor(EnergyMul+PreheatStep+1, ChessColor) o.addOrder([]int{NewChessId}, diff_low, Preheat_type) o.PreheatStep[ChessColor]++ } From 599e4b40d164dea8d6790a3414dcd6020c8e906e Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 13 Jan 2025 17:47:02 +0800 Subject: [PATCH 02/24] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index af52eb3e..226e0391 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3446,12 +3446,12 @@ func ReqFriendTreasureEnd(args []interface{}) error { } func ReqKafkaLog(args []interface{}) error { - // _, player, buf := ParseArgs(args) - // req := &msg.ReqKafkaLog{} - // proto.Unmarshal(buf, req) - // // player.Kafka(req.Event, map[string]interface{}{ - // // "data": req.Data, - // // }) + _, player, buf := ParseArgs(args) + req := &msg.ReqKafkaLog{} + proto.Unmarshal(buf, req) + player.Kafka(req.Event, map[string]interface{}{ + "data": req.Data, + }) return nil } From 398e7208dc87de0606beb63203ebdf142d39eef6 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 13 Jan 2025 17:47:02 +0800 Subject: [PATCH 03/24] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index af52eb3e..226e0391 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3446,12 +3446,12 @@ func ReqFriendTreasureEnd(args []interface{}) error { } func ReqKafkaLog(args []interface{}) error { - // _, player, buf := ParseArgs(args) - // req := &msg.ReqKafkaLog{} - // proto.Unmarshal(buf, req) - // // player.Kafka(req.Event, map[string]interface{}{ - // // "data": req.Data, - // // }) + _, player, buf := ParseArgs(args) + req := &msg.ReqKafkaLog{} + proto.Unmarshal(buf, req) + player.Kafka(req.Event, map[string]interface{}{ + "data": req.Data, + }) return nil } From 0d3b0733d2af1becf5c53ebf5565ad9f6fd94306 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 14 Jan 2025 10:38:09 +0800 Subject: [PATCH 04/24] =?UTF-8?q?=E5=BD=93=E6=A3=8B=E7=9B=98=E4=B8=AD?= =?UTF-8?q?=E6=9C=89=E8=AE=A2=E5=8D=95=E6=A3=8B=E5=AD=90=E6=97=B6=E4=B8=8D?= =?UTF-8?q?=E5=AF=B9=E5=85=B6=E8=BF=9B=E8=A1=8C=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/Order.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index e6a981d9..02087d29 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -475,6 +475,9 @@ func (o *OrderMod) CheckSuperOrder() bool { return false } +/* +* 根据能量倍数 调整订单 + */ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList []int) { for k, v := range o.OrderList { if v.Type == Preheat_type { // 预热订单 修改倍数时修改棋子等级 @@ -489,15 +492,20 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList continue } NeedTrigger := false + HasOne := false for _, vv := range v.MergeId { Lv := mergeDataCfg.GetLvById(vv) if Lv >= EnergyMul+1 && Lv <= EnergyMul+12 { continue } if GoUtil.InArray(vv, ChessList) { - NeedTrigger = true + HasOne = true break } + NeedTrigger = true + } + if HasOne { // 棋盘上有订单中的棋子,不进行修改 + continue } /** 当每次倍数调整(玩家主动调整或因为体力不足跌落)时,在普通订单中(即不包括偷猫订单、超级订单),如果出现超出上下阈值: From 282fd732f176a91a84719a021184769ca821c6cb Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 14 Jan 2025 10:53:08 +0800 Subject: [PATCH 05/24] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=86=E7=A6=BB?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 31 + src/server/game/mod/chess/Chess.go | 25 + src/server/msg/Gameapi.pb.go | 6319 ++++++++++++------------ 3 files changed, 3279 insertions(+), 3096 deletions(-) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 226e0391..8940ab0a 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -616,6 +616,37 @@ func ReqBuyChessBagGrid(args []interface{}) error { return nil } +func ReqSeparateChess(args []interface{}) error { + _, player, buf := ParseArgs(args) + req := &msg.ReqSeparateChess{} + proto.Unmarshal(buf, req) + ChessMod := player.PlayMod.getChessMod() + err := ChessMod.SeparateChess(int(req.ChessId)) + if err != nil { + player.SendErrClienRes(&msg.ResSeparateChess{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + data := &PlayerChessData{} + err = data.UpdateChessData(player, req.MChessData) + if err != nil { + player.SendErrClienRes(&msg.ResSeparateChess{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + player.PlayMod.save() + player.PushClientRes(ChessMod.BackData()) + player.PushClientRes(&msg.ResSeparateChess{ + Code: msg.RES_CODE_SUCCESS, + }) + player.UpdateUserInfo() + return nil +} + // 棋子转换 func ReqChessEx(args []interface{}) error { _, player, buf := ParseArgs(args) diff --git a/src/server/game/mod/chess/Chess.go b/src/server/game/mod/chess/Chess.go index 569ae8cb..6f5e82c5 100644 --- a/src/server/game/mod/chess/Chess.go +++ b/src/server/game/mod/chess/Chess.go @@ -18,6 +18,7 @@ const ( ChessBoradMaxNum = 63 CHESS_SOURCE_CHEST = 705 CHESS_HIGH_SOURCE_CHEST = 706 + CHESS_SEPARATE = 707 // 分解器 ) type ChessBorad struct { @@ -509,3 +510,27 @@ func (cb *ChessBorad) SourceChest(ChessId int) ([]*item.Item, error) { return nil, nil } + +func (cb *ChessBorad) SeparateChess(ChessId int) error { + ChessLv := mergeDataCfg.GetLvById(ChessId) + if ChessLv == 1 { + return errors.New("chess lv is 1") + } + ChessType := mergeDataCfg.GetTypeById(ChessId) + if ChessType != "Product" { + return errors.New("chess type is not product") + } + err := cb.RemoveChess(ChessId) + if err != nil { + return err + } + err = cb.RemoveChess(CHESS_SEPARATE) + if err != nil { + return err + } + ChessColor := mergeDataCfg.GetColorById(ChessId) + NewChess := mergeDataCfg.GetChessIdByLvAndColor(ChessLv-1, ChessColor) + cb.AddChess(NewChess) + cb.AddChess(NewChess) + return nil +} diff --git a/src/server/msg/Gameapi.pb.go b/src/server/msg/Gameapi.pb.go index 0156a347..5d247b5c 100644 --- a/src/server/msg/Gameapi.pb.go +++ b/src/server/msg/Gameapi.pb.go @@ -2563,6 +2563,112 @@ func (x *ResUpdatePlayerChessData) GetMsg() string { return "" } +type ReqSeparateChess struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChessId int32 `protobuf:"varint,1,opt,name=ChessId,proto3" json:"ChessId,omitempty"` + MChessData map[string]int32 `protobuf:"bytes,2,rep,name=mChessData,proto3" json:"mChessData,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *ReqSeparateChess) Reset() { + *x = ReqSeparateChess{} + mi := &file_Gameapi_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqSeparateChess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqSeparateChess) ProtoMessage() {} + +func (x *ReqSeparateChess) ProtoReflect() protoreflect.Message { + mi := &file_Gameapi_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReqSeparateChess.ProtoReflect.Descriptor instead. +func (*ReqSeparateChess) Descriptor() ([]byte, []int) { + return file_Gameapi_proto_rawDescGZIP(), []int{36} +} + +func (x *ReqSeparateChess) GetChessId() int32 { + if x != nil { + return x.ChessId + } + return 0 +} + +func (x *ReqSeparateChess) GetMChessData() map[string]int32 { + if x != nil { + return x.MChessData + } + return nil +} + +type ResSeparateChess struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code RES_CODE `protobuf:"varint,1,opt,name=code,proto3,enum=tutorial.RES_CODE" json:"code,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` +} + +func (x *ResSeparateChess) Reset() { + *x = ResSeparateChess{} + mi := &file_Gameapi_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResSeparateChess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResSeparateChess) ProtoMessage() {} + +func (x *ResSeparateChess) ProtoReflect() protoreflect.Message { + mi := &file_Gameapi_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResSeparateChess.ProtoReflect.Descriptor instead. +func (*ResSeparateChess) Descriptor() ([]byte, []int) { + return file_Gameapi_proto_rawDescGZIP(), []int{37} +} + +func (x *ResSeparateChess) GetCode() RES_CODE { + if x != nil { + return x.Code + } + return RES_CODE_FAIL +} + +func (x *ResSeparateChess) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + // 从缓存中获取棋子 type ReqGetChessFromBuff struct { state protoimpl.MessageState @@ -2575,7 +2681,7 @@ type ReqGetChessFromBuff struct { func (x *ReqGetChessFromBuff) Reset() { *x = ReqGetChessFromBuff{} - mi := &file_Gameapi_proto_msgTypes[36] + mi := &file_Gameapi_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2587,7 +2693,7 @@ func (x *ReqGetChessFromBuff) String() string { func (*ReqGetChessFromBuff) ProtoMessage() {} func (x *ReqGetChessFromBuff) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[36] + mi := &file_Gameapi_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2600,7 +2706,7 @@ func (x *ReqGetChessFromBuff) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetChessFromBuff.ProtoReflect.Descriptor instead. func (*ReqGetChessFromBuff) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{36} + return file_Gameapi_proto_rawDescGZIP(), []int{38} } func (x *ReqGetChessFromBuff) GetChessId() int32 { @@ -2628,7 +2734,7 @@ type ResGetChessFromBuff struct { func (x *ResGetChessFromBuff) Reset() { *x = ResGetChessFromBuff{} - mi := &file_Gameapi_proto_msgTypes[37] + mi := &file_Gameapi_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2640,7 +2746,7 @@ func (x *ResGetChessFromBuff) String() string { func (*ResGetChessFromBuff) ProtoMessage() {} func (x *ResGetChessFromBuff) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[37] + mi := &file_Gameapi_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2653,7 +2759,7 @@ func (x *ResGetChessFromBuff) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetChessFromBuff.ProtoReflect.Descriptor instead. func (*ResGetChessFromBuff) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{37} + return file_Gameapi_proto_rawDescGZIP(), []int{39} } func (x *ResGetChessFromBuff) GetCode() RES_CODE { @@ -2685,7 +2791,7 @@ type ReqChessEx struct { func (x *ReqChessEx) Reset() { *x = ReqChessEx{} - mi := &file_Gameapi_proto_msgTypes[38] + mi := &file_Gameapi_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2697,7 +2803,7 @@ func (x *ReqChessEx) String() string { func (*ReqChessEx) ProtoMessage() {} func (x *ReqChessEx) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[38] + mi := &file_Gameapi_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2710,7 +2816,7 @@ func (x *ReqChessEx) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChessEx.ProtoReflect.Descriptor instead. func (*ReqChessEx) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{38} + return file_Gameapi_proto_rawDescGZIP(), []int{40} } func (x *ReqChessEx) GetOldChessId() int32 { @@ -2759,7 +2865,7 @@ type ResChessEx struct { func (x *ResChessEx) Reset() { *x = ResChessEx{} - mi := &file_Gameapi_proto_msgTypes[39] + mi := &file_Gameapi_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2771,7 +2877,7 @@ func (x *ResChessEx) String() string { func (*ResChessEx) ProtoMessage() {} func (x *ResChessEx) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[39] + mi := &file_Gameapi_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2784,7 +2890,7 @@ func (x *ResChessEx) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChessEx.ProtoReflect.Descriptor instead. func (*ResChessEx) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{39} + return file_Gameapi_proto_rawDescGZIP(), []int{41} } func (x *ResChessEx) GetCode() RES_CODE { @@ -2813,7 +2919,7 @@ type ReqSourceChest struct { func (x *ReqSourceChest) Reset() { *x = ReqSourceChest{} - mi := &file_Gameapi_proto_msgTypes[40] + mi := &file_Gameapi_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2825,7 +2931,7 @@ func (x *ReqSourceChest) String() string { func (*ReqSourceChest) ProtoMessage() {} func (x *ReqSourceChest) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[40] + mi := &file_Gameapi_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2838,7 +2944,7 @@ func (x *ReqSourceChest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSourceChest.ProtoReflect.Descriptor instead. func (*ReqSourceChest) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{40} + return file_Gameapi_proto_rawDescGZIP(), []int{42} } func (x *ReqSourceChest) GetChestId() int32 { @@ -2866,7 +2972,7 @@ type ResSourceChest struct { func (x *ResSourceChest) Reset() { *x = ResSourceChest{} - mi := &file_Gameapi_proto_msgTypes[41] + mi := &file_Gameapi_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2878,7 +2984,7 @@ func (x *ResSourceChest) String() string { func (*ResSourceChest) ProtoMessage() {} func (x *ResSourceChest) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[41] + mi := &file_Gameapi_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2891,7 +2997,7 @@ func (x *ResSourceChest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSourceChest.ProtoReflect.Descriptor instead. func (*ResSourceChest) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{41} + return file_Gameapi_proto_rawDescGZIP(), []int{43} } func (x *ResSourceChest) GetCode() RES_CODE { @@ -2923,7 +3029,7 @@ type ReqPlayroomOutline struct { func (x *ReqPlayroomOutline) Reset() { *x = ReqPlayroomOutline{} - mi := &file_Gameapi_proto_msgTypes[42] + mi := &file_Gameapi_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2935,7 +3041,7 @@ func (x *ReqPlayroomOutline) String() string { func (*ReqPlayroomOutline) ProtoMessage() {} func (x *ReqPlayroomOutline) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[42] + mi := &file_Gameapi_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2948,7 +3054,7 @@ func (x *ReqPlayroomOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomOutline.ProtoReflect.Descriptor instead. func (*ReqPlayroomOutline) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{42} + return file_Gameapi_proto_rawDescGZIP(), []int{44} } func (x *ReqPlayroomOutline) GetOldChessId() int32 { @@ -2997,7 +3103,7 @@ type ResPlayroomOutline struct { func (x *ResPlayroomOutline) Reset() { *x = ResPlayroomOutline{} - mi := &file_Gameapi_proto_msgTypes[43] + mi := &file_Gameapi_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3009,7 +3115,7 @@ func (x *ResPlayroomOutline) String() string { func (*ResPlayroomOutline) ProtoMessage() {} func (x *ResPlayroomOutline) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[43] + mi := &file_Gameapi_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3022,7 +3128,7 @@ func (x *ResPlayroomOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomOutline.ProtoReflect.Descriptor instead. func (*ResPlayroomOutline) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{43} + return file_Gameapi_proto_rawDescGZIP(), []int{45} } func (x *ResPlayroomOutline) GetCode() RES_CODE { @@ -3052,7 +3158,7 @@ type ChessBag struct { func (x *ChessBag) Reset() { *x = ChessBag{} - mi := &file_Gameapi_proto_msgTypes[44] + mi := &file_Gameapi_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3064,7 +3170,7 @@ func (x *ChessBag) String() string { func (*ChessBag) ProtoMessage() {} func (x *ChessBag) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[44] + mi := &file_Gameapi_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3077,7 +3183,7 @@ func (x *ChessBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ChessBag.ProtoReflect.Descriptor instead. func (*ChessBag) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{44} + return file_Gameapi_proto_rawDescGZIP(), []int{46} } func (x *ChessBag) GetChessBagGrids() []*ChessBagGrid { @@ -3113,7 +3219,7 @@ type ChessBagGrid struct { func (x *ChessBagGrid) Reset() { *x = ChessBagGrid{} - mi := &file_Gameapi_proto_msgTypes[45] + mi := &file_Gameapi_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3125,7 +3231,7 @@ func (x *ChessBagGrid) String() string { func (*ChessBagGrid) ProtoMessage() {} func (x *ChessBagGrid) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[45] + mi := &file_Gameapi_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3138,7 +3244,7 @@ func (x *ChessBagGrid) ProtoReflect() protoreflect.Message { // Deprecated: Use ChessBagGrid.ProtoReflect.Descriptor instead. func (*ChessBagGrid) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{45} + return file_Gameapi_proto_rawDescGZIP(), []int{47} } func (x *ChessBagGrid) GetId() int32 { @@ -3176,7 +3282,7 @@ type ReqPutChessInBag struct { func (x *ReqPutChessInBag) Reset() { *x = ReqPutChessInBag{} - mi := &file_Gameapi_proto_msgTypes[46] + mi := &file_Gameapi_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3188,7 +3294,7 @@ func (x *ReqPutChessInBag) String() string { func (*ReqPutChessInBag) ProtoMessage() {} func (x *ReqPutChessInBag) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[46] + mi := &file_Gameapi_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3201,7 +3307,7 @@ func (x *ReqPutChessInBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPutChessInBag.ProtoReflect.Descriptor instead. func (*ReqPutChessInBag) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{46} + return file_Gameapi_proto_rawDescGZIP(), []int{48} } func (x *ReqPutChessInBag) GetChessId() int32 { @@ -3243,7 +3349,7 @@ type ResPutChessInBag struct { func (x *ResPutChessInBag) Reset() { *x = ResPutChessInBag{} - mi := &file_Gameapi_proto_msgTypes[47] + mi := &file_Gameapi_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3255,7 +3361,7 @@ func (x *ResPutChessInBag) String() string { func (*ResPutChessInBag) ProtoMessage() {} func (x *ResPutChessInBag) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[47] + mi := &file_Gameapi_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3268,7 +3374,7 @@ func (x *ResPutChessInBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPutChessInBag.ProtoReflect.Descriptor instead. func (*ResPutChessInBag) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{47} + return file_Gameapi_proto_rawDescGZIP(), []int{49} } func (x *ResPutChessInBag) GetCode() RES_CODE { @@ -3297,7 +3403,7 @@ type ReqTakeChessOutBag struct { func (x *ReqTakeChessOutBag) Reset() { *x = ReqTakeChessOutBag{} - mi := &file_Gameapi_proto_msgTypes[48] + mi := &file_Gameapi_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3309,7 +3415,7 @@ func (x *ReqTakeChessOutBag) String() string { func (*ReqTakeChessOutBag) ProtoMessage() {} func (x *ReqTakeChessOutBag) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[48] + mi := &file_Gameapi_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3322,7 +3428,7 @@ func (x *ReqTakeChessOutBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqTakeChessOutBag.ProtoReflect.Descriptor instead. func (*ReqTakeChessOutBag) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{48} + return file_Gameapi_proto_rawDescGZIP(), []int{50} } func (x *ReqTakeChessOutBag) GetBagId() int32 { @@ -3350,7 +3456,7 @@ type ResTakeChessOutBag struct { func (x *ResTakeChessOutBag) Reset() { *x = ResTakeChessOutBag{} - mi := &file_Gameapi_proto_msgTypes[49] + mi := &file_Gameapi_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3362,7 +3468,7 @@ func (x *ResTakeChessOutBag) String() string { func (*ResTakeChessOutBag) ProtoMessage() {} func (x *ResTakeChessOutBag) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[49] + mi := &file_Gameapi_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3375,7 +3481,7 @@ func (x *ResTakeChessOutBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ResTakeChessOutBag.ProtoReflect.Descriptor instead. func (*ResTakeChessOutBag) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{49} + return file_Gameapi_proto_rawDescGZIP(), []int{51} } func (x *ResTakeChessOutBag) GetCode() RES_CODE { @@ -3401,7 +3507,7 @@ type ReqBuyChessBagGrid struct { func (x *ReqBuyChessBagGrid) Reset() { *x = ReqBuyChessBagGrid{} - mi := &file_Gameapi_proto_msgTypes[50] + mi := &file_Gameapi_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3413,7 +3519,7 @@ func (x *ReqBuyChessBagGrid) String() string { func (*ReqBuyChessBagGrid) ProtoMessage() {} func (x *ReqBuyChessBagGrid) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[50] + mi := &file_Gameapi_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3426,7 +3532,7 @@ func (x *ReqBuyChessBagGrid) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqBuyChessBagGrid.ProtoReflect.Descriptor instead. func (*ReqBuyChessBagGrid) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{50} + return file_Gameapi_proto_rawDescGZIP(), []int{52} } type ResBuyChessBagGrid struct { @@ -3440,7 +3546,7 @@ type ResBuyChessBagGrid struct { func (x *ResBuyChessBagGrid) Reset() { *x = ResBuyChessBagGrid{} - mi := &file_Gameapi_proto_msgTypes[51] + mi := &file_Gameapi_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3452,7 +3558,7 @@ func (x *ResBuyChessBagGrid) String() string { func (*ResBuyChessBagGrid) ProtoMessage() {} func (x *ResBuyChessBagGrid) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[51] + mi := &file_Gameapi_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3465,7 +3571,7 @@ func (x *ResBuyChessBagGrid) ProtoReflect() protoreflect.Message { // Deprecated: Use ResBuyChessBagGrid.ProtoReflect.Descriptor instead. func (*ResBuyChessBagGrid) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{51} + return file_Gameapi_proto_rawDescGZIP(), []int{53} } func (x *ResBuyChessBagGrid) GetCode() RES_CODE { @@ -3493,7 +3599,7 @@ type ReqPlayerProfileData struct { func (x *ReqPlayerProfileData) Reset() { *x = ReqPlayerProfileData{} - mi := &file_Gameapi_proto_msgTypes[52] + mi := &file_Gameapi_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3505,7 +3611,7 @@ func (x *ReqPlayerProfileData) String() string { func (*ReqPlayerProfileData) ProtoMessage() {} func (x *ReqPlayerProfileData) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[52] + mi := &file_Gameapi_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3518,7 +3624,7 @@ func (x *ReqPlayerProfileData) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayerProfileData.ProtoReflect.Descriptor instead. func (*ReqPlayerProfileData) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{52} + return file_Gameapi_proto_rawDescGZIP(), []int{54} } func (x *ReqPlayerProfileData) GetDwUin() int64 { @@ -3546,7 +3652,7 @@ type ResPlayerProfileData struct { func (x *ResPlayerProfileData) Reset() { *x = ResPlayerProfileData{} - mi := &file_Gameapi_proto_msgTypes[53] + mi := &file_Gameapi_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3558,7 +3664,7 @@ func (x *ResPlayerProfileData) String() string { func (*ResPlayerProfileData) ProtoMessage() {} func (x *ResPlayerProfileData) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[53] + mi := &file_Gameapi_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3571,7 +3677,7 @@ func (x *ResPlayerProfileData) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayerProfileData.ProtoReflect.Descriptor instead. func (*ResPlayerProfileData) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{53} + return file_Gameapi_proto_rawDescGZIP(), []int{55} } func (x *ResPlayerProfileData) GetDwUin() int64 { @@ -3648,7 +3754,7 @@ type ReqPlayerBriefProfileData struct { func (x *ReqPlayerBriefProfileData) Reset() { *x = ReqPlayerBriefProfileData{} - mi := &file_Gameapi_proto_msgTypes[54] + mi := &file_Gameapi_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3660,7 +3766,7 @@ func (x *ReqPlayerBriefProfileData) String() string { func (*ReqPlayerBriefProfileData) ProtoMessage() {} func (x *ReqPlayerBriefProfileData) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[54] + mi := &file_Gameapi_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3673,7 +3779,7 @@ func (x *ReqPlayerBriefProfileData) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayerBriefProfileData.ProtoReflect.Descriptor instead. func (*ReqPlayerBriefProfileData) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{54} + return file_Gameapi_proto_rawDescGZIP(), []int{56} } func (x *ReqPlayerBriefProfileData) GetDwUin() int64 { @@ -3699,7 +3805,7 @@ type ResPlayerBriefProfileData struct { func (x *ResPlayerBriefProfileData) Reset() { *x = ResPlayerBriefProfileData{} - mi := &file_Gameapi_proto_msgTypes[55] + mi := &file_Gameapi_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3711,7 +3817,7 @@ func (x *ResPlayerBriefProfileData) String() string { func (*ResPlayerBriefProfileData) ProtoMessage() {} func (x *ResPlayerBriefProfileData) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[55] + mi := &file_Gameapi_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3724,7 +3830,7 @@ func (x *ResPlayerBriefProfileData) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayerBriefProfileData.ProtoReflect.Descriptor instead. func (*ResPlayerBriefProfileData) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{55} + return file_Gameapi_proto_rawDescGZIP(), []int{57} } func (x *ResPlayerBriefProfileData) GetDwUin() int64 { @@ -3787,7 +3893,7 @@ type ReqSetEnergyMul struct { func (x *ReqSetEnergyMul) Reset() { *x = ReqSetEnergyMul{} - mi := &file_Gameapi_proto_msgTypes[56] + mi := &file_Gameapi_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3799,7 +3905,7 @@ func (x *ReqSetEnergyMul) String() string { func (*ReqSetEnergyMul) ProtoMessage() {} func (x *ReqSetEnergyMul) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[56] + mi := &file_Gameapi_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3812,7 +3918,7 @@ func (x *ReqSetEnergyMul) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetEnergyMul.ProtoReflect.Descriptor instead. func (*ReqSetEnergyMul) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{56} + return file_Gameapi_proto_rawDescGZIP(), []int{58} } func (x *ReqSetEnergyMul) GetEnergyMul() int32 { @@ -3833,7 +3939,7 @@ type ResSetEnergyMul struct { func (x *ResSetEnergyMul) Reset() { *x = ResSetEnergyMul{} - mi := &file_Gameapi_proto_msgTypes[57] + mi := &file_Gameapi_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3845,7 +3951,7 @@ func (x *ResSetEnergyMul) String() string { func (*ResSetEnergyMul) ProtoMessage() {} func (x *ResSetEnergyMul) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[57] + mi := &file_Gameapi_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3858,7 +3964,7 @@ func (x *ResSetEnergyMul) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetEnergyMul.ProtoReflect.Descriptor instead. func (*ResSetEnergyMul) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{57} + return file_Gameapi_proto_rawDescGZIP(), []int{59} } func (x *ResSetEnergyMul) GetResultCode() RES_CODE { @@ -3888,7 +3994,7 @@ type BaseInfo struct { func (x *BaseInfo) Reset() { *x = BaseInfo{} - mi := &file_Gameapi_proto_msgTypes[58] + mi := &file_Gameapi_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3900,7 +4006,7 @@ func (x *BaseInfo) String() string { func (*BaseInfo) ProtoMessage() {} func (x *BaseInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[58] + mi := &file_Gameapi_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3913,7 +4019,7 @@ func (x *BaseInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BaseInfo.ProtoReflect.Descriptor instead. func (*BaseInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{58} + return file_Gameapi_proto_rawDescGZIP(), []int{60} } func (x *BaseInfo) GetEnergyMul() int32 { @@ -3952,7 +4058,7 @@ type ReqUserInfo struct { func (x *ReqUserInfo) Reset() { *x = ReqUserInfo{} - mi := &file_Gameapi_proto_msgTypes[59] + mi := &file_Gameapi_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3964,7 +4070,7 @@ func (x *ReqUserInfo) String() string { func (*ReqUserInfo) ProtoMessage() {} func (x *ReqUserInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[59] + mi := &file_Gameapi_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3977,7 +4083,7 @@ func (x *ReqUserInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqUserInfo.ProtoReflect.Descriptor instead. func (*ReqUserInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{59} + return file_Gameapi_proto_rawDescGZIP(), []int{61} } type UserInfo struct { @@ -3998,7 +4104,7 @@ type UserInfo struct { func (x *UserInfo) Reset() { *x = UserInfo{} - mi := &file_Gameapi_proto_msgTypes[60] + mi := &file_Gameapi_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4010,7 +4116,7 @@ func (x *UserInfo) String() string { func (*UserInfo) ProtoMessage() {} func (x *UserInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[60] + mi := &file_Gameapi_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4023,7 +4129,7 @@ func (x *UserInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. func (*UserInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{60} + return file_Gameapi_proto_rawDescGZIP(), []int{62} } func (x *UserInfo) GetUid() int64 { @@ -4100,7 +4206,7 @@ type ReqSetName struct { func (x *ReqSetName) Reset() { *x = ReqSetName{} - mi := &file_Gameapi_proto_msgTypes[61] + mi := &file_Gameapi_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4112,7 +4218,7 @@ func (x *ReqSetName) String() string { func (*ReqSetName) ProtoMessage() {} func (x *ReqSetName) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[61] + mi := &file_Gameapi_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4125,7 +4231,7 @@ func (x *ReqSetName) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetName.ProtoReflect.Descriptor instead. func (*ReqSetName) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{61} + return file_Gameapi_proto_rawDescGZIP(), []int{63} } func (x *ReqSetName) GetName() string { @@ -4146,7 +4252,7 @@ type ResSetName struct { func (x *ResSetName) Reset() { *x = ResSetName{} - mi := &file_Gameapi_proto_msgTypes[62] + mi := &file_Gameapi_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4158,7 +4264,7 @@ func (x *ResSetName) String() string { func (*ResSetName) ProtoMessage() {} func (x *ResSetName) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[62] + mi := &file_Gameapi_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4171,7 +4277,7 @@ func (x *ResSetName) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetName.ProtoReflect.Descriptor instead. func (*ResSetName) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{62} + return file_Gameapi_proto_rawDescGZIP(), []int{64} } func (x *ResSetName) GetResultCode() RES_CODE { @@ -4199,7 +4305,7 @@ type ReqSetPetName struct { func (x *ReqSetPetName) Reset() { *x = ReqSetPetName{} - mi := &file_Gameapi_proto_msgTypes[63] + mi := &file_Gameapi_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4211,7 +4317,7 @@ func (x *ReqSetPetName) String() string { func (*ReqSetPetName) ProtoMessage() {} func (x *ReqSetPetName) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[63] + mi := &file_Gameapi_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4224,7 +4330,7 @@ func (x *ReqSetPetName) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetPetName.ProtoReflect.Descriptor instead. func (*ReqSetPetName) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{63} + return file_Gameapi_proto_rawDescGZIP(), []int{65} } func (x *ReqSetPetName) GetName() string { @@ -4245,7 +4351,7 @@ type ResSetPetName struct { func (x *ResSetPetName) Reset() { *x = ResSetPetName{} - mi := &file_Gameapi_proto_msgTypes[64] + mi := &file_Gameapi_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4257,7 +4363,7 @@ func (x *ResSetPetName) String() string { func (*ResSetPetName) ProtoMessage() {} func (x *ResSetPetName) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[64] + mi := &file_Gameapi_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4270,7 +4376,7 @@ func (x *ResSetPetName) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetPetName.ProtoReflect.Descriptor instead. func (*ResSetPetName) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{64} + return file_Gameapi_proto_rawDescGZIP(), []int{66} } func (x *ResSetPetName) GetResultCode() RES_CODE { @@ -4298,7 +4404,7 @@ type ReqBuyEnergy struct { func (x *ReqBuyEnergy) Reset() { *x = ReqBuyEnergy{} - mi := &file_Gameapi_proto_msgTypes[65] + mi := &file_Gameapi_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4310,7 +4416,7 @@ func (x *ReqBuyEnergy) String() string { func (*ReqBuyEnergy) ProtoMessage() {} func (x *ReqBuyEnergy) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[65] + mi := &file_Gameapi_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4323,7 +4429,7 @@ func (x *ReqBuyEnergy) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqBuyEnergy.ProtoReflect.Descriptor instead. func (*ReqBuyEnergy) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{65} + return file_Gameapi_proto_rawDescGZIP(), []int{67} } func (x *ReqBuyEnergy) GetEnergy() int32 { @@ -4344,7 +4450,7 @@ type ResBuyEnergy struct { func (x *ResBuyEnergy) Reset() { *x = ResBuyEnergy{} - mi := &file_Gameapi_proto_msgTypes[66] + mi := &file_Gameapi_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4356,7 +4462,7 @@ func (x *ResBuyEnergy) String() string { func (*ResBuyEnergy) ProtoMessage() {} func (x *ResBuyEnergy) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[66] + mi := &file_Gameapi_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4369,7 +4475,7 @@ func (x *ResBuyEnergy) ProtoReflect() protoreflect.Message { // Deprecated: Use ResBuyEnergy.ProtoReflect.Descriptor instead. func (*ResBuyEnergy) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{66} + return file_Gameapi_proto_rawDescGZIP(), []int{68} } func (x *ResBuyEnergy) GetCode() RES_CODE { @@ -4395,7 +4501,7 @@ type ReqGetEnergyByAD struct { func (x *ReqGetEnergyByAD) Reset() { *x = ReqGetEnergyByAD{} - mi := &file_Gameapi_proto_msgTypes[67] + mi := &file_Gameapi_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4407,7 +4513,7 @@ func (x *ReqGetEnergyByAD) String() string { func (*ReqGetEnergyByAD) ProtoMessage() {} func (x *ReqGetEnergyByAD) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[67] + mi := &file_Gameapi_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4420,7 +4526,7 @@ func (x *ReqGetEnergyByAD) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetEnergyByAD.ProtoReflect.Descriptor instead. func (*ReqGetEnergyByAD) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{67} + return file_Gameapi_proto_rawDescGZIP(), []int{69} } type ResGetEnergyByAD struct { @@ -4434,7 +4540,7 @@ type ResGetEnergyByAD struct { func (x *ResGetEnergyByAD) Reset() { *x = ResGetEnergyByAD{} - mi := &file_Gameapi_proto_msgTypes[68] + mi := &file_Gameapi_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4446,7 +4552,7 @@ func (x *ResGetEnergyByAD) String() string { func (*ResGetEnergyByAD) ProtoMessage() {} func (x *ResGetEnergyByAD) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[68] + mi := &file_Gameapi_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4459,7 +4565,7 @@ func (x *ResGetEnergyByAD) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetEnergyByAD.ProtoReflect.Descriptor instead. func (*ResGetEnergyByAD) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{68} + return file_Gameapi_proto_rawDescGZIP(), []int{70} } func (x *ResGetEnergyByAD) GetCode() RES_CODE { @@ -4486,7 +4592,7 @@ type ReqGetHandbookReward struct { func (x *ReqGetHandbookReward) Reset() { *x = ReqGetHandbookReward{} - mi := &file_Gameapi_proto_msgTypes[69] + mi := &file_Gameapi_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4498,7 +4604,7 @@ func (x *ReqGetHandbookReward) String() string { func (*ReqGetHandbookReward) ProtoMessage() {} func (x *ReqGetHandbookReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[69] + mi := &file_Gameapi_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4511,7 +4617,7 @@ func (x *ReqGetHandbookReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetHandbookReward.ProtoReflect.Descriptor instead. func (*ReqGetHandbookReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{69} + return file_Gameapi_proto_rawDescGZIP(), []int{71} } func (x *ReqGetHandbookReward) GetChessId() int32 { @@ -4532,7 +4638,7 @@ type HandbookInfo struct { func (x *HandbookInfo) Reset() { *x = HandbookInfo{} - mi := &file_Gameapi_proto_msgTypes[70] + mi := &file_Gameapi_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4544,7 +4650,7 @@ func (x *HandbookInfo) String() string { func (*HandbookInfo) ProtoMessage() {} func (x *HandbookInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[70] + mi := &file_Gameapi_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4557,7 +4663,7 @@ func (x *HandbookInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use HandbookInfo.ProtoReflect.Descriptor instead. func (*HandbookInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{70} + return file_Gameapi_proto_rawDescGZIP(), []int{72} } func (x *HandbookInfo) GetChessId() int32 { @@ -4584,7 +4690,7 @@ type Handbook struct { func (x *Handbook) Reset() { *x = Handbook{} - mi := &file_Gameapi_proto_msgTypes[71] + mi := &file_Gameapi_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4596,7 +4702,7 @@ func (x *Handbook) String() string { func (*Handbook) ProtoMessage() {} func (x *Handbook) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[71] + mi := &file_Gameapi_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4609,7 +4715,7 @@ func (x *Handbook) ProtoReflect() protoreflect.Message { // Deprecated: Use Handbook.ProtoReflect.Descriptor instead. func (*Handbook) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{71} + return file_Gameapi_proto_rawDescGZIP(), []int{73} } func (x *Handbook) GetHandbooks() []*HandbookInfo { @@ -4630,7 +4736,7 @@ type ResGetHandbookReward struct { func (x *ResGetHandbookReward) Reset() { *x = ResGetHandbookReward{} - mi := &file_Gameapi_proto_msgTypes[72] + mi := &file_Gameapi_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4642,7 +4748,7 @@ func (x *ResGetHandbookReward) String() string { func (*ResGetHandbookReward) ProtoMessage() {} func (x *ResGetHandbookReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[72] + mi := &file_Gameapi_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4655,7 +4761,7 @@ func (x *ResGetHandbookReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetHandbookReward.ProtoReflect.Descriptor instead. func (*ResGetHandbookReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{72} + return file_Gameapi_proto_rawDescGZIP(), []int{74} } func (x *ResGetHandbookReward) GetCode() RES_CODE { @@ -4683,7 +4789,7 @@ type ReqRewardOrder struct { func (x *ReqRewardOrder) Reset() { *x = ReqRewardOrder{} - mi := &file_Gameapi_proto_msgTypes[73] + mi := &file_Gameapi_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4695,7 +4801,7 @@ func (x *ReqRewardOrder) String() string { func (*ReqRewardOrder) ProtoMessage() {} func (x *ReqRewardOrder) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[73] + mi := &file_Gameapi_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4708,7 +4814,7 @@ func (x *ReqRewardOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRewardOrder.ProtoReflect.Descriptor instead. func (*ReqRewardOrder) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{73} + return file_Gameapi_proto_rawDescGZIP(), []int{75} } func (x *ReqRewardOrder) GetOrderId() int32 { @@ -4736,7 +4842,7 @@ type ResRewardOrder struct { func (x *ResRewardOrder) Reset() { *x = ResRewardOrder{} - mi := &file_Gameapi_proto_msgTypes[74] + mi := &file_Gameapi_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4748,7 +4854,7 @@ func (x *ResRewardOrder) String() string { func (*ResRewardOrder) ProtoMessage() {} func (x *ResRewardOrder) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[74] + mi := &file_Gameapi_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4761,7 +4867,7 @@ func (x *ResRewardOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRewardOrder.ProtoReflect.Descriptor instead. func (*ResRewardOrder) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{74} + return file_Gameapi_proto_rawDescGZIP(), []int{76} } func (x *ResRewardOrder) GetCode() RES_CODE { @@ -4790,7 +4896,7 @@ type Order struct { func (x *Order) Reset() { *x = Order{} - mi := &file_Gameapi_proto_msgTypes[75] + mi := &file_Gameapi_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4802,7 +4908,7 @@ func (x *Order) String() string { func (*Order) ProtoMessage() {} func (x *Order) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[75] + mi := &file_Gameapi_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4815,7 +4921,7 @@ func (x *Order) ProtoReflect() protoreflect.Message { // Deprecated: Use Order.ProtoReflect.Descriptor instead. func (*Order) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{75} + return file_Gameapi_proto_rawDescGZIP(), []int{77} } func (x *Order) GetId() int32 { @@ -4849,7 +4955,7 @@ type ResOrderList struct { func (x *ResOrderList) Reset() { *x = ResOrderList{} - mi := &file_Gameapi_proto_msgTypes[76] + mi := &file_Gameapi_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4861,7 +4967,7 @@ func (x *ResOrderList) String() string { func (*ResOrderList) ProtoMessage() {} func (x *ResOrderList) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[76] + mi := &file_Gameapi_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4874,7 +4980,7 @@ func (x *ResOrderList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResOrderList.ProtoReflect.Descriptor instead. func (*ResOrderList) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{76} + return file_Gameapi_proto_rawDescGZIP(), []int{78} } func (x *ResOrderList) GetOrderList() []*Order { @@ -4896,7 +5002,7 @@ type ResDecorateInfo struct { func (x *ResDecorateInfo) Reset() { *x = ResDecorateInfo{} - mi := &file_Gameapi_proto_msgTypes[77] + mi := &file_Gameapi_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4908,7 +5014,7 @@ func (x *ResDecorateInfo) String() string { func (*ResDecorateInfo) ProtoMessage() {} func (x *ResDecorateInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[77] + mi := &file_Gameapi_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4921,7 +5027,7 @@ func (x *ResDecorateInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDecorateInfo.ProtoReflect.Descriptor instead. func (*ResDecorateInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{77} + return file_Gameapi_proto_rawDescGZIP(), []int{79} } func (x *ResDecorateInfo) GetAreaId() int32 { @@ -4950,7 +5056,7 @@ type ReqDecorate struct { func (x *ReqDecorate) Reset() { *x = ReqDecorate{} - mi := &file_Gameapi_proto_msgTypes[78] + mi := &file_Gameapi_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4962,7 +5068,7 @@ func (x *ReqDecorate) String() string { func (*ReqDecorate) ProtoMessage() {} func (x *ReqDecorate) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[78] + mi := &file_Gameapi_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4975,7 +5081,7 @@ func (x *ReqDecorate) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDecorate.ProtoReflect.Descriptor instead. func (*ReqDecorate) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{78} + return file_Gameapi_proto_rawDescGZIP(), []int{80} } func (x *ReqDecorate) GetAreaId() int32 { @@ -5003,7 +5109,7 @@ type ResDecorate struct { func (x *ResDecorate) Reset() { *x = ResDecorate{} - mi := &file_Gameapi_proto_msgTypes[79] + mi := &file_Gameapi_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5015,7 +5121,7 @@ func (x *ResDecorate) String() string { func (*ResDecorate) ProtoMessage() {} func (x *ResDecorate) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[79] + mi := &file_Gameapi_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5028,7 +5134,7 @@ func (x *ResDecorate) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDecorate.ProtoReflect.Descriptor instead. func (*ResDecorate) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{79} + return file_Gameapi_proto_rawDescGZIP(), []int{81} } func (x *ResDecorate) GetCode() RES_CODE { @@ -5054,7 +5160,7 @@ type ReqDecorateAll struct { func (x *ReqDecorateAll) Reset() { *x = ReqDecorateAll{} - mi := &file_Gameapi_proto_msgTypes[80] + mi := &file_Gameapi_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5066,7 +5172,7 @@ func (x *ReqDecorateAll) String() string { func (*ReqDecorateAll) ProtoMessage() {} func (x *ReqDecorateAll) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[80] + mi := &file_Gameapi_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5079,7 +5185,7 @@ func (x *ReqDecorateAll) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDecorateAll.ProtoReflect.Descriptor instead. func (*ReqDecorateAll) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{80} + return file_Gameapi_proto_rawDescGZIP(), []int{82} } type ResDecorateAll struct { @@ -5093,7 +5199,7 @@ type ResDecorateAll struct { func (x *ResDecorateAll) Reset() { *x = ResDecorateAll{} - mi := &file_Gameapi_proto_msgTypes[81] + mi := &file_Gameapi_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5105,7 +5211,7 @@ func (x *ResDecorateAll) String() string { func (*ResDecorateAll) ProtoMessage() {} func (x *ResDecorateAll) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[81] + mi := &file_Gameapi_proto_msgTypes[83] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5118,7 +5224,7 @@ func (x *ResDecorateAll) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDecorateAll.ProtoReflect.Descriptor instead. func (*ResDecorateAll) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{81} + return file_Gameapi_proto_rawDescGZIP(), []int{83} } func (x *ResDecorateAll) GetCode() RES_CODE { @@ -5147,7 +5253,7 @@ type ReqGmCommand struct { func (x *ReqGmCommand) Reset() { *x = ReqGmCommand{} - mi := &file_Gameapi_proto_msgTypes[82] + mi := &file_Gameapi_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5159,7 +5265,7 @@ func (x *ReqGmCommand) String() string { func (*ReqGmCommand) ProtoMessage() {} func (x *ReqGmCommand) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[82] + mi := &file_Gameapi_proto_msgTypes[84] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5172,7 +5278,7 @@ func (x *ReqGmCommand) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGmCommand.ProtoReflect.Descriptor instead. func (*ReqGmCommand) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{82} + return file_Gameapi_proto_rawDescGZIP(), []int{84} } func (x *ReqGmCommand) GetCommand() string { @@ -5201,7 +5307,7 @@ type Card struct { func (x *Card) Reset() { *x = Card{} - mi := &file_Gameapi_proto_msgTypes[83] + mi := &file_Gameapi_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5213,7 +5319,7 @@ func (x *Card) String() string { func (*Card) ProtoMessage() {} func (x *Card) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[83] + mi := &file_Gameapi_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5226,7 +5332,7 @@ func (x *Card) ProtoReflect() protoreflect.Message { // Deprecated: Use Card.ProtoReflect.Descriptor instead. func (*Card) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{83} + return file_Gameapi_proto_rawDescGZIP(), []int{85} } func (x *Card) GetId() int32 { @@ -5251,7 +5357,7 @@ type ReqCardInfo struct { func (x *ReqCardInfo) Reset() { *x = ReqCardInfo{} - mi := &file_Gameapi_proto_msgTypes[84] + mi := &file_Gameapi_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5263,7 +5369,7 @@ func (x *ReqCardInfo) String() string { func (*ReqCardInfo) ProtoMessage() {} func (x *ReqCardInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[84] + mi := &file_Gameapi_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5276,7 +5382,7 @@ func (x *ReqCardInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardInfo.ProtoReflect.Descriptor instead. func (*ReqCardInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{84} + return file_Gameapi_proto_rawDescGZIP(), []int{86} } type ResCardInfo struct { @@ -5301,7 +5407,7 @@ type ResCardInfo struct { func (x *ResCardInfo) Reset() { *x = ResCardInfo{} - mi := &file_Gameapi_proto_msgTypes[85] + mi := &file_Gameapi_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5313,7 +5419,7 @@ func (x *ResCardInfo) String() string { func (*ResCardInfo) ProtoMessage() {} func (x *ResCardInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[85] + mi := &file_Gameapi_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5326,7 +5432,7 @@ func (x *ResCardInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardInfo.ProtoReflect.Descriptor instead. func (*ResCardInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{85} + return file_Gameapi_proto_rawDescGZIP(), []int{87} } func (x *ResCardInfo) GetCardList() []*Card { @@ -5434,7 +5540,7 @@ type ResNotifyCardTimes struct { func (x *ResNotifyCardTimes) Reset() { *x = ResNotifyCardTimes{} - mi := &file_Gameapi_proto_msgTypes[86] + mi := &file_Gameapi_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5446,7 +5552,7 @@ func (x *ResNotifyCardTimes) String() string { func (*ResNotifyCardTimes) ProtoMessage() {} func (x *ResNotifyCardTimes) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[86] + mi := &file_Gameapi_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5459,7 +5565,7 @@ func (x *ResNotifyCardTimes) ProtoReflect() protoreflect.Message { // Deprecated: Use ResNotifyCardTimes.ProtoReflect.Descriptor instead. func (*ResNotifyCardTimes) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{86} + return file_Gameapi_proto_rawDescGZIP(), []int{88} } func (x *ResNotifyCardTimes) GetExTimes() int32 { @@ -5508,7 +5614,7 @@ type ReqCardHandbookReward struct { func (x *ReqCardHandbookReward) Reset() { *x = ReqCardHandbookReward{} - mi := &file_Gameapi_proto_msgTypes[87] + mi := &file_Gameapi_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5520,7 +5626,7 @@ func (x *ReqCardHandbookReward) String() string { func (*ReqCardHandbookReward) ProtoMessage() {} func (x *ReqCardHandbookReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[87] + mi := &file_Gameapi_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5533,7 +5639,7 @@ func (x *ReqCardHandbookReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardHandbookReward.ProtoReflect.Descriptor instead. func (*ReqCardHandbookReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{87} + return file_Gameapi_proto_rawDescGZIP(), []int{89} } func (x *ReqCardHandbookReward) GetCardId() int32 { @@ -5555,7 +5661,7 @@ type ResCardHandbookReward struct { func (x *ResCardHandbookReward) Reset() { *x = ResCardHandbookReward{} - mi := &file_Gameapi_proto_msgTypes[88] + mi := &file_Gameapi_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5567,7 +5673,7 @@ func (x *ResCardHandbookReward) String() string { func (*ResCardHandbookReward) ProtoMessage() {} func (x *ResCardHandbookReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[88] + mi := &file_Gameapi_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5580,7 +5686,7 @@ func (x *ResCardHandbookReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardHandbookReward.ProtoReflect.Descriptor instead. func (*ResCardHandbookReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{88} + return file_Gameapi_proto_rawDescGZIP(), []int{90} } func (x *ResCardHandbookReward) GetCode() RES_CODE { @@ -5616,7 +5722,7 @@ type ReqMasterCard struct { func (x *ReqMasterCard) Reset() { *x = ReqMasterCard{} - mi := &file_Gameapi_proto_msgTypes[89] + mi := &file_Gameapi_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5628,7 +5734,7 @@ func (x *ReqMasterCard) String() string { func (*ReqMasterCard) ProtoMessage() {} func (x *ReqMasterCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[89] + mi := &file_Gameapi_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5641,7 +5747,7 @@ func (x *ReqMasterCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMasterCard.ProtoReflect.Descriptor instead. func (*ReqMasterCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{89} + return file_Gameapi_proto_rawDescGZIP(), []int{91} } func (x *ReqMasterCard) GetId() int32 { @@ -5671,7 +5777,7 @@ type ResMasterCard struct { func (x *ResMasterCard) Reset() { *x = ResMasterCard{} - mi := &file_Gameapi_proto_msgTypes[90] + mi := &file_Gameapi_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5683,7 +5789,7 @@ func (x *ResMasterCard) String() string { func (*ResMasterCard) ProtoMessage() {} func (x *ResMasterCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[90] + mi := &file_Gameapi_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5696,7 +5802,7 @@ func (x *ResMasterCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMasterCard.ProtoReflect.Descriptor instead. func (*ResMasterCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{90} + return file_Gameapi_proto_rawDescGZIP(), []int{92} } func (x *ResMasterCard) GetCode() RES_CODE { @@ -5738,7 +5844,7 @@ type ReqCardCollectReward struct { func (x *ReqCardCollectReward) Reset() { *x = ReqCardCollectReward{} - mi := &file_Gameapi_proto_msgTypes[91] + mi := &file_Gameapi_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5750,7 +5856,7 @@ func (x *ReqCardCollectReward) String() string { func (*ReqCardCollectReward) ProtoMessage() {} func (x *ReqCardCollectReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[91] + mi := &file_Gameapi_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5763,7 +5869,7 @@ func (x *ReqCardCollectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardCollectReward.ProtoReflect.Descriptor instead. func (*ReqCardCollectReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{91} + return file_Gameapi_proto_rawDescGZIP(), []int{93} } func (x *ReqCardCollectReward) GetColor() int32 { @@ -5784,7 +5890,7 @@ type ResCardCollectReward struct { func (x *ResCardCollectReward) Reset() { *x = ResCardCollectReward{} - mi := &file_Gameapi_proto_msgTypes[92] + mi := &file_Gameapi_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5796,7 +5902,7 @@ func (x *ResCardCollectReward) String() string { func (*ResCardCollectReward) ProtoMessage() {} func (x *ResCardCollectReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[92] + mi := &file_Gameapi_proto_msgTypes[94] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5809,7 +5915,7 @@ func (x *ResCardCollectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardCollectReward.ProtoReflect.Descriptor instead. func (*ResCardCollectReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{92} + return file_Gameapi_proto_rawDescGZIP(), []int{94} } func (x *ResCardCollectReward) GetCode() RES_CODE { @@ -5837,7 +5943,7 @@ type ReqExStarReward struct { func (x *ReqExStarReward) Reset() { *x = ReqExStarReward{} - mi := &file_Gameapi_proto_msgTypes[93] + mi := &file_Gameapi_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5849,7 +5955,7 @@ func (x *ReqExStarReward) String() string { func (*ReqExStarReward) ProtoMessage() {} func (x *ReqExStarReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[93] + mi := &file_Gameapi_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5862,7 +5968,7 @@ func (x *ReqExStarReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqExStarReward.ProtoReflect.Descriptor instead. func (*ReqExStarReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{93} + return file_Gameapi_proto_rawDescGZIP(), []int{95} } func (x *ReqExStarReward) GetId() int32 { @@ -5883,7 +5989,7 @@ type ResExStarReward struct { func (x *ResExStarReward) Reset() { *x = ResExStarReward{} - mi := &file_Gameapi_proto_msgTypes[94] + mi := &file_Gameapi_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5895,7 +6001,7 @@ func (x *ResExStarReward) String() string { func (*ResExStarReward) ProtoMessage() {} func (x *ResExStarReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[94] + mi := &file_Gameapi_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5908,7 +6014,7 @@ func (x *ResExStarReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResExStarReward.ProtoReflect.Descriptor instead. func (*ResExStarReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{94} + return file_Gameapi_proto_rawDescGZIP(), []int{96} } func (x *ResExStarReward) GetCode() RES_CODE { @@ -5934,7 +6040,7 @@ type ReqAllCollectReward struct { func (x *ReqAllCollectReward) Reset() { *x = ReqAllCollectReward{} - mi := &file_Gameapi_proto_msgTypes[95] + mi := &file_Gameapi_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5946,7 +6052,7 @@ func (x *ReqAllCollectReward) String() string { func (*ReqAllCollectReward) ProtoMessage() {} func (x *ReqAllCollectReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[95] + mi := &file_Gameapi_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5959,7 +6065,7 @@ func (x *ReqAllCollectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAllCollectReward.ProtoReflect.Descriptor instead. func (*ReqAllCollectReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{95} + return file_Gameapi_proto_rawDescGZIP(), []int{97} } type ResAllCollectReward struct { @@ -5973,7 +6079,7 @@ type ResAllCollectReward struct { func (x *ResAllCollectReward) Reset() { *x = ResAllCollectReward{} - mi := &file_Gameapi_proto_msgTypes[96] + mi := &file_Gameapi_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5985,7 +6091,7 @@ func (x *ResAllCollectReward) String() string { func (*ResAllCollectReward) ProtoMessage() {} func (x *ResAllCollectReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[96] + mi := &file_Gameapi_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5998,7 +6104,7 @@ func (x *ResAllCollectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAllCollectReward.ProtoReflect.Descriptor instead. func (*ResAllCollectReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{96} + return file_Gameapi_proto_rawDescGZIP(), []int{98} } func (x *ResAllCollectReward) GetCode() RES_CODE { @@ -6027,7 +6133,7 @@ type ReqCardGive struct { func (x *ReqCardGive) Reset() { *x = ReqCardGive{} - mi := &file_Gameapi_proto_msgTypes[97] + mi := &file_Gameapi_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6039,7 +6145,7 @@ func (x *ReqCardGive) String() string { func (*ReqCardGive) ProtoMessage() {} func (x *ReqCardGive) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[97] + mi := &file_Gameapi_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6052,7 +6158,7 @@ func (x *ReqCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardGive.ProtoReflect.Descriptor instead. func (*ReqCardGive) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{97} + return file_Gameapi_proto_rawDescGZIP(), []int{99} } func (x *ReqCardGive) GetUid() []int64 { @@ -6080,7 +6186,7 @@ type ResCardGive struct { func (x *ResCardGive) Reset() { *x = ResCardGive{} - mi := &file_Gameapi_proto_msgTypes[98] + mi := &file_Gameapi_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6092,7 +6198,7 @@ func (x *ResCardGive) String() string { func (*ResCardGive) ProtoMessage() {} func (x *ResCardGive) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[98] + mi := &file_Gameapi_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6105,7 +6211,7 @@ func (x *ResCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardGive.ProtoReflect.Descriptor instead. func (*ResCardGive) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{98} + return file_Gameapi_proto_rawDescGZIP(), []int{100} } func (x *ResCardGive) GetCode() RES_CODE { @@ -6133,7 +6239,7 @@ type ReqAgreeCardGive struct { func (x *ReqAgreeCardGive) Reset() { *x = ReqAgreeCardGive{} - mi := &file_Gameapi_proto_msgTypes[99] + mi := &file_Gameapi_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6145,7 +6251,7 @@ func (x *ReqAgreeCardGive) String() string { func (*ReqAgreeCardGive) ProtoMessage() {} func (x *ReqAgreeCardGive) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[99] + mi := &file_Gameapi_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6158,7 +6264,7 @@ func (x *ReqAgreeCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAgreeCardGive.ProtoReflect.Descriptor instead. func (*ReqAgreeCardGive) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{99} + return file_Gameapi_proto_rawDescGZIP(), []int{101} } func (x *ReqAgreeCardGive) GetId() string { @@ -6180,7 +6286,7 @@ type ResAgreeCardGive struct { func (x *ResAgreeCardGive) Reset() { *x = ResAgreeCardGive{} - mi := &file_Gameapi_proto_msgTypes[100] + mi := &file_Gameapi_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6192,7 +6298,7 @@ func (x *ResAgreeCardGive) String() string { func (*ResAgreeCardGive) ProtoMessage() {} func (x *ResAgreeCardGive) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[100] + mi := &file_Gameapi_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6205,7 +6311,7 @@ func (x *ResAgreeCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAgreeCardGive.ProtoReflect.Descriptor instead. func (*ResAgreeCardGive) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{100} + return file_Gameapi_proto_rawDescGZIP(), []int{102} } func (x *ResAgreeCardGive) GetCode() RES_CODE { @@ -6240,7 +6346,7 @@ type ReqRefuseCardGive struct { func (x *ReqRefuseCardGive) Reset() { *x = ReqRefuseCardGive{} - mi := &file_Gameapi_proto_msgTypes[101] + mi := &file_Gameapi_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6252,7 +6358,7 @@ func (x *ReqRefuseCardGive) String() string { func (*ReqRefuseCardGive) ProtoMessage() {} func (x *ReqRefuseCardGive) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[101] + mi := &file_Gameapi_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6265,7 +6371,7 @@ func (x *ReqRefuseCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefuseCardGive.ProtoReflect.Descriptor instead. func (*ReqRefuseCardGive) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{101} + return file_Gameapi_proto_rawDescGZIP(), []int{103} } func (x *ReqRefuseCardGive) GetId() string { @@ -6287,7 +6393,7 @@ type ResRefuseCardGive struct { func (x *ResRefuseCardGive) Reset() { *x = ResRefuseCardGive{} - mi := &file_Gameapi_proto_msgTypes[102] + mi := &file_Gameapi_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6299,7 +6405,7 @@ func (x *ResRefuseCardGive) String() string { func (*ResRefuseCardGive) ProtoMessage() {} func (x *ResRefuseCardGive) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[102] + mi := &file_Gameapi_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6312,7 +6418,7 @@ func (x *ResRefuseCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefuseCardGive.ProtoReflect.Descriptor instead. func (*ResRefuseCardGive) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{102} + return file_Gameapi_proto_rawDescGZIP(), []int{104} } func (x *ResRefuseCardGive) GetCode() RES_CODE { @@ -6348,7 +6454,7 @@ type ReqCardSend struct { func (x *ReqCardSend) Reset() { *x = ReqCardSend{} - mi := &file_Gameapi_proto_msgTypes[103] + mi := &file_Gameapi_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6360,7 +6466,7 @@ func (x *ReqCardSend) String() string { func (*ReqCardSend) ProtoMessage() {} func (x *ReqCardSend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[103] + mi := &file_Gameapi_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6373,7 +6479,7 @@ func (x *ReqCardSend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardSend.ProtoReflect.Descriptor instead. func (*ReqCardSend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{103} + return file_Gameapi_proto_rawDescGZIP(), []int{105} } func (x *ReqCardSend) GetUid() int64 { @@ -6401,7 +6507,7 @@ type ResCardSend struct { func (x *ResCardSend) Reset() { *x = ResCardSend{} - mi := &file_Gameapi_proto_msgTypes[104] + mi := &file_Gameapi_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6413,7 +6519,7 @@ func (x *ResCardSend) String() string { func (*ResCardSend) ProtoMessage() {} func (x *ResCardSend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[104] + mi := &file_Gameapi_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6426,7 +6532,7 @@ func (x *ResCardSend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardSend.ProtoReflect.Descriptor instead. func (*ResCardSend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{104} + return file_Gameapi_proto_rawDescGZIP(), []int{106} } func (x *ResCardSend) GetCode() RES_CODE { @@ -6455,7 +6561,7 @@ type ReqCardExchange struct { func (x *ReqCardExchange) Reset() { *x = ReqCardExchange{} - mi := &file_Gameapi_proto_msgTypes[105] + mi := &file_Gameapi_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6467,7 +6573,7 @@ func (x *ReqCardExchange) String() string { func (*ReqCardExchange) ProtoMessage() {} func (x *ReqCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[105] + mi := &file_Gameapi_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6480,7 +6586,7 @@ func (x *ReqCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardExchange.ProtoReflect.Descriptor instead. func (*ReqCardExchange) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{105} + return file_Gameapi_proto_rawDescGZIP(), []int{107} } func (x *ReqCardExchange) GetUid() int64 { @@ -6508,7 +6614,7 @@ type ResCardExchange struct { func (x *ResCardExchange) Reset() { *x = ResCardExchange{} - mi := &file_Gameapi_proto_msgTypes[106] + mi := &file_Gameapi_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6520,7 +6626,7 @@ func (x *ResCardExchange) String() string { func (*ResCardExchange) ProtoMessage() {} func (x *ResCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[106] + mi := &file_Gameapi_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6533,7 +6639,7 @@ func (x *ResCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardExchange.ProtoReflect.Descriptor instead. func (*ResCardExchange) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{106} + return file_Gameapi_proto_rawDescGZIP(), []int{108} } func (x *ResCardExchange) GetCode() RES_CODE { @@ -6562,7 +6668,7 @@ type ReqSelectCardExchange struct { func (x *ReqSelectCardExchange) Reset() { *x = ReqSelectCardExchange{} - mi := &file_Gameapi_proto_msgTypes[107] + mi := &file_Gameapi_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6574,7 +6680,7 @@ func (x *ReqSelectCardExchange) String() string { func (*ReqSelectCardExchange) ProtoMessage() {} func (x *ReqSelectCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[107] + mi := &file_Gameapi_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6587,7 +6693,7 @@ func (x *ReqSelectCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSelectCardExchange.ProtoReflect.Descriptor instead. func (*ReqSelectCardExchange) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{107} + return file_Gameapi_proto_rawDescGZIP(), []int{109} } func (x *ReqSelectCardExchange) GetId() string { @@ -6616,7 +6722,7 @@ type ResSelectCardExchange struct { func (x *ResSelectCardExchange) Reset() { *x = ResSelectCardExchange{} - mi := &file_Gameapi_proto_msgTypes[108] + mi := &file_Gameapi_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6628,7 +6734,7 @@ func (x *ResSelectCardExchange) String() string { func (*ResSelectCardExchange) ProtoMessage() {} func (x *ResSelectCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[108] + mi := &file_Gameapi_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6641,7 +6747,7 @@ func (x *ResSelectCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSelectCardExchange.ProtoReflect.Descriptor instead. func (*ResSelectCardExchange) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{108} + return file_Gameapi_proto_rawDescGZIP(), []int{110} } func (x *ResSelectCardExchange) GetCode() RES_CODE { @@ -6676,7 +6782,7 @@ type ReqAgreeCardExchange struct { func (x *ReqAgreeCardExchange) Reset() { *x = ReqAgreeCardExchange{} - mi := &file_Gameapi_proto_msgTypes[109] + mi := &file_Gameapi_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6688,7 +6794,7 @@ func (x *ReqAgreeCardExchange) String() string { func (*ReqAgreeCardExchange) ProtoMessage() {} func (x *ReqAgreeCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[109] + mi := &file_Gameapi_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6701,7 +6807,7 @@ func (x *ReqAgreeCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAgreeCardExchange.ProtoReflect.Descriptor instead. func (*ReqAgreeCardExchange) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{109} + return file_Gameapi_proto_rawDescGZIP(), []int{111} } func (x *ReqAgreeCardExchange) GetId() string { @@ -6723,7 +6829,7 @@ type ResAgreeCardExchange struct { func (x *ResAgreeCardExchange) Reset() { *x = ResAgreeCardExchange{} - mi := &file_Gameapi_proto_msgTypes[110] + mi := &file_Gameapi_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6735,7 +6841,7 @@ func (x *ResAgreeCardExchange) String() string { func (*ResAgreeCardExchange) ProtoMessage() {} func (x *ResAgreeCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[110] + mi := &file_Gameapi_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6748,7 +6854,7 @@ func (x *ResAgreeCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAgreeCardExchange.ProtoReflect.Descriptor instead. func (*ResAgreeCardExchange) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{110} + return file_Gameapi_proto_rawDescGZIP(), []int{112} } func (x *ResAgreeCardExchange) GetCode() RES_CODE { @@ -6783,7 +6889,7 @@ type ReqRefuseCardSelect struct { func (x *ReqRefuseCardSelect) Reset() { *x = ReqRefuseCardSelect{} - mi := &file_Gameapi_proto_msgTypes[111] + mi := &file_Gameapi_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6795,7 +6901,7 @@ func (x *ReqRefuseCardSelect) String() string { func (*ReqRefuseCardSelect) ProtoMessage() {} func (x *ReqRefuseCardSelect) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[111] + mi := &file_Gameapi_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6808,7 +6914,7 @@ func (x *ReqRefuseCardSelect) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefuseCardSelect.ProtoReflect.Descriptor instead. func (*ReqRefuseCardSelect) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{111} + return file_Gameapi_proto_rawDescGZIP(), []int{113} } func (x *ReqRefuseCardSelect) GetId() string { @@ -6830,7 +6936,7 @@ type ResRefuseCardSelect struct { func (x *ResRefuseCardSelect) Reset() { *x = ResRefuseCardSelect{} - mi := &file_Gameapi_proto_msgTypes[112] + mi := &file_Gameapi_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6842,7 +6948,7 @@ func (x *ResRefuseCardSelect) String() string { func (*ResRefuseCardSelect) ProtoMessage() {} func (x *ResRefuseCardSelect) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[112] + mi := &file_Gameapi_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6855,7 +6961,7 @@ func (x *ResRefuseCardSelect) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefuseCardSelect.ProtoReflect.Descriptor instead. func (*ResRefuseCardSelect) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{112} + return file_Gameapi_proto_rawDescGZIP(), []int{114} } func (x *ResRefuseCardSelect) GetCode() RES_CODE { @@ -6890,7 +6996,7 @@ type ReqRefuseCardExchange struct { func (x *ReqRefuseCardExchange) Reset() { *x = ReqRefuseCardExchange{} - mi := &file_Gameapi_proto_msgTypes[113] + mi := &file_Gameapi_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6902,7 +7008,7 @@ func (x *ReqRefuseCardExchange) String() string { func (*ReqRefuseCardExchange) ProtoMessage() {} func (x *ReqRefuseCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[113] + mi := &file_Gameapi_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6915,7 +7021,7 @@ func (x *ReqRefuseCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefuseCardExchange.ProtoReflect.Descriptor instead. func (*ReqRefuseCardExchange) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{113} + return file_Gameapi_proto_rawDescGZIP(), []int{115} } func (x *ReqRefuseCardExchange) GetId() string { @@ -6937,7 +7043,7 @@ type ResRefuseCardExchange struct { func (x *ResRefuseCardExchange) Reset() { *x = ResRefuseCardExchange{} - mi := &file_Gameapi_proto_msgTypes[114] + mi := &file_Gameapi_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6949,7 +7055,7 @@ func (x *ResRefuseCardExchange) String() string { func (*ResRefuseCardExchange) ProtoMessage() {} func (x *ResRefuseCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[114] + mi := &file_Gameapi_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6962,7 +7068,7 @@ func (x *ResRefuseCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefuseCardExchange.ProtoReflect.Descriptor instead. func (*ResRefuseCardExchange) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{114} + return file_Gameapi_proto_rawDescGZIP(), []int{116} } func (x *ResRefuseCardExchange) GetCode() RES_CODE { @@ -6997,7 +7103,7 @@ type ReqGetFriendCard struct { func (x *ReqGetFriendCard) Reset() { *x = ReqGetFriendCard{} - mi := &file_Gameapi_proto_msgTypes[115] + mi := &file_Gameapi_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7009,7 +7115,7 @@ func (x *ReqGetFriendCard) String() string { func (*ReqGetFriendCard) ProtoMessage() {} func (x *ReqGetFriendCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[115] + mi := &file_Gameapi_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7022,7 +7128,7 @@ func (x *ReqGetFriendCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetFriendCard.ProtoReflect.Descriptor instead. func (*ReqGetFriendCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{115} + return file_Gameapi_proto_rawDescGZIP(), []int{117} } func (x *ReqGetFriendCard) GetId() string { @@ -7045,7 +7151,7 @@ type ResGetFriendCard struct { func (x *ResGetFriendCard) Reset() { *x = ResGetFriendCard{} - mi := &file_Gameapi_proto_msgTypes[116] + mi := &file_Gameapi_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7057,7 +7163,7 @@ func (x *ResGetFriendCard) String() string { func (*ResGetFriendCard) ProtoMessage() {} func (x *ResGetFriendCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[116] + mi := &file_Gameapi_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7070,7 +7176,7 @@ func (x *ResGetFriendCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetFriendCard.ProtoReflect.Descriptor instead. func (*ResGetFriendCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{116} + return file_Gameapi_proto_rawDescGZIP(), []int{118} } func (x *ResGetFriendCard) GetCode() RES_CODE { @@ -7110,7 +7216,7 @@ type ReqGetGoldCard struct { func (x *ReqGetGoldCard) Reset() { *x = ReqGetGoldCard{} - mi := &file_Gameapi_proto_msgTypes[117] + mi := &file_Gameapi_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7122,7 +7228,7 @@ func (x *ReqGetGoldCard) String() string { func (*ReqGetGoldCard) ProtoMessage() {} func (x *ReqGetGoldCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[117] + mi := &file_Gameapi_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7135,7 +7241,7 @@ func (x *ReqGetGoldCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetGoldCard.ProtoReflect.Descriptor instead. func (*ReqGetGoldCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{117} + return file_Gameapi_proto_rawDescGZIP(), []int{119} } type ResGetGoldCard struct { @@ -7149,7 +7255,7 @@ type ResGetGoldCard struct { func (x *ResGetGoldCard) Reset() { *x = ResGetGoldCard{} - mi := &file_Gameapi_proto_msgTypes[118] + mi := &file_Gameapi_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7161,7 +7267,7 @@ func (x *ResGetGoldCard) String() string { func (*ResGetGoldCard) ProtoMessage() {} func (x *ResGetGoldCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[118] + mi := &file_Gameapi_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7174,7 +7280,7 @@ func (x *ResGetGoldCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetGoldCard.ProtoReflect.Descriptor instead. func (*ResGetGoldCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{118} + return file_Gameapi_proto_rawDescGZIP(), []int{120} } func (x *ResGetGoldCard) GetFour() int32 { @@ -7202,7 +7308,7 @@ type ReqGuideReward struct { func (x *ReqGuideReward) Reset() { *x = ReqGuideReward{} - mi := &file_Gameapi_proto_msgTypes[119] + mi := &file_Gameapi_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7214,7 +7320,7 @@ func (x *ReqGuideReward) String() string { func (*ReqGuideReward) ProtoMessage() {} func (x *ReqGuideReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[119] + mi := &file_Gameapi_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7227,7 +7333,7 @@ func (x *ReqGuideReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGuideReward.ProtoReflect.Descriptor instead. func (*ReqGuideReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{119} + return file_Gameapi_proto_rawDescGZIP(), []int{121} } func (x *ReqGuideReward) GetId() int32 { @@ -7248,7 +7354,7 @@ type ResGuideReward struct { func (x *ResGuideReward) Reset() { *x = ResGuideReward{} - mi := &file_Gameapi_proto_msgTypes[120] + mi := &file_Gameapi_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7260,7 +7366,7 @@ func (x *ResGuideReward) String() string { func (*ResGuideReward) ProtoMessage() {} func (x *ResGuideReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[120] + mi := &file_Gameapi_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7273,7 +7379,7 @@ func (x *ResGuideReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuideReward.ProtoReflect.Descriptor instead. func (*ResGuideReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{120} + return file_Gameapi_proto_rawDescGZIP(), []int{122} } func (x *ResGuideReward) GetCode() RES_CODE { @@ -7300,7 +7406,7 @@ type ResGuildInfo struct { func (x *ResGuildInfo) Reset() { *x = ResGuildInfo{} - mi := &file_Gameapi_proto_msgTypes[121] + mi := &file_Gameapi_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7312,7 +7418,7 @@ func (x *ResGuildInfo) String() string { func (*ResGuildInfo) ProtoMessage() {} func (x *ResGuildInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[121] + mi := &file_Gameapi_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7325,7 +7431,7 @@ func (x *ResGuildInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuildInfo.ProtoReflect.Descriptor instead. func (*ResGuildInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{121} + return file_Gameapi_proto_rawDescGZIP(), []int{123} } func (x *ResGuildInfo) GetReward() map[int32]int32 { @@ -7348,7 +7454,7 @@ type ResItemPop struct { func (x *ResItemPop) Reset() { *x = ResItemPop{} - mi := &file_Gameapi_proto_msgTypes[122] + mi := &file_Gameapi_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7360,7 +7466,7 @@ func (x *ResItemPop) String() string { func (*ResItemPop) ProtoMessage() {} func (x *ResItemPop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[122] + mi := &file_Gameapi_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7373,7 +7479,7 @@ func (x *ResItemPop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResItemPop.ProtoReflect.Descriptor instead. func (*ResItemPop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{122} + return file_Gameapi_proto_rawDescGZIP(), []int{124} } func (x *ResItemPop) GetId() int32 { @@ -7415,7 +7521,7 @@ type ItemInfo struct { func (x *ItemInfo) Reset() { *x = ItemInfo{} - mi := &file_Gameapi_proto_msgTypes[123] + mi := &file_Gameapi_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7427,7 +7533,7 @@ func (x *ItemInfo) String() string { func (*ItemInfo) ProtoMessage() {} func (x *ItemInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[123] + mi := &file_Gameapi_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7440,7 +7546,7 @@ func (x *ItemInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ItemInfo.ProtoReflect.Descriptor instead. func (*ItemInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{123} + return file_Gameapi_proto_rawDescGZIP(), []int{125} } func (x *ItemInfo) GetId() int32 { @@ -7468,7 +7574,7 @@ type CardPack struct { func (x *CardPack) Reset() { *x = CardPack{} - mi := &file_Gameapi_proto_msgTypes[124] + mi := &file_Gameapi_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7480,7 +7586,7 @@ func (x *CardPack) String() string { func (*CardPack) ProtoMessage() {} func (x *CardPack) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[124] + mi := &file_Gameapi_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7493,7 +7599,7 @@ func (x *CardPack) ProtoReflect() protoreflect.Message { // Deprecated: Use CardPack.ProtoReflect.Descriptor instead. func (*CardPack) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{124} + return file_Gameapi_proto_rawDescGZIP(), []int{126} } func (x *CardPack) GetId() int32 { @@ -7524,7 +7630,7 @@ type ResDailyTask struct { func (x *ResDailyTask) Reset() { *x = ResDailyTask{} - mi := &file_Gameapi_proto_msgTypes[125] + mi := &file_Gameapi_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7536,7 +7642,7 @@ func (x *ResDailyTask) String() string { func (*ResDailyTask) ProtoMessage() {} func (x *ResDailyTask) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[125] + mi := &file_Gameapi_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7549,7 +7655,7 @@ func (x *ResDailyTask) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDailyTask.ProtoReflect.Descriptor instead. func (*ResDailyTask) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{125} + return file_Gameapi_proto_rawDescGZIP(), []int{127} } func (x *ResDailyTask) GetWeekReward() map[int32]*DailyWeek { @@ -7599,7 +7705,7 @@ type DailyWeek struct { func (x *DailyWeek) Reset() { *x = DailyWeek{} - mi := &file_Gameapi_proto_msgTypes[126] + mi := &file_Gameapi_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7611,7 +7717,7 @@ func (x *DailyWeek) String() string { func (*DailyWeek) ProtoMessage() {} func (x *DailyWeek) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[126] + mi := &file_Gameapi_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7624,7 +7730,7 @@ func (x *DailyWeek) ProtoReflect() protoreflect.Message { // Deprecated: Use DailyWeek.ProtoReflect.Descriptor instead. func (*DailyWeek) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{126} + return file_Gameapi_proto_rawDescGZIP(), []int{128} } func (x *DailyWeek) GetItems() []*ItemInfo { @@ -7661,7 +7767,7 @@ type DailyTask struct { func (x *DailyTask) Reset() { *x = DailyTask{} - mi := &file_Gameapi_proto_msgTypes[127] + mi := &file_Gameapi_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7673,7 +7779,7 @@ func (x *DailyTask) String() string { func (*DailyTask) ProtoMessage() {} func (x *DailyTask) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[127] + mi := &file_Gameapi_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7686,7 +7792,7 @@ func (x *DailyTask) ProtoReflect() protoreflect.Message { // Deprecated: Use DailyTask.ProtoReflect.Descriptor instead. func (*DailyTask) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{127} + return file_Gameapi_proto_rawDescGZIP(), []int{129} } func (x *DailyTask) GetStatus() int32 { @@ -7731,7 +7837,7 @@ type QuestProgress struct { func (x *QuestProgress) Reset() { *x = QuestProgress{} - mi := &file_Gameapi_proto_msgTypes[128] + mi := &file_Gameapi_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7743,7 +7849,7 @@ func (x *QuestProgress) String() string { func (*QuestProgress) ProtoMessage() {} func (x *QuestProgress) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[128] + mi := &file_Gameapi_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7756,7 +7862,7 @@ func (x *QuestProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestProgress.ProtoReflect.Descriptor instead. func (*QuestProgress) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{128} + return file_Gameapi_proto_rawDescGZIP(), []int{130} } func (x *QuestProgress) GetLabel() string { @@ -7805,7 +7911,7 @@ type ReqGetDailyTaskReward struct { func (x *ReqGetDailyTaskReward) Reset() { *x = ReqGetDailyTaskReward{} - mi := &file_Gameapi_proto_msgTypes[129] + mi := &file_Gameapi_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7817,7 +7923,7 @@ func (x *ReqGetDailyTaskReward) String() string { func (*ReqGetDailyTaskReward) ProtoMessage() {} func (x *ReqGetDailyTaskReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[129] + mi := &file_Gameapi_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7830,7 +7936,7 @@ func (x *ReqGetDailyTaskReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetDailyTaskReward.ProtoReflect.Descriptor instead. func (*ReqGetDailyTaskReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{129} + return file_Gameapi_proto_rawDescGZIP(), []int{131} } func (x *ReqGetDailyTaskReward) GetId() int32 { @@ -7851,7 +7957,7 @@ type ResGetDailyTaskReward struct { func (x *ResGetDailyTaskReward) Reset() { *x = ResGetDailyTaskReward{} - mi := &file_Gameapi_proto_msgTypes[130] + mi := &file_Gameapi_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7863,7 +7969,7 @@ func (x *ResGetDailyTaskReward) String() string { func (*ResGetDailyTaskReward) ProtoMessage() {} func (x *ResGetDailyTaskReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[130] + mi := &file_Gameapi_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7876,7 +7982,7 @@ func (x *ResGetDailyTaskReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetDailyTaskReward.ProtoReflect.Descriptor instead. func (*ResGetDailyTaskReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{130} + return file_Gameapi_proto_rawDescGZIP(), []int{132} } func (x *ResGetDailyTaskReward) GetCode() RES_CODE { @@ -7904,7 +8010,7 @@ type ReqGetDailyWeekReward struct { func (x *ReqGetDailyWeekReward) Reset() { *x = ReqGetDailyWeekReward{} - mi := &file_Gameapi_proto_msgTypes[131] + mi := &file_Gameapi_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7916,7 +8022,7 @@ func (x *ReqGetDailyWeekReward) String() string { func (*ReqGetDailyWeekReward) ProtoMessage() {} func (x *ReqGetDailyWeekReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[131] + mi := &file_Gameapi_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7929,7 +8035,7 @@ func (x *ReqGetDailyWeekReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetDailyWeekReward.ProtoReflect.Descriptor instead. func (*ReqGetDailyWeekReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{131} + return file_Gameapi_proto_rawDescGZIP(), []int{133} } func (x *ReqGetDailyWeekReward) GetId() int32 { @@ -7950,7 +8056,7 @@ type ResGetDailyWeekReward struct { func (x *ResGetDailyWeekReward) Reset() { *x = ResGetDailyWeekReward{} - mi := &file_Gameapi_proto_msgTypes[132] + mi := &file_Gameapi_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7962,7 +8068,7 @@ func (x *ResGetDailyWeekReward) String() string { func (*ResGetDailyWeekReward) ProtoMessage() {} func (x *ResGetDailyWeekReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[132] + mi := &file_Gameapi_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7975,7 +8081,7 @@ func (x *ResGetDailyWeekReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetDailyWeekReward.ProtoReflect.Descriptor instead. func (*ResGetDailyWeekReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{132} + return file_Gameapi_proto_rawDescGZIP(), []int{134} } func (x *ResGetDailyWeekReward) GetCode() RES_CODE { @@ -8000,7 +8106,7 @@ type ReqDailyUnlock struct { func (x *ReqDailyUnlock) Reset() { *x = ReqDailyUnlock{} - mi := &file_Gameapi_proto_msgTypes[133] + mi := &file_Gameapi_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8012,7 +8118,7 @@ func (x *ReqDailyUnlock) String() string { func (*ReqDailyUnlock) ProtoMessage() {} func (x *ReqDailyUnlock) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[133] + mi := &file_Gameapi_proto_msgTypes[135] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8025,7 +8131,7 @@ func (x *ReqDailyUnlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDailyUnlock.ProtoReflect.Descriptor instead. func (*ReqDailyUnlock) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{133} + return file_Gameapi_proto_rawDescGZIP(), []int{135} } type ResDailyUnlock struct { @@ -8039,7 +8145,7 @@ type ResDailyUnlock struct { func (x *ResDailyUnlock) Reset() { *x = ResDailyUnlock{} - mi := &file_Gameapi_proto_msgTypes[134] + mi := &file_Gameapi_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8051,7 +8157,7 @@ func (x *ResDailyUnlock) String() string { func (*ResDailyUnlock) ProtoMessage() {} func (x *ResDailyUnlock) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[134] + mi := &file_Gameapi_proto_msgTypes[136] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8064,7 +8170,7 @@ func (x *ResDailyUnlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDailyUnlock.ProtoReflect.Descriptor instead. func (*ResDailyUnlock) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{134} + return file_Gameapi_proto_rawDescGZIP(), []int{136} } func (x *ResDailyUnlock) GetCode() RES_CODE { @@ -8092,7 +8198,7 @@ type ResFaceInfo struct { func (x *ResFaceInfo) Reset() { *x = ResFaceInfo{} - mi := &file_Gameapi_proto_msgTypes[135] + mi := &file_Gameapi_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8104,7 +8210,7 @@ func (x *ResFaceInfo) String() string { func (*ResFaceInfo) ProtoMessage() {} func (x *ResFaceInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[135] + mi := &file_Gameapi_proto_msgTypes[137] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8117,7 +8223,7 @@ func (x *ResFaceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFaceInfo.ProtoReflect.Descriptor instead. func (*ResFaceInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{135} + return file_Gameapi_proto_rawDescGZIP(), []int{137} } func (x *ResFaceInfo) GetFaceList() []*FaceInfo { @@ -8145,7 +8251,7 @@ type FaceInfo struct { func (x *FaceInfo) Reset() { *x = FaceInfo{} - mi := &file_Gameapi_proto_msgTypes[136] + mi := &file_Gameapi_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8157,7 +8263,7 @@ func (x *FaceInfo) String() string { func (*FaceInfo) ProtoMessage() {} func (x *FaceInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[136] + mi := &file_Gameapi_proto_msgTypes[138] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8170,7 +8276,7 @@ func (x *FaceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use FaceInfo.ProtoReflect.Descriptor instead. func (*FaceInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{136} + return file_Gameapi_proto_rawDescGZIP(), []int{138} } func (x *FaceInfo) GetId() int32 { @@ -8197,7 +8303,7 @@ type ReqSetFace struct { func (x *ReqSetFace) Reset() { *x = ReqSetFace{} - mi := &file_Gameapi_proto_msgTypes[137] + mi := &file_Gameapi_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8209,7 +8315,7 @@ func (x *ReqSetFace) String() string { func (*ReqSetFace) ProtoMessage() {} func (x *ReqSetFace) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[137] + mi := &file_Gameapi_proto_msgTypes[139] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8222,7 +8328,7 @@ func (x *ReqSetFace) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetFace.ProtoReflect.Descriptor instead. func (*ReqSetFace) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{137} + return file_Gameapi_proto_rawDescGZIP(), []int{139} } func (x *ReqSetFace) GetFace() int32 { @@ -8243,7 +8349,7 @@ type ResSetFace struct { func (x *ResSetFace) Reset() { *x = ResSetFace{} - mi := &file_Gameapi_proto_msgTypes[138] + mi := &file_Gameapi_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8255,7 +8361,7 @@ func (x *ResSetFace) String() string { func (*ResSetFace) ProtoMessage() {} func (x *ResSetFace) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[138] + mi := &file_Gameapi_proto_msgTypes[140] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8268,7 +8374,7 @@ func (x *ResSetFace) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetFace.ProtoReflect.Descriptor instead. func (*ResSetFace) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{138} + return file_Gameapi_proto_rawDescGZIP(), []int{140} } func (x *ResSetFace) GetCode() RES_CODE { @@ -8296,7 +8402,7 @@ type ResAvatarInfo struct { func (x *ResAvatarInfo) Reset() { *x = ResAvatarInfo{} - mi := &file_Gameapi_proto_msgTypes[139] + mi := &file_Gameapi_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8308,7 +8414,7 @@ func (x *ResAvatarInfo) String() string { func (*ResAvatarInfo) ProtoMessage() {} func (x *ResAvatarInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[139] + mi := &file_Gameapi_proto_msgTypes[141] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8321,7 +8427,7 @@ func (x *ResAvatarInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAvatarInfo.ProtoReflect.Descriptor instead. func (*ResAvatarInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{139} + return file_Gameapi_proto_rawDescGZIP(), []int{141} } func (x *ResAvatarInfo) GetAvatarList() []*AvatarInfo { @@ -8349,7 +8455,7 @@ type AvatarInfo struct { func (x *AvatarInfo) Reset() { *x = AvatarInfo{} - mi := &file_Gameapi_proto_msgTypes[140] + mi := &file_Gameapi_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8361,7 +8467,7 @@ func (x *AvatarInfo) String() string { func (*AvatarInfo) ProtoMessage() {} func (x *AvatarInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[140] + mi := &file_Gameapi_proto_msgTypes[142] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8374,7 +8480,7 @@ func (x *AvatarInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AvatarInfo.ProtoReflect.Descriptor instead. func (*AvatarInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{140} + return file_Gameapi_proto_rawDescGZIP(), []int{142} } func (x *AvatarInfo) GetId() int32 { @@ -8401,7 +8507,7 @@ type ReqSetAvatar struct { func (x *ReqSetAvatar) Reset() { *x = ReqSetAvatar{} - mi := &file_Gameapi_proto_msgTypes[141] + mi := &file_Gameapi_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8413,7 +8519,7 @@ func (x *ReqSetAvatar) String() string { func (*ReqSetAvatar) ProtoMessage() {} func (x *ReqSetAvatar) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[141] + mi := &file_Gameapi_proto_msgTypes[143] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8426,7 +8532,7 @@ func (x *ReqSetAvatar) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetAvatar.ProtoReflect.Descriptor instead. func (*ReqSetAvatar) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{141} + return file_Gameapi_proto_rawDescGZIP(), []int{143} } func (x *ReqSetAvatar) GetAvatar() int32 { @@ -8447,7 +8553,7 @@ type ResSetAvatar struct { func (x *ResSetAvatar) Reset() { *x = ResSetAvatar{} - mi := &file_Gameapi_proto_msgTypes[142] + mi := &file_Gameapi_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8459,7 +8565,7 @@ func (x *ResSetAvatar) String() string { func (*ResSetAvatar) ProtoMessage() {} func (x *ResSetAvatar) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[142] + mi := &file_Gameapi_proto_msgTypes[144] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8472,7 +8578,7 @@ func (x *ResSetAvatar) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetAvatar.ProtoReflect.Descriptor instead. func (*ResSetAvatar) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{142} + return file_Gameapi_proto_rawDescGZIP(), []int{144} } func (x *ResSetAvatar) GetCode() RES_CODE { @@ -8503,7 +8609,7 @@ type ResSevenLogin struct { func (x *ResSevenLogin) Reset() { *x = ResSevenLogin{} - mi := &file_Gameapi_proto_msgTypes[143] + mi := &file_Gameapi_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8515,7 +8621,7 @@ func (x *ResSevenLogin) String() string { func (*ResSevenLogin) ProtoMessage() {} func (x *ResSevenLogin) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[143] + mi := &file_Gameapi_proto_msgTypes[145] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8528,7 +8634,7 @@ func (x *ResSevenLogin) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSevenLogin.ProtoReflect.Descriptor instead. func (*ResSevenLogin) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{143} + return file_Gameapi_proto_rawDescGZIP(), []int{145} } func (x *ResSevenLogin) GetWeekReward() []*SevenLoginReward { @@ -8573,7 +8679,7 @@ type SevenLoginReward struct { func (x *SevenLoginReward) Reset() { *x = SevenLoginReward{} - mi := &file_Gameapi_proto_msgTypes[144] + mi := &file_Gameapi_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8585,7 +8691,7 @@ func (x *SevenLoginReward) String() string { func (*SevenLoginReward) ProtoMessage() {} func (x *SevenLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[144] + mi := &file_Gameapi_proto_msgTypes[146] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8598,7 +8704,7 @@ func (x *SevenLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use SevenLoginReward.ProtoReflect.Descriptor instead. func (*SevenLoginReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{144} + return file_Gameapi_proto_rawDescGZIP(), []int{146} } func (x *SevenLoginReward) GetItem1() []*ItemInfo { @@ -8647,7 +8753,7 @@ type ReqGetSevenLoginReward struct { func (x *ReqGetSevenLoginReward) Reset() { *x = ReqGetSevenLoginReward{} - mi := &file_Gameapi_proto_msgTypes[145] + mi := &file_Gameapi_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8659,7 +8765,7 @@ func (x *ReqGetSevenLoginReward) String() string { func (*ReqGetSevenLoginReward) ProtoMessage() {} func (x *ReqGetSevenLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[145] + mi := &file_Gameapi_proto_msgTypes[147] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8672,7 +8778,7 @@ func (x *ReqGetSevenLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetSevenLoginReward.ProtoReflect.Descriptor instead. func (*ReqGetSevenLoginReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{145} + return file_Gameapi_proto_rawDescGZIP(), []int{147} } func (x *ReqGetSevenLoginReward) GetId() int32 { @@ -8693,7 +8799,7 @@ type ResGetSevenLoginReward struct { func (x *ResGetSevenLoginReward) Reset() { *x = ResGetSevenLoginReward{} - mi := &file_Gameapi_proto_msgTypes[146] + mi := &file_Gameapi_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8705,7 +8811,7 @@ func (x *ResGetSevenLoginReward) String() string { func (*ResGetSevenLoginReward) ProtoMessage() {} func (x *ResGetSevenLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[146] + mi := &file_Gameapi_proto_msgTypes[148] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8718,7 +8824,7 @@ func (x *ResGetSevenLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetSevenLoginReward.ProtoReflect.Descriptor instead. func (*ResGetSevenLoginReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{146} + return file_Gameapi_proto_rawDescGZIP(), []int{148} } func (x *ResGetSevenLoginReward) GetCode() RES_CODE { @@ -8746,7 +8852,7 @@ type ReqGetMonthLoginReward struct { func (x *ReqGetMonthLoginReward) Reset() { *x = ReqGetMonthLoginReward{} - mi := &file_Gameapi_proto_msgTypes[147] + mi := &file_Gameapi_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8758,7 +8864,7 @@ func (x *ReqGetMonthLoginReward) String() string { func (*ReqGetMonthLoginReward) ProtoMessage() {} func (x *ReqGetMonthLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[147] + mi := &file_Gameapi_proto_msgTypes[149] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8771,7 +8877,7 @@ func (x *ReqGetMonthLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetMonthLoginReward.ProtoReflect.Descriptor instead. func (*ReqGetMonthLoginReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{147} + return file_Gameapi_proto_rawDescGZIP(), []int{149} } func (x *ReqGetMonthLoginReward) GetId() int32 { @@ -8792,7 +8898,7 @@ type ResGetMonthLoginReward struct { func (x *ResGetMonthLoginReward) Reset() { *x = ResGetMonthLoginReward{} - mi := &file_Gameapi_proto_msgTypes[148] + mi := &file_Gameapi_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8804,7 +8910,7 @@ func (x *ResGetMonthLoginReward) String() string { func (*ResGetMonthLoginReward) ProtoMessage() {} func (x *ResGetMonthLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[148] + mi := &file_Gameapi_proto_msgTypes[150] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8817,7 +8923,7 @@ func (x *ResGetMonthLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetMonthLoginReward.ProtoReflect.Descriptor instead. func (*ResGetMonthLoginReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{148} + return file_Gameapi_proto_rawDescGZIP(), []int{150} } func (x *ResGetMonthLoginReward) GetCode() RES_CODE { @@ -8845,7 +8951,7 @@ type ResActivity struct { func (x *ResActivity) Reset() { *x = ResActivity{} - mi := &file_Gameapi_proto_msgTypes[149] + mi := &file_Gameapi_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8857,7 +8963,7 @@ func (x *ResActivity) String() string { func (*ResActivity) ProtoMessage() {} func (x *ResActivity) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[149] + mi := &file_Gameapi_proto_msgTypes[151] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8870,7 +8976,7 @@ func (x *ResActivity) ProtoReflect() protoreflect.Message { // Deprecated: Use ResActivity.ProtoReflect.Descriptor instead. func (*ResActivity) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{149} + return file_Gameapi_proto_rawDescGZIP(), []int{151} } func (x *ResActivity) GetActiveList() []*ActivityInfo { @@ -8896,7 +9002,7 @@ type ActivityInfo struct { func (x *ActivityInfo) Reset() { *x = ActivityInfo{} - mi := &file_Gameapi_proto_msgTypes[150] + mi := &file_Gameapi_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8908,7 +9014,7 @@ func (x *ActivityInfo) String() string { func (*ActivityInfo) ProtoMessage() {} func (x *ActivityInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[150] + mi := &file_Gameapi_proto_msgTypes[152] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8921,7 +9027,7 @@ func (x *ActivityInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ActivityInfo.ProtoReflect.Descriptor instead. func (*ActivityInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{150} + return file_Gameapi_proto_rawDescGZIP(), []int{152} } func (x *ActivityInfo) GetId() int32 { @@ -8982,7 +9088,7 @@ type ReqLimitEvent struct { func (x *ReqLimitEvent) Reset() { *x = ReqLimitEvent{} - mi := &file_Gameapi_proto_msgTypes[151] + mi := &file_Gameapi_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8994,7 +9100,7 @@ func (x *ReqLimitEvent) String() string { func (*ReqLimitEvent) ProtoMessage() {} func (x *ReqLimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[151] + mi := &file_Gameapi_proto_msgTypes[153] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9007,7 +9113,7 @@ func (x *ReqLimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqLimitEvent.ProtoReflect.Descriptor instead. func (*ReqLimitEvent) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{151} + return file_Gameapi_proto_rawDescGZIP(), []int{153} } type ResLimitEvent struct { @@ -9020,7 +9126,7 @@ type ResLimitEvent struct { func (x *ResLimitEvent) Reset() { *x = ResLimitEvent{} - mi := &file_Gameapi_proto_msgTypes[152] + mi := &file_Gameapi_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9032,7 +9138,7 @@ func (x *ResLimitEvent) String() string { func (*ResLimitEvent) ProtoMessage() {} func (x *ResLimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[152] + mi := &file_Gameapi_proto_msgTypes[154] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9045,7 +9151,7 @@ func (x *ResLimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ResLimitEvent.ProtoReflect.Descriptor instead. func (*ResLimitEvent) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{152} + return file_Gameapi_proto_rawDescGZIP(), []int{154} } func (x *ResLimitEvent) GetLimitEventList() map[int32]*LimitEvent { @@ -9067,7 +9173,7 @@ type ResLimitEventProgress struct { func (x *ResLimitEventProgress) Reset() { *x = ResLimitEventProgress{} - mi := &file_Gameapi_proto_msgTypes[153] + mi := &file_Gameapi_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9079,7 +9185,7 @@ func (x *ResLimitEventProgress) String() string { func (*ResLimitEventProgress) ProtoMessage() {} func (x *ResLimitEventProgress) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[153] + mi := &file_Gameapi_proto_msgTypes[155] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9092,7 +9198,7 @@ func (x *ResLimitEventProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use ResLimitEventProgress.ProtoReflect.Descriptor instead. func (*ResLimitEventProgress) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{153} + return file_Gameapi_proto_rawDescGZIP(), []int{155} } func (x *ResLimitEventProgress) GetProgressMax() int32 { @@ -9126,7 +9232,7 @@ type ReqLimitEventReward struct { func (x *ReqLimitEventReward) Reset() { *x = ReqLimitEventReward{} - mi := &file_Gameapi_proto_msgTypes[154] + mi := &file_Gameapi_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9138,7 +9244,7 @@ func (x *ReqLimitEventReward) String() string { func (*ReqLimitEventReward) ProtoMessage() {} func (x *ReqLimitEventReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[154] + mi := &file_Gameapi_proto_msgTypes[156] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9151,7 +9257,7 @@ func (x *ReqLimitEventReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqLimitEventReward.ProtoReflect.Descriptor instead. func (*ReqLimitEventReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{154} + return file_Gameapi_proto_rawDescGZIP(), []int{156} } func (x *ReqLimitEventReward) GetId() int32 { @@ -9172,7 +9278,7 @@ type ResLimitEventReward struct { func (x *ResLimitEventReward) Reset() { *x = ResLimitEventReward{} - mi := &file_Gameapi_proto_msgTypes[155] + mi := &file_Gameapi_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9184,7 +9290,7 @@ func (x *ResLimitEventReward) String() string { func (*ResLimitEventReward) ProtoMessage() {} func (x *ResLimitEventReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[155] + mi := &file_Gameapi_proto_msgTypes[157] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9197,7 +9303,7 @@ func (x *ResLimitEventReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResLimitEventReward.ProtoReflect.Descriptor instead. func (*ResLimitEventReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{155} + return file_Gameapi_proto_rawDescGZIP(), []int{157} } func (x *ResLimitEventReward) GetCode() RES_CODE { @@ -9224,7 +9330,7 @@ type ReqSelectLimitEvent struct { func (x *ReqSelectLimitEvent) Reset() { *x = ReqSelectLimitEvent{} - mi := &file_Gameapi_proto_msgTypes[156] + mi := &file_Gameapi_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9236,7 +9342,7 @@ func (x *ReqSelectLimitEvent) String() string { func (*ReqSelectLimitEvent) ProtoMessage() {} func (x *ReqSelectLimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[156] + mi := &file_Gameapi_proto_msgTypes[158] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9249,7 +9355,7 @@ func (x *ReqSelectLimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSelectLimitEvent.ProtoReflect.Descriptor instead. func (*ReqSelectLimitEvent) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{156} + return file_Gameapi_proto_rawDescGZIP(), []int{158} } func (x *ReqSelectLimitEvent) GetId() int32 { @@ -9270,7 +9376,7 @@ type ResSelectLimitEvent struct { func (x *ResSelectLimitEvent) Reset() { *x = ResSelectLimitEvent{} - mi := &file_Gameapi_proto_msgTypes[157] + mi := &file_Gameapi_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9282,7 +9388,7 @@ func (x *ResSelectLimitEvent) String() string { func (*ResSelectLimitEvent) ProtoMessage() {} func (x *ResSelectLimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[157] + mi := &file_Gameapi_proto_msgTypes[159] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9295,7 +9401,7 @@ func (x *ResSelectLimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSelectLimitEvent.ProtoReflect.Descriptor instead. func (*ResSelectLimitEvent) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{157} + return file_Gameapi_proto_rawDescGZIP(), []int{159} } func (x *ResSelectLimitEvent) GetCode() RES_CODE { @@ -9323,7 +9429,7 @@ type LimitEvent struct { func (x *LimitEvent) Reset() { *x = LimitEvent{} - mi := &file_Gameapi_proto_msgTypes[158] + mi := &file_Gameapi_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9335,7 +9441,7 @@ func (x *LimitEvent) String() string { func (*LimitEvent) ProtoMessage() {} func (x *LimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[158] + mi := &file_Gameapi_proto_msgTypes[160] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9348,7 +9454,7 @@ func (x *LimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use LimitEvent.ProtoReflect.Descriptor instead. func (*LimitEvent) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{158} + return file_Gameapi_proto_rawDescGZIP(), []int{160} } func (x *LimitEvent) GetEndTime() int32 { @@ -9378,7 +9484,7 @@ type LimitEventNotify struct { func (x *LimitEventNotify) Reset() { *x = LimitEventNotify{} - mi := &file_Gameapi_proto_msgTypes[159] + mi := &file_Gameapi_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9390,7 +9496,7 @@ func (x *LimitEventNotify) String() string { func (*LimitEventNotify) ProtoMessage() {} func (x *LimitEventNotify) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[159] + mi := &file_Gameapi_proto_msgTypes[161] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9403,7 +9509,7 @@ func (x *LimitEventNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use LimitEventNotify.ProtoReflect.Descriptor instead. func (*LimitEventNotify) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{159} + return file_Gameapi_proto_rawDescGZIP(), []int{161} } func (x *LimitEventNotify) GetId() int32 { @@ -9442,7 +9548,7 @@ type ReqLimitSenceReward struct { func (x *ReqLimitSenceReward) Reset() { *x = ReqLimitSenceReward{} - mi := &file_Gameapi_proto_msgTypes[160] + mi := &file_Gameapi_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9454,7 +9560,7 @@ func (x *ReqLimitSenceReward) String() string { func (*ReqLimitSenceReward) ProtoMessage() {} func (x *ReqLimitSenceReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[160] + mi := &file_Gameapi_proto_msgTypes[162] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9467,7 +9573,7 @@ func (x *ReqLimitSenceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqLimitSenceReward.ProtoReflect.Descriptor instead. func (*ReqLimitSenceReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{160} + return file_Gameapi_proto_rawDescGZIP(), []int{162} } type ResLimitSenceReward struct { @@ -9481,7 +9587,7 @@ type ResLimitSenceReward struct { func (x *ResLimitSenceReward) Reset() { *x = ResLimitSenceReward{} - mi := &file_Gameapi_proto_msgTypes[161] + mi := &file_Gameapi_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9493,7 +9599,7 @@ func (x *ResLimitSenceReward) String() string { func (*ResLimitSenceReward) ProtoMessage() {} func (x *ResLimitSenceReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[161] + mi := &file_Gameapi_proto_msgTypes[163] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9506,7 +9612,7 @@ func (x *ResLimitSenceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResLimitSenceReward.ProtoReflect.Descriptor instead. func (*ResLimitSenceReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{161} + return file_Gameapi_proto_rawDescGZIP(), []int{163} } func (x *ResLimitSenceReward) GetCode() RES_CODE { @@ -9534,7 +9640,7 @@ type ResChessRainReward struct { func (x *ResChessRainReward) Reset() { *x = ResChessRainReward{} - mi := &file_Gameapi_proto_msgTypes[162] + mi := &file_Gameapi_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9546,7 +9652,7 @@ func (x *ResChessRainReward) String() string { func (*ResChessRainReward) ProtoMessage() {} func (x *ResChessRainReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[162] + mi := &file_Gameapi_proto_msgTypes[164] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9559,7 +9665,7 @@ func (x *ResChessRainReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChessRainReward.ProtoReflect.Descriptor instead. func (*ResChessRainReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{162} + return file_Gameapi_proto_rawDescGZIP(), []int{164} } func (x *ResChessRainReward) GetItems() []*ItemInfo { @@ -9587,7 +9693,7 @@ type ReqFastProduceReward struct { func (x *ReqFastProduceReward) Reset() { *x = ReqFastProduceReward{} - mi := &file_Gameapi_proto_msgTypes[163] + mi := &file_Gameapi_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9599,7 +9705,7 @@ func (x *ReqFastProduceReward) String() string { func (*ReqFastProduceReward) ProtoMessage() {} func (x *ReqFastProduceReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[163] + mi := &file_Gameapi_proto_msgTypes[165] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9612,7 +9718,7 @@ func (x *ReqFastProduceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFastProduceReward.ProtoReflect.Descriptor instead. func (*ReqFastProduceReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{163} + return file_Gameapi_proto_rawDescGZIP(), []int{165} } func (x *ReqFastProduceReward) GetEnergy() int32 { @@ -9633,7 +9739,7 @@ type ResFastProduceReward struct { func (x *ResFastProduceReward) Reset() { *x = ResFastProduceReward{} - mi := &file_Gameapi_proto_msgTypes[164] + mi := &file_Gameapi_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9645,7 +9751,7 @@ func (x *ResFastProduceReward) String() string { func (*ResFastProduceReward) ProtoMessage() {} func (x *ResFastProduceReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[164] + mi := &file_Gameapi_proto_msgTypes[166] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9658,7 +9764,7 @@ func (x *ResFastProduceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFastProduceReward.ProtoReflect.Descriptor instead. func (*ResFastProduceReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{164} + return file_Gameapi_proto_rawDescGZIP(), []int{166} } func (x *ResFastProduceReward) GetCode() RES_CODE { @@ -9686,7 +9792,7 @@ type ReqSearchPlayer struct { func (x *ReqSearchPlayer) Reset() { *x = ReqSearchPlayer{} - mi := &file_Gameapi_proto_msgTypes[165] + mi := &file_Gameapi_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9698,7 +9804,7 @@ func (x *ReqSearchPlayer) String() string { func (*ReqSearchPlayer) ProtoMessage() {} func (x *ReqSearchPlayer) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[165] + mi := &file_Gameapi_proto_msgTypes[167] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9711,7 +9817,7 @@ func (x *ReqSearchPlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSearchPlayer.ProtoReflect.Descriptor instead. func (*ReqSearchPlayer) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{165} + return file_Gameapi_proto_rawDescGZIP(), []int{167} } func (x *ReqSearchPlayer) GetUid() string { @@ -9732,7 +9838,7 @@ type ResSearchPlayer struct { func (x *ResSearchPlayer) Reset() { *x = ResSearchPlayer{} - mi := &file_Gameapi_proto_msgTypes[166] + mi := &file_Gameapi_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9744,7 +9850,7 @@ func (x *ResSearchPlayer) String() string { func (*ResSearchPlayer) ProtoMessage() {} func (x *ResSearchPlayer) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[166] + mi := &file_Gameapi_proto_msgTypes[168] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9757,7 +9863,7 @@ func (x *ResSearchPlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSearchPlayer.ProtoReflect.Descriptor instead. func (*ResSearchPlayer) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{166} + return file_Gameapi_proto_rawDescGZIP(), []int{168} } func (x *ResSearchPlayer) GetCode() int32 { @@ -9792,7 +9898,7 @@ type ResPlayerSimple struct { func (x *ResPlayerSimple) Reset() { *x = ResPlayerSimple{} - mi := &file_Gameapi_proto_msgTypes[167] + mi := &file_Gameapi_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9804,7 +9910,7 @@ func (x *ResPlayerSimple) String() string { func (*ResPlayerSimple) ProtoMessage() {} func (x *ResPlayerSimple) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[167] + mi := &file_Gameapi_proto_msgTypes[169] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9817,7 +9923,7 @@ func (x *ResPlayerSimple) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayerSimple.ProtoReflect.Descriptor instead. func (*ResPlayerSimple) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{167} + return file_Gameapi_proto_rawDescGZIP(), []int{169} } func (x *ResPlayerSimple) GetUid() int64 { @@ -9898,7 +10004,7 @@ type ResPlayerRank struct { func (x *ResPlayerRank) Reset() { *x = ResPlayerRank{} - mi := &file_Gameapi_proto_msgTypes[168] + mi := &file_Gameapi_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9910,7 +10016,7 @@ func (x *ResPlayerRank) String() string { func (*ResPlayerRank) ProtoMessage() {} func (x *ResPlayerRank) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[168] + mi := &file_Gameapi_proto_msgTypes[170] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9923,7 +10029,7 @@ func (x *ResPlayerRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayerRank.ProtoReflect.Descriptor instead. func (*ResPlayerRank) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{168} + return file_Gameapi_proto_rawDescGZIP(), []int{170} } func (x *ResPlayerRank) GetUid() int64 { @@ -9982,7 +10088,7 @@ type ResFriendLog struct { func (x *ResFriendLog) Reset() { *x = ResFriendLog{} - mi := &file_Gameapi_proto_msgTypes[169] + mi := &file_Gameapi_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9994,7 +10100,7 @@ func (x *ResFriendLog) String() string { func (*ResFriendLog) ProtoMessage() {} func (x *ResFriendLog) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[169] + mi := &file_Gameapi_proto_msgTypes[171] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10007,7 +10113,7 @@ func (x *ResFriendLog) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendLog.ProtoReflect.Descriptor instead. func (*ResFriendLog) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{169} + return file_Gameapi_proto_rawDescGZIP(), []int{171} } func (x *ResFriendLog) GetPlayer() *ResPlayerSimple { @@ -10055,7 +10161,7 @@ type NotifyFriendLog struct { func (x *NotifyFriendLog) Reset() { *x = NotifyFriendLog{} - mi := &file_Gameapi_proto_msgTypes[170] + mi := &file_Gameapi_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10067,7 +10173,7 @@ func (x *NotifyFriendLog) String() string { func (*NotifyFriendLog) ProtoMessage() {} func (x *NotifyFriendLog) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[170] + mi := &file_Gameapi_proto_msgTypes[172] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10080,7 +10186,7 @@ func (x *NotifyFriendLog) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyFriendLog.ProtoReflect.Descriptor instead. func (*NotifyFriendLog) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{170} + return file_Gameapi_proto_rawDescGZIP(), []int{172} } func (x *NotifyFriendLog) GetInfo() *ResFriendLog { @@ -10100,7 +10206,7 @@ type NotifyFriendCard struct { func (x *NotifyFriendCard) Reset() { *x = NotifyFriendCard{} - mi := &file_Gameapi_proto_msgTypes[171] + mi := &file_Gameapi_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10112,7 +10218,7 @@ func (x *NotifyFriendCard) String() string { func (*NotifyFriendCard) ProtoMessage() {} func (x *NotifyFriendCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[171] + mi := &file_Gameapi_proto_msgTypes[173] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10125,7 +10231,7 @@ func (x *NotifyFriendCard) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyFriendCard.ProtoReflect.Descriptor instead. func (*NotifyFriendCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{171} + return file_Gameapi_proto_rawDescGZIP(), []int{173} } func (x *NotifyFriendCard) GetInfo() *ResFriendCard { @@ -10155,7 +10261,7 @@ type ResFriendCard struct { func (x *ResFriendCard) Reset() { *x = ResFriendCard{} - mi := &file_Gameapi_proto_msgTypes[172] + mi := &file_Gameapi_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10167,7 +10273,7 @@ func (x *ResFriendCard) String() string { func (*ResFriendCard) ProtoMessage() {} func (x *ResFriendCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[172] + mi := &file_Gameapi_proto_msgTypes[174] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10180,7 +10286,7 @@ func (x *ResFriendCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendCard.ProtoReflect.Descriptor instead. func (*ResFriendCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{172} + return file_Gameapi_proto_rawDescGZIP(), []int{174} } func (x *ResFriendCard) GetUid() int64 { @@ -10271,7 +10377,7 @@ type ReqKv struct { func (x *ReqKv) Reset() { *x = ReqKv{} - mi := &file_Gameapi_proto_msgTypes[173] + mi := &file_Gameapi_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10283,7 +10389,7 @@ func (x *ReqKv) String() string { func (*ReqKv) ProtoMessage() {} func (x *ReqKv) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[173] + mi := &file_Gameapi_proto_msgTypes[175] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10296,7 +10402,7 @@ func (x *ReqKv) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqKv.ProtoReflect.Descriptor instead. func (*ReqKv) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{173} + return file_Gameapi_proto_rawDescGZIP(), []int{175} } func (x *ReqKv) GetKey() int32 { @@ -10323,7 +10429,7 @@ type ResKv struct { func (x *ResKv) Reset() { *x = ResKv{} - mi := &file_Gameapi_proto_msgTypes[174] + mi := &file_Gameapi_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10335,7 +10441,7 @@ func (x *ResKv) String() string { func (*ResKv) ProtoMessage() {} func (x *ResKv) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[174] + mi := &file_Gameapi_proto_msgTypes[176] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10348,7 +10454,7 @@ func (x *ResKv) ProtoReflect() protoreflect.Message { // Deprecated: Use ResKv.ProtoReflect.Descriptor instead. func (*ResKv) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{174} + return file_Gameapi_proto_rawDescGZIP(), []int{176} } func (x *ResKv) GetKv() map[int32]string { @@ -10367,7 +10473,7 @@ type ReqFriendRecommend struct { func (x *ReqFriendRecommend) Reset() { *x = ReqFriendRecommend{} - mi := &file_Gameapi_proto_msgTypes[175] + mi := &file_Gameapi_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10379,7 +10485,7 @@ func (x *ReqFriendRecommend) String() string { func (*ReqFriendRecommend) ProtoMessage() {} func (x *ReqFriendRecommend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[175] + mi := &file_Gameapi_proto_msgTypes[177] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10392,7 +10498,7 @@ func (x *ReqFriendRecommend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendRecommend.ProtoReflect.Descriptor instead. func (*ReqFriendRecommend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{175} + return file_Gameapi_proto_rawDescGZIP(), []int{177} } type ResFriendRecommend struct { @@ -10405,7 +10511,7 @@ type ResFriendRecommend struct { func (x *ResFriendRecommend) Reset() { *x = ResFriendRecommend{} - mi := &file_Gameapi_proto_msgTypes[176] + mi := &file_Gameapi_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10417,7 +10523,7 @@ func (x *ResFriendRecommend) String() string { func (*ResFriendRecommend) ProtoMessage() {} func (x *ResFriendRecommend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[176] + mi := &file_Gameapi_proto_msgTypes[178] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10430,7 +10536,7 @@ func (x *ResFriendRecommend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendRecommend.ProtoReflect.Descriptor instead. func (*ResFriendRecommend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{176} + return file_Gameapi_proto_rawDescGZIP(), []int{178} } func (x *ResFriendRecommend) GetList() []*ResPlayerSimple { @@ -10451,7 +10557,7 @@ type ReqFriendIgnore struct { func (x *ReqFriendIgnore) Reset() { *x = ReqFriendIgnore{} - mi := &file_Gameapi_proto_msgTypes[177] + mi := &file_Gameapi_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10463,7 +10569,7 @@ func (x *ReqFriendIgnore) String() string { func (*ReqFriendIgnore) ProtoMessage() {} func (x *ReqFriendIgnore) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[177] + mi := &file_Gameapi_proto_msgTypes[179] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10476,7 +10582,7 @@ func (x *ReqFriendIgnore) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendIgnore.ProtoReflect.Descriptor instead. func (*ReqFriendIgnore) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{177} + return file_Gameapi_proto_rawDescGZIP(), []int{179} } func (x *ReqFriendIgnore) GetUid() int64 { @@ -10497,7 +10603,7 @@ type ResFriendIgnore struct { func (x *ResFriendIgnore) Reset() { *x = ResFriendIgnore{} - mi := &file_Gameapi_proto_msgTypes[178] + mi := &file_Gameapi_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10509,7 +10615,7 @@ func (x *ResFriendIgnore) String() string { func (*ResFriendIgnore) ProtoMessage() {} func (x *ResFriendIgnore) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[178] + mi := &file_Gameapi_proto_msgTypes[180] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10522,7 +10628,7 @@ func (x *ResFriendIgnore) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendIgnore.ProtoReflect.Descriptor instead. func (*ResFriendIgnore) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{178} + return file_Gameapi_proto_rawDescGZIP(), []int{180} } func (x *ResFriendIgnore) GetCode() RES_CODE { @@ -10548,7 +10654,7 @@ type ReqFriendList struct { func (x *ReqFriendList) Reset() { *x = ReqFriendList{} - mi := &file_Gameapi_proto_msgTypes[179] + mi := &file_Gameapi_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10560,7 +10666,7 @@ func (x *ReqFriendList) String() string { func (*ReqFriendList) ProtoMessage() {} func (x *ReqFriendList) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[179] + mi := &file_Gameapi_proto_msgTypes[181] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10573,7 +10679,7 @@ func (x *ReqFriendList) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendList.ProtoReflect.Descriptor instead. func (*ReqFriendList) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{179} + return file_Gameapi_proto_rawDescGZIP(), []int{181} } type ResFriendList struct { @@ -10586,7 +10692,7 @@ type ResFriendList struct { func (x *ResFriendList) Reset() { *x = ResFriendList{} - mi := &file_Gameapi_proto_msgTypes[180] + mi := &file_Gameapi_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10598,7 +10704,7 @@ func (x *ResFriendList) String() string { func (*ResFriendList) ProtoMessage() {} func (x *ResFriendList) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[180] + mi := &file_Gameapi_proto_msgTypes[182] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10611,7 +10717,7 @@ func (x *ResFriendList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendList.ProtoReflect.Descriptor instead. func (*ResFriendList) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{180} + return file_Gameapi_proto_rawDescGZIP(), []int{182} } func (x *ResFriendList) GetFriendList() []*ResPlayerSimple { @@ -10630,7 +10736,7 @@ type ReqFriendApply struct { func (x *ReqFriendApply) Reset() { *x = ReqFriendApply{} - mi := &file_Gameapi_proto_msgTypes[181] + mi := &file_Gameapi_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10642,7 +10748,7 @@ func (x *ReqFriendApply) String() string { func (*ReqFriendApply) ProtoMessage() {} func (x *ReqFriendApply) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[181] + mi := &file_Gameapi_proto_msgTypes[183] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10655,7 +10761,7 @@ func (x *ReqFriendApply) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendApply.ProtoReflect.Descriptor instead. func (*ReqFriendApply) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{181} + return file_Gameapi_proto_rawDescGZIP(), []int{183} } type ResFriendApply struct { @@ -10668,7 +10774,7 @@ type ResFriendApply struct { func (x *ResFriendApply) Reset() { *x = ResFriendApply{} - mi := &file_Gameapi_proto_msgTypes[182] + mi := &file_Gameapi_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10680,7 +10786,7 @@ func (x *ResFriendApply) String() string { func (*ResFriendApply) ProtoMessage() {} func (x *ResFriendApply) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[182] + mi := &file_Gameapi_proto_msgTypes[184] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10693,7 +10799,7 @@ func (x *ResFriendApply) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendApply.ProtoReflect.Descriptor instead. func (*ResFriendApply) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{182} + return file_Gameapi_proto_rawDescGZIP(), []int{184} } func (x *ResFriendApply) GetApplyList() []*ResFriendApplyInfo { @@ -10714,7 +10820,7 @@ type ResFriendApplyInfo struct { func (x *ResFriendApplyInfo) Reset() { *x = ResFriendApplyInfo{} - mi := &file_Gameapi_proto_msgTypes[183] + mi := &file_Gameapi_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10726,7 +10832,7 @@ func (x *ResFriendApplyInfo) String() string { func (*ResFriendApplyInfo) ProtoMessage() {} func (x *ResFriendApplyInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[183] + mi := &file_Gameapi_proto_msgTypes[185] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10739,7 +10845,7 @@ func (x *ResFriendApplyInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendApplyInfo.ProtoReflect.Descriptor instead. func (*ResFriendApplyInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{183} + return file_Gameapi_proto_rawDescGZIP(), []int{185} } func (x *ResFriendApplyInfo) GetPlayer() *ResPlayerSimple { @@ -10765,7 +10871,7 @@ type ReqFriendCardMsg struct { func (x *ReqFriendCardMsg) Reset() { *x = ReqFriendCardMsg{} - mi := &file_Gameapi_proto_msgTypes[184] + mi := &file_Gameapi_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10777,7 +10883,7 @@ func (x *ReqFriendCardMsg) String() string { func (*ReqFriendCardMsg) ProtoMessage() {} func (x *ReqFriendCardMsg) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[184] + mi := &file_Gameapi_proto_msgTypes[186] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10790,7 +10896,7 @@ func (x *ReqFriendCardMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendCardMsg.ProtoReflect.Descriptor instead. func (*ReqFriendCardMsg) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{184} + return file_Gameapi_proto_rawDescGZIP(), []int{186} } type ResFriendCardMsg struct { @@ -10803,7 +10909,7 @@ type ResFriendCardMsg struct { func (x *ResFriendCardMsg) Reset() { *x = ResFriendCardMsg{} - mi := &file_Gameapi_proto_msgTypes[185] + mi := &file_Gameapi_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10815,7 +10921,7 @@ func (x *ResFriendCardMsg) String() string { func (*ResFriendCardMsg) ProtoMessage() {} func (x *ResFriendCardMsg) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[185] + mi := &file_Gameapi_proto_msgTypes[187] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10828,7 +10934,7 @@ func (x *ResFriendCardMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendCardMsg.ProtoReflect.Descriptor instead. func (*ResFriendCardMsg) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{185} + return file_Gameapi_proto_rawDescGZIP(), []int{187} } func (x *ResFriendCardMsg) GetMsgList() []*ResFriendCard { @@ -10847,7 +10953,7 @@ type ReqFriendTimeLine struct { func (x *ReqFriendTimeLine) Reset() { *x = ReqFriendTimeLine{} - mi := &file_Gameapi_proto_msgTypes[186] + mi := &file_Gameapi_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10859,7 +10965,7 @@ func (x *ReqFriendTimeLine) String() string { func (*ReqFriendTimeLine) ProtoMessage() {} func (x *ReqFriendTimeLine) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[186] + mi := &file_Gameapi_proto_msgTypes[188] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10872,7 +10978,7 @@ func (x *ReqFriendTimeLine) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTimeLine.ProtoReflect.Descriptor instead. func (*ReqFriendTimeLine) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{186} + return file_Gameapi_proto_rawDescGZIP(), []int{188} } type ResFriendTimeLine struct { @@ -10885,7 +10991,7 @@ type ResFriendTimeLine struct { func (x *ResFriendTimeLine) Reset() { *x = ResFriendTimeLine{} - mi := &file_Gameapi_proto_msgTypes[187] + mi := &file_Gameapi_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10897,7 +11003,7 @@ func (x *ResFriendTimeLine) String() string { func (*ResFriendTimeLine) ProtoMessage() {} func (x *ResFriendTimeLine) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[187] + mi := &file_Gameapi_proto_msgTypes[189] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10910,7 +11016,7 @@ func (x *ResFriendTimeLine) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTimeLine.ProtoReflect.Descriptor instead. func (*ResFriendTimeLine) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{187} + return file_Gameapi_proto_rawDescGZIP(), []int{189} } func (x *ResFriendTimeLine) GetLog() []*ResFriendLog { @@ -10932,7 +11038,7 @@ type ResFriendApplyNotify struct { func (x *ResFriendApplyNotify) Reset() { *x = ResFriendApplyNotify{} - mi := &file_Gameapi_proto_msgTypes[188] + mi := &file_Gameapi_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10944,7 +11050,7 @@ func (x *ResFriendApplyNotify) String() string { func (*ResFriendApplyNotify) ProtoMessage() {} func (x *ResFriendApplyNotify) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[188] + mi := &file_Gameapi_proto_msgTypes[190] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10957,7 +11063,7 @@ func (x *ResFriendApplyNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendApplyNotify.ProtoReflect.Descriptor instead. func (*ResFriendApplyNotify) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{188} + return file_Gameapi_proto_rawDescGZIP(), []int{190} } func (x *ResFriendApplyNotify) GetPlayer() *ResPlayerSimple { @@ -10992,7 +11098,7 @@ type ReqApplyFriend struct { func (x *ReqApplyFriend) Reset() { *x = ReqApplyFriend{} - mi := &file_Gameapi_proto_msgTypes[189] + mi := &file_Gameapi_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11004,7 +11110,7 @@ func (x *ReqApplyFriend) String() string { func (*ReqApplyFriend) ProtoMessage() {} func (x *ReqApplyFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[189] + mi := &file_Gameapi_proto_msgTypes[191] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11017,7 +11123,7 @@ func (x *ReqApplyFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqApplyFriend.ProtoReflect.Descriptor instead. func (*ReqApplyFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{189} + return file_Gameapi_proto_rawDescGZIP(), []int{191} } func (x *ReqApplyFriend) GetUid() int64 { @@ -11038,7 +11144,7 @@ type ResApplyFriend struct { func (x *ResApplyFriend) Reset() { *x = ResApplyFriend{} - mi := &file_Gameapi_proto_msgTypes[190] + mi := &file_Gameapi_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11050,7 +11156,7 @@ func (x *ResApplyFriend) String() string { func (*ResApplyFriend) ProtoMessage() {} func (x *ResApplyFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[190] + mi := &file_Gameapi_proto_msgTypes[192] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11063,7 +11169,7 @@ func (x *ResApplyFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResApplyFriend.ProtoReflect.Descriptor instead. func (*ResApplyFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{190} + return file_Gameapi_proto_rawDescGZIP(), []int{192} } func (x *ResApplyFriend) GetCode() RES_CODE { @@ -11091,7 +11197,7 @@ type ReqAgreeFriend struct { func (x *ReqAgreeFriend) Reset() { *x = ReqAgreeFriend{} - mi := &file_Gameapi_proto_msgTypes[191] + mi := &file_Gameapi_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11103,7 +11209,7 @@ func (x *ReqAgreeFriend) String() string { func (*ReqAgreeFriend) ProtoMessage() {} func (x *ReqAgreeFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[191] + mi := &file_Gameapi_proto_msgTypes[193] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11116,7 +11222,7 @@ func (x *ReqAgreeFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAgreeFriend.ProtoReflect.Descriptor instead. func (*ReqAgreeFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{191} + return file_Gameapi_proto_rawDescGZIP(), []int{193} } func (x *ReqAgreeFriend) GetUid() int64 { @@ -11139,7 +11245,7 @@ type ResAgreeFriend struct { func (x *ResAgreeFriend) Reset() { *x = ResAgreeFriend{} - mi := &file_Gameapi_proto_msgTypes[192] + mi := &file_Gameapi_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11151,7 +11257,7 @@ func (x *ResAgreeFriend) String() string { func (*ResAgreeFriend) ProtoMessage() {} func (x *ResAgreeFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[192] + mi := &file_Gameapi_proto_msgTypes[194] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11164,7 +11270,7 @@ func (x *ResAgreeFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAgreeFriend.ProtoReflect.Descriptor instead. func (*ResAgreeFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{192} + return file_Gameapi_proto_rawDescGZIP(), []int{194} } func (x *ResAgreeFriend) GetCode() RES_CODE { @@ -11206,7 +11312,7 @@ type ReqRefuseFriend struct { func (x *ReqRefuseFriend) Reset() { *x = ReqRefuseFriend{} - mi := &file_Gameapi_proto_msgTypes[193] + mi := &file_Gameapi_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11218,7 +11324,7 @@ func (x *ReqRefuseFriend) String() string { func (*ReqRefuseFriend) ProtoMessage() {} func (x *ReqRefuseFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[193] + mi := &file_Gameapi_proto_msgTypes[195] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11231,7 +11337,7 @@ func (x *ReqRefuseFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefuseFriend.ProtoReflect.Descriptor instead. func (*ReqRefuseFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{193} + return file_Gameapi_proto_rawDescGZIP(), []int{195} } func (x *ReqRefuseFriend) GetUid() int64 { @@ -11253,7 +11359,7 @@ type ResRefuseFriend struct { func (x *ResRefuseFriend) Reset() { *x = ResRefuseFriend{} - mi := &file_Gameapi_proto_msgTypes[194] + mi := &file_Gameapi_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11265,7 +11371,7 @@ func (x *ResRefuseFriend) String() string { func (*ResRefuseFriend) ProtoMessage() {} func (x *ResRefuseFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[194] + mi := &file_Gameapi_proto_msgTypes[196] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11278,7 +11384,7 @@ func (x *ResRefuseFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefuseFriend.ProtoReflect.Descriptor instead. func (*ResRefuseFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{194} + return file_Gameapi_proto_rawDescGZIP(), []int{196} } func (x *ResRefuseFriend) GetCode() RES_CODE { @@ -11313,7 +11419,7 @@ type ReqDelFriend struct { func (x *ReqDelFriend) Reset() { *x = ReqDelFriend{} - mi := &file_Gameapi_proto_msgTypes[195] + mi := &file_Gameapi_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11325,7 +11431,7 @@ func (x *ReqDelFriend) String() string { func (*ReqDelFriend) ProtoMessage() {} func (x *ReqDelFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[195] + mi := &file_Gameapi_proto_msgTypes[197] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11338,7 +11444,7 @@ func (x *ReqDelFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDelFriend.ProtoReflect.Descriptor instead. func (*ReqDelFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{195} + return file_Gameapi_proto_rawDescGZIP(), []int{197} } func (x *ReqDelFriend) GetUid() int64 { @@ -11360,7 +11466,7 @@ type ResDelFriend struct { func (x *ResDelFriend) Reset() { *x = ResDelFriend{} - mi := &file_Gameapi_proto_msgTypes[196] + mi := &file_Gameapi_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11372,7 +11478,7 @@ func (x *ResDelFriend) String() string { func (*ResDelFriend) ProtoMessage() {} func (x *ResDelFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[196] + mi := &file_Gameapi_proto_msgTypes[198] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11385,7 +11491,7 @@ func (x *ResDelFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDelFriend.ProtoReflect.Descriptor instead. func (*ResDelFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{196} + return file_Gameapi_proto_rawDescGZIP(), []int{198} } func (x *ResDelFriend) GetCode() RES_CODE { @@ -11420,7 +11526,7 @@ type ReqRank struct { func (x *ReqRank) Reset() { *x = ReqRank{} - mi := &file_Gameapi_proto_msgTypes[197] + mi := &file_Gameapi_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11432,7 +11538,7 @@ func (x *ReqRank) String() string { func (*ReqRank) ProtoMessage() {} func (x *ReqRank) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[197] + mi := &file_Gameapi_proto_msgTypes[199] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11445,7 +11551,7 @@ func (x *ReqRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRank.ProtoReflect.Descriptor instead. func (*ReqRank) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{197} + return file_Gameapi_proto_rawDescGZIP(), []int{199} } func (x *ReqRank) GetType() int32 { @@ -11468,7 +11574,7 @@ type ResRank struct { func (x *ResRank) Reset() { *x = ResRank{} - mi := &file_Gameapi_proto_msgTypes[198] + mi := &file_Gameapi_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11480,7 +11586,7 @@ func (x *ResRank) String() string { func (*ResRank) ProtoMessage() {} func (x *ResRank) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[198] + mi := &file_Gameapi_proto_msgTypes[200] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11493,7 +11599,7 @@ func (x *ResRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRank.ProtoReflect.Descriptor instead. func (*ResRank) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{198} + return file_Gameapi_proto_rawDescGZIP(), []int{200} } func (x *ResRank) GetType() int32 { @@ -11533,7 +11639,7 @@ type ReqMailList struct { func (x *ReqMailList) Reset() { *x = ReqMailList{} - mi := &file_Gameapi_proto_msgTypes[199] + mi := &file_Gameapi_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11545,7 +11651,7 @@ func (x *ReqMailList) String() string { func (*ReqMailList) ProtoMessage() {} func (x *ReqMailList) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[199] + mi := &file_Gameapi_proto_msgTypes[201] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11558,7 +11664,7 @@ func (x *ReqMailList) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMailList.ProtoReflect.Descriptor instead. func (*ReqMailList) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{199} + return file_Gameapi_proto_rawDescGZIP(), []int{201} } type ResMailList struct { @@ -11571,7 +11677,7 @@ type ResMailList struct { func (x *ResMailList) Reset() { *x = ResMailList{} - mi := &file_Gameapi_proto_msgTypes[200] + mi := &file_Gameapi_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11583,7 +11689,7 @@ func (x *ResMailList) String() string { func (*ResMailList) ProtoMessage() {} func (x *ResMailList) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[200] + mi := &file_Gameapi_proto_msgTypes[202] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11596,7 +11702,7 @@ func (x *ResMailList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMailList.ProtoReflect.Descriptor instead. func (*ResMailList) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{200} + return file_Gameapi_proto_rawDescGZIP(), []int{202} } func (x *ResMailList) GetMailList() map[int32]*MailInfo { @@ -11621,7 +11727,7 @@ type MailInfo struct { func (x *MailInfo) Reset() { *x = MailInfo{} - mi := &file_Gameapi_proto_msgTypes[201] + mi := &file_Gameapi_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11633,7 +11739,7 @@ func (x *MailInfo) String() string { func (*MailInfo) ProtoMessage() {} func (x *MailInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[201] + mi := &file_Gameapi_proto_msgTypes[203] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11646,7 +11752,7 @@ func (x *MailInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use MailInfo.ProtoReflect.Descriptor instead. func (*MailInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{201} + return file_Gameapi_proto_rawDescGZIP(), []int{203} } func (x *MailInfo) GetId() int32 { @@ -11701,7 +11807,7 @@ type MailNotify struct { func (x *MailNotify) Reset() { *x = MailNotify{} - mi := &file_Gameapi_proto_msgTypes[202] + mi := &file_Gameapi_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11713,7 +11819,7 @@ func (x *MailNotify) String() string { func (*MailNotify) ProtoMessage() {} func (x *MailNotify) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[202] + mi := &file_Gameapi_proto_msgTypes[204] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11726,7 +11832,7 @@ func (x *MailNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use MailNotify.ProtoReflect.Descriptor instead. func (*MailNotify) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{202} + return file_Gameapi_proto_rawDescGZIP(), []int{204} } func (x *MailNotify) GetInfo() *MailInfo { @@ -11747,7 +11853,7 @@ type ReqReadMail struct { func (x *ReqReadMail) Reset() { *x = ReqReadMail{} - mi := &file_Gameapi_proto_msgTypes[203] + mi := &file_Gameapi_proto_msgTypes[205] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11759,7 +11865,7 @@ func (x *ReqReadMail) String() string { func (*ReqReadMail) ProtoMessage() {} func (x *ReqReadMail) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[203] + mi := &file_Gameapi_proto_msgTypes[205] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11772,7 +11878,7 @@ func (x *ReqReadMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqReadMail.ProtoReflect.Descriptor instead. func (*ReqReadMail) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{203} + return file_Gameapi_proto_rawDescGZIP(), []int{205} } func (x *ReqReadMail) GetId() int32 { @@ -11794,7 +11900,7 @@ type ResReadMail struct { func (x *ResReadMail) Reset() { *x = ResReadMail{} - mi := &file_Gameapi_proto_msgTypes[204] + mi := &file_Gameapi_proto_msgTypes[206] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11806,7 +11912,7 @@ func (x *ResReadMail) String() string { func (*ResReadMail) ProtoMessage() {} func (x *ResReadMail) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[204] + mi := &file_Gameapi_proto_msgTypes[206] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11819,7 +11925,7 @@ func (x *ResReadMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ResReadMail.ProtoReflect.Descriptor instead. func (*ResReadMail) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{204} + return file_Gameapi_proto_rawDescGZIP(), []int{206} } func (x *ResReadMail) GetCode() RES_CODE { @@ -11854,7 +11960,7 @@ type ReqGetMailReward struct { func (x *ReqGetMailReward) Reset() { *x = ReqGetMailReward{} - mi := &file_Gameapi_proto_msgTypes[205] + mi := &file_Gameapi_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11866,7 +11972,7 @@ func (x *ReqGetMailReward) String() string { func (*ReqGetMailReward) ProtoMessage() {} func (x *ReqGetMailReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[205] + mi := &file_Gameapi_proto_msgTypes[207] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11879,7 +11985,7 @@ func (x *ReqGetMailReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetMailReward.ProtoReflect.Descriptor instead. func (*ReqGetMailReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{205} + return file_Gameapi_proto_rawDescGZIP(), []int{207} } func (x *ReqGetMailReward) GetId() int32 { @@ -11901,7 +12007,7 @@ type ResGetMailReward struct { func (x *ResGetMailReward) Reset() { *x = ResGetMailReward{} - mi := &file_Gameapi_proto_msgTypes[206] + mi := &file_Gameapi_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11913,7 +12019,7 @@ func (x *ResGetMailReward) String() string { func (*ResGetMailReward) ProtoMessage() {} func (x *ResGetMailReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[206] + mi := &file_Gameapi_proto_msgTypes[208] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11926,7 +12032,7 @@ func (x *ResGetMailReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetMailReward.ProtoReflect.Descriptor instead. func (*ResGetMailReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{206} + return file_Gameapi_proto_rawDescGZIP(), []int{208} } func (x *ResGetMailReward) GetCode() RES_CODE { @@ -11961,7 +12067,7 @@ type ReqDeleteMail struct { func (x *ReqDeleteMail) Reset() { *x = ReqDeleteMail{} - mi := &file_Gameapi_proto_msgTypes[207] + mi := &file_Gameapi_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11973,7 +12079,7 @@ func (x *ReqDeleteMail) String() string { func (*ReqDeleteMail) ProtoMessage() {} func (x *ReqDeleteMail) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[207] + mi := &file_Gameapi_proto_msgTypes[209] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11986,7 +12092,7 @@ func (x *ReqDeleteMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDeleteMail.ProtoReflect.Descriptor instead. func (*ReqDeleteMail) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{207} + return file_Gameapi_proto_rawDescGZIP(), []int{209} } func (x *ReqDeleteMail) GetId() int32 { @@ -12008,7 +12114,7 @@ type ResDeleteMail struct { func (x *ResDeleteMail) Reset() { *x = ResDeleteMail{} - mi := &file_Gameapi_proto_msgTypes[208] + mi := &file_Gameapi_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12020,7 +12126,7 @@ func (x *ResDeleteMail) String() string { func (*ResDeleteMail) ProtoMessage() {} func (x *ResDeleteMail) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[208] + mi := &file_Gameapi_proto_msgTypes[210] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12033,7 +12139,7 @@ func (x *ResDeleteMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDeleteMail.ProtoReflect.Descriptor instead. func (*ResDeleteMail) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{208} + return file_Gameapi_proto_rawDescGZIP(), []int{210} } func (x *ResDeleteMail) GetCode() RES_CODE { @@ -12074,7 +12180,7 @@ type ResCharge struct { func (x *ResCharge) Reset() { *x = ResCharge{} - mi := &file_Gameapi_proto_msgTypes[209] + mi := &file_Gameapi_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12086,7 +12192,7 @@ func (x *ResCharge) String() string { func (*ResCharge) ProtoMessage() {} func (x *ResCharge) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[209] + mi := &file_Gameapi_proto_msgTypes[211] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12099,7 +12205,7 @@ func (x *ResCharge) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCharge.ProtoReflect.Descriptor instead. func (*ResCharge) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{209} + return file_Gameapi_proto_rawDescGZIP(), []int{211} } func (x *ResCharge) GetCharge() float32 { @@ -12169,7 +12275,7 @@ type ResSpecialShop struct { func (x *ResSpecialShop) Reset() { *x = ResSpecialShop{} - mi := &file_Gameapi_proto_msgTypes[210] + mi := &file_Gameapi_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12181,7 +12287,7 @@ func (x *ResSpecialShop) String() string { func (*ResSpecialShop) ProtoMessage() {} func (x *ResSpecialShop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[210] + mi := &file_Gameapi_proto_msgTypes[212] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12194,7 +12300,7 @@ func (x *ResSpecialShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSpecialShop.ProtoReflect.Descriptor instead. func (*ResSpecialShop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{210} + return file_Gameapi_proto_rawDescGZIP(), []int{212} } func (x *ResSpecialShop) GetGrade() int32 { @@ -12223,7 +12329,7 @@ type ResChessShop struct { func (x *ResChessShop) Reset() { *x = ResChessShop{} - mi := &file_Gameapi_proto_msgTypes[211] + mi := &file_Gameapi_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12235,7 +12341,7 @@ func (x *ResChessShop) String() string { func (*ResChessShop) ProtoMessage() {} func (x *ResChessShop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[211] + mi := &file_Gameapi_proto_msgTypes[213] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12248,7 +12354,7 @@ func (x *ResChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChessShop.ProtoReflect.Descriptor instead. func (*ResChessShop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{211} + return file_Gameapi_proto_rawDescGZIP(), []int{213} } func (x *ResChessShop) GetDiamond() int32 { @@ -12280,7 +12386,7 @@ type ReqFreeShop struct { func (x *ReqFreeShop) Reset() { *x = ReqFreeShop{} - mi := &file_Gameapi_proto_msgTypes[212] + mi := &file_Gameapi_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12292,7 +12398,7 @@ func (x *ReqFreeShop) String() string { func (*ReqFreeShop) ProtoMessage() {} func (x *ReqFreeShop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[212] + mi := &file_Gameapi_proto_msgTypes[214] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12305,7 +12411,7 @@ func (x *ReqFreeShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFreeShop.ProtoReflect.Descriptor instead. func (*ReqFreeShop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{212} + return file_Gameapi_proto_rawDescGZIP(), []int{214} } type ResFreeShop struct { @@ -12319,7 +12425,7 @@ type ResFreeShop struct { func (x *ResFreeShop) Reset() { *x = ResFreeShop{} - mi := &file_Gameapi_proto_msgTypes[213] + mi := &file_Gameapi_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12331,7 +12437,7 @@ func (x *ResFreeShop) String() string { func (*ResFreeShop) ProtoMessage() {} func (x *ResFreeShop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[213] + mi := &file_Gameapi_proto_msgTypes[215] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12344,7 +12450,7 @@ func (x *ResFreeShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFreeShop.ProtoReflect.Descriptor instead. func (*ResFreeShop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{213} + return file_Gameapi_proto_rawDescGZIP(), []int{215} } func (x *ResFreeShop) GetCode() RES_CODE { @@ -12372,7 +12478,7 @@ type ReqBuyChessShop struct { func (x *ReqBuyChessShop) Reset() { *x = ReqBuyChessShop{} - mi := &file_Gameapi_proto_msgTypes[214] + mi := &file_Gameapi_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12384,7 +12490,7 @@ func (x *ReqBuyChessShop) String() string { func (*ReqBuyChessShop) ProtoMessage() {} func (x *ReqBuyChessShop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[214] + mi := &file_Gameapi_proto_msgTypes[216] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12397,7 +12503,7 @@ func (x *ReqBuyChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqBuyChessShop.ProtoReflect.Descriptor instead. func (*ReqBuyChessShop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{214} + return file_Gameapi_proto_rawDescGZIP(), []int{216} } func (x *ReqBuyChessShop) GetId() int32 { @@ -12418,7 +12524,7 @@ type ResBuyChessShop struct { func (x *ResBuyChessShop) Reset() { *x = ResBuyChessShop{} - mi := &file_Gameapi_proto_msgTypes[215] + mi := &file_Gameapi_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12430,7 +12536,7 @@ func (x *ResBuyChessShop) String() string { func (*ResBuyChessShop) ProtoMessage() {} func (x *ResBuyChessShop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[215] + mi := &file_Gameapi_proto_msgTypes[217] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12443,7 +12549,7 @@ func (x *ResBuyChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResBuyChessShop.ProtoReflect.Descriptor instead. func (*ResBuyChessShop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{215} + return file_Gameapi_proto_rawDescGZIP(), []int{217} } func (x *ResBuyChessShop) GetCode() RES_CODE { @@ -12472,7 +12578,7 @@ type ReqBuyChessShop2 struct { func (x *ReqBuyChessShop2) Reset() { *x = ReqBuyChessShop2{} - mi := &file_Gameapi_proto_msgTypes[216] + mi := &file_Gameapi_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12484,7 +12590,7 @@ func (x *ReqBuyChessShop2) String() string { func (*ReqBuyChessShop2) ProtoMessage() {} func (x *ReqBuyChessShop2) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[216] + mi := &file_Gameapi_proto_msgTypes[218] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12497,7 +12603,7 @@ func (x *ReqBuyChessShop2) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqBuyChessShop2.ProtoReflect.Descriptor instead. func (*ReqBuyChessShop2) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{216} + return file_Gameapi_proto_rawDescGZIP(), []int{218} } func (x *ReqBuyChessShop2) GetId() int32 { @@ -12525,7 +12631,7 @@ type ResBuyChessShop2 struct { func (x *ResBuyChessShop2) Reset() { *x = ResBuyChessShop2{} - mi := &file_Gameapi_proto_msgTypes[217] + mi := &file_Gameapi_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12537,7 +12643,7 @@ func (x *ResBuyChessShop2) String() string { func (*ResBuyChessShop2) ProtoMessage() {} func (x *ResBuyChessShop2) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[217] + mi := &file_Gameapi_proto_msgTypes[219] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12550,7 +12656,7 @@ func (x *ResBuyChessShop2) ProtoReflect() protoreflect.Message { // Deprecated: Use ResBuyChessShop2.ProtoReflect.Descriptor instead. func (*ResBuyChessShop2) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{217} + return file_Gameapi_proto_rawDescGZIP(), []int{219} } func (x *ResBuyChessShop2) GetCode() RES_CODE { @@ -12576,7 +12682,7 @@ type ReqRefreshChessShop struct { func (x *ReqRefreshChessShop) Reset() { *x = ReqRefreshChessShop{} - mi := &file_Gameapi_proto_msgTypes[218] + mi := &file_Gameapi_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12588,7 +12694,7 @@ func (x *ReqRefreshChessShop) String() string { func (*ReqRefreshChessShop) ProtoMessage() {} func (x *ReqRefreshChessShop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[218] + mi := &file_Gameapi_proto_msgTypes[220] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12601,7 +12707,7 @@ func (x *ReqRefreshChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefreshChessShop.ProtoReflect.Descriptor instead. func (*ReqRefreshChessShop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{218} + return file_Gameapi_proto_rawDescGZIP(), []int{220} } type ResRefreshChessShop struct { @@ -12615,7 +12721,7 @@ type ResRefreshChessShop struct { func (x *ResRefreshChessShop) Reset() { *x = ResRefreshChessShop{} - mi := &file_Gameapi_proto_msgTypes[219] + mi := &file_Gameapi_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12627,7 +12733,7 @@ func (x *ResRefreshChessShop) String() string { func (*ResRefreshChessShop) ProtoMessage() {} func (x *ResRefreshChessShop) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[219] + mi := &file_Gameapi_proto_msgTypes[221] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12640,7 +12746,7 @@ func (x *ResRefreshChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefreshChessShop.ProtoReflect.Descriptor instead. func (*ResRefreshChessShop) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{219} + return file_Gameapi_proto_rawDescGZIP(), []int{221} } func (x *ResRefreshChessShop) GetCode() RES_CODE { @@ -12665,7 +12771,7 @@ type ReqEndless struct { func (x *ReqEndless) Reset() { *x = ReqEndless{} - mi := &file_Gameapi_proto_msgTypes[220] + mi := &file_Gameapi_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12677,7 +12783,7 @@ func (x *ReqEndless) String() string { func (*ReqEndless) ProtoMessage() {} func (x *ReqEndless) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[220] + mi := &file_Gameapi_proto_msgTypes[222] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12690,7 +12796,7 @@ func (x *ReqEndless) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqEndless.ProtoReflect.Descriptor instead. func (*ReqEndless) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{220} + return file_Gameapi_proto_rawDescGZIP(), []int{222} } type ResEndless struct { @@ -12704,7 +12810,7 @@ type ResEndless struct { func (x *ResEndless) Reset() { *x = ResEndless{} - mi := &file_Gameapi_proto_msgTypes[221] + mi := &file_Gameapi_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12716,7 +12822,7 @@ func (x *ResEndless) String() string { func (*ResEndless) ProtoMessage() {} func (x *ResEndless) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[221] + mi := &file_Gameapi_proto_msgTypes[223] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12729,7 +12835,7 @@ func (x *ResEndless) ProtoReflect() protoreflect.Message { // Deprecated: Use ResEndless.ProtoReflect.Descriptor instead. func (*ResEndless) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{221} + return file_Gameapi_proto_rawDescGZIP(), []int{223} } func (x *ResEndless) GetId() int32 { @@ -12758,7 +12864,7 @@ type ResEndlessInfo struct { func (x *ResEndlessInfo) Reset() { *x = ResEndlessInfo{} - mi := &file_Gameapi_proto_msgTypes[222] + mi := &file_Gameapi_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12770,7 +12876,7 @@ func (x *ResEndlessInfo) String() string { func (*ResEndlessInfo) ProtoMessage() {} func (x *ResEndlessInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[222] + mi := &file_Gameapi_proto_msgTypes[224] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12783,7 +12889,7 @@ func (x *ResEndlessInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResEndlessInfo.ProtoReflect.Descriptor instead. func (*ResEndlessInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{222} + return file_Gameapi_proto_rawDescGZIP(), []int{224} } func (x *ResEndlessInfo) GetChargeId() int32 { @@ -12815,7 +12921,7 @@ type ReqEndlessReward struct { func (x *ReqEndlessReward) Reset() { *x = ReqEndlessReward{} - mi := &file_Gameapi_proto_msgTypes[223] + mi := &file_Gameapi_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12827,7 +12933,7 @@ func (x *ReqEndlessReward) String() string { func (*ReqEndlessReward) ProtoMessage() {} func (x *ReqEndlessReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[223] + mi := &file_Gameapi_proto_msgTypes[225] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12840,7 +12946,7 @@ func (x *ReqEndlessReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqEndlessReward.ProtoReflect.Descriptor instead. func (*ReqEndlessReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{223} + return file_Gameapi_proto_rawDescGZIP(), []int{225} } type ResEndlessReward struct { @@ -12854,7 +12960,7 @@ type ResEndlessReward struct { func (x *ResEndlessReward) Reset() { *x = ResEndlessReward{} - mi := &file_Gameapi_proto_msgTypes[224] + mi := &file_Gameapi_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12866,7 +12972,7 @@ func (x *ResEndlessReward) String() string { func (*ResEndlessReward) ProtoMessage() {} func (x *ResEndlessReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[224] + mi := &file_Gameapi_proto_msgTypes[226] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12879,7 +12985,7 @@ func (x *ResEndlessReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResEndlessReward.ProtoReflect.Descriptor instead. func (*ResEndlessReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{224} + return file_Gameapi_proto_rawDescGZIP(), []int{226} } func (x *ResEndlessReward) GetCode() RES_CODE { @@ -12909,7 +13015,7 @@ type ResPiggyBank struct { func (x *ResPiggyBank) Reset() { *x = ResPiggyBank{} - mi := &file_Gameapi_proto_msgTypes[225] + mi := &file_Gameapi_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12921,7 +13027,7 @@ func (x *ResPiggyBank) String() string { func (*ResPiggyBank) ProtoMessage() {} func (x *ResPiggyBank) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[225] + mi := &file_Gameapi_proto_msgTypes[227] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12934,7 +13040,7 @@ func (x *ResPiggyBank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPiggyBank.ProtoReflect.Descriptor instead. func (*ResPiggyBank) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{225} + return file_Gameapi_proto_rawDescGZIP(), []int{227} } func (x *ResPiggyBank) GetType() int32 { @@ -12973,7 +13079,7 @@ type ReqPiggyBankReward struct { func (x *ReqPiggyBankReward) Reset() { *x = ReqPiggyBankReward{} - mi := &file_Gameapi_proto_msgTypes[226] + mi := &file_Gameapi_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12985,7 +13091,7 @@ func (x *ReqPiggyBankReward) String() string { func (*ReqPiggyBankReward) ProtoMessage() {} func (x *ReqPiggyBankReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[226] + mi := &file_Gameapi_proto_msgTypes[228] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12998,7 +13104,7 @@ func (x *ReqPiggyBankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPiggyBankReward.ProtoReflect.Descriptor instead. func (*ReqPiggyBankReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{226} + return file_Gameapi_proto_rawDescGZIP(), []int{228} } type ResPiggyBankReward struct { @@ -13012,7 +13118,7 @@ type ResPiggyBankReward struct { func (x *ResPiggyBankReward) Reset() { *x = ResPiggyBankReward{} - mi := &file_Gameapi_proto_msgTypes[227] + mi := &file_Gameapi_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13024,7 +13130,7 @@ func (x *ResPiggyBankReward) String() string { func (*ResPiggyBankReward) ProtoMessage() {} func (x *ResPiggyBankReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[227] + mi := &file_Gameapi_proto_msgTypes[229] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13037,7 +13143,7 @@ func (x *ResPiggyBankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPiggyBankReward.ProtoReflect.Descriptor instead. func (*ResPiggyBankReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{227} + return file_Gameapi_proto_rawDescGZIP(), []int{229} } func (x *ResPiggyBankReward) GetCode() RES_CODE { @@ -13066,7 +13172,7 @@ type ReqCreateOrderSn struct { func (x *ReqCreateOrderSn) Reset() { *x = ReqCreateOrderSn{} - mi := &file_Gameapi_proto_msgTypes[228] + mi := &file_Gameapi_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13078,7 +13184,7 @@ func (x *ReqCreateOrderSn) String() string { func (*ReqCreateOrderSn) ProtoMessage() {} func (x *ReqCreateOrderSn) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[228] + mi := &file_Gameapi_proto_msgTypes[230] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13091,7 +13197,7 @@ func (x *ReqCreateOrderSn) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCreateOrderSn.ProtoReflect.Descriptor instead. func (*ReqCreateOrderSn) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{228} + return file_Gameapi_proto_rawDescGZIP(), []int{230} } func (x *ReqCreateOrderSn) GetChargeId() int32 { @@ -13125,7 +13231,7 @@ type ResCreateOrderSn struct { func (x *ResCreateOrderSn) Reset() { *x = ResCreateOrderSn{} - mi := &file_Gameapi_proto_msgTypes[229] + mi := &file_Gameapi_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13137,7 +13243,7 @@ func (x *ResCreateOrderSn) String() string { func (*ResCreateOrderSn) ProtoMessage() {} func (x *ResCreateOrderSn) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[229] + mi := &file_Gameapi_proto_msgTypes[231] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13150,7 +13256,7 @@ func (x *ResCreateOrderSn) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCreateOrderSn.ProtoReflect.Descriptor instead. func (*ResCreateOrderSn) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{229} + return file_Gameapi_proto_rawDescGZIP(), []int{231} } func (x *ResCreateOrderSn) GetOrderSn() string { @@ -13173,7 +13279,7 @@ type ReqShippingOrder struct { func (x *ReqShippingOrder) Reset() { *x = ReqShippingOrder{} - mi := &file_Gameapi_proto_msgTypes[230] + mi := &file_Gameapi_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13185,7 +13291,7 @@ func (x *ReqShippingOrder) String() string { func (*ReqShippingOrder) ProtoMessage() {} func (x *ReqShippingOrder) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[230] + mi := &file_Gameapi_proto_msgTypes[232] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13198,7 +13304,7 @@ func (x *ReqShippingOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqShippingOrder.ProtoReflect.Descriptor instead. func (*ReqShippingOrder) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{230} + return file_Gameapi_proto_rawDescGZIP(), []int{232} } func (x *ReqShippingOrder) GetOrderSn() string { @@ -13240,7 +13346,7 @@ type ResShippingOrder struct { func (x *ResShippingOrder) Reset() { *x = ResShippingOrder{} - mi := &file_Gameapi_proto_msgTypes[231] + mi := &file_Gameapi_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13252,7 +13358,7 @@ func (x *ResShippingOrder) String() string { func (*ResShippingOrder) ProtoMessage() {} func (x *ResShippingOrder) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[231] + mi := &file_Gameapi_proto_msgTypes[233] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13265,7 +13371,7 @@ func (x *ResShippingOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ResShippingOrder.ProtoReflect.Descriptor instead. func (*ResShippingOrder) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{231} + return file_Gameapi_proto_rawDescGZIP(), []int{233} } func (x *ResShippingOrder) GetCode() RES_CODE { @@ -13290,7 +13396,7 @@ type ReqChampship struct { func (x *ReqChampship) Reset() { *x = ReqChampship{} - mi := &file_Gameapi_proto_msgTypes[232] + mi := &file_Gameapi_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13302,7 +13408,7 @@ func (x *ReqChampship) String() string { func (*ReqChampship) ProtoMessage() {} func (x *ReqChampship) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[232] + mi := &file_Gameapi_proto_msgTypes[234] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13315,7 +13421,7 @@ func (x *ReqChampship) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampship.ProtoReflect.Descriptor instead. func (*ReqChampship) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{232} + return file_Gameapi_proto_rawDescGZIP(), []int{234} } type ResChampship struct { @@ -13334,7 +13440,7 @@ type ResChampship struct { func (x *ResChampship) Reset() { *x = ResChampship{} - mi := &file_Gameapi_proto_msgTypes[233] + mi := &file_Gameapi_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13346,7 +13452,7 @@ func (x *ResChampship) String() string { func (*ResChampship) ProtoMessage() {} func (x *ResChampship) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[233] + mi := &file_Gameapi_proto_msgTypes[235] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13359,7 +13465,7 @@ func (x *ResChampship) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampship.ProtoReflect.Descriptor instead. func (*ResChampship) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{233} + return file_Gameapi_proto_rawDescGZIP(), []int{235} } func (x *ResChampship) GetScore() int32 { @@ -13419,7 +13525,7 @@ type ReqChampshipReward struct { func (x *ReqChampshipReward) Reset() { *x = ReqChampshipReward{} - mi := &file_Gameapi_proto_msgTypes[234] + mi := &file_Gameapi_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13431,7 +13537,7 @@ func (x *ReqChampshipReward) String() string { func (*ReqChampshipReward) ProtoMessage() {} func (x *ReqChampshipReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[234] + mi := &file_Gameapi_proto_msgTypes[236] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13444,7 +13550,7 @@ func (x *ReqChampshipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampshipReward.ProtoReflect.Descriptor instead. func (*ReqChampshipReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{234} + return file_Gameapi_proto_rawDescGZIP(), []int{236} } type ResChampshipReward struct { @@ -13458,7 +13564,7 @@ type ResChampshipReward struct { func (x *ResChampshipReward) Reset() { *x = ResChampshipReward{} - mi := &file_Gameapi_proto_msgTypes[235] + mi := &file_Gameapi_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13470,7 +13576,7 @@ func (x *ResChampshipReward) String() string { func (*ResChampshipReward) ProtoMessage() {} func (x *ResChampshipReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[235] + mi := &file_Gameapi_proto_msgTypes[237] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13483,7 +13589,7 @@ func (x *ResChampshipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampshipReward.ProtoReflect.Descriptor instead. func (*ResChampshipReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{235} + return file_Gameapi_proto_rawDescGZIP(), []int{237} } func (x *ResChampshipReward) GetCode() RES_CODE { @@ -13508,7 +13614,7 @@ type ReqChampshipRankReward struct { func (x *ReqChampshipRankReward) Reset() { *x = ReqChampshipRankReward{} - mi := &file_Gameapi_proto_msgTypes[236] + mi := &file_Gameapi_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13520,7 +13626,7 @@ func (x *ReqChampshipRankReward) String() string { func (*ReqChampshipRankReward) ProtoMessage() {} func (x *ReqChampshipRankReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[236] + mi := &file_Gameapi_proto_msgTypes[238] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13533,7 +13639,7 @@ func (x *ReqChampshipRankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampshipRankReward.ProtoReflect.Descriptor instead. func (*ReqChampshipRankReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{236} + return file_Gameapi_proto_rawDescGZIP(), []int{238} } type ResChampshipRankReward struct { @@ -13547,7 +13653,7 @@ type ResChampshipRankReward struct { func (x *ResChampshipRankReward) Reset() { *x = ResChampshipRankReward{} - mi := &file_Gameapi_proto_msgTypes[237] + mi := &file_Gameapi_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13559,7 +13665,7 @@ func (x *ResChampshipRankReward) String() string { func (*ResChampshipRankReward) ProtoMessage() {} func (x *ResChampshipRankReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[237] + mi := &file_Gameapi_proto_msgTypes[239] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13572,7 +13678,7 @@ func (x *ResChampshipRankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampshipRankReward.ProtoReflect.Descriptor instead. func (*ResChampshipRankReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{237} + return file_Gameapi_proto_rawDescGZIP(), []int{239} } func (x *ResChampshipRankReward) GetCode() RES_CODE { @@ -13597,7 +13703,7 @@ type ReqChampshipRank struct { func (x *ReqChampshipRank) Reset() { *x = ReqChampshipRank{} - mi := &file_Gameapi_proto_msgTypes[238] + mi := &file_Gameapi_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13609,7 +13715,7 @@ func (x *ReqChampshipRank) String() string { func (*ReqChampshipRank) ProtoMessage() {} func (x *ReqChampshipRank) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[238] + mi := &file_Gameapi_proto_msgTypes[240] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13622,7 +13728,7 @@ func (x *ReqChampshipRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampshipRank.ProtoReflect.Descriptor instead. func (*ReqChampshipRank) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{238} + return file_Gameapi_proto_rawDescGZIP(), []int{240} } type ResChampshipRank struct { @@ -13637,7 +13743,7 @@ type ResChampshipRank struct { func (x *ResChampshipRank) Reset() { *x = ResChampshipRank{} - mi := &file_Gameapi_proto_msgTypes[239] + mi := &file_Gameapi_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13649,7 +13755,7 @@ func (x *ResChampshipRank) String() string { func (*ResChampshipRank) ProtoMessage() {} func (x *ResChampshipRank) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[239] + mi := &file_Gameapi_proto_msgTypes[241] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13662,7 +13768,7 @@ func (x *ResChampshipRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampshipRank.ProtoReflect.Descriptor instead. func (*ResChampshipRank) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{239} + return file_Gameapi_proto_rawDescGZIP(), []int{241} } func (x *ResChampshipRank) GetRankList() map[int32]*ResPlayerRank { @@ -13694,7 +13800,7 @@ type ReqChampshipPreRank struct { func (x *ReqChampshipPreRank) Reset() { *x = ReqChampshipPreRank{} - mi := &file_Gameapi_proto_msgTypes[240] + mi := &file_Gameapi_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13706,7 +13812,7 @@ func (x *ReqChampshipPreRank) String() string { func (*ReqChampshipPreRank) ProtoMessage() {} func (x *ReqChampshipPreRank) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[240] + mi := &file_Gameapi_proto_msgTypes[242] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13719,7 +13825,7 @@ func (x *ReqChampshipPreRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampshipPreRank.ProtoReflect.Descriptor instead. func (*ReqChampshipPreRank) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{240} + return file_Gameapi_proto_rawDescGZIP(), []int{242} } type ResChampshipPreRank struct { @@ -13734,7 +13840,7 @@ type ResChampshipPreRank struct { func (x *ResChampshipPreRank) Reset() { *x = ResChampshipPreRank{} - mi := &file_Gameapi_proto_msgTypes[241] + mi := &file_Gameapi_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13746,7 +13852,7 @@ func (x *ResChampshipPreRank) String() string { func (*ResChampshipPreRank) ProtoMessage() {} func (x *ResChampshipPreRank) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[241] + mi := &file_Gameapi_proto_msgTypes[243] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13759,7 +13865,7 @@ func (x *ResChampshipPreRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampshipPreRank.ProtoReflect.Descriptor instead. func (*ResChampshipPreRank) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{241} + return file_Gameapi_proto_rawDescGZIP(), []int{243} } func (x *ResChampshipPreRank) GetRankList() map[int32]*ResPlayerRank { @@ -13796,7 +13902,7 @@ type ResNotifyCard struct { func (x *ResNotifyCard) Reset() { *x = ResNotifyCard{} - mi := &file_Gameapi_proto_msgTypes[242] + mi := &file_Gameapi_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13808,7 +13914,7 @@ func (x *ResNotifyCard) String() string { func (*ResNotifyCard) ProtoMessage() {} func (x *ResNotifyCard) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[242] + mi := &file_Gameapi_proto_msgTypes[244] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13821,7 +13927,7 @@ func (x *ResNotifyCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResNotifyCard.ProtoReflect.Descriptor instead. func (*ResNotifyCard) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{242} + return file_Gameapi_proto_rawDescGZIP(), []int{244} } func (x *ResNotifyCard) GetCard() map[int32]int32 { @@ -13862,7 +13968,7 @@ type ReqSetFacebookUrl struct { func (x *ReqSetFacebookUrl) Reset() { *x = ReqSetFacebookUrl{} - mi := &file_Gameapi_proto_msgTypes[243] + mi := &file_Gameapi_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13874,7 +13980,7 @@ func (x *ReqSetFacebookUrl) String() string { func (*ReqSetFacebookUrl) ProtoMessage() {} func (x *ReqSetFacebookUrl) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[243] + mi := &file_Gameapi_proto_msgTypes[245] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13887,7 +13993,7 @@ func (x *ReqSetFacebookUrl) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetFacebookUrl.ProtoReflect.Descriptor instead. func (*ReqSetFacebookUrl) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{243} + return file_Gameapi_proto_rawDescGZIP(), []int{245} } func (x *ReqSetFacebookUrl) GetUrl() string { @@ -13908,7 +14014,7 @@ type ResSetFacebookUrl struct { func (x *ResSetFacebookUrl) Reset() { *x = ResSetFacebookUrl{} - mi := &file_Gameapi_proto_msgTypes[244] + mi := &file_Gameapi_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13920,7 +14026,7 @@ func (x *ResSetFacebookUrl) String() string { func (*ResSetFacebookUrl) ProtoMessage() {} func (x *ResSetFacebookUrl) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[244] + mi := &file_Gameapi_proto_msgTypes[246] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13933,7 +14039,7 @@ func (x *ResSetFacebookUrl) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetFacebookUrl.ProtoReflect.Descriptor instead. func (*ResSetFacebookUrl) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{244} + return file_Gameapi_proto_rawDescGZIP(), []int{246} } func (x *ResSetFacebookUrl) GetCode() RES_CODE { @@ -13961,7 +14067,7 @@ type ReqInviteFriendData struct { func (x *ReqInviteFriendData) Reset() { *x = ReqInviteFriendData{} - mi := &file_Gameapi_proto_msgTypes[245] + mi := &file_Gameapi_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13973,7 +14079,7 @@ func (x *ReqInviteFriendData) String() string { func (*ReqInviteFriendData) ProtoMessage() {} func (x *ReqInviteFriendData) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[245] + mi := &file_Gameapi_proto_msgTypes[247] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13986,7 +14092,7 @@ func (x *ReqInviteFriendData) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqInviteFriendData.ProtoReflect.Descriptor instead. func (*ReqInviteFriendData) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{245} + return file_Gameapi_proto_rawDescGZIP(), []int{247} } func (x *ReqInviteFriendData) GetDwUin() int64 { @@ -14007,7 +14113,7 @@ type ResInviteFriendData struct { func (x *ResInviteFriendData) Reset() { *x = ResInviteFriendData{} - mi := &file_Gameapi_proto_msgTypes[246] + mi := &file_Gameapi_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14019,7 +14125,7 @@ func (x *ResInviteFriendData) String() string { func (*ResInviteFriendData) ProtoMessage() {} func (x *ResInviteFriendData) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[246] + mi := &file_Gameapi_proto_msgTypes[248] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14032,7 +14138,7 @@ func (x *ResInviteFriendData) ProtoReflect() protoreflect.Message { // Deprecated: Use ResInviteFriendData.ProtoReflect.Descriptor instead. func (*ResInviteFriendData) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{246} + return file_Gameapi_proto_rawDescGZIP(), []int{248} } func (x *ResInviteFriendData) GetIdLists() []int32 { @@ -14059,7 +14165,7 @@ type ReqSelfInvited struct { func (x *ReqSelfInvited) Reset() { *x = ReqSelfInvited{} - mi := &file_Gameapi_proto_msgTypes[247] + mi := &file_Gameapi_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14071,7 +14177,7 @@ func (x *ReqSelfInvited) String() string { func (*ReqSelfInvited) ProtoMessage() {} func (x *ReqSelfInvited) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[247] + mi := &file_Gameapi_proto_msgTypes[249] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14084,7 +14190,7 @@ func (x *ReqSelfInvited) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSelfInvited.ProtoReflect.Descriptor instead. func (*ReqSelfInvited) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{247} + return file_Gameapi_proto_rawDescGZIP(), []int{249} } func (x *ReqSelfInvited) GetInviterId() int32 { @@ -14104,7 +14210,7 @@ type ResSelfInvited struct { func (x *ResSelfInvited) Reset() { *x = ResSelfInvited{} - mi := &file_Gameapi_proto_msgTypes[248] + mi := &file_Gameapi_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14116,7 +14222,7 @@ func (x *ResSelfInvited) String() string { func (*ResSelfInvited) ProtoMessage() {} func (x *ResSelfInvited) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[248] + mi := &file_Gameapi_proto_msgTypes[250] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14129,7 +14235,7 @@ func (x *ResSelfInvited) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSelfInvited.ProtoReflect.Descriptor instead. func (*ResSelfInvited) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{248} + return file_Gameapi_proto_rawDescGZIP(), []int{250} } func (x *ResSelfInvited) GetResultCode() int32 { @@ -14150,7 +14256,7 @@ type NotifyInvitedSuccess struct { func (x *NotifyInvitedSuccess) Reset() { *x = NotifyInvitedSuccess{} - mi := &file_Gameapi_proto_msgTypes[249] + mi := &file_Gameapi_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14162,7 +14268,7 @@ func (x *NotifyInvitedSuccess) String() string { func (*NotifyInvitedSuccess) ProtoMessage() {} func (x *NotifyInvitedSuccess) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[249] + mi := &file_Gameapi_proto_msgTypes[251] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14175,7 +14281,7 @@ func (x *NotifyInvitedSuccess) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyInvitedSuccess.ProtoReflect.Descriptor instead. func (*NotifyInvitedSuccess) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{249} + return file_Gameapi_proto_rawDescGZIP(), []int{251} } func (x *NotifyInvitedSuccess) GetResultCode() int32 { @@ -14202,7 +14308,7 @@ type ReqGetInviteReward struct { func (x *ReqGetInviteReward) Reset() { *x = ReqGetInviteReward{} - mi := &file_Gameapi_proto_msgTypes[250] + mi := &file_Gameapi_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14214,7 +14320,7 @@ func (x *ReqGetInviteReward) String() string { func (*ReqGetInviteReward) ProtoMessage() {} func (x *ReqGetInviteReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[250] + mi := &file_Gameapi_proto_msgTypes[252] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14227,7 +14333,7 @@ func (x *ReqGetInviteReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetInviteReward.ProtoReflect.Descriptor instead. func (*ReqGetInviteReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{250} + return file_Gameapi_proto_rawDescGZIP(), []int{252} } func (x *ReqGetInviteReward) GetGetIndex() int32 { @@ -14247,7 +14353,7 @@ type ResGetInviteReward struct { func (x *ResGetInviteReward) Reset() { *x = ResGetInviteReward{} - mi := &file_Gameapi_proto_msgTypes[251] + mi := &file_Gameapi_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14259,7 +14365,7 @@ func (x *ResGetInviteReward) String() string { func (*ResGetInviteReward) ProtoMessage() {} func (x *ResGetInviteReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[251] + mi := &file_Gameapi_proto_msgTypes[253] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14272,7 +14378,7 @@ func (x *ResGetInviteReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetInviteReward.ProtoReflect.Descriptor instead. func (*ResGetInviteReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{251} + return file_Gameapi_proto_rawDescGZIP(), []int{253} } func (x *ResGetInviteReward) GetResultCode() int32 { @@ -14292,7 +14398,7 @@ type ReqAutoAddInviteFriend struct { func (x *ReqAutoAddInviteFriend) Reset() { *x = ReqAutoAddInviteFriend{} - mi := &file_Gameapi_proto_msgTypes[252] + mi := &file_Gameapi_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14304,7 +14410,7 @@ func (x *ReqAutoAddInviteFriend) String() string { func (*ReqAutoAddInviteFriend) ProtoMessage() {} func (x *ReqAutoAddInviteFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[252] + mi := &file_Gameapi_proto_msgTypes[254] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14317,7 +14423,7 @@ func (x *ReqAutoAddInviteFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAutoAddInviteFriend.ProtoReflect.Descriptor instead. func (*ReqAutoAddInviteFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{252} + return file_Gameapi_proto_rawDescGZIP(), []int{254} } func (x *ReqAutoAddInviteFriend) GetId() int32 { @@ -14337,7 +14443,7 @@ type ResAutoAddInviteFriend struct { func (x *ResAutoAddInviteFriend) Reset() { *x = ResAutoAddInviteFriend{} - mi := &file_Gameapi_proto_msgTypes[253] + mi := &file_Gameapi_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14349,7 +14455,7 @@ func (x *ResAutoAddInviteFriend) String() string { func (*ResAutoAddInviteFriend) ProtoMessage() {} func (x *ResAutoAddInviteFriend) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[253] + mi := &file_Gameapi_proto_msgTypes[255] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14362,7 +14468,7 @@ func (x *ResAutoAddInviteFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAutoAddInviteFriend.ProtoReflect.Descriptor instead. func (*ResAutoAddInviteFriend) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{253} + return file_Gameapi_proto_rawDescGZIP(), []int{255} } func (x *ResAutoAddInviteFriend) GetResultCode() int32 { @@ -14381,7 +14487,7 @@ type ReqMining struct { func (x *ReqMining) Reset() { *x = ReqMining{} - mi := &file_Gameapi_proto_msgTypes[254] + mi := &file_Gameapi_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14393,7 +14499,7 @@ func (x *ReqMining) String() string { func (*ReqMining) ProtoMessage() {} func (x *ReqMining) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[254] + mi := &file_Gameapi_proto_msgTypes[256] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14406,7 +14512,7 @@ func (x *ReqMining) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMining.ProtoReflect.Descriptor instead. func (*ReqMining) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{254} + return file_Gameapi_proto_rawDescGZIP(), []int{256} } type ResMining struct { @@ -14426,7 +14532,7 @@ type ResMining struct { func (x *ResMining) Reset() { *x = ResMining{} - mi := &file_Gameapi_proto_msgTypes[255] + mi := &file_Gameapi_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14438,7 +14544,7 @@ func (x *ResMining) String() string { func (*ResMining) ProtoMessage() {} func (x *ResMining) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[255] + mi := &file_Gameapi_proto_msgTypes[257] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14451,7 +14557,7 @@ func (x *ResMining) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMining.ProtoReflect.Descriptor instead. func (*ResMining) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{255} + return file_Gameapi_proto_rawDescGZIP(), []int{257} } func (x *ResMining) GetId() int32 { @@ -14521,7 +14627,7 @@ type ReqMiningTake struct { func (x *ReqMiningTake) Reset() { *x = ReqMiningTake{} - mi := &file_Gameapi_proto_msgTypes[256] + mi := &file_Gameapi_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14533,7 +14639,7 @@ func (x *ReqMiningTake) String() string { func (*ReqMiningTake) ProtoMessage() {} func (x *ReqMiningTake) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[256] + mi := &file_Gameapi_proto_msgTypes[258] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14546,7 +14652,7 @@ func (x *ReqMiningTake) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMiningTake.ProtoReflect.Descriptor instead. func (*ReqMiningTake) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{256} + return file_Gameapi_proto_rawDescGZIP(), []int{258} } func (x *ReqMiningTake) GetMap() map[int32]string { @@ -14574,7 +14680,7 @@ type ResMiningTake struct { func (x *ResMiningTake) Reset() { *x = ResMiningTake{} - mi := &file_Gameapi_proto_msgTypes[257] + mi := &file_Gameapi_proto_msgTypes[259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14586,7 +14692,7 @@ func (x *ResMiningTake) String() string { func (*ResMiningTake) ProtoMessage() {} func (x *ResMiningTake) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[257] + mi := &file_Gameapi_proto_msgTypes[259] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14599,7 +14705,7 @@ func (x *ResMiningTake) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMiningTake.ProtoReflect.Descriptor instead. func (*ResMiningTake) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{257} + return file_Gameapi_proto_rawDescGZIP(), []int{259} } func (x *ResMiningTake) GetCode() RES_CODE { @@ -14624,7 +14730,7 @@ type ReqMiningReward struct { func (x *ReqMiningReward) Reset() { *x = ReqMiningReward{} - mi := &file_Gameapi_proto_msgTypes[258] + mi := &file_Gameapi_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14636,7 +14742,7 @@ func (x *ReqMiningReward) String() string { func (*ReqMiningReward) ProtoMessage() {} func (x *ReqMiningReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[258] + mi := &file_Gameapi_proto_msgTypes[260] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14649,7 +14755,7 @@ func (x *ReqMiningReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMiningReward.ProtoReflect.Descriptor instead. func (*ReqMiningReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{258} + return file_Gameapi_proto_rawDescGZIP(), []int{260} } type ResMiningReward struct { @@ -14663,7 +14769,7 @@ type ResMiningReward struct { func (x *ResMiningReward) Reset() { *x = ResMiningReward{} - mi := &file_Gameapi_proto_msgTypes[259] + mi := &file_Gameapi_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14675,7 +14781,7 @@ func (x *ResMiningReward) String() string { func (*ResMiningReward) ProtoMessage() {} func (x *ResMiningReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[259] + mi := &file_Gameapi_proto_msgTypes[261] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14688,7 +14794,7 @@ func (x *ResMiningReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMiningReward.ProtoReflect.Descriptor instead. func (*ResMiningReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{259} + return file_Gameapi_proto_rawDescGZIP(), []int{261} } func (x *ResMiningReward) GetCode() RES_CODE { @@ -14715,7 +14821,7 @@ type ResActRed struct { func (x *ResActRed) Reset() { *x = ResActRed{} - mi := &file_Gameapi_proto_msgTypes[260] + mi := &file_Gameapi_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14727,7 +14833,7 @@ func (x *ResActRed) String() string { func (*ResActRed) ProtoMessage() {} func (x *ResActRed) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[260] + mi := &file_Gameapi_proto_msgTypes[262] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14740,7 +14846,7 @@ func (x *ResActRed) ProtoReflect() protoreflect.Message { // Deprecated: Use ResActRed.ProtoReflect.Descriptor instead. func (*ResActRed) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{260} + return file_Gameapi_proto_rawDescGZIP(), []int{262} } func (x *ResActRed) GetRed() map[int32]int32 { @@ -14762,7 +14868,7 @@ type NotifyActRed struct { func (x *NotifyActRed) Reset() { *x = NotifyActRed{} - mi := &file_Gameapi_proto_msgTypes[261] + mi := &file_Gameapi_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14774,7 +14880,7 @@ func (x *NotifyActRed) String() string { func (*NotifyActRed) ProtoMessage() {} func (x *NotifyActRed) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[261] + mi := &file_Gameapi_proto_msgTypes[263] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14787,7 +14893,7 @@ func (x *NotifyActRed) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyActRed.ProtoReflect.Descriptor instead. func (*NotifyActRed) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{261} + return file_Gameapi_proto_rawDescGZIP(), []int{263} } func (x *NotifyActRed) GetId() int32 { @@ -14815,7 +14921,7 @@ type ActivityNotify struct { func (x *ActivityNotify) Reset() { *x = ActivityNotify{} - mi := &file_Gameapi_proto_msgTypes[262] + mi := &file_Gameapi_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14827,7 +14933,7 @@ func (x *ActivityNotify) String() string { func (*ActivityNotify) ProtoMessage() {} func (x *ActivityNotify) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[262] + mi := &file_Gameapi_proto_msgTypes[264] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14840,7 +14946,7 @@ func (x *ActivityNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use ActivityNotify.ProtoReflect.Descriptor instead. func (*ActivityNotify) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{262} + return file_Gameapi_proto_rawDescGZIP(), []int{264} } func (x *ActivityNotify) GetInfo() *ActivityInfo { @@ -14860,7 +14966,7 @@ type ResItem struct { func (x *ResItem) Reset() { *x = ResItem{} - mi := &file_Gameapi_proto_msgTypes[263] + mi := &file_Gameapi_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14872,7 +14978,7 @@ func (x *ResItem) String() string { func (*ResItem) ProtoMessage() {} func (x *ResItem) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[263] + mi := &file_Gameapi_proto_msgTypes[265] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14885,7 +14991,7 @@ func (x *ResItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ResItem.ProtoReflect.Descriptor instead. func (*ResItem) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{263} + return file_Gameapi_proto_rawDescGZIP(), []int{265} } func (x *ResItem) GetItem() map[int32]int32 { @@ -14905,7 +15011,7 @@ type ItemNotify struct { func (x *ItemNotify) Reset() { *x = ItemNotify{} - mi := &file_Gameapi_proto_msgTypes[264] + mi := &file_Gameapi_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14917,7 +15023,7 @@ func (x *ItemNotify) String() string { func (*ItemNotify) ProtoMessage() {} func (x *ItemNotify) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[264] + mi := &file_Gameapi_proto_msgTypes[266] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14930,7 +15036,7 @@ func (x *ItemNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use ItemNotify.ProtoReflect.Descriptor instead. func (*ItemNotify) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{264} + return file_Gameapi_proto_rawDescGZIP(), []int{266} } func (x *ItemNotify) GetItem() map[int32]int32 { @@ -14949,7 +15055,7 @@ type ReqGuessColor struct { func (x *ReqGuessColor) Reset() { *x = ReqGuessColor{} - mi := &file_Gameapi_proto_msgTypes[265] + mi := &file_Gameapi_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14961,7 +15067,7 @@ func (x *ReqGuessColor) String() string { func (*ReqGuessColor) ProtoMessage() {} func (x *ReqGuessColor) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[265] + mi := &file_Gameapi_proto_msgTypes[267] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14974,7 +15080,7 @@ func (x *ReqGuessColor) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGuessColor.ProtoReflect.Descriptor instead. func (*ReqGuessColor) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{265} + return file_Gameapi_proto_rawDescGZIP(), []int{267} } type ResGuessColor struct { @@ -14994,7 +15100,7 @@ type ResGuessColor struct { func (x *ResGuessColor) Reset() { *x = ResGuessColor{} - mi := &file_Gameapi_proto_msgTypes[266] + mi := &file_Gameapi_proto_msgTypes[268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15006,7 +15112,7 @@ func (x *ResGuessColor) String() string { func (*ResGuessColor) ProtoMessage() {} func (x *ResGuessColor) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[266] + mi := &file_Gameapi_proto_msgTypes[268] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15019,7 +15125,7 @@ func (x *ResGuessColor) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuessColor.ProtoReflect.Descriptor instead. func (*ResGuessColor) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{266} + return file_Gameapi_proto_rawDescGZIP(), []int{268} } func (x *ResGuessColor) GetId() int32 { @@ -15091,7 +15197,7 @@ type Opponent struct { func (x *Opponent) Reset() { *x = Opponent{} - mi := &file_Gameapi_proto_msgTypes[267] + mi := &file_Gameapi_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15103,7 +15209,7 @@ func (x *Opponent) String() string { func (*Opponent) ProtoMessage() {} func (x *Opponent) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[267] + mi := &file_Gameapi_proto_msgTypes[269] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15116,7 +15222,7 @@ func (x *Opponent) ProtoReflect() protoreflect.Message { // Deprecated: Use Opponent.ProtoReflect.Descriptor instead. func (*Opponent) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{267} + return file_Gameapi_proto_rawDescGZIP(), []int{269} } func (x *Opponent) GetName() string { @@ -15157,7 +15263,7 @@ type ReqGuessColorTake struct { func (x *ReqGuessColorTake) Reset() { *x = ReqGuessColorTake{} - mi := &file_Gameapi_proto_msgTypes[268] + mi := &file_Gameapi_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15169,7 +15275,7 @@ func (x *ReqGuessColorTake) String() string { func (*ReqGuessColorTake) ProtoMessage() {} func (x *ReqGuessColorTake) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[268] + mi := &file_Gameapi_proto_msgTypes[270] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15182,7 +15288,7 @@ func (x *ReqGuessColorTake) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGuessColorTake.ProtoReflect.Descriptor instead. func (*ReqGuessColorTake) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{268} + return file_Gameapi_proto_rawDescGZIP(), []int{270} } func (x *ReqGuessColorTake) GetMap() map[int32]int32 { @@ -15203,7 +15309,7 @@ type ResGuessColorTake struct { func (x *ResGuessColorTake) Reset() { *x = ResGuessColorTake{} - mi := &file_Gameapi_proto_msgTypes[269] + mi := &file_Gameapi_proto_msgTypes[271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15215,7 +15321,7 @@ func (x *ResGuessColorTake) String() string { func (*ResGuessColorTake) ProtoMessage() {} func (x *ResGuessColorTake) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[269] + mi := &file_Gameapi_proto_msgTypes[271] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15228,7 +15334,7 @@ func (x *ResGuessColorTake) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuessColorTake.ProtoReflect.Descriptor instead. func (*ResGuessColorTake) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{269} + return file_Gameapi_proto_rawDescGZIP(), []int{271} } func (x *ResGuessColorTake) GetCode() RES_CODE { @@ -15253,7 +15359,7 @@ type ReqGuessColorReward struct { func (x *ReqGuessColorReward) Reset() { *x = ReqGuessColorReward{} - mi := &file_Gameapi_proto_msgTypes[270] + mi := &file_Gameapi_proto_msgTypes[272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15265,7 +15371,7 @@ func (x *ReqGuessColorReward) String() string { func (*ReqGuessColorReward) ProtoMessage() {} func (x *ReqGuessColorReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[270] + mi := &file_Gameapi_proto_msgTypes[272] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15278,7 +15384,7 @@ func (x *ReqGuessColorReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGuessColorReward.ProtoReflect.Descriptor instead. func (*ReqGuessColorReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{270} + return file_Gameapi_proto_rawDescGZIP(), []int{272} } type ResGuessColorReward struct { @@ -15292,7 +15398,7 @@ type ResGuessColorReward struct { func (x *ResGuessColorReward) Reset() { *x = ResGuessColorReward{} - mi := &file_Gameapi_proto_msgTypes[271] + mi := &file_Gameapi_proto_msgTypes[273] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15304,7 +15410,7 @@ func (x *ResGuessColorReward) String() string { func (*ResGuessColorReward) ProtoMessage() {} func (x *ResGuessColorReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[271] + mi := &file_Gameapi_proto_msgTypes[273] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15317,7 +15423,7 @@ func (x *ResGuessColorReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuessColorReward.ProtoReflect.Descriptor instead. func (*ResGuessColorReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{271} + return file_Gameapi_proto_rawDescGZIP(), []int{273} } func (x *ResGuessColorReward) GetCode() RES_CODE { @@ -15342,7 +15448,7 @@ type ReqRace struct { func (x *ReqRace) Reset() { *x = ReqRace{} - mi := &file_Gameapi_proto_msgTypes[272] + mi := &file_Gameapi_proto_msgTypes[274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15354,7 +15460,7 @@ func (x *ReqRace) String() string { func (*ReqRace) ProtoMessage() {} func (x *ReqRace) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[272] + mi := &file_Gameapi_proto_msgTypes[274] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15367,7 +15473,7 @@ func (x *ReqRace) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRace.ProtoReflect.Descriptor instead. func (*ReqRace) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{272} + return file_Gameapi_proto_rawDescGZIP(), []int{274} } type ResRace struct { @@ -15388,7 +15494,7 @@ type ResRace struct { func (x *ResRace) Reset() { *x = ResRace{} - mi := &file_Gameapi_proto_msgTypes[273] + mi := &file_Gameapi_proto_msgTypes[275] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15400,7 +15506,7 @@ func (x *ResRace) String() string { func (*ResRace) ProtoMessage() {} func (x *ResRace) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[273] + mi := &file_Gameapi_proto_msgTypes[275] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15413,7 +15519,7 @@ func (x *ResRace) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRace.ProtoReflect.Descriptor instead. func (*ResRace) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{273} + return file_Gameapi_proto_rawDescGZIP(), []int{275} } func (x *ResRace) GetId() int32 { @@ -15491,7 +15597,7 @@ type Raceopponent struct { func (x *Raceopponent) Reset() { *x = Raceopponent{} - mi := &file_Gameapi_proto_msgTypes[274] + mi := &file_Gameapi_proto_msgTypes[276] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15503,7 +15609,7 @@ func (x *Raceopponent) String() string { func (*Raceopponent) ProtoMessage() {} func (x *Raceopponent) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[274] + mi := &file_Gameapi_proto_msgTypes[276] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15516,7 +15622,7 @@ func (x *Raceopponent) ProtoReflect() protoreflect.Message { // Deprecated: Use Raceopponent.ProtoReflect.Descriptor instead. func (*Raceopponent) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{274} + return file_Gameapi_proto_rawDescGZIP(), []int{276} } func (x *Raceopponent) GetId() int32 { @@ -15548,7 +15654,7 @@ type ReqRaceStart struct { func (x *ReqRaceStart) Reset() { *x = ReqRaceStart{} - mi := &file_Gameapi_proto_msgTypes[275] + mi := &file_Gameapi_proto_msgTypes[277] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15560,7 +15666,7 @@ func (x *ReqRaceStart) String() string { func (*ReqRaceStart) ProtoMessage() {} func (x *ReqRaceStart) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[275] + mi := &file_Gameapi_proto_msgTypes[277] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15573,7 +15679,7 @@ func (x *ReqRaceStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRaceStart.ProtoReflect.Descriptor instead. func (*ReqRaceStart) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{275} + return file_Gameapi_proto_rawDescGZIP(), []int{277} } type ResRaceStart struct { @@ -15587,7 +15693,7 @@ type ResRaceStart struct { func (x *ResRaceStart) Reset() { *x = ResRaceStart{} - mi := &file_Gameapi_proto_msgTypes[276] + mi := &file_Gameapi_proto_msgTypes[278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15599,7 +15705,7 @@ func (x *ResRaceStart) String() string { func (*ResRaceStart) ProtoMessage() {} func (x *ResRaceStart) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[276] + mi := &file_Gameapi_proto_msgTypes[278] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15612,7 +15718,7 @@ func (x *ResRaceStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRaceStart.ProtoReflect.Descriptor instead. func (*ResRaceStart) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{276} + return file_Gameapi_proto_rawDescGZIP(), []int{278} } func (x *ResRaceStart) GetCode() RES_CODE { @@ -15637,7 +15743,7 @@ type ReqRaceReward struct { func (x *ReqRaceReward) Reset() { *x = ReqRaceReward{} - mi := &file_Gameapi_proto_msgTypes[277] + mi := &file_Gameapi_proto_msgTypes[279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15649,7 +15755,7 @@ func (x *ReqRaceReward) String() string { func (*ReqRaceReward) ProtoMessage() {} func (x *ReqRaceReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[277] + mi := &file_Gameapi_proto_msgTypes[279] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15662,7 +15768,7 @@ func (x *ReqRaceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRaceReward.ProtoReflect.Descriptor instead. func (*ReqRaceReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{277} + return file_Gameapi_proto_rawDescGZIP(), []int{279} } type ResRaceReward struct { @@ -15676,7 +15782,7 @@ type ResRaceReward struct { func (x *ResRaceReward) Reset() { *x = ResRaceReward{} - mi := &file_Gameapi_proto_msgTypes[278] + mi := &file_Gameapi_proto_msgTypes[280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15688,7 +15794,7 @@ func (x *ResRaceReward) String() string { func (*ResRaceReward) ProtoMessage() {} func (x *ResRaceReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[278] + mi := &file_Gameapi_proto_msgTypes[280] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15701,7 +15807,7 @@ func (x *ResRaceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRaceReward.ProtoReflect.Descriptor instead. func (*ResRaceReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{278} + return file_Gameapi_proto_rawDescGZIP(), []int{280} } func (x *ResRaceReward) GetCode() RES_CODE { @@ -15727,7 +15833,7 @@ type ReqPlayroom struct { func (x *ReqPlayroom) Reset() { *x = ReqPlayroom{} - mi := &file_Gameapi_proto_msgTypes[279] + mi := &file_Gameapi_proto_msgTypes[281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15739,7 +15845,7 @@ func (x *ReqPlayroom) String() string { func (*ReqPlayroom) ProtoMessage() {} func (x *ReqPlayroom) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[279] + mi := &file_Gameapi_proto_msgTypes[281] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15752,7 +15858,7 @@ func (x *ReqPlayroom) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroom.ProtoReflect.Descriptor instead. func (*ReqPlayroom) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{279} + return file_Gameapi_proto_rawDescGZIP(), []int{281} } type ResPlayroom struct { @@ -15777,7 +15883,7 @@ type ResPlayroom struct { func (x *ResPlayroom) Reset() { *x = ResPlayroom{} - mi := &file_Gameapi_proto_msgTypes[280] + mi := &file_Gameapi_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15789,7 +15895,7 @@ func (x *ResPlayroom) String() string { func (*ResPlayroom) ProtoMessage() {} func (x *ResPlayroom) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[280] + mi := &file_Gameapi_proto_msgTypes[282] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15802,7 +15908,7 @@ func (x *ResPlayroom) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroom.ProtoReflect.Descriptor instead. func (*ResPlayroom) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{280} + return file_Gameapi_proto_rawDescGZIP(), []int{282} } func (x *ResPlayroom) GetStatus() int32 { @@ -15904,7 +16010,7 @@ type ReqPlayroomWrokOutline struct { func (x *ReqPlayroomWrokOutline) Reset() { *x = ReqPlayroomWrokOutline{} - mi := &file_Gameapi_proto_msgTypes[281] + mi := &file_Gameapi_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15916,7 +16022,7 @@ func (x *ReqPlayroomWrokOutline) String() string { func (*ReqPlayroomWrokOutline) ProtoMessage() {} func (x *ReqPlayroomWrokOutline) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[281] + mi := &file_Gameapi_proto_msgTypes[283] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15929,7 +16035,7 @@ func (x *ReqPlayroomWrokOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomWrokOutline.ProtoReflect.Descriptor instead. func (*ReqPlayroomWrokOutline) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{281} + return file_Gameapi_proto_rawDescGZIP(), []int{283} } type ResPlayroomWrokOutline struct { @@ -15943,7 +16049,7 @@ type ResPlayroomWrokOutline struct { func (x *ResPlayroomWrokOutline) Reset() { *x = ResPlayroomWrokOutline{} - mi := &file_Gameapi_proto_msgTypes[282] + mi := &file_Gameapi_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15955,7 +16061,7 @@ func (x *ResPlayroomWrokOutline) String() string { func (*ResPlayroomWrokOutline) ProtoMessage() {} func (x *ResPlayroomWrokOutline) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[282] + mi := &file_Gameapi_proto_msgTypes[284] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15968,7 +16074,7 @@ func (x *ResPlayroomWrokOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomWrokOutline.ProtoReflect.Descriptor instead. func (*ResPlayroomWrokOutline) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{282} + return file_Gameapi_proto_rawDescGZIP(), []int{284} } func (x *ResPlayroomWrokOutline) GetCode() RES_CODE { @@ -15995,7 +16101,7 @@ type NofiPlayroomStatus struct { func (x *NofiPlayroomStatus) Reset() { *x = NofiPlayroomStatus{} - mi := &file_Gameapi_proto_msgTypes[283] + mi := &file_Gameapi_proto_msgTypes[285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16007,7 +16113,7 @@ func (x *NofiPlayroomStatus) String() string { func (*NofiPlayroomStatus) ProtoMessage() {} func (x *NofiPlayroomStatus) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[283] + mi := &file_Gameapi_proto_msgTypes[285] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16020,7 +16126,7 @@ func (x *NofiPlayroomStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use NofiPlayroomStatus.ProtoReflect.Descriptor instead. func (*NofiPlayroomStatus) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{283} + return file_Gameapi_proto_rawDescGZIP(), []int{285} } func (x *NofiPlayroomStatus) GetWorkOutline() int32 { @@ -16041,7 +16147,7 @@ type NotifyPlayroomWork struct { func (x *NotifyPlayroomWork) Reset() { *x = NotifyPlayroomWork{} - mi := &file_Gameapi_proto_msgTypes[284] + mi := &file_Gameapi_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16053,7 +16159,7 @@ func (x *NotifyPlayroomWork) String() string { func (*NotifyPlayroomWork) ProtoMessage() {} func (x *NotifyPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[284] + mi := &file_Gameapi_proto_msgTypes[286] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16066,7 +16172,7 @@ func (x *NotifyPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomWork.ProtoReflect.Descriptor instead. func (*NotifyPlayroomWork) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{284} + return file_Gameapi_proto_rawDescGZIP(), []int{286} } func (x *NotifyPlayroomWork) GetStartTime() int32 { @@ -16094,7 +16200,7 @@ type NotifyPlayroomLose struct { func (x *NotifyPlayroomLose) Reset() { *x = NotifyPlayroomLose{} - mi := &file_Gameapi_proto_msgTypes[285] + mi := &file_Gameapi_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16106,7 +16212,7 @@ func (x *NotifyPlayroomLose) String() string { func (*NotifyPlayroomLose) ProtoMessage() {} func (x *NotifyPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[285] + mi := &file_Gameapi_proto_msgTypes[287] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16119,7 +16225,7 @@ func (x *NotifyPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomLose.ProtoReflect.Descriptor instead. func (*NotifyPlayroomLose) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{285} + return file_Gameapi_proto_rawDescGZIP(), []int{287} } func (x *NotifyPlayroomLose) GetLoseItem() []*ItemInfo { @@ -16147,7 +16253,7 @@ type NotifyPlayroomMood struct { func (x *NotifyPlayroomMood) Reset() { *x = NotifyPlayroomMood{} - mi := &file_Gameapi_proto_msgTypes[286] + mi := &file_Gameapi_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16159,7 +16265,7 @@ func (x *NotifyPlayroomMood) String() string { func (*NotifyPlayroomMood) ProtoMessage() {} func (x *NotifyPlayroomMood) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[286] + mi := &file_Gameapi_proto_msgTypes[288] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16172,7 +16278,7 @@ func (x *NotifyPlayroomMood) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomMood.ProtoReflect.Descriptor instead. func (*NotifyPlayroomMood) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{286} + return file_Gameapi_proto_rawDescGZIP(), []int{288} } func (x *NotifyPlayroomMood) GetAllMood() int32 { @@ -16203,7 +16309,7 @@ type FriendRoom struct { func (x *FriendRoom) Reset() { *x = FriendRoom{} - mi := &file_Gameapi_proto_msgTypes[287] + mi := &file_Gameapi_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16215,7 +16321,7 @@ func (x *FriendRoom) String() string { func (*FriendRoom) ProtoMessage() {} func (x *FriendRoom) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[287] + mi := &file_Gameapi_proto_msgTypes[289] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16228,7 +16334,7 @@ func (x *FriendRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendRoom.ProtoReflect.Descriptor instead. func (*FriendRoom) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{287} + return file_Gameapi_proto_rawDescGZIP(), []int{289} } func (x *FriendRoom) GetUid() int64 { @@ -16280,7 +16386,7 @@ type RoomOpponent struct { func (x *RoomOpponent) Reset() { *x = RoomOpponent{} - mi := &file_Gameapi_proto_msgTypes[288] + mi := &file_Gameapi_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16292,7 +16398,7 @@ func (x *RoomOpponent) String() string { func (*RoomOpponent) ProtoMessage() {} func (x *RoomOpponent) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[288] + mi := &file_Gameapi_proto_msgTypes[290] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16305,7 +16411,7 @@ func (x *RoomOpponent) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomOpponent.ProtoReflect.Descriptor instead. func (*RoomOpponent) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{288} + return file_Gameapi_proto_rawDescGZIP(), []int{290} } func (x *RoomOpponent) GetUid() int64 { @@ -16354,7 +16460,7 @@ type ReqPlayroomInfo struct { func (x *ReqPlayroomInfo) Reset() { *x = ReqPlayroomInfo{} - mi := &file_Gameapi_proto_msgTypes[289] + mi := &file_Gameapi_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16366,7 +16472,7 @@ func (x *ReqPlayroomInfo) String() string { func (*ReqPlayroomInfo) ProtoMessage() {} func (x *ReqPlayroomInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[289] + mi := &file_Gameapi_proto_msgTypes[291] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16379,7 +16485,7 @@ func (x *ReqPlayroomInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomInfo.ProtoReflect.Descriptor instead. func (*ReqPlayroomInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{289} + return file_Gameapi_proto_rawDescGZIP(), []int{291} } func (x *ReqPlayroomInfo) GetUid() int64 { @@ -16410,7 +16516,7 @@ type ResPlayroomInfo struct { func (x *ResPlayroomInfo) Reset() { *x = ResPlayroomInfo{} - mi := &file_Gameapi_proto_msgTypes[290] + mi := &file_Gameapi_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16422,7 +16528,7 @@ func (x *ResPlayroomInfo) String() string { func (*ResPlayroomInfo) ProtoMessage() {} func (x *ResPlayroomInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[290] + mi := &file_Gameapi_proto_msgTypes[292] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16435,7 +16541,7 @@ func (x *ResPlayroomInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomInfo.ProtoReflect.Descriptor instead. func (*ResPlayroomInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{290} + return file_Gameapi_proto_rawDescGZIP(), []int{292} } func (x *ResPlayroomInfo) GetUid() int64 { @@ -16533,7 +16639,7 @@ type ReqPlayroomFlip struct { func (x *ReqPlayroomFlip) Reset() { *x = ReqPlayroomFlip{} - mi := &file_Gameapi_proto_msgTypes[291] + mi := &file_Gameapi_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16545,7 +16651,7 @@ func (x *ReqPlayroomFlip) String() string { func (*ReqPlayroomFlip) ProtoMessage() {} func (x *ReqPlayroomFlip) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[291] + mi := &file_Gameapi_proto_msgTypes[293] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16558,7 +16664,7 @@ func (x *ReqPlayroomFlip) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomFlip.ProtoReflect.Descriptor instead. func (*ReqPlayroomFlip) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{291} + return file_Gameapi_proto_rawDescGZIP(), []int{293} } func (x *ReqPlayroomFlip) GetId() int32 { @@ -16581,7 +16687,7 @@ type ResPlayroomFlip struct { func (x *ResPlayroomFlip) Reset() { *x = ResPlayroomFlip{} - mi := &file_Gameapi_proto_msgTypes[292] + mi := &file_Gameapi_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16593,7 +16699,7 @@ func (x *ResPlayroomFlip) String() string { func (*ResPlayroomFlip) ProtoMessage() {} func (x *ResPlayroomFlip) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[292] + mi := &file_Gameapi_proto_msgTypes[294] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16606,7 +16712,7 @@ func (x *ResPlayroomFlip) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomFlip.ProtoReflect.Descriptor instead. func (*ResPlayroomFlip) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{292} + return file_Gameapi_proto_rawDescGZIP(), []int{294} } func (x *ResPlayroomFlip) GetCode() RES_CODE { @@ -16646,7 +16752,7 @@ type ReqPlayroomFlipReward struct { func (x *ReqPlayroomFlipReward) Reset() { *x = ReqPlayroomFlipReward{} - mi := &file_Gameapi_proto_msgTypes[293] + mi := &file_Gameapi_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16658,7 +16764,7 @@ func (x *ReqPlayroomFlipReward) String() string { func (*ReqPlayroomFlipReward) ProtoMessage() {} func (x *ReqPlayroomFlipReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[293] + mi := &file_Gameapi_proto_msgTypes[295] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16671,7 +16777,7 @@ func (x *ReqPlayroomFlipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomFlipReward.ProtoReflect.Descriptor instead. func (*ReqPlayroomFlipReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{293} + return file_Gameapi_proto_rawDescGZIP(), []int{295} } type ResPlayroomFlipReward struct { @@ -16685,7 +16791,7 @@ type ResPlayroomFlipReward struct { func (x *ResPlayroomFlipReward) Reset() { *x = ResPlayroomFlipReward{} - mi := &file_Gameapi_proto_msgTypes[294] + mi := &file_Gameapi_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16697,7 +16803,7 @@ func (x *ResPlayroomFlipReward) String() string { func (*ResPlayroomFlipReward) ProtoMessage() {} func (x *ResPlayroomFlipReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[294] + mi := &file_Gameapi_proto_msgTypes[296] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16710,7 +16816,7 @@ func (x *ResPlayroomFlipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomFlipReward.ProtoReflect.Descriptor instead. func (*ResPlayroomFlipReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{294} + return file_Gameapi_proto_rawDescGZIP(), []int{296} } func (x *ResPlayroomFlipReward) GetCode() RES_CODE { @@ -16737,7 +16843,7 @@ type ReqPlayroomGame struct { func (x *ReqPlayroomGame) Reset() { *x = ReqPlayroomGame{} - mi := &file_Gameapi_proto_msgTypes[295] + mi := &file_Gameapi_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16749,7 +16855,7 @@ func (x *ReqPlayroomGame) String() string { func (*ReqPlayroomGame) ProtoMessage() {} func (x *ReqPlayroomGame) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[295] + mi := &file_Gameapi_proto_msgTypes[297] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16762,7 +16868,7 @@ func (x *ReqPlayroomGame) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomGame.ProtoReflect.Descriptor instead. func (*ReqPlayroomGame) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{295} + return file_Gameapi_proto_rawDescGZIP(), []int{297} } func (x *ReqPlayroomGame) GetType() int32 { @@ -16785,7 +16891,7 @@ type ResPlayroomGame struct { func (x *ResPlayroomGame) Reset() { *x = ResPlayroomGame{} - mi := &file_Gameapi_proto_msgTypes[296] + mi := &file_Gameapi_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16797,7 +16903,7 @@ func (x *ResPlayroomGame) String() string { func (*ResPlayroomGame) ProtoMessage() {} func (x *ResPlayroomGame) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[296] + mi := &file_Gameapi_proto_msgTypes[298] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16810,7 +16916,7 @@ func (x *ResPlayroomGame) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomGame.ProtoReflect.Descriptor instead. func (*ResPlayroomGame) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{296} + return file_Gameapi_proto_rawDescGZIP(), []int{298} } func (x *ResPlayroomGame) GetCode() RES_CODE { @@ -16852,7 +16958,7 @@ type ReqPlayroomInteract struct { func (x *ReqPlayroomInteract) Reset() { *x = ReqPlayroomInteract{} - mi := &file_Gameapi_proto_msgTypes[297] + mi := &file_Gameapi_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16864,7 +16970,7 @@ func (x *ReqPlayroomInteract) String() string { func (*ReqPlayroomInteract) ProtoMessage() {} func (x *ReqPlayroomInteract) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[297] + mi := &file_Gameapi_proto_msgTypes[299] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16877,7 +16983,7 @@ func (x *ReqPlayroomInteract) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomInteract.ProtoReflect.Descriptor instead. func (*ReqPlayroomInteract) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{297} + return file_Gameapi_proto_rawDescGZIP(), []int{299} } func (x *ReqPlayroomInteract) GetId() int32 { @@ -16905,7 +17011,7 @@ type ResPlayroomInteract struct { func (x *ResPlayroomInteract) Reset() { *x = ResPlayroomInteract{} - mi := &file_Gameapi_proto_msgTypes[298] + mi := &file_Gameapi_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16917,7 +17023,7 @@ func (x *ResPlayroomInteract) String() string { func (*ResPlayroomInteract) ProtoMessage() {} func (x *ResPlayroomInteract) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[298] + mi := &file_Gameapi_proto_msgTypes[300] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16930,7 +17036,7 @@ func (x *ResPlayroomInteract) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomInteract.ProtoReflect.Descriptor instead. func (*ResPlayroomInteract) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{298} + return file_Gameapi_proto_rawDescGZIP(), []int{300} } func (x *ResPlayroomInteract) GetCode() RES_CODE { @@ -16957,7 +17063,7 @@ type ReqPlayroomSetRoom struct { func (x *ReqPlayroomSetRoom) Reset() { *x = ReqPlayroomSetRoom{} - mi := &file_Gameapi_proto_msgTypes[299] + mi := &file_Gameapi_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16969,7 +17075,7 @@ func (x *ReqPlayroomSetRoom) String() string { func (*ReqPlayroomSetRoom) ProtoMessage() {} func (x *ReqPlayroomSetRoom) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[299] + mi := &file_Gameapi_proto_msgTypes[301] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16982,7 +17088,7 @@ func (x *ReqPlayroomSetRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomSetRoom.ProtoReflect.Descriptor instead. func (*ReqPlayroomSetRoom) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{299} + return file_Gameapi_proto_rawDescGZIP(), []int{301} } func (x *ReqPlayroomSetRoom) GetPlayroom() map[int32]int32 { @@ -17003,7 +17109,7 @@ type ResPlayroomSetRoom struct { func (x *ResPlayroomSetRoom) Reset() { *x = ResPlayroomSetRoom{} - mi := &file_Gameapi_proto_msgTypes[300] + mi := &file_Gameapi_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17015,7 +17121,7 @@ func (x *ResPlayroomSetRoom) String() string { func (*ResPlayroomSetRoom) ProtoMessage() {} func (x *ResPlayroomSetRoom) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[300] + mi := &file_Gameapi_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17028,7 +17134,7 @@ func (x *ResPlayroomSetRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomSetRoom.ProtoReflect.Descriptor instead. func (*ResPlayroomSetRoom) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{300} + return file_Gameapi_proto_rawDescGZIP(), []int{302} } func (x *ResPlayroomSetRoom) GetCode() RES_CODE { @@ -17055,7 +17161,7 @@ type ReqPlayroomSelectReward struct { func (x *ReqPlayroomSelectReward) Reset() { *x = ReqPlayroomSelectReward{} - mi := &file_Gameapi_proto_msgTypes[301] + mi := &file_Gameapi_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17067,7 +17173,7 @@ func (x *ReqPlayroomSelectReward) String() string { func (*ReqPlayroomSelectReward) ProtoMessage() {} func (x *ReqPlayroomSelectReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[301] + mi := &file_Gameapi_proto_msgTypes[303] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17080,7 +17186,7 @@ func (x *ReqPlayroomSelectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomSelectReward.ProtoReflect.Descriptor instead. func (*ReqPlayroomSelectReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{301} + return file_Gameapi_proto_rawDescGZIP(), []int{303} } func (x *ReqPlayroomSelectReward) GetId() int32 { @@ -17101,7 +17207,7 @@ type ResPlayroomSelectReward struct { func (x *ResPlayroomSelectReward) Reset() { *x = ResPlayroomSelectReward{} - mi := &file_Gameapi_proto_msgTypes[302] + mi := &file_Gameapi_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17113,7 +17219,7 @@ func (x *ResPlayroomSelectReward) String() string { func (*ResPlayroomSelectReward) ProtoMessage() {} func (x *ResPlayroomSelectReward) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[302] + mi := &file_Gameapi_proto_msgTypes[304] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17126,7 +17232,7 @@ func (x *ResPlayroomSelectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomSelectReward.ProtoReflect.Descriptor instead. func (*ResPlayroomSelectReward) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{302} + return file_Gameapi_proto_rawDescGZIP(), []int{304} } func (x *ResPlayroomSelectReward) GetCode() RES_CODE { @@ -17151,7 +17257,7 @@ type ReqPlayroomLose struct { func (x *ReqPlayroomLose) Reset() { *x = ReqPlayroomLose{} - mi := &file_Gameapi_proto_msgTypes[303] + mi := &file_Gameapi_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17163,7 +17269,7 @@ func (x *ReqPlayroomLose) String() string { func (*ReqPlayroomLose) ProtoMessage() {} func (x *ReqPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[303] + mi := &file_Gameapi_proto_msgTypes[305] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17176,7 +17282,7 @@ func (x *ReqPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomLose.ProtoReflect.Descriptor instead. func (*ReqPlayroomLose) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{303} + return file_Gameapi_proto_rawDescGZIP(), []int{305} } type ResPlayroomLose struct { @@ -17190,7 +17296,7 @@ type ResPlayroomLose struct { func (x *ResPlayroomLose) Reset() { *x = ResPlayroomLose{} - mi := &file_Gameapi_proto_msgTypes[304] + mi := &file_Gameapi_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17202,7 +17308,7 @@ func (x *ResPlayroomLose) String() string { func (*ResPlayroomLose) ProtoMessage() {} func (x *ResPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[304] + mi := &file_Gameapi_proto_msgTypes[306] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17215,7 +17321,7 @@ func (x *ResPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomLose.ProtoReflect.Descriptor instead. func (*ResPlayroomLose) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{304} + return file_Gameapi_proto_rawDescGZIP(), []int{306} } func (x *ResPlayroomLose) GetCode() RES_CODE { @@ -17241,7 +17347,7 @@ type ReqPlayroomWork struct { func (x *ReqPlayroomWork) Reset() { *x = ReqPlayroomWork{} - mi := &file_Gameapi_proto_msgTypes[305] + mi := &file_Gameapi_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17253,7 +17359,7 @@ func (x *ReqPlayroomWork) String() string { func (*ReqPlayroomWork) ProtoMessage() {} func (x *ReqPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[305] + mi := &file_Gameapi_proto_msgTypes[307] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17266,7 +17372,7 @@ func (x *ReqPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomWork.ProtoReflect.Descriptor instead. func (*ReqPlayroomWork) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{305} + return file_Gameapi_proto_rawDescGZIP(), []int{307} } type ResPlayroomWork struct { @@ -17280,7 +17386,7 @@ type ResPlayroomWork struct { func (x *ResPlayroomWork) Reset() { *x = ResPlayroomWork{} - mi := &file_Gameapi_proto_msgTypes[306] + mi := &file_Gameapi_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17292,7 +17398,7 @@ func (x *ResPlayroomWork) String() string { func (*ResPlayroomWork) ProtoMessage() {} func (x *ResPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[306] + mi := &file_Gameapi_proto_msgTypes[308] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17305,7 +17411,7 @@ func (x *ResPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomWork.ProtoReflect.Descriptor instead. func (*ResPlayroomWork) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{306} + return file_Gameapi_proto_rawDescGZIP(), []int{308} } func (x *ResPlayroomWork) GetCode() RES_CODE { @@ -17331,7 +17437,7 @@ type ReqPlayroomRest struct { func (x *ReqPlayroomRest) Reset() { *x = ReqPlayroomRest{} - mi := &file_Gameapi_proto_msgTypes[307] + mi := &file_Gameapi_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17343,7 +17449,7 @@ func (x *ReqPlayroomRest) String() string { func (*ReqPlayroomRest) ProtoMessage() {} func (x *ReqPlayroomRest) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[307] + mi := &file_Gameapi_proto_msgTypes[309] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17356,7 +17462,7 @@ func (x *ReqPlayroomRest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomRest.ProtoReflect.Descriptor instead. func (*ReqPlayroomRest) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{307} + return file_Gameapi_proto_rawDescGZIP(), []int{309} } type ResPlayroomRest struct { @@ -17370,7 +17476,7 @@ type ResPlayroomRest struct { func (x *ResPlayroomRest) Reset() { *x = ResPlayroomRest{} - mi := &file_Gameapi_proto_msgTypes[308] + mi := &file_Gameapi_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17382,7 +17488,7 @@ func (x *ResPlayroomRest) String() string { func (*ResPlayroomRest) ProtoMessage() {} func (x *ResPlayroomRest) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[308] + mi := &file_Gameapi_proto_msgTypes[310] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17395,7 +17501,7 @@ func (x *ResPlayroomRest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomRest.ProtoReflect.Descriptor instead. func (*ResPlayroomRest) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{308} + return file_Gameapi_proto_rawDescGZIP(), []int{310} } func (x *ResPlayroomRest) GetCode() RES_CODE { @@ -17420,7 +17526,7 @@ type ReqPlayroomDraw struct { func (x *ReqPlayroomDraw) Reset() { *x = ReqPlayroomDraw{} - mi := &file_Gameapi_proto_msgTypes[309] + mi := &file_Gameapi_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17432,7 +17538,7 @@ func (x *ReqPlayroomDraw) String() string { func (*ReqPlayroomDraw) ProtoMessage() {} func (x *ReqPlayroomDraw) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[309] + mi := &file_Gameapi_proto_msgTypes[311] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17445,7 +17551,7 @@ func (x *ReqPlayroomDraw) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomDraw.ProtoReflect.Descriptor instead. func (*ReqPlayroomDraw) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{309} + return file_Gameapi_proto_rawDescGZIP(), []int{311} } type ResPlayroomDraw struct { @@ -17460,7 +17566,7 @@ type ResPlayroomDraw struct { func (x *ResPlayroomDraw) Reset() { *x = ResPlayroomDraw{} - mi := &file_Gameapi_proto_msgTypes[310] + mi := &file_Gameapi_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17472,7 +17578,7 @@ func (x *ResPlayroomDraw) String() string { func (*ResPlayroomDraw) ProtoMessage() {} func (x *ResPlayroomDraw) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[310] + mi := &file_Gameapi_proto_msgTypes[312] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17485,7 +17591,7 @@ func (x *ResPlayroomDraw) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomDraw.ProtoReflect.Descriptor instead. func (*ResPlayroomDraw) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{310} + return file_Gameapi_proto_rawDescGZIP(), []int{312} } func (x *ResPlayroomDraw) GetCode() RES_CODE { @@ -17519,7 +17625,7 @@ type ReqPlayroomChip struct { func (x *ReqPlayroomChip) Reset() { *x = ReqPlayroomChip{} - mi := &file_Gameapi_proto_msgTypes[311] + mi := &file_Gameapi_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17531,7 +17637,7 @@ func (x *ReqPlayroomChip) String() string { func (*ReqPlayroomChip) ProtoMessage() {} func (x *ReqPlayroomChip) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[311] + mi := &file_Gameapi_proto_msgTypes[313] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17544,7 +17650,7 @@ func (x *ReqPlayroomChip) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomChip.ProtoReflect.Descriptor instead. func (*ReqPlayroomChip) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{311} + return file_Gameapi_proto_rawDescGZIP(), []int{313} } func (x *ReqPlayroomChip) GetNum() int32 { @@ -17565,7 +17671,7 @@ type ResPlayroomChip struct { func (x *ResPlayroomChip) Reset() { *x = ResPlayroomChip{} - mi := &file_Gameapi_proto_msgTypes[312] + mi := &file_Gameapi_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17577,7 +17683,7 @@ func (x *ResPlayroomChip) String() string { func (*ResPlayroomChip) ProtoMessage() {} func (x *ResPlayroomChip) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[312] + mi := &file_Gameapi_proto_msgTypes[314] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17590,7 +17696,7 @@ func (x *ResPlayroomChip) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomChip.ProtoReflect.Descriptor instead. func (*ResPlayroomChip) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{312} + return file_Gameapi_proto_rawDescGZIP(), []int{314} } func (x *ResPlayroomChip) GetCode() RES_CODE { @@ -17617,7 +17723,7 @@ type ReqPlayroomBuyItem struct { func (x *ReqPlayroomBuyItem) Reset() { *x = ReqPlayroomBuyItem{} - mi := &file_Gameapi_proto_msgTypes[313] + mi := &file_Gameapi_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17629,7 +17735,7 @@ func (x *ReqPlayroomBuyItem) String() string { func (*ReqPlayroomBuyItem) ProtoMessage() {} func (x *ReqPlayroomBuyItem) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[313] + mi := &file_Gameapi_proto_msgTypes[315] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17642,7 +17748,7 @@ func (x *ReqPlayroomBuyItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomBuyItem.ProtoReflect.Descriptor instead. func (*ReqPlayroomBuyItem) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{313} + return file_Gameapi_proto_rawDescGZIP(), []int{315} } func (x *ReqPlayroomBuyItem) GetId() int32 { @@ -17663,7 +17769,7 @@ type ResPlayroomBuyItem struct { func (x *ResPlayroomBuyItem) Reset() { *x = ResPlayroomBuyItem{} - mi := &file_Gameapi_proto_msgTypes[314] + mi := &file_Gameapi_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17675,7 +17781,7 @@ func (x *ResPlayroomBuyItem) String() string { func (*ResPlayroomBuyItem) ProtoMessage() {} func (x *ResPlayroomBuyItem) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[314] + mi := &file_Gameapi_proto_msgTypes[316] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17688,7 +17794,7 @@ func (x *ResPlayroomBuyItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomBuyItem.ProtoReflect.Descriptor instead. func (*ResPlayroomBuyItem) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{314} + return file_Gameapi_proto_rawDescGZIP(), []int{316} } func (x *ResPlayroomBuyItem) GetCode() RES_CODE { @@ -17714,7 +17820,7 @@ type ReqFriendTreasure struct { func (x *ReqFriendTreasure) Reset() { *x = ReqFriendTreasure{} - mi := &file_Gameapi_proto_msgTypes[315] + mi := &file_Gameapi_proto_msgTypes[317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17726,7 +17832,7 @@ func (x *ReqFriendTreasure) String() string { func (*ReqFriendTreasure) ProtoMessage() {} func (x *ReqFriendTreasure) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[315] + mi := &file_Gameapi_proto_msgTypes[317] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17739,7 +17845,7 @@ func (x *ReqFriendTreasure) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasure.ProtoReflect.Descriptor instead. func (*ReqFriendTreasure) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{315} + return file_Gameapi_proto_rawDescGZIP(), []int{317} } type ResFriendTreasure struct { @@ -17756,7 +17862,7 @@ type ResFriendTreasure struct { func (x *ResFriendTreasure) Reset() { *x = ResFriendTreasure{} - mi := &file_Gameapi_proto_msgTypes[316] + mi := &file_Gameapi_proto_msgTypes[318] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17768,7 +17874,7 @@ func (x *ResFriendTreasure) String() string { func (*ResFriendTreasure) ProtoMessage() {} func (x *ResFriendTreasure) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[316] + mi := &file_Gameapi_proto_msgTypes[318] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17781,7 +17887,7 @@ func (x *ResFriendTreasure) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasure.ProtoReflect.Descriptor instead. func (*ResFriendTreasure) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{316} + return file_Gameapi_proto_rawDescGZIP(), []int{318} } func (x *ResFriendTreasure) GetStatus() int32 { @@ -17835,7 +17941,7 @@ type TreasureInfo struct { func (x *TreasureInfo) Reset() { *x = TreasureInfo{} - mi := &file_Gameapi_proto_msgTypes[317] + mi := &file_Gameapi_proto_msgTypes[319] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17847,7 +17953,7 @@ func (x *TreasureInfo) String() string { func (*TreasureInfo) ProtoMessage() {} func (x *TreasureInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[317] + mi := &file_Gameapi_proto_msgTypes[319] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17860,7 +17966,7 @@ func (x *TreasureInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TreasureInfo.ProtoReflect.Descriptor instead. func (*TreasureInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{317} + return file_Gameapi_proto_rawDescGZIP(), []int{319} } func (x *TreasureInfo) GetPos() int32 { @@ -17923,7 +18029,7 @@ type ReqFriendTreasureStart struct { func (x *ReqFriendTreasureStart) Reset() { *x = ReqFriendTreasureStart{} - mi := &file_Gameapi_proto_msgTypes[318] + mi := &file_Gameapi_proto_msgTypes[320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17935,7 +18041,7 @@ func (x *ReqFriendTreasureStart) String() string { func (*ReqFriendTreasureStart) ProtoMessage() {} func (x *ReqFriendTreasureStart) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[318] + mi := &file_Gameapi_proto_msgTypes[320] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17948,7 +18054,7 @@ func (x *ReqFriendTreasureStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureStart.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureStart) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{318} + return file_Gameapi_proto_rawDescGZIP(), []int{320} } func (x *ReqFriendTreasureStart) GetList() []*TreasureInfo { @@ -17976,7 +18082,7 @@ type ResFriendTreasureStart struct { func (x *ResFriendTreasureStart) Reset() { *x = ResFriendTreasureStart{} - mi := &file_Gameapi_proto_msgTypes[319] + mi := &file_Gameapi_proto_msgTypes[321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17988,7 +18094,7 @@ func (x *ResFriendTreasureStart) String() string { func (*ResFriendTreasureStart) ProtoMessage() {} func (x *ResFriendTreasureStart) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[319] + mi := &file_Gameapi_proto_msgTypes[321] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18001,7 +18107,7 @@ func (x *ResFriendTreasureStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureStart.ProtoReflect.Descriptor instead. func (*ResFriendTreasureStart) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{319} + return file_Gameapi_proto_rawDescGZIP(), []int{321} } func (x *ResFriendTreasureStart) GetCode() RES_CODE { @@ -18026,7 +18132,7 @@ type ReqFriendTreasureEnd struct { func (x *ReqFriendTreasureEnd) Reset() { *x = ReqFriendTreasureEnd{} - mi := &file_Gameapi_proto_msgTypes[320] + mi := &file_Gameapi_proto_msgTypes[322] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18038,7 +18144,7 @@ func (x *ReqFriendTreasureEnd) String() string { func (*ReqFriendTreasureEnd) ProtoMessage() {} func (x *ReqFriendTreasureEnd) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[320] + mi := &file_Gameapi_proto_msgTypes[322] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18051,7 +18157,7 @@ func (x *ReqFriendTreasureEnd) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureEnd.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureEnd) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{320} + return file_Gameapi_proto_rawDescGZIP(), []int{322} } type ResFriendTreasureEnd struct { @@ -18065,7 +18171,7 @@ type ResFriendTreasureEnd struct { func (x *ResFriendTreasureEnd) Reset() { *x = ResFriendTreasureEnd{} - mi := &file_Gameapi_proto_msgTypes[321] + mi := &file_Gameapi_proto_msgTypes[323] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18077,7 +18183,7 @@ func (x *ResFriendTreasureEnd) String() string { func (*ResFriendTreasureEnd) ProtoMessage() {} func (x *ResFriendTreasureEnd) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[321] + mi := &file_Gameapi_proto_msgTypes[323] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18090,7 +18196,7 @@ func (x *ResFriendTreasureEnd) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureEnd.ProtoReflect.Descriptor instead. func (*ResFriendTreasureEnd) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{321} + return file_Gameapi_proto_rawDescGZIP(), []int{323} } func (x *ResFriendTreasureEnd) GetCode() RES_CODE { @@ -18117,7 +18223,7 @@ type ReqFriendTreasureFilp struct { func (x *ReqFriendTreasureFilp) Reset() { *x = ReqFriendTreasureFilp{} - mi := &file_Gameapi_proto_msgTypes[322] + mi := &file_Gameapi_proto_msgTypes[324] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18129,7 +18235,7 @@ func (x *ReqFriendTreasureFilp) String() string { func (*ReqFriendTreasureFilp) ProtoMessage() {} func (x *ReqFriendTreasureFilp) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[322] + mi := &file_Gameapi_proto_msgTypes[324] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18142,7 +18248,7 @@ func (x *ReqFriendTreasureFilp) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureFilp.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureFilp) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{322} + return file_Gameapi_proto_rawDescGZIP(), []int{324} } func (x *ReqFriendTreasureFilp) GetPos() int32 { @@ -18163,7 +18269,7 @@ type ResFriendTreasureFilp struct { func (x *ResFriendTreasureFilp) Reset() { *x = ResFriendTreasureFilp{} - mi := &file_Gameapi_proto_msgTypes[323] + mi := &file_Gameapi_proto_msgTypes[325] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18175,7 +18281,7 @@ func (x *ResFriendTreasureFilp) String() string { func (*ResFriendTreasureFilp) ProtoMessage() {} func (x *ResFriendTreasureFilp) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[323] + mi := &file_Gameapi_proto_msgTypes[325] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18188,7 +18294,7 @@ func (x *ResFriendTreasureFilp) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureFilp.ProtoReflect.Descriptor instead. func (*ResFriendTreasureFilp) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{323} + return file_Gameapi_proto_rawDescGZIP(), []int{325} } func (x *ResFriendTreasureFilp) GetCode() RES_CODE { @@ -18215,7 +18321,7 @@ type ResFriendTreasureStar struct { func (x *ResFriendTreasureStar) Reset() { *x = ResFriendTreasureStar{} - mi := &file_Gameapi_proto_msgTypes[324] + mi := &file_Gameapi_proto_msgTypes[326] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18227,7 +18333,7 @@ func (x *ResFriendTreasureStar) String() string { func (*ResFriendTreasureStar) ProtoMessage() {} func (x *ResFriendTreasureStar) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[324] + mi := &file_Gameapi_proto_msgTypes[326] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18240,7 +18346,7 @@ func (x *ResFriendTreasureStar) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureStar.ProtoReflect.Descriptor instead. func (*ResFriendTreasureStar) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{324} + return file_Gameapi_proto_rawDescGZIP(), []int{326} } func (x *ResFriendTreasureStar) GetStar() int32 { @@ -18261,7 +18367,7 @@ type ReqKafkaLog struct { func (x *ReqKafkaLog) Reset() { *x = ReqKafkaLog{} - mi := &file_Gameapi_proto_msgTypes[325] + mi := &file_Gameapi_proto_msgTypes[327] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18273,7 +18379,7 @@ func (x *ReqKafkaLog) String() string { func (*ReqKafkaLog) ProtoMessage() {} func (x *ReqKafkaLog) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[325] + mi := &file_Gameapi_proto_msgTypes[327] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18286,7 +18392,7 @@ func (x *ReqKafkaLog) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqKafkaLog.ProtoReflect.Descriptor instead. func (*ReqKafkaLog) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{325} + return file_Gameapi_proto_rawDescGZIP(), []int{327} } func (x *ReqKafkaLog) GetEvent() string { @@ -18315,7 +18421,7 @@ type AdminReq struct { func (x *AdminReq) Reset() { *x = AdminReq{} - mi := &file_Gameapi_proto_msgTypes[326] + mi := &file_Gameapi_proto_msgTypes[328] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18327,7 +18433,7 @@ func (x *AdminReq) String() string { func (*AdminReq) ProtoMessage() {} func (x *AdminReq) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[326] + mi := &file_Gameapi_proto_msgTypes[328] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18340,7 +18446,7 @@ func (x *AdminReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminReq.ProtoReflect.Descriptor instead. func (*AdminReq) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{326} + return file_Gameapi_proto_rawDescGZIP(), []int{328} } func (x *AdminReq) GetFunc() string { @@ -18368,7 +18474,7 @@ type AdminRes struct { func (x *AdminRes) Reset() { *x = AdminRes{} - mi := &file_Gameapi_proto_msgTypes[327] + mi := &file_Gameapi_proto_msgTypes[329] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18380,7 +18486,7 @@ func (x *AdminRes) String() string { func (*AdminRes) ProtoMessage() {} func (x *AdminRes) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[327] + mi := &file_Gameapi_proto_msgTypes[329] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18393,7 +18499,7 @@ func (x *AdminRes) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminRes.ProtoReflect.Descriptor instead. func (*AdminRes) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{327} + return file_Gameapi_proto_rawDescGZIP(), []int{329} } func (x *AdminRes) GetFunc() string { @@ -18420,7 +18526,7 @@ type ReqAdminInfo struct { func (x *ReqAdminInfo) Reset() { *x = ReqAdminInfo{} - mi := &file_Gameapi_proto_msgTypes[328] + mi := &file_Gameapi_proto_msgTypes[330] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18432,7 +18538,7 @@ func (x *ReqAdminInfo) String() string { func (*ReqAdminInfo) ProtoMessage() {} func (x *ReqAdminInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[328] + mi := &file_Gameapi_proto_msgTypes[330] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18445,7 +18551,7 @@ func (x *ReqAdminInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAdminInfo.ProtoReflect.Descriptor instead. func (*ReqAdminInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{328} + return file_Gameapi_proto_rawDescGZIP(), []int{330} } func (x *ReqAdminInfo) GetUid() int64 { @@ -18463,7 +18569,7 @@ type ReqServerInfo struct { func (x *ReqServerInfo) Reset() { *x = ReqServerInfo{} - mi := &file_Gameapi_proto_msgTypes[329] + mi := &file_Gameapi_proto_msgTypes[331] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18475,7 +18581,7 @@ func (x *ReqServerInfo) String() string { func (*ReqServerInfo) ProtoMessage() {} func (x *ReqServerInfo) ProtoReflect() protoreflect.Message { - mi := &file_Gameapi_proto_msgTypes[329] + mi := &file_Gameapi_proto_msgTypes[331] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18488,7 +18594,7 @@ func (x *ReqServerInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqServerInfo.ProtoReflect.Descriptor instead. func (*ReqServerInfo) Descriptor() ([]byte, []int) { - return file_Gameapi_proto_rawDescGZIP(), []int{329} + return file_Gameapi_proto_rawDescGZIP(), []int{331} } var File_Gameapi_proto protoreflect.FileDescriptor @@ -18756,1743 +18862,1759 @@ var file_Gameapi_proto_rawDesc = []byte{ 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xbd, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x12, - 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x0a, 0x6d, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x43, - 0x68, 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x2e, 0x4d, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, - 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, - 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x47, 0x65, - 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x12, 0x26, - 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, - 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xff, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x71, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x6c, 0x64, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4f, 0x6c, 0x64, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x65, 0x77, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x44, - 0x69, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, - 0x61, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x2e, - 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x46, 0x0a, 0x0a, 0x52, 0x65, - 0x73, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x22, 0xb3, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x43, 0x68, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, - 0x48, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x65, 0x71, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x43, - 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x53, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x22, 0x8f, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, - 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x4f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, - 0x65, 0x77, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x4e, 0x65, 0x77, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, - 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, - 0x73, 0x74, 0x44, 0x69, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x6d, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x43, 0x68, 0x65, - 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, - 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, - 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x8e, 0x01, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x42, 0x61, 0x67, 0x12, 0x3c, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, - 0x72, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, - 0x69, 0x64, 0x52, 0x0d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, - 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x75, 0x79, 0x43, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x75, 0x79, - 0x43, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x73, 0x73, 0x46, 0x72, 0x65, 0x65, - 0x43, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x46, 0x72, 0x65, 0x65, 0x43, 0x6e, 0x74, 0x22, 0x50, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x22, 0xe5, 0x01, 0x0a, 0x10, 0x52, 0x65, - 0x71, 0x50, 0x75, 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x67, 0x12, 0x18, - 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x61, 0x67, 0x49, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, 0x61, 0x67, 0x49, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x45, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x75, 0x74, 0x43, 0x68, 0x65, 0x73, - 0x73, 0x49, 0x6e, 0x42, 0x61, 0x67, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xb7, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x53, + 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, + 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, + 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x50, 0x75, 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x49, 0x6e, 0x42, 0x61, 0x67, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x68, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0xb7, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x4f, 0x75, 0x74, 0x42, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x61, 0x67, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, 0x61, 0x67, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0a, - 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x54, - 0x61, 0x6b, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4f, 0x75, 0x74, 0x42, 0x61, 0x67, 0x2e, 0x4d, + 0xbd, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, 0x46, + 0x72, 0x6f, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, + 0x64, 0x12, 0x4d, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, 0x46, 0x72, 0x6f, 0x6d, + 0x42, 0x75, 0x66, 0x66, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, 0x46, 0x72, + 0x6f, 0x6d, 0x42, 0x75, 0x66, 0x66, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x22, 0xff, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x12, + 0x1e, 0x0a, 0x0a, 0x4f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, + 0x1e, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x65, 0x77, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, + 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, + 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, + 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x46, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, + 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xb3, 0x01, 0x0a, 0x0e, 0x52, + 0x65, 0x71, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x43, 0x68, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x43, 0x68, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, + 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x8f, 0x02, 0x0a, + 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4f, 0x75, 0x74, 0x6c, + 0x69, 0x6e, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4f, 0x6c, 0x64, 0x43, 0x68, 0x65, 0x73, + 0x73, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x65, 0x77, 0x43, 0x68, 0x65, 0x73, + 0x73, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x12, 0x12, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4f, 0x75, 0x74, 0x6c, + 0x69, 0x6e, 0x65, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, + 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, + 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4f, 0x75, 0x74, + 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, + 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x8e, + 0x01, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x12, 0x3c, 0x0a, 0x0d, 0x43, + 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x43, 0x68, + 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x52, 0x0d, 0x43, 0x68, 0x65, 0x73, + 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x68, 0x65, + 0x73, 0x73, 0x42, 0x75, 0x79, 0x43, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x75, 0x79, 0x43, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x43, + 0x68, 0x65, 0x73, 0x73, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x43, 0x68, 0x65, 0x73, 0x73, 0x46, 0x72, 0x65, 0x65, 0x43, 0x6e, 0x74, 0x22, + 0x50, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6d, 0x69, + 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x6d, 0x69, 0x74, 0x49, + 0x64, 0x22, 0xe5, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x50, 0x75, 0x74, 0x43, 0x68, 0x65, 0x73, + 0x73, 0x49, 0x6e, 0x42, 0x61, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x42, 0x61, 0x67, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x42, 0x61, 0x67, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x6d, 0x69, 0x74, 0x49, 0x64, 0x12, 0x4a, + 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x71, 0x50, 0x75, 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x67, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, - 0x54, 0x61, 0x6b, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4f, 0x75, 0x74, 0x42, 0x61, 0x67, 0x12, - 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x71, - 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x22, - 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, - 0x67, 0x47, 0x72, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x2c, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x22, 0xa2, 0x02, - 0x0a, 0x14, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, - 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x69, 0x63, 0x55, - 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x69, 0x63, 0x55, 0x52, 0x4c, - 0x12, 0x20, 0x0a, 0x0b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x72, 0x61, - 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x63, 0x6f, 0x6e, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x63, - 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, - 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, - 0x72, 0x69, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, - 0x14, 0x0a, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x64, 0x77, 0x55, 0x69, 0x6e, 0x22, 0xe5, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, - 0x61, 0x74, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x65, - 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x69, 0x63, 0x55, 0x52, 0x4c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, 0x69, 0x63, 0x55, 0x52, 0x4c, 0x12, 0x1e, 0x0a, - 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x2f, 0x0a, - 0x0f, 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, 0x6c, - 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, 0x6c, 0x22, 0x57, - 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, - 0x6c, 0x12, 0x32, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x82, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, - 0x75, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x75, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x49, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, - 0x75, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x75, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x75, 0x79, - 0x12, 0x1a, 0x0a, 0x08, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x41, 0x44, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x41, 0x44, 0x22, 0x0d, 0x0a, 0x0b, - 0x52, 0x65, 0x71, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x9c, 0x02, 0x0a, 0x08, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, - 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, - 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, - 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, - 0x65, 0x43, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x0a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x46, 0x61, - 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x08, 0x46, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x12, 0x18, 0x0a, 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x0a, 0x0a, 0x52, 0x65, - 0x71, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x0a, - 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, - 0x22, 0x23, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x55, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, - 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x0a, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x26, 0x0a, 0x0c, - 0x52, 0x65, 0x71, 0x42, 0x75, 0x79, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x22, 0x48, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x42, 0x75, 0x79, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, - 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x12, - 0x0a, 0x10, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x79, - 0x41, 0x44, 0x22, 0x4c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, - 0x67, 0x79, 0x42, 0x79, 0x41, 0x44, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, - 0x22, 0x30, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, - 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, - 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x49, 0x64, 0x22, 0x40, 0x0a, 0x0c, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x40, 0x0a, 0x08, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, - 0x12, 0x34, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x48, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x48, 0x61, 0x6e, - 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, - 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, - 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, - 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xb3, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x71, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, - 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, - 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, - 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x45, 0x0a, 0x05, 0x4f, 0x72, - 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x22, 0x3d, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, - 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x0b, 0x6d, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, 0x0a, - 0x0b, 0x52, 0x65, 0x71, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x72, - 0x65, 0x61, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, - 0x74, 0x65, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x44, 0x65, 0x63, 0x6f, 0x72, - 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x10, 0x0a, - 0x0e, 0x52, 0x65, 0x71, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x22, - 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6c, - 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x3c, 0x0a, 0x0c, 0x52, - 0x65, 0x71, 0x47, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x22, 0x2c, 0x0a, 0x04, 0x43, 0x61, 0x72, - 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0d, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x43, 0x61, - 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb1, 0x04, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x43, 0x61, - 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x45, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x45, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, - 0x71, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x65, - 0x71, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x72, - 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, - 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x41, 0x6c, 0x6c, - 0x43, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x52, 0x65, 0x71, 0x55, 0x69, 0x64, 0x18, 0x09, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, - 0x52, 0x65, 0x71, 0x55, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x55, 0x69, 0x64, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x45, 0x78, 0x55, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, - 0x47, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, - 0x75, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, - 0x12, 0x3f, 0x0a, 0x08, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x0d, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, - 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, - 0x6f, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, - 0x6b, 0x1a, 0x3a, 0x0a, 0x0c, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, - 0x0d, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x12, 0x52, - 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x45, 0x78, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, - 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, - 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x71, 0x55, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x52, 0x65, 0x71, 0x55, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x45, 0x78, 0x55, 0x69, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, - 0x45, 0x78, 0x55, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x48, 0x61, - 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x48, - 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x52, 0x65, 0x73, + 0x50, 0x75, 0x74, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x42, 0x61, 0x67, 0x12, 0x26, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, - 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x7d, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x4d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x43, 0x61, - 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x21, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x45, 0x78, - 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, - 0x73, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x41, 0x6c, - 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4f, - 0x0a, 0x13, 0x52, 0x65, 0x73, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, - 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x43, - 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, - 0x67, 0x22, 0x22, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x41, 0x67, 0x72, 0x65, 0x65, 0x43, 0x61, 0x72, - 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x41, 0x67, 0x72, 0x65, - 0x65, 0x43, 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, - 0x43, 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x52, - 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x6e, 0x64, 0x12, - 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x3b, 0x0a, 0x0f, 0x52, 0x65, 0x71, - 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, - 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x22, 0x3f, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x41, 0x67, - 0x72, 0x65, 0x65, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, - 0x60, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x43, 0x61, 0x72, 0x64, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, - 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, - 0x64, 0x22, 0x25, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, - 0x72, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x52, - 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, - 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, 0x71, - 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x49, 0x64, 0x22, 0x61, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, - 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x74, 0x0a, 0x10, 0x52, 0x65, 0x73, - 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, - 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x6c, 0x64, 0x43, 0x61, 0x72, - 0x64, 0x22, 0x38, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x47, 0x6f, 0x6c, 0x64, 0x43, - 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x04, 0x46, 0x6f, 0x75, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x69, 0x76, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x69, 0x76, 0x65, 0x22, 0x20, 0x0a, 0x0e, 0x52, - 0x65, 0x71, 0x47, 0x75, 0x69, 0x64, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4a, 0x0a, - 0x0e, 0x52, 0x65, 0x73, 0x47, 0x75, 0x69, 0x64, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, - 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x52, 0x65, - 0x73, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x06, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, - 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xb7, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x54, + 0x61, 0x6b, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4f, 0x75, 0x74, 0x42, 0x61, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x42, 0x61, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, + 0x61, 0x67, 0x49, 0x64, 0x12, 0x4c, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, + 0x4f, 0x75, 0x74, 0x42, 0x61, 0x67, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, + 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x70, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, - 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x09, 0x43, 0x61, - 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, - 0x6b, 0x52, 0x09, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x61, 0x62, - 0x6c, 0x65, 0x22, 0x2c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, - 0x22, 0x2e, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x43, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x43, 0x61, 0x72, 0x64, - 0x22, 0x8c, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, - 0x6b, 0x12, 0x46, 0x0a, 0x0a, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x2e, 0x52, 0x65, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x57, 0x65, - 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x57, - 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x43, 0x0a, 0x09, 0x44, 0x61, 0x69, - 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, - 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, - 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x61, 0x79, 0x45, 0x6e, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x44, 0x61, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x18, - 0x0a, 0x07, 0x57, 0x65, 0x65, 0x6b, 0x45, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x57, 0x65, 0x65, 0x6b, 0x45, 0x6e, 0x64, 0x1a, 0x52, 0x0a, 0x0f, 0x57, 0x65, 0x65, 0x6b, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, - 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x0e, - 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, - 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x6d, 0x0a, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x28, 0x0a, 0x05, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x9a, - 0x01, 0x0a, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x08, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x7d, 0x0a, 0x0d, 0x51, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, - 0x71, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, - 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, + 0x01, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x54, 0x61, 0x6b, 0x65, 0x43, 0x68, 0x65, 0x73, + 0x73, 0x4f, 0x75, 0x74, 0x42, 0x61, 0x67, 0x12, 0x26, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, + 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x42, 0x75, + 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x12, 0x26, 0x0a, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, + 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2c, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x14, 0x0a, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x64, 0x77, 0x55, 0x69, 0x6e, 0x22, 0xa2, 0x02, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, + 0x0a, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, + 0x77, 0x55, 0x69, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, + 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x63, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x63, + 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, + 0x65, 0x43, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x50, 0x69, 0x63, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x50, 0x69, 0x63, 0x55, 0x52, 0x4c, 0x12, 0x20, 0x0a, 0x0b, 0x55, 0x6e, 0x6c, 0x6f, + 0x63, 0x6b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x55, + 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x6e, + 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x19, 0x52, 0x65, + 0x71, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x22, 0xe5, 0x01, + 0x0a, 0x19, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x42, 0x72, 0x69, 0x65, 0x66, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x64, + 0x77, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, 0x77, 0x55, 0x69, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x46, 0x72, 0x61, 0x6d, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x12, + 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x50, 0x69, 0x63, 0x55, 0x52, 0x4c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x50, + 0x69, 0x63, 0x55, 0x52, 0x4c, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x45, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x65, 0x72, + 0x67, 0x79, 0x4d, 0x75, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x45, 0x6e, 0x65, + 0x72, 0x67, 0x79, 0x4d, 0x75, 0x6c, 0x22, 0x57, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, + 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, 0x6c, 0x12, 0x32, 0x0a, 0x0a, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, + 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, + 0x82, 0x01, 0x0a, 0x08, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, + 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x4d, 0x75, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x49, 0x73, + 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x75, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x49, 0x73, 0x46, 0x69, 0x72, 0x73, 0x74, 0x42, 0x75, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x42, 0x75, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x45, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x75, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x45, 0x6e, 0x65, 0x72, + 0x67, 0x79, 0x41, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x45, 0x6e, 0x65, 0x72, + 0x67, 0x79, 0x41, 0x44, 0x22, 0x0d, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x22, 0x9c, 0x02, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, + 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, + 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x0a, + 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x41, 0x76, 0x61, 0x74, + 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x08, 0x46, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x46, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x46, 0x61, 0x63, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x65, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x22, 0x20, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x23, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x53, + 0x65, 0x74, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x55, 0x0a, + 0x0d, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, + 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, + 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x4d, 0x73, 0x67, 0x22, 0x26, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x42, 0x75, 0x79, 0x45, 0x6e, + 0x65, 0x72, 0x67, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x48, 0x0a, 0x0c, + 0x52, 0x65, 0x73, 0x42, 0x75, 0x79, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, - 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, - 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x55, 0x6e, - 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, - 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, - 0x22, 0x53, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x46, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x2e, 0x0a, 0x08, 0x46, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x46, 0x61, 0x63, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x46, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x53, 0x65, 0x74, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x08, 0x46, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x20, 0x0a, 0x0a, 0x52, - 0x65, 0x71, 0x53, 0x65, 0x74, 0x46, 0x61, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x22, 0x46, 0x0a, - 0x0a, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x46, 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x5b, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x41, 0x76, 0x61, 0x74, - 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x0a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x0a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x65, 0x74, - 0x49, 0x64, 0x22, 0x36, 0x0a, 0x0a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x0c, 0x52, 0x65, - 0x71, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, - 0x61, 0x74, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, - 0x61, 0x72, 0x22, 0x48, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, - 0x61, 0x72, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xb9, 0x01, 0x0a, - 0x0d, 0x52, 0x65, 0x73, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x3a, - 0x0a, 0x0a, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x53, 0x65, - 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x0a, - 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x4d, 0x6f, - 0x6e, 0x74, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x6e, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x0b, 0x4d, 0x6f, 0x6e, - 0x74, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x49, 0x73, 0x42, 0x61, 0x63, 0x6b, 0x22, 0xb8, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x76, - 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, - 0x05, 0x49, 0x74, 0x65, 0x6d, 0x31, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x31, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x32, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, - 0x32, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x33, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x53, 0x65, 0x76, - 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x52, 0x0a, - 0x16, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, - 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, - 0x67, 0x22, 0x28, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, - 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x16, 0x52, - 0x65, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, - 0x45, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x36, - 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x41, 0x63, - 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, - 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x52, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x52, 0x65, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0xbd, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x53, 0x0a, 0x0e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x57, 0x0a, 0x13, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4c, - 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf5, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, - 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x78, - 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x0e, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x41, 0x0a, 0x13, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x13, - 0x52, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x53, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x52, - 0x65, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x36, 0x0a, 0x0a, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x43, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x43, 0x64, 0x22, 0x60, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x43, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x43, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4f, 0x0a, - 0x13, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, - 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x4e, - 0x0a, 0x12, 0x52, 0x65, 0x73, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x2e, - 0x0a, 0x14, 0x52, 0x65, 0x71, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x50, - 0x0a, 0x14, 0x52, 0x65, 0x73, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, + 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, + 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x79, 0x41, 0x44, 0x22, 0x4c, 0x0a, 0x10, 0x52, 0x65, + 0x73, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x79, 0x41, 0x44, 0x12, 0x26, + 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, + 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x30, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x47, + 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x40, 0x0a, 0x0c, 0x48, 0x61, + 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, + 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, + 0x73, 0x73, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x40, 0x0a, 0x08, + 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x12, 0x34, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x73, 0x22, 0x50, + 0x0a, 0x14, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, - 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x54, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, - 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xe3, 0x01, 0x0a, 0x0f, - 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, - 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, - 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x63, 0x6f, 0x72, - 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x44, 0x65, 0x63, 0x6f, 0x72, - 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x67, - 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, - 0x6b, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, - 0x61, 0x6e, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, - 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, - 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, - 0x6f, 0x67, 0x12, 0x31, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, - 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x2a, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x69, 0x6e, - 0x66, 0x6f, 0x22, 0x3f, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2b, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x04, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0xfb, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, - 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x45, 0x78, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x45, 0x78, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, - 0x64, 0x22, 0x2f, 0x0a, 0x05, 0x52, 0x65, 0x71, 0x4b, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x67, 0x0a, 0x05, 0x52, 0x65, 0x73, 0x4b, 0x76, 0x12, 0x27, 0x0a, 0x02, 0x6b, - 0x76, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4b, 0x76, 0x2e, 0x4b, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x02, 0x6b, 0x76, 0x1a, 0x35, 0x0a, 0x07, 0x4b, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x14, 0x0a, 0x12, 0x52, - 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, - 0x64, 0x22, 0x43, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, - 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, - 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x26, - 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, - 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4a, 0x0a, 0x0d, 0x52, 0x65, 0x73, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x22, 0x4c, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x70, 0x70, - 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x41, 0x70, 0x70, 0x6c, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5b, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, - 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, - 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, - 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, - 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x22, 0x45, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x31, 0x0a, 0x07, 0x4d, 0x73, - 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x07, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x13, 0x0a, - 0x11, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, - 0x6e, 0x65, 0x22, 0x3d, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67, 0x52, 0x03, 0x4c, 0x6f, - 0x67, 0x22, 0x71, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, - 0x70, 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x31, 0x0a, 0x06, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, - 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x54, 0x69, 0x6d, 0x65, 0x22, 0x22, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, 0x79, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x41, - 0x70, 0x70, 0x6c, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x4d, 0x73, 0x67, 0x22, 0x22, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x41, 0x67, 0x72, 0x65, 0x65, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, - 0x41, 0x67, 0x72, 0x65, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, - 0x6c, 0x65, 0x52, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, - 0x71, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, - 0x5d, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, - 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x20, - 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x44, 0x65, 0x6c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, - 0x22, 0x5a, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x07, - 0x52, 0x65, 0x71, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x07, - 0x52, 0x65, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x52, - 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x52, 0x61, 0x6e, 0x6b, - 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, - 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x79, 0x52, 0x61, - 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4d, 0x79, 0x52, 0x61, 0x6e, 0x6b, - 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x07, 0x4d, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x56, 0x0a, 0x0d, 0x52, 0x61, - 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, - 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x0d, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, - 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x65, 0x73, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, - 0x73, 0x74, 0x1a, 0x4f, 0x0a, 0x0d, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xa0, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x05, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x4d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4d, 0x61, - 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x1d, 0x0a, 0x0b, - 0x52, 0x65, 0x71, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x0b, 0x52, - 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x4d, 0x61, - 0x69, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x47, - 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x59, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x22, 0xa1, 0x04, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, - 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, - 0x0a, 0x05, 0x46, 0x69, 0x72, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x46, - 0x69, 0x72, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x53, - 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2e, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, - 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x40, 0x0a, 0x09, 0x43, 0x68, 0x65, 0x73, - 0x73, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, - 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x09, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x31, 0x0a, 0x04, 0x47, 0x69, - 0x66, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2e, 0x47, 0x69, - 0x66, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x47, 0x69, 0x66, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x41, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x41, 0x64, 0x1a, 0x58, 0x0a, - 0x10, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, - 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x53, 0x68, 0x6f, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, - 0x6f, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, - 0x09, 0x47, 0x69, 0x66, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x53, 0x70, 0x65, - 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x43, 0x68, 0x65, 0x73, 0x73, - 0x53, 0x68, 0x6f, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x0d, - 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x22, 0x47, 0x0a, - 0x0b, 0x52, 0x65, 0x73, 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x26, 0x0a, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x21, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x42, 0x75, 0x79, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, - 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x26, 0x0a, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xad, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x42, 0x75, - 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6d, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x42, 0x75, - 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x32, 0x2e, 0x4d, 0x43, 0x68, 0x65, + 0x22, 0xb3, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x48, 0x0a, + 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x42, 0x75, 0x79, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x32, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x4d, 0x73, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x52, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x22, 0x4f, 0x0a, 0x13, 0x52, - 0x65, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, - 0x6f, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, - 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x0c, 0x0a, 0x0a, - 0x52, 0x65, 0x71, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0a, 0x52, - 0x65, 0x73, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0b, 0x45, 0x6e, 0x64, - 0x6c, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x45, 0x6e, 0x64, - 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x1a, 0x58, 0x0a, 0x10, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, 0x0e, - 0x52, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, - 0x0a, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, - 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x45, - 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4c, 0x0a, 0x10, - 0x52, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x6c, 0x0a, 0x0c, 0x52, 0x65, - 0x73, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, - 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4e, - 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, - 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x64, - 0x0a, 0x10, 0x52, 0x65, 0x71, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x2c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x53, 0x6e, 0x22, 0x78, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x53, 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x6e, - 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x4c, 0x0a, 0x10, - 0x52, 0x65, 0x73, 0x53, 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, - 0x71, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x22, 0xba, 0x01, 0x0a, 0x0c, 0x52, - 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x52, - 0x61, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, - 0x1e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x43, 0x68, - 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4e, 0x0a, - 0x12, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x18, 0x0a, - 0x16, 0x52, 0x65, 0x71, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, - 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x43, 0x68, - 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, - 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x12, 0x0a, 0x10, 0x52, - 0x65, 0x71, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x22, - 0xe0, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, - 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x44, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, - 0x6e, 0x6b, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x79, - 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4d, 0x79, 0x52, 0x61, - 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x07, 0x4d, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x54, 0x0a, 0x0d, - 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, - 0x69, 0x70, 0x50, 0x72, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0xe6, 0x01, 0x0a, 0x13, 0x52, 0x65, - 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x50, 0x72, 0x65, 0x52, 0x61, 0x6e, - 0x6b, 0x12, 0x47, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x50, 0x72, 0x65, 0x52, 0x61, - 0x6e, 0x6b, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x79, - 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4d, 0x79, 0x52, 0x61, - 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x02, 0x52, 0x07, 0x4d, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x54, 0x0a, 0x0d, - 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x8f, 0x03, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, - 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x61, 0x72, 0x64, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x4d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x43, 0x61, 0x72, 0x64, 0x2e, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x06, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x53, 0x74, - 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, - 0x12, 0x41, 0x0a, 0x08, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, - 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x48, 0x61, 0x6e, 0x64, - 0x62, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x48, 0x61, 0x6e, 0x64, 0x62, - 0x6f, 0x6f, 0x6b, 0x1a, 0x37, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, - 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x48, 0x61, 0x6e, 0x64, 0x62, - 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x46, 0x61, - 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x4d, 0x0a, 0x11, 0x52, - 0x65, 0x73, 0x53, 0x65, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x72, 0x6c, - 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x13, 0x52, 0x65, - 0x71, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x22, 0x4b, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, - 0x0a, 0x07, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x07, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x65, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x22, 0x2e, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x53, 0x65, 0x6c, 0x66, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x50, 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1e, - 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x07, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x22, 0x30, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x34, 0x0a, 0x12, 0x52, 0x65, - 0x73, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, - 0x22, 0x28, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x38, 0x0a, 0x16, 0x52, 0x65, - 0x73, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x4d, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x22, 0x8f, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x50, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x73, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x47, 0x65, 0x6d, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, - 0x47, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4d, - 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, - 0x4d, 0x61, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x1a, 0x36, 0x0a, 0x08, 0x4d, - 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x4d, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x54, 0x61, 0x6b, 0x65, 0x12, 0x32, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, - 0x71, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x47, 0x65, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x47, 0x65, 0x6d, 0x1a, 0x36, 0x0a, 0x08, 0x4d, - 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x54, 0x61, 0x6b, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, - 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, - 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, - 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x73, - 0x0a, 0x09, 0x52, 0x65, 0x73, 0x41, 0x63, 0x74, 0x52, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x03, 0x52, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x41, 0x63, 0x74, 0x52, 0x65, 0x64, 0x2e, 0x52, 0x65, - 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x52, 0x65, 0x64, 0x1a, 0x36, 0x0a, 0x08, 0x52, - 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x30, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x41, 0x63, 0x74, - 0x52, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x52, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x52, 0x65, 0x64, 0x22, 0x3c, 0x0a, 0x0e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x2a, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, - 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0x73, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2f, - 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x2e, - 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x1a, - 0x37, 0x0a, 0x09, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x79, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x32, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0x37, 0x0a, 0x09, 0x49, 0x74, - 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, - 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0xd9, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x47, 0x75, 0x65, 0x73, - 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, - 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x10, - 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, - 0x12, 0x2e, 0x0a, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x6f, 0x70, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x22, 0x66, 0x0a, 0x08, 0x6f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, - 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x71, - 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x12, 0x36, - 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, - 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x03, 0x4d, 0x61, 0x70, 0x1a, 0x36, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4d, - 0x0a, 0x11, 0x52, 0x65, 0x73, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, - 0x61, 0x6b, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x15, 0x0a, - 0x13, 0x52, 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x47, 0x75, 0x65, 0x73, 0x73, - 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, - 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x09, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x52, 0x61, 0x63, 0x65, - 0x22, 0x93, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x52, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, - 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x73, 0x73, 0x12, 0x24, - 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x47, 0x61, 0x6d, 0x65, 0x45, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x72, 0x61, 0x63, 0x65, 0x6f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x4f, 0x70, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x50, 0x0a, 0x0c, 0x72, 0x61, 0x63, 0x65, 0x6f, 0x70, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x52, - 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x48, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x52, - 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, - 0x73, 0x67, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x77, - 0x61, 0x72, 0x64, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, - 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x0d, - 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0xf5, 0x04, - 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, - 0x32, 0x0a, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x6f, 0x6f, - 0x6d, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x06, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, - 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x04, - 0x4d, 0x6f, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x2e, 0x4d, 0x6f, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x4d, 0x6f, 0x6f, - 0x64, 0x12, 0x2e, 0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, 0x69, - 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, 0x12, 0x20, 0x0a, - 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x1a, - 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, - 0x4d, 0x6f, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x72, 0x6f, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, - 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x72, - 0x6f, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, + 0x73, 0x67, 0x22, 0x45, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, + 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x43, 0x68, + 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3d, 0x0a, 0x0c, 0x52, 0x65, 0x73, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x09, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x09, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x44, + 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x41, + 0x72, 0x65, 0x61, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x72, 0x65, + 0x61, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x46, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x45, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x44, 0x65, 0x63, 0x6f, + 0x72, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x0b, + 0x52, 0x65, 0x73, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x44, 0x65, 0x63, 0x6f, + 0x72, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x22, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x44, 0x65, + 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x22, 0x36, 0x0a, 0x12, 0x4e, 0x6f, 0x66, 0x69, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, - 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x12, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, - 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, - 0x58, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x4c, 0x6f, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, - 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x4c, 0x6f, 0x73, - 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, 0x22, 0xa3, 0x01, 0x0a, 0x12, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x3a, 0x0a, 0x04, 0x4d, 0x6f, - 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x64, 0x2e, 0x4d, 0x6f, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x04, 0x4d, 0x6f, 0x6f, 0x64, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x6f, 0x6f, 0x64, 0x45, 0x6e, + 0x4d, 0x73, 0x67, 0x22, 0x3c, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x47, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, + 0x73, 0x22, 0x2c, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x0d, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb1, + 0x04, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, + 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x43, 0x61, 0x72, 0x64, + 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, + 0x53, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x78, 0x53, 0x74, + 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x78, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x78, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x3c, + 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x61, + 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x07, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, + 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x71, 0x55, 0x69, 0x64, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x03, 0x52, 0x06, 0x52, 0x65, 0x71, 0x55, 0x69, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x45, 0x78, 0x55, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x45, + 0x78, 0x55, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x48, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, + 0x6f, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x08, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x1a, 0x3a, 0x0a, 0x0c, 0x41, 0x6c, 0x6c, + 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, + 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x96, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x43, 0x61, 0x72, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x78, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x78, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x65, 0x71, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x52, 0x65, 0x71, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, + 0x06, 0x52, 0x65, 0x71, 0x55, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x78, 0x55, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x45, 0x78, 0x55, 0x69, 0x64, 0x12, 0x1c, 0x0a, + 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x47, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x2f, 0x0a, 0x15, 0x52, + 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x69, 0x0a, 0x15, + 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, + 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x4d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x22, 0x7d, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x43, 0x61, 0x72, + 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x4d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, + 0x61, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, + 0x2c, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x50, 0x0a, + 0x14, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, + 0x21, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, + 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x41, 0x6c, 0x6c, + 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x43, 0x61, + 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, + 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, + 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x22, 0x0a, 0x10, 0x52, 0x65, 0x71, + 0x41, 0x67, 0x72, 0x65, 0x65, 0x43, 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5c, 0x0a, + 0x10, 0x52, 0x65, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x43, 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, + 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x11, 0x52, + 0x65, 0x71, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, 0x72, 0x64, 0x47, 0x69, 0x76, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, + 0x22, 0x5d, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x47, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, + 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x43, + 0x61, 0x72, 0x64, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, + 0x67, 0x22, 0x3b, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x4b, + 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x3f, 0x0a, 0x15, 0x52, + 0x65, 0x71, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x15, + 0x52, 0x65, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, + 0x26, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x41, 0x67, 0x72, 0x65, 0x65, 0x43, 0x61, 0x72, 0x64, 0x45, + 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x60, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x41, 0x67, + 0x72, 0x65, 0x65, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, + 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x13, 0x52, 0x65, 0x71, + 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, + 0x22, 0x5f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, 0x72, + 0x64, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, + 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, + 0x64, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, + 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x15, 0x52, 0x65, + 0x73, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x43, 0x61, 0x72, 0x64, 0x45, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x22, 0x0a, + 0x10, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, + 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, + 0x64, 0x22, 0x74, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x47, 0x65, + 0x74, 0x47, 0x6f, 0x6c, 0x64, 0x43, 0x61, 0x72, 0x64, 0x22, 0x38, 0x0a, 0x0e, 0x52, 0x65, 0x73, + 0x47, 0x65, 0x74, 0x47, 0x6f, 0x6c, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x46, + 0x6f, 0x75, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x6f, 0x75, 0x72, 0x12, + 0x12, 0x0a, 0x04, 0x46, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, + 0x69, 0x76, 0x65, 0x22, 0x20, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x47, 0x75, 0x69, 0x64, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x47, 0x75, 0x69, 0x64, + 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, + 0x67, 0x22, 0x85, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x73, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x1a, 0x39, + 0x0a, 0x0b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x0a, 0x52, 0x65, + 0x73, 0x49, 0x74, 0x65, 0x6d, 0x50, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x12, 0x30, 0x0a, 0x09, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x43, 0x61, 0x72, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x52, 0x09, 0x43, 0x61, 0x72, 0x64, 0x50, + 0x61, 0x63, 0x6b, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x2c, 0x0a, 0x08, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x2e, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, + 0x50, 0x61, 0x63, 0x6b, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x04, 0x43, 0x61, 0x72, 0x64, 0x22, 0x8c, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x73, + 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x46, 0x0a, 0x0a, 0x57, 0x65, 0x65, + 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x44, 0x61, 0x69, 0x6c, + 0x79, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x12, 0x43, 0x0a, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x52, 0x65, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x44, 0x61, 0x69, + 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x44, 0x61, 0x69, + 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x44, 0x61, 0x79, 0x45, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x44, 0x61, 0x79, 0x45, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x65, 0x65, 0x6b, 0x45, 0x6e, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x57, 0x65, 0x65, 0x6b, 0x45, 0x6e, 0x64, + 0x1a, 0x52, 0x0a, 0x0f, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x74, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x10, 0x0a, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a, 0x0e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, + 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x2e, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, + 0x57, 0x65, 0x65, 0x6b, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x4e, 0x65, 0x65, 0x64, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4e, 0x65, 0x65, 0x64, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x44, 0x61, 0x69, 0x6c, 0x79, + 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x55, 0x6e, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x55, 0x6e, + 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x33, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x22, 0x7d, 0x0a, 0x0d, 0x51, 0x75, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x22, 0x27, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, + 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x52, + 0x65, 0x73, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, + 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x27, + 0x0a, 0x15, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, + 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x47, 0x65, + 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, + 0x71, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x4a, 0x0a, 0x0e, + 0x52, 0x65, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x26, + 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, + 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x53, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x46, + 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x08, 0x46, 0x61, 0x63, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x46, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x46, + 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x65, 0x74, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x65, 0x74, 0x49, 0x64, 0x22, 0x34, 0x0a, + 0x08, 0x46, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x22, 0x20, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x46, 0x61, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x46, 0x61, 0x63, 0x65, 0x22, 0x46, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x46, + 0x61, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x5b, 0x0a, + 0x0d, 0x52, 0x65, 0x73, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, + 0x0a, 0x0a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x41, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x65, 0x74, 0x49, 0x64, 0x22, 0x36, 0x0a, 0x0a, 0x41, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, + 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x22, 0x48, 0x0a, 0x0c, 0x52, 0x65, + 0x73, 0x53, 0x65, 0x74, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x4d, 0x73, 0x67, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x53, 0x65, 0x76, 0x65, + 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x0a, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x52, 0x0b, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x42, 0x61, + 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x42, 0x61, 0x63, 0x6b, + 0x22, 0xb8, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x31, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x31, 0x12, + 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x32, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, + 0x6d, 0x33, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, + 0x65, 0x6d, 0x33, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x28, 0x0a, 0x16, 0x52, + 0x65, 0x71, 0x47, 0x65, 0x74, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x53, + 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, + 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, + 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, + 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x28, 0x0a, 0x16, 0x52, 0x65, 0x71, + 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x22, 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x6f, 0x6e, + 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x45, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x41, 0x63, + 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x36, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xaa, + 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x52, 0x65, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x52, 0x65, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x52, + 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0xbd, 0x01, 0x0a, + 0x0d, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x53, + 0x0a, 0x0e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x1a, 0x57, 0x0a, 0x13, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf5, 0x01, 0x0a, + 0x15, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x5b, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x1a, 0x41, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x52, + 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x0a, 0x13, + 0x52, 0x65, 0x71, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x4d, 0x73, 0x67, 0x22, 0x36, 0x0a, 0x0a, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x43, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x43, 0x64, 0x22, 0x60, 0x0a, 0x10, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x43, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x43, 0x64, 0x22, 0x15, + 0x0a, 0x13, 0x52, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x4c, 0x69, 0x6d, 0x69, + 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x43, 0x68, 0x65, + 0x73, 0x73, 0x52, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x05, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x46, 0x61, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x46, 0x61, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, + 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, + 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x55, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x54, 0x0a, + 0x0f, 0x52, 0x65, 0x73, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, + 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x04, 0x4c, + 0x69, 0x73, 0x74, 0x22, 0xe3, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, + 0x1a, 0x0a, 0x08, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x69, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x52, 0x65, + 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x55, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, + 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x0c, 0x52, 0x65, + 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x31, 0x0a, 0x06, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, + 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x3d, 0x0a, 0x0f, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x2a, + 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x4c, 0x6f, 0x67, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x3f, 0x0a, 0x10, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x2b, + 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xfb, 0x01, 0x0a, 0x0d, + 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x7c, 0x0a, 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x4f, 0x70, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x45, 0x78, 0x43, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x45, 0x78, 0x43, 0x61, 0x72, 0x64, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x64, 0x22, 0x2f, 0x0a, 0x05, 0x52, 0x65, 0x71, + 0x4b, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x67, 0x0a, 0x05, 0x52, 0x65, + 0x73, 0x4b, 0x76, 0x12, 0x27, 0x0a, 0x02, 0x6b, 0x76, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4b, 0x76, + 0x2e, 0x4b, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x02, 0x6b, 0x76, 0x1a, 0x35, 0x0a, 0x07, + 0x4b, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x22, 0x43, 0x0a, 0x12, 0x52, 0x65, 0x73, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x12, + 0x2d, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x23, + 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x49, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x55, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, + 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x4a, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, + 0x65, 0x52, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x10, 0x0a, + 0x0e, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x22, + 0x4c, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, + 0x79, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x09, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x5b, 0x0a, + 0x12, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, + 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x67, 0x22, 0x45, + 0x0a, 0x10, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x4d, + 0x73, 0x67, 0x12, 0x31, 0x0a, 0x07, 0x4d, 0x73, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x07, 0x4d, 0x73, + 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x22, 0x3d, 0x0a, 0x11, 0x52, 0x65, + 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x4c, 0x69, 0x6e, 0x65, 0x12, + 0x28, 0x0a, 0x03, 0x4c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x4c, 0x6f, 0x67, 0x52, 0x03, 0x4c, 0x6f, 0x67, 0x22, 0x71, 0x0a, 0x14, 0x52, 0x65, 0x73, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x12, 0x31, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, + 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x22, 0x0a, 0x0e, + 0x52, 0x65, 0x71, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, + 0x22, 0x4a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x22, 0x0a, 0x0e, + 0x52, 0x65, 0x71, 0x41, 0x67, 0x72, 0x65, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, + 0x22, 0x8f, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x41, 0x67, 0x72, 0x65, 0x65, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, + 0x03, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, + 0x31, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x52, 0x65, 0x66, 0x75, 0x73, 0x65, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x52, 0x65, + 0x66, 0x75, 0x73, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x20, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x44, 0x65, 0x6c, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x5a, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x44, + 0x65, 0x6c, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, + 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x55, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x07, 0x52, 0x65, 0x71, 0x52, 0x61, 0x6e, 0x6b, 0x12, + 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x22, 0xe4, 0x01, 0x0a, 0x07, 0x52, 0x65, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x12, + 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x52, 0x65, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x4d, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x79, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x4d, 0x79, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x1a, 0x56, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x0d, 0x0a, 0x0b, 0x52, 0x65, + 0x71, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x0b, 0x52, 0x65, + 0x73, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x08, 0x4d, 0x61, 0x69, + 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, + 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x4d, 0x61, 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x4f, 0x0a, 0x0d, 0x4d, 0x61, + 0x69, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa0, 0x01, 0x0a, 0x08, + 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x34, + 0x0a, 0x0a, 0x4d, 0x61, 0x69, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x26, 0x0a, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4d, 0x61, 0x69, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x1d, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x52, 0x65, 0x61, 0x64, 0x4d, + 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x52, 0x65, 0x61, 0x64, 0x4d, 0x61, + 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x10, + 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x22, 0x5c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, + 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x1f, + 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6c, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, + 0x59, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x69, 0x6c, + 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0xa1, 0x04, 0x0a, 0x09, 0x52, + 0x65, 0x73, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x72, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x46, 0x69, 0x72, 0x73, 0x74, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x46, 0x69, 0x72, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, + 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, + 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2e, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, + 0x6f, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x53, 0x68, 0x6f, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, + 0x12, 0x40, 0x0a, 0x09, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x65, 0x73, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, + 0x6f, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, + 0x6f, 0x70, 0x12, 0x31, 0x0a, 0x04, 0x47, 0x69, 0x66, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, + 0x68, 0x61, 0x72, 0x67, 0x65, 0x2e, 0x47, 0x69, 0x66, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x04, 0x47, 0x69, 0x66, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x41, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x02, 0x41, 0x64, 0x1a, 0x58, 0x0a, 0x10, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x53, 0x68, 0x6f, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, + 0x53, 0x68, 0x6f, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x54, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x73, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x47, 0x69, 0x66, 0x74, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3c, + 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x53, 0x68, 0x6f, 0x70, + 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x58, 0x0a, 0x0c, + 0x52, 0x65, 0x73, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x18, 0x0a, 0x07, + 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x44, + 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x43, 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, + 0x68, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0x0d, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x46, 0x72, 0x65, + 0x65, 0x53, 0x68, 0x6f, 0x70, 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x46, 0x72, 0x65, 0x65, + 0x53, 0x68, 0x6f, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, + 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x21, + 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, + 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, + 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, + 0x53, 0x68, 0x6f, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, + 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0xad, + 0x01, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, + 0x6f, 0x70, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, + 0x6f, 0x70, 0x32, 0x2e, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x1a, + 0x3d, 0x0a, 0x0f, 0x4d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4c, + 0x0a, 0x10, 0x52, 0x65, 0x73, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, + 0x70, 0x32, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x15, 0x0a, 0x13, + 0x52, 0x65, 0x71, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, + 0x68, 0x6f, 0x70, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x4d, 0x73, 0x67, 0x22, 0x0c, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x45, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, + 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, + 0x64, 0x12, 0x47, 0x0a, 0x0b, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x2e, 0x45, 0x6e, 0x64, + 0x6c, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x45, + 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x58, 0x0a, 0x10, 0x45, 0x6e, + 0x64, 0x6c, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x2e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x45, 0x6e, + 0x64, 0x6c, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6a, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, + 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x22, 0x4c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x45, 0x6e, 0x64, 0x6c, 0x65, + 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, + 0x73, 0x67, 0x22, 0x6c, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, + 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x69, 0x67, + 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x64, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x68, + 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x46, 0x6f, + 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x46, 0x6f, + 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x2c, 0x0a, 0x10, + 0x52, 0x65, 0x73, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x6e, 0x22, 0x78, 0x0a, 0x10, 0x52, 0x65, + 0x71, 0x53, 0x68, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x4c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x53, 0x68, 0x69, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, + 0x73, 0x67, 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, + 0x69, 0x70, 0x22, 0xba, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, + 0x68, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x50, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x50, 0x65, 0x72, + 0x69, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x61, 0x6e, + 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x14, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, + 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, + 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x43, 0x68, 0x61, 0x6d, + 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, + 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, + 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x4d, 0x73, 0x67, 0x22, 0x12, 0x0a, 0x10, 0x52, 0x65, 0x71, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, + 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x22, 0xe0, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x43, + 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x44, 0x0a, 0x08, + 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, + 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x4d, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x79, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x4d, 0x79, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x54, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, + 0x71, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x50, 0x72, 0x65, 0x52, 0x61, 0x6e, + 0x6b, 0x22, 0xe6, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, + 0x69, 0x70, 0x50, 0x72, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x47, 0x0a, 0x08, 0x52, 0x61, 0x6e, + 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, + 0x68, 0x69, 0x70, 0x50, 0x72, 0x65, 0x52, 0x61, 0x6e, 0x6b, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4d, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x4d, 0x79, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x79, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x4d, 0x79, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x54, 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x6b, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8f, 0x03, 0x0a, 0x0d, 0x52, + 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x61, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x04, + 0x43, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x43, + 0x61, 0x72, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x4d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x12, 0x41, 0x0a, 0x08, 0x48, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x6f, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x43, + 0x61, 0x72, 0x64, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x1a, 0x37, 0x0a, 0x09, 0x43, + 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x3b, 0x0a, 0x0d, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x25, 0x0a, 0x11, + 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x46, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x72, + 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x55, 0x72, 0x6c, 0x22, 0x4d, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x46, 0x61, 0x63, + 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x55, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, + 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, + 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x77, 0x55, + 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x64, 0x77, 0x55, 0x69, 0x6e, 0x22, + 0x4b, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x2e, 0x0a, 0x0e, + 0x52, 0x65, 0x71, 0x53, 0x65, 0x6c, 0x66, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x0e, + 0x52, 0x65, 0x73, 0x53, 0x65, 0x6c, 0x66, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x50, + 0x0a, 0x14, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x49, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x73, + 0x22, 0x30, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x22, 0x34, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x28, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x41, + 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x38, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x0b, 0x0a, 0x09, + 0x52, 0x65, 0x71, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0x8f, 0x02, 0x0a, 0x09, 0x52, 0x65, + 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x47, 0x65, 0x6d, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, 0x47, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x03, 0x4d, + 0x61, 0x70, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4d, 0x61, + 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x4d, 0x61, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x4d, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4d, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x1a, 0x36, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8d, 0x01, 0x0a, 0x0d, + 0x52, 0x65, 0x71, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x12, 0x32, 0x0a, + 0x03, 0x4d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, + 0x61, 0x6b, 0x65, 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x4d, 0x61, + 0x70, 0x12, 0x10, 0x0a, 0x03, 0x47, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x47, 0x65, 0x6d, 0x1a, 0x36, 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x49, 0x0a, 0x0d, 0x52, + 0x65, 0x73, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x12, 0x26, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x4d, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, + 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x73, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x41, 0x63, 0x74, + 0x52, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x03, 0x52, 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x41, + 0x63, 0x74, 0x52, 0x65, 0x64, 0x2e, 0x52, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, + 0x52, 0x65, 0x64, 0x1a, 0x36, 0x0a, 0x08, 0x52, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x30, 0x0a, 0x0c, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x41, 0x63, 0x74, 0x52, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x52, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x52, 0x65, 0x64, 0x22, 0x3c, 0x0a, + 0x0e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, + 0x2a, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, + 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x73, 0x0a, 0x07, 0x52, + 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2f, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x52, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x1a, 0x37, 0x0a, 0x09, 0x49, 0x74, 0x65, 0x6d, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0x79, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x32, + 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x49, 0x74, + 0x65, 0x6d, 0x1a, 0x37, 0x0a, 0x09, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x0f, 0x0a, 0x0d, 0x52, + 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0xd9, 0x01, 0x0a, + 0x0d, 0x52, 0x65, 0x73, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x50, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x73, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x05, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x4f, 0x70, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x6f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x08, + 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x66, 0x0a, 0x08, 0x6f, 0x70, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, + 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x22, 0x83, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, + 0x6f, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x12, 0x36, 0x0a, 0x03, 0x4d, 0x61, 0x70, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x61, 0x6b, 0x65, + 0x2e, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x4d, 0x61, 0x70, 0x1a, 0x36, + 0x0a, 0x08, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4d, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x47, 0x75, 0x65, + 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x54, 0x61, 0x6b, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x47, 0x75, 0x65, 0x73, + 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x4f, 0x0a, 0x13, + 0x52, 0x65, 0x73, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x09, 0x0a, + 0x07, 0x52, 0x65, 0x71, 0x52, 0x61, 0x63, 0x65, 0x22, 0x93, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x73, + 0x52, 0x61, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x45, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x50, 0x61, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x47, + 0x61, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x47, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0b, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x4f, 0x70, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x72, 0x61, 0x63, 0x65, 0x6f, 0x70, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x50, + 0x0a, 0x0c, 0x72, 0x61, 0x63, 0x65, 0x6f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x22, 0x0e, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x22, 0x48, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x52, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, + 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, + 0x71, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x49, 0x0a, 0x0d, 0x52, + 0x65, 0x73, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, + 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x0d, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x22, 0xf5, 0x04, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, + 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, + 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, + 0x74, 0x52, 0x08, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x6f, + 0x6d, 0x52, 0x06, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x4d, 0x6f, 0x6f, 0x64, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x4d, 0x6f, 0x6f, 0x64, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x04, 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x2e, 0x0a, 0x08, 0x4c, 0x6f, 0x73, + 0x65, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, + 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x57, 0x6f, 0x72, + 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, + 0x6f, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, 0x6f, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, 0x69, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x43, 0x68, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x57, 0x6f, 0x72, 0x6b, + 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, + 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x4d, 0x6f, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x18, 0x0a, + 0x16, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x72, 0x6f, 0x6b, + 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x50, 0x6c, + 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x72, 0x6f, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, + 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x36, 0x0a, 0x12, 0x4e, + 0x6f, 0x66, 0x69, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x4f, 0x75, 0x74, 0x6c, + 0x69, 0x6e, 0x65, 0x22, 0x52, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x74, 0x61, + 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x57, 0x6f, 0x72, + 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x58, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x6f, 0x73, 0x65, 0x12, 0x2e, 0x0a, + 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x4c, 0x6f, 0x73, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, + 0x04, 0x43, 0x68, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, + 0x70, 0x22, 0xa3, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x6c, 0x6c, 0x4d, + 0x6f, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x6c, 0x6c, 0x4d, 0x6f, + 0x6f, 0x64, 0x12, 0x3a, 0x0a, 0x04, 0x4d, 0x6f, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4d, 0x6f, 0x6f, 0x64, 0x2e, 0x4d, + 0x6f, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x4d, 0x6f, 0x6f, 0x64, 0x1a, 0x37, + 0x0a, 0x09, 0x4d, 0x6f, 0x6f, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x74, 0x0a, 0x0a, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0xd9, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x73, - 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, - 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x43, - 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x66, 0x6c, 0x69, - 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, - 0x66, 0x6f, 0x2e, 0x46, 0x6c, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x66, 0x6c, - 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, 0x69, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, - 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x46, - 0x6c, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x21, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x73, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, - 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, - 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, - 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, - 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, - 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x25, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, - 0xe9, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, - 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x4c, 0x0a, - 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, - 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x13, 0x52, - 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, - 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4f, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x26, 0x0a, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, - 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x46, - 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x2e, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x6c, - 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x22, 0x29, 0x0a, 0x17, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x53, - 0x0a, 0x17, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x4c, 0x6f, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x6f, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, 0x22, 0x5b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, - 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, - 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, + 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x7c, 0x0a, + 0x0c, 0x52, 0x6f, 0x6f, 0x6d, 0x4f, 0x70, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x23, 0x0a, 0x0f, 0x52, + 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, + 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, + 0x22, 0xd9, 0x04, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, + 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x43, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, + 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, + 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, + 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x66, 0x65, 0x6e, 0x73, + 0x65, 0x12, 0x37, 0x0a, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, + 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x6c, 0x69, 0x70, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x66, 0x6c, 0x69, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x68, + 0x69, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x43, 0x68, 0x69, 0x70, 0x12, 0x18, + 0x0a, 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x50, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, + 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x37, 0x0a, 0x09, 0x46, 0x6c, 0x69, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x21, 0x0a, 0x0f, + 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, + 0x73, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, + 0x69, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x43, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, + 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x22, 0x51, 0x0a, + 0x15, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, + 0x22, 0x25, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, + 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, - 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, + 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3a, 0x0a, 0x05, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, + 0x61, 0x6d, 0x65, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x4c, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4f, + 0x0a, 0x13, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x61, 0x63, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, + 0x99, 0x01, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, + 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, + 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x1a, 0x3b, + 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x12, 0x52, + 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x74, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x13, 0x0a, 0x11, 0x52, - 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, - 0x22, 0x97, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, - 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, - 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x68, 0x69, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x53, 0x68, 0x69, 0x66, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, - 0x6c, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x54, - 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x50, - 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x10, 0x0a, - 0x03, 0x55, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, - 0x61, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x16, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2a, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x73, - 0x74, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x22, - 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, - 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x29, 0x0a, 0x17, 0x52, + 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x53, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, + 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x6f, 0x73, 0x65, 0x22, 0x4b, + 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x4c, 0x6f, 0x73, + 0x65, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, + 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x22, 0x4b, + 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x57, 0x6f, 0x72, + 0x6b, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, + 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, 0x74, 0x22, 0x4b, + 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x73, + 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x52, + 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, 0x22, 0x5b, + 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, + 0x77, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, + 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0f, 0x52, + 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, 0x12, 0x10, + 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, + 0x22, 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, + 0x68, 0x69, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, + 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x24, 0x0a, + 0x12, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, + 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, + 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x4d, 0x73, 0x67, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x22, 0x50, 0x0a, 0x14, 0x52, - 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, - 0x45, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, - 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x29, 0x0a, - 0x15, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, - 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x4d, 0x73, 0x67, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x22, 0x97, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x73, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x68, + 0x69, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x68, 0x69, 0x66, 0x74, + 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, + 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x4c, 0x69, 0x73, 0x74, 0x32, 0x18, 0x05, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x69, 0x73, + 0x74, 0x32, 0x22, 0xa6, 0x01, 0x0a, 0x0c, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x50, 0x6f, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x61, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x46, 0x61, 0x63, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, + 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x5a, 0x0a, 0x16, 0x52, + 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2a, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x54, + 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, + 0x52, 0x05, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x22, 0x52, 0x0a, 0x16, 0x52, 0x65, 0x73, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, 0x52, - 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, - 0x53, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x72, 0x22, 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4b, - 0x61, 0x66, 0x6b, 0x61, 0x4c, 0x6f, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x22, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, - 0x04, 0x46, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x75, 0x6e, - 0x63, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x20, 0x0a, 0x0c, 0x52, 0x65, 0x71, - 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x52, - 0x65, 0x71, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0xdf, 0x07, 0x0a, - 0x0e, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4f, 0x50, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x12, - 0x0c, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x10, 0x00, 0x12, 0x0d, 0x0a, - 0x09, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, - 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x6c, - 0x65, 0x73, 0x73, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4c, 0x65, 0x76, 0x55, 0x70, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x62, - 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, - 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x73, 0x74, 0x10, 0x08, 0x12, 0x0f, - 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x41, 0x64, 0x64, 0x10, 0x09, 0x12, - 0x13, 0x0a, 0x0f, 0x42, 0x75, 0x79, 0x43, 0x68, 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, - 0x69, 0x64, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x10, - 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x78, 0x53, 0x74, - 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x6c, - 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0e, - 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x64, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, - 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, - 0x77, 0x61, 0x72, 0x64, 0x10, 0x10, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, - 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x42, - 0x75, 0x79, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x10, 0x12, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x65, - 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x10, 0x13, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x46, - 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, - 0x10, 0x15, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x16, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x61, 0x69, 0x6c, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x17, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, - 0x53, 0x68, 0x6f, 0x70, 0x10, 0x18, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, - 0x68, 0x6f, 0x70, 0x10, 0x19, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x1a, 0x12, 0x11, 0x0a, 0x0d, 0x45, - 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1b, 0x12, 0x13, - 0x0a, 0x0f, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x10, 0x1c, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, - 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1e, 0x12, 0x17, - 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1f, 0x12, 0x0a, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x21, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x10, 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x47, - 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x10, 0x24, 0x12, 0x14, 0x0a, 0x10, 0x47, - 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, - 0x25, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x61, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, - 0x26, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, - 0x65, 0x10, 0x27, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, - 0x72, 0x61, 0x77, 0x10, 0x28, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, - 0x6d, 0x43, 0x68, 0x69, 0x70, 0x10, 0x29, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, - 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x10, 0x2a, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x10, - 0x2b, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, - 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x2c, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4d, 0x10, 0x2d, - 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, - 0x72, 0x65, 0x10, 0x2e, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x61, 0x72, 0x64, 0x48, 0x61, 0x6e, 0x64, - 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x2f, 0x12, 0x17, 0x0a, 0x13, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x73, 0x74, 0x52, - 0x61, 0x69, 0x6e, 0x10, 0x30, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, - 0x67, 0x79, 0x42, 0x79, 0x41, 0x44, 0x10, 0x31, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x10, 0x32, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x6c, 0x61, - 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x10, 0x33, 0x2a, 0x42, - 0x0a, 0x0b, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x07, 0x0a, - 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, - 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x55, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, - 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, - 0x10, 0x04, 0x2a, 0x21, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x12, 0x08, - 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x2e, 0x0a, 0x09, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x4e, 0x45, 0x52, 0x47, 0x59, 0x10, 0x00, 0x12, 0x08, - 0x0a, 0x04, 0x53, 0x54, 0x41, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x41, 0x4d, - 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x2e, 0x2f, 0x6d, 0x73, 0x67, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x16, 0x0a, 0x14, 0x52, + 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, + 0x45, 0x6e, 0x64, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x29, 0x0a, 0x15, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x12, 0x10, + 0x0a, 0x03, 0x50, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x50, 0x6f, 0x73, + 0x22, 0x51, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x72, 0x65, + 0x61, 0x73, 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x12, 0x26, 0x0a, 0x04, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x2e, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x52, 0x04, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x4d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x54, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x53, 0x74, 0x61, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x72, + 0x22, 0x37, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x4b, 0x61, 0x66, 0x6b, 0x61, 0x4c, 0x6f, 0x67, 0x12, + 0x14, 0x0a, 0x05, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x22, 0x32, 0x0a, 0x08, 0x41, 0x64, 0x6d, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x75, 0x6e, 0x63, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x32, 0x0a, + 0x08, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x75, 0x6e, + 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x75, 0x6e, 0x63, 0x12, 0x12, 0x0a, + 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x20, 0x0a, 0x0c, 0x52, 0x65, 0x71, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, + 0x55, 0x69, 0x64, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x2a, 0xdf, 0x07, 0x0a, 0x0e, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x50, 0x4f, + 0x50, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x79, 0x72, + 0x6f, 0x6f, 0x6d, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, 0x61, + 0x6e, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x68, 0x61, 0x72, 0x67, 0x65, 0x10, 0x02, + 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x10, 0x03, 0x12, 0x0f, 0x0a, + 0x0b, 0x4c, 0x65, 0x76, 0x55, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x04, 0x12, 0x0f, + 0x0a, 0x0b, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x43, 0x68, 0x65, 0x73, 0x73, 0x10, 0x05, 0x12, + 0x12, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0x06, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x10, 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x73, 0x74, 0x10, 0x08, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, + 0x74, 0x65, 0x41, 0x64, 0x64, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x42, 0x75, 0x79, 0x43, 0x68, + 0x65, 0x73, 0x73, 0x42, 0x61, 0x67, 0x47, 0x72, 0x69, 0x64, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07, + 0x43, 0x68, 0x65, 0x73, 0x73, 0x45, 0x78, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x61, 0x72, + 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0c, + 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x78, 0x53, 0x74, 0x61, 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, + 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0e, 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x64, + 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x0f, 0x12, 0x13, 0x0a, 0x0f, 0x44, 0x61, 0x69, + 0x6c, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x10, 0x12, 0x13, + 0x0a, 0x0f, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0x11, 0x12, 0x0d, 0x0a, 0x09, 0x42, 0x75, 0x79, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, + 0x10, 0x12, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x65, 0x76, 0x65, 0x6e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x10, 0x13, 0x12, 0x14, 0x0a, + 0x10, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x15, 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x53, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x16, + 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x17, + 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x72, 0x65, 0x65, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x18, 0x12, 0x0d, + 0x0a, 0x09, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x19, 0x12, 0x14, 0x0a, + 0x10, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x68, 0x65, 0x73, 0x73, 0x53, 0x68, 0x6f, + 0x70, 0x10, 0x1a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x6e, 0x64, 0x6c, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0x1b, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x69, 0x67, 0x67, 0x79, 0x42, + 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1c, 0x12, 0x13, 0x0a, 0x0f, 0x43, + 0x68, 0x61, 0x6d, 0x70, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1d, + 0x12, 0x14, 0x0a, 0x10, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x77, 0x61, 0x72, 0x64, 0x10, 0x1e, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6d, 0x70, 0x73, + 0x68, 0x69, 0x70, 0x52, 0x61, 0x6e, 0x6b, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x1f, 0x12, + 0x0a, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x53, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, + 0x21, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x6b, 0x65, 0x10, + 0x22, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x10, 0x23, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x10, 0x24, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x75, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x25, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x26, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, + 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x47, 0x61, 0x6d, 0x65, 0x10, 0x27, 0x12, 0x10, 0x0a, 0x0c, 0x50, + 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x44, 0x72, 0x61, 0x77, 0x10, 0x28, 0x12, 0x10, 0x0a, + 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x43, 0x68, 0x69, 0x70, 0x10, 0x29, 0x12, + 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x46, 0x6c, 0x69, 0x70, 0x10, + 0x2a, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, + 0x75, 0x72, 0x65, 0x46, 0x69, 0x6c, 0x70, 0x10, 0x2b, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x45, 0x6e, 0x64, 0x10, 0x2c, + 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4d, 0x10, 0x2d, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x10, 0x2e, 0x12, 0x16, 0x0a, 0x12, + 0x43, 0x61, 0x72, 0x64, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x10, 0x2f, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x43, 0x68, 0x65, 0x73, 0x74, 0x52, 0x61, 0x69, 0x6e, 0x10, 0x30, 0x12, 0x11, 0x0a, + 0x0d, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x42, 0x79, 0x41, 0x44, 0x10, 0x31, + 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x73, 0x74, 0x10, + 0x32, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x42, 0x75, 0x79, + 0x49, 0x74, 0x65, 0x6d, 0x10, 0x33, 0x2a, 0x42, 0x0a, 0x0b, 0x48, 0x41, 0x4e, 0x44, 0x4c, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x42, + 0x55, 0x59, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4c, 0x4c, 0x10, 0x03, 0x12, 0x0a, + 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x04, 0x2a, 0x21, 0x0a, 0x08, 0x52, 0x45, + 0x53, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x00, + 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x2e, 0x0a, + 0x09, 0x49, 0x54, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x4e, + 0x45, 0x52, 0x47, 0x59, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x41, 0x52, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x49, 0x41, 0x4d, 0x4f, 0x4e, 0x44, 0x10, 0x02, 0x42, 0x08, 0x5a, + 0x06, 0x2e, 0x2e, 0x2f, 0x6d, 0x73, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -20508,7 +20630,7 @@ func file_Gameapi_proto_rawDescGZIP() []byte { } var file_Gameapi_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 375) +var file_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 378) var file_Gameapi_proto_goTypes = []any{ (ITEM_POP_LABEL)(0), // 0: tutorial.ITEM_POP_LABEL (HANDLE_TYPE)(0), // 1: tutorial.HANDLE_TYPE @@ -20550,541 +20672,546 @@ var file_Gameapi_proto_goTypes = []any{ (*ChessHandle)(nil), // 37: tutorial.ChessHandle (*UpdatePlayerChessData)(nil), // 38: tutorial.UpdatePlayerChessData (*ResUpdatePlayerChessData)(nil), // 39: tutorial.ResUpdatePlayerChessData - (*ReqGetChessFromBuff)(nil), // 40: tutorial.ReqGetChessFromBuff - (*ResGetChessFromBuff)(nil), // 41: tutorial.ResGetChessFromBuff - (*ReqChessEx)(nil), // 42: tutorial.ReqChessEx - (*ResChessEx)(nil), // 43: tutorial.ResChessEx - (*ReqSourceChest)(nil), // 44: tutorial.ReqSourceChest - (*ResSourceChest)(nil), // 45: tutorial.ResSourceChest - (*ReqPlayroomOutline)(nil), // 46: tutorial.ReqPlayroomOutline - (*ResPlayroomOutline)(nil), // 47: tutorial.ResPlayroomOutline - (*ChessBag)(nil), // 48: tutorial.ChessBag - (*ChessBagGrid)(nil), // 49: tutorial.ChessBagGrid - (*ReqPutChessInBag)(nil), // 50: tutorial.ReqPutChessInBag - (*ResPutChessInBag)(nil), // 51: tutorial.ResPutChessInBag - (*ReqTakeChessOutBag)(nil), // 52: tutorial.ReqTakeChessOutBag - (*ResTakeChessOutBag)(nil), // 53: tutorial.ResTakeChessOutBag - (*ReqBuyChessBagGrid)(nil), // 54: tutorial.ReqBuyChessBagGrid - (*ResBuyChessBagGrid)(nil), // 55: tutorial.ResBuyChessBagGrid - (*ReqPlayerProfileData)(nil), // 56: tutorial.ReqPlayerProfileData - (*ResPlayerProfileData)(nil), // 57: tutorial.ResPlayerProfileData - (*ReqPlayerBriefProfileData)(nil), // 58: tutorial.ReqPlayerBriefProfileData - (*ResPlayerBriefProfileData)(nil), // 59: tutorial.ResPlayerBriefProfileData - (*ReqSetEnergyMul)(nil), // 60: tutorial.ReqSetEnergyMul - (*ResSetEnergyMul)(nil), // 61: tutorial.ResSetEnergyMul - (*BaseInfo)(nil), // 62: tutorial.BaseInfo - (*ReqUserInfo)(nil), // 63: tutorial.ReqUserInfo - (*UserInfo)(nil), // 64: tutorial.UserInfo - (*ReqSetName)(nil), // 65: tutorial.ReqSetName - (*ResSetName)(nil), // 66: tutorial.ResSetName - (*ReqSetPetName)(nil), // 67: tutorial.ReqSetPetName - (*ResSetPetName)(nil), // 68: tutorial.ResSetPetName - (*ReqBuyEnergy)(nil), // 69: tutorial.ReqBuyEnergy - (*ResBuyEnergy)(nil), // 70: tutorial.ResBuyEnergy - (*ReqGetEnergyByAD)(nil), // 71: tutorial.ReqGetEnergyByAD - (*ResGetEnergyByAD)(nil), // 72: tutorial.ResGetEnergyByAD - (*ReqGetHandbookReward)(nil), // 73: tutorial.ReqGetHandbookReward - (*HandbookInfo)(nil), // 74: tutorial.HandbookInfo - (*Handbook)(nil), // 75: tutorial.Handbook - (*ResGetHandbookReward)(nil), // 76: tutorial.ResGetHandbookReward - (*ReqRewardOrder)(nil), // 77: tutorial.ReqRewardOrder - (*ResRewardOrder)(nil), // 78: tutorial.ResRewardOrder - (*Order)(nil), // 79: tutorial.Order - (*ResOrderList)(nil), // 80: tutorial.ResOrderList - (*ResDecorateInfo)(nil), // 81: tutorial.ResDecorateInfo - (*ReqDecorate)(nil), // 82: tutorial.ReqDecorate - (*ResDecorate)(nil), // 83: tutorial.ResDecorate - (*ReqDecorateAll)(nil), // 84: tutorial.ReqDecorateAll - (*ResDecorateAll)(nil), // 85: tutorial.ResDecorateAll - (*ReqGmCommand)(nil), // 86: tutorial.ReqGmCommand - (*Card)(nil), // 87: tutorial.Card - (*ReqCardInfo)(nil), // 88: tutorial.ReqCardInfo - (*ResCardInfo)(nil), // 89: tutorial.ResCardInfo - (*ResNotifyCardTimes)(nil), // 90: tutorial.ResNotifyCardTimes - (*ReqCardHandbookReward)(nil), // 91: tutorial.ReqCardHandbookReward - (*ResCardHandbookReward)(nil), // 92: tutorial.ResCardHandbookReward - (*ReqMasterCard)(nil), // 93: tutorial.ReqMasterCard - (*ResMasterCard)(nil), // 94: tutorial.ResMasterCard - (*ReqCardCollectReward)(nil), // 95: tutorial.ReqCardCollectReward - (*ResCardCollectReward)(nil), // 96: tutorial.ResCardCollectReward - (*ReqExStarReward)(nil), // 97: tutorial.ReqExStarReward - (*ResExStarReward)(nil), // 98: tutorial.ResExStarReward - (*ReqAllCollectReward)(nil), // 99: tutorial.ReqAllCollectReward - (*ResAllCollectReward)(nil), // 100: tutorial.ResAllCollectReward - (*ReqCardGive)(nil), // 101: tutorial.ReqCardGive - (*ResCardGive)(nil), // 102: tutorial.ResCardGive - (*ReqAgreeCardGive)(nil), // 103: tutorial.ReqAgreeCardGive - (*ResAgreeCardGive)(nil), // 104: tutorial.ResAgreeCardGive - (*ReqRefuseCardGive)(nil), // 105: tutorial.ReqRefuseCardGive - (*ResRefuseCardGive)(nil), // 106: tutorial.ResRefuseCardGive - (*ReqCardSend)(nil), // 107: tutorial.ReqCardSend - (*ResCardSend)(nil), // 108: tutorial.ResCardSend - (*ReqCardExchange)(nil), // 109: tutorial.ReqCardExchange - (*ResCardExchange)(nil), // 110: tutorial.ResCardExchange - (*ReqSelectCardExchange)(nil), // 111: tutorial.ReqSelectCardExchange - (*ResSelectCardExchange)(nil), // 112: tutorial.ResSelectCardExchange - (*ReqAgreeCardExchange)(nil), // 113: tutorial.ReqAgreeCardExchange - (*ResAgreeCardExchange)(nil), // 114: tutorial.ResAgreeCardExchange - (*ReqRefuseCardSelect)(nil), // 115: tutorial.ReqRefuseCardSelect - (*ResRefuseCardSelect)(nil), // 116: tutorial.ResRefuseCardSelect - (*ReqRefuseCardExchange)(nil), // 117: tutorial.ReqRefuseCardExchange - (*ResRefuseCardExchange)(nil), // 118: tutorial.ResRefuseCardExchange - (*ReqGetFriendCard)(nil), // 119: tutorial.ReqGetFriendCard - (*ResGetFriendCard)(nil), // 120: tutorial.ResGetFriendCard - (*ReqGetGoldCard)(nil), // 121: tutorial.ReqGetGoldCard - (*ResGetGoldCard)(nil), // 122: tutorial.ResGetGoldCard - (*ReqGuideReward)(nil), // 123: tutorial.ReqGuideReward - (*ResGuideReward)(nil), // 124: tutorial.ResGuideReward - (*ResGuildInfo)(nil), // 125: tutorial.ResGuildInfo - (*ResItemPop)(nil), // 126: tutorial.ResItemPop - (*ItemInfo)(nil), // 127: tutorial.ItemInfo - (*CardPack)(nil), // 128: tutorial.CardPack - (*ResDailyTask)(nil), // 129: tutorial.ResDailyTask - (*DailyWeek)(nil), // 130: tutorial.DailyWeek - (*DailyTask)(nil), // 131: tutorial.DailyTask - (*QuestProgress)(nil), // 132: tutorial.QuestProgress - (*ReqGetDailyTaskReward)(nil), // 133: tutorial.ReqGetDailyTaskReward - (*ResGetDailyTaskReward)(nil), // 134: tutorial.ResGetDailyTaskReward - (*ReqGetDailyWeekReward)(nil), // 135: tutorial.ReqGetDailyWeekReward - (*ResGetDailyWeekReward)(nil), // 136: tutorial.ResGetDailyWeekReward - (*ReqDailyUnlock)(nil), // 137: tutorial.ReqDailyUnlock - (*ResDailyUnlock)(nil), // 138: tutorial.ResDailyUnlock - (*ResFaceInfo)(nil), // 139: tutorial.ResFaceInfo - (*FaceInfo)(nil), // 140: tutorial.FaceInfo - (*ReqSetFace)(nil), // 141: tutorial.ReqSetFace - (*ResSetFace)(nil), // 142: tutorial.ResSetFace - (*ResAvatarInfo)(nil), // 143: tutorial.ResAvatarInfo - (*AvatarInfo)(nil), // 144: tutorial.AvatarInfo - (*ReqSetAvatar)(nil), // 145: tutorial.ReqSetAvatar - (*ResSetAvatar)(nil), // 146: tutorial.ResSetAvatar - (*ResSevenLogin)(nil), // 147: tutorial.ResSevenLogin - (*SevenLoginReward)(nil), // 148: tutorial.SevenLoginReward - (*ReqGetSevenLoginReward)(nil), // 149: tutorial.ReqGetSevenLoginReward - (*ResGetSevenLoginReward)(nil), // 150: tutorial.ResGetSevenLoginReward - (*ReqGetMonthLoginReward)(nil), // 151: tutorial.ReqGetMonthLoginReward - (*ResGetMonthLoginReward)(nil), // 152: tutorial.ResGetMonthLoginReward - (*ResActivity)(nil), // 153: tutorial.ResActivity - (*ActivityInfo)(nil), // 154: tutorial.ActivityInfo - (*ReqLimitEvent)(nil), // 155: tutorial.ReqLimitEvent - (*ResLimitEvent)(nil), // 156: tutorial.ResLimitEvent - (*ResLimitEventProgress)(nil), // 157: tutorial.ResLimitEventProgress - (*ReqLimitEventReward)(nil), // 158: tutorial.ReqLimitEventReward - (*ResLimitEventReward)(nil), // 159: tutorial.ResLimitEventReward - (*ReqSelectLimitEvent)(nil), // 160: tutorial.ReqSelectLimitEvent - (*ResSelectLimitEvent)(nil), // 161: tutorial.ResSelectLimitEvent - (*LimitEvent)(nil), // 162: tutorial.LimitEvent - (*LimitEventNotify)(nil), // 163: tutorial.LimitEventNotify - (*ReqLimitSenceReward)(nil), // 164: tutorial.ReqLimitSenceReward - (*ResLimitSenceReward)(nil), // 165: tutorial.ResLimitSenceReward - (*ResChessRainReward)(nil), // 166: tutorial.ResChessRainReward - (*ReqFastProduceReward)(nil), // 167: tutorial.ReqFastProduceReward - (*ResFastProduceReward)(nil), // 168: tutorial.ResFastProduceReward - (*ReqSearchPlayer)(nil), // 169: tutorial.ReqSearchPlayer - (*ResSearchPlayer)(nil), // 170: tutorial.ResSearchPlayer - (*ResPlayerSimple)(nil), // 171: tutorial.ResPlayerSimple - (*ResPlayerRank)(nil), // 172: tutorial.ResPlayerRank - (*ResFriendLog)(nil), // 173: tutorial.ResFriendLog - (*NotifyFriendLog)(nil), // 174: tutorial.NotifyFriendLog - (*NotifyFriendCard)(nil), // 175: tutorial.NotifyFriendCard - (*ResFriendCard)(nil), // 176: tutorial.ResFriendCard - (*ReqKv)(nil), // 177: tutorial.ReqKv - (*ResKv)(nil), // 178: tutorial.ResKv - (*ReqFriendRecommend)(nil), // 179: tutorial.ReqFriendRecommend - (*ResFriendRecommend)(nil), // 180: tutorial.ResFriendRecommend - (*ReqFriendIgnore)(nil), // 181: tutorial.ReqFriendIgnore - (*ResFriendIgnore)(nil), // 182: tutorial.ResFriendIgnore - (*ReqFriendList)(nil), // 183: tutorial.ReqFriendList - (*ResFriendList)(nil), // 184: tutorial.ResFriendList - (*ReqFriendApply)(nil), // 185: tutorial.ReqFriendApply - (*ResFriendApply)(nil), // 186: tutorial.ResFriendApply - (*ResFriendApplyInfo)(nil), // 187: tutorial.ResFriendApplyInfo - (*ReqFriendCardMsg)(nil), // 188: tutorial.ReqFriendCardMsg - (*ResFriendCardMsg)(nil), // 189: tutorial.ResFriendCardMsg - (*ReqFriendTimeLine)(nil), // 190: tutorial.ReqFriendTimeLine - (*ResFriendTimeLine)(nil), // 191: tutorial.ResFriendTimeLine - (*ResFriendApplyNotify)(nil), // 192: tutorial.ResFriendApplyNotify - (*ReqApplyFriend)(nil), // 193: tutorial.ReqApplyFriend - (*ResApplyFriend)(nil), // 194: tutorial.ResApplyFriend - (*ReqAgreeFriend)(nil), // 195: tutorial.ReqAgreeFriend - (*ResAgreeFriend)(nil), // 196: tutorial.ResAgreeFriend - (*ReqRefuseFriend)(nil), // 197: tutorial.ReqRefuseFriend - (*ResRefuseFriend)(nil), // 198: tutorial.ResRefuseFriend - (*ReqDelFriend)(nil), // 199: tutorial.ReqDelFriend - (*ResDelFriend)(nil), // 200: tutorial.ResDelFriend - (*ReqRank)(nil), // 201: tutorial.ReqRank - (*ResRank)(nil), // 202: tutorial.ResRank - (*ReqMailList)(nil), // 203: tutorial.ReqMailList - (*ResMailList)(nil), // 204: tutorial.ResMailList - (*MailInfo)(nil), // 205: tutorial.MailInfo - (*MailNotify)(nil), // 206: tutorial.MailNotify - (*ReqReadMail)(nil), // 207: tutorial.ReqReadMail - (*ResReadMail)(nil), // 208: tutorial.ResReadMail - (*ReqGetMailReward)(nil), // 209: tutorial.ReqGetMailReward - (*ResGetMailReward)(nil), // 210: tutorial.ResGetMailReward - (*ReqDeleteMail)(nil), // 211: tutorial.ReqDeleteMail - (*ResDeleteMail)(nil), // 212: tutorial.ResDeleteMail - (*ResCharge)(nil), // 213: tutorial.ResCharge - (*ResSpecialShop)(nil), // 214: tutorial.ResSpecialShop - (*ResChessShop)(nil), // 215: tutorial.ResChessShop - (*ReqFreeShop)(nil), // 216: tutorial.ReqFreeShop - (*ResFreeShop)(nil), // 217: tutorial.ResFreeShop - (*ReqBuyChessShop)(nil), // 218: tutorial.ReqBuyChessShop - (*ResBuyChessShop)(nil), // 219: tutorial.ResBuyChessShop - (*ReqBuyChessShop2)(nil), // 220: tutorial.ReqBuyChessShop2 - (*ResBuyChessShop2)(nil), // 221: tutorial.ResBuyChessShop2 - (*ReqRefreshChessShop)(nil), // 222: tutorial.ReqRefreshChessShop - (*ResRefreshChessShop)(nil), // 223: tutorial.ResRefreshChessShop - (*ReqEndless)(nil), // 224: tutorial.ReqEndless - (*ResEndless)(nil), // 225: tutorial.ResEndless - (*ResEndlessInfo)(nil), // 226: tutorial.ResEndlessInfo - (*ReqEndlessReward)(nil), // 227: tutorial.ReqEndlessReward - (*ResEndlessReward)(nil), // 228: tutorial.ResEndlessReward - (*ResPiggyBank)(nil), // 229: tutorial.ResPiggyBank - (*ReqPiggyBankReward)(nil), // 230: tutorial.ReqPiggyBankReward - (*ResPiggyBankReward)(nil), // 231: tutorial.ResPiggyBankReward - (*ReqCreateOrderSn)(nil), // 232: tutorial.ReqCreateOrderSn - (*ResCreateOrderSn)(nil), // 233: tutorial.ResCreateOrderSn - (*ReqShippingOrder)(nil), // 234: tutorial.ReqShippingOrder - (*ResShippingOrder)(nil), // 235: tutorial.ResShippingOrder - (*ReqChampship)(nil), // 236: tutorial.ReqChampship - (*ResChampship)(nil), // 237: tutorial.ResChampship - (*ReqChampshipReward)(nil), // 238: tutorial.ReqChampshipReward - (*ResChampshipReward)(nil), // 239: tutorial.ResChampshipReward - (*ReqChampshipRankReward)(nil), // 240: tutorial.ReqChampshipRankReward - (*ResChampshipRankReward)(nil), // 241: tutorial.ResChampshipRankReward - (*ReqChampshipRank)(nil), // 242: tutorial.ReqChampshipRank - (*ResChampshipRank)(nil), // 243: tutorial.ResChampshipRank - (*ReqChampshipPreRank)(nil), // 244: tutorial.ReqChampshipPreRank - (*ResChampshipPreRank)(nil), // 245: tutorial.ResChampshipPreRank - (*ResNotifyCard)(nil), // 246: tutorial.ResNotifyCard - (*ReqSetFacebookUrl)(nil), // 247: tutorial.ReqSetFacebookUrl - (*ResSetFacebookUrl)(nil), // 248: tutorial.ResSetFacebookUrl - (*ReqInviteFriendData)(nil), // 249: tutorial.ReqInviteFriendData - (*ResInviteFriendData)(nil), // 250: tutorial.ResInviteFriendData - (*ReqSelfInvited)(nil), // 251: tutorial.ReqSelfInvited - (*ResSelfInvited)(nil), // 252: tutorial.ResSelfInvited - (*NotifyInvitedSuccess)(nil), // 253: tutorial.NotifyInvitedSuccess - (*ReqGetInviteReward)(nil), // 254: tutorial.ReqGetInviteReward - (*ResGetInviteReward)(nil), // 255: tutorial.ResGetInviteReward - (*ReqAutoAddInviteFriend)(nil), // 256: tutorial.ReqAutoAddInviteFriend - (*ResAutoAddInviteFriend)(nil), // 257: tutorial.ResAutoAddInviteFriend - (*ReqMining)(nil), // 258: tutorial.ReqMining - (*ResMining)(nil), // 259: tutorial.ResMining - (*ReqMiningTake)(nil), // 260: tutorial.ReqMiningTake - (*ResMiningTake)(nil), // 261: tutorial.ResMiningTake - (*ReqMiningReward)(nil), // 262: tutorial.ReqMiningReward - (*ResMiningReward)(nil), // 263: tutorial.ResMiningReward - (*ResActRed)(nil), // 264: tutorial.ResActRed - (*NotifyActRed)(nil), // 265: tutorial.NotifyActRed - (*ActivityNotify)(nil), // 266: tutorial.ActivityNotify - (*ResItem)(nil), // 267: tutorial.ResItem - (*ItemNotify)(nil), // 268: tutorial.ItemNotify - (*ReqGuessColor)(nil), // 269: tutorial.ReqGuessColor - (*ResGuessColor)(nil), // 270: tutorial.ResGuessColor - (*Opponent)(nil), // 271: tutorial.opponent - (*ReqGuessColorTake)(nil), // 272: tutorial.ReqGuessColorTake - (*ResGuessColorTake)(nil), // 273: tutorial.ResGuessColorTake - (*ReqGuessColorReward)(nil), // 274: tutorial.ReqGuessColorReward - (*ResGuessColorReward)(nil), // 275: tutorial.ResGuessColorReward - (*ReqRace)(nil), // 276: tutorial.ReqRace - (*ResRace)(nil), // 277: tutorial.ResRace - (*Raceopponent)(nil), // 278: tutorial.raceopponent - (*ReqRaceStart)(nil), // 279: tutorial.ReqRaceStart - (*ResRaceStart)(nil), // 280: tutorial.ResRaceStart - (*ReqRaceReward)(nil), // 281: tutorial.ReqRaceReward - (*ResRaceReward)(nil), // 282: tutorial.ResRaceReward - (*ReqPlayroom)(nil), // 283: tutorial.ReqPlayroom - (*ResPlayroom)(nil), // 284: tutorial.ResPlayroom - (*ReqPlayroomWrokOutline)(nil), // 285: tutorial.ReqPlayroomWrokOutline - (*ResPlayroomWrokOutline)(nil), // 286: tutorial.ResPlayroomWrokOutline - (*NofiPlayroomStatus)(nil), // 287: tutorial.NofiPlayroomStatus - (*NotifyPlayroomWork)(nil), // 288: tutorial.NotifyPlayroomWork - (*NotifyPlayroomLose)(nil), // 289: tutorial.NotifyPlayroomLose - (*NotifyPlayroomMood)(nil), // 290: tutorial.NotifyPlayroomMood - (*FriendRoom)(nil), // 291: tutorial.FriendRoom - (*RoomOpponent)(nil), // 292: tutorial.RoomOpponent - (*ReqPlayroomInfo)(nil), // 293: tutorial.ReqPlayroomInfo - (*ResPlayroomInfo)(nil), // 294: tutorial.ResPlayroomInfo - (*ReqPlayroomFlip)(nil), // 295: tutorial.ReqPlayroomFlip - (*ResPlayroomFlip)(nil), // 296: tutorial.ResPlayroomFlip - (*ReqPlayroomFlipReward)(nil), // 297: tutorial.ReqPlayroomFlipReward - (*ResPlayroomFlipReward)(nil), // 298: tutorial.ResPlayroomFlipReward - (*ReqPlayroomGame)(nil), // 299: tutorial.ReqPlayroomGame - (*ResPlayroomGame)(nil), // 300: tutorial.ResPlayroomGame - (*ReqPlayroomInteract)(nil), // 301: tutorial.ReqPlayroomInteract - (*ResPlayroomInteract)(nil), // 302: tutorial.ResPlayroomInteract - (*ReqPlayroomSetRoom)(nil), // 303: tutorial.ReqPlayroomSetRoom - (*ResPlayroomSetRoom)(nil), // 304: tutorial.ResPlayroomSetRoom - (*ReqPlayroomSelectReward)(nil), // 305: tutorial.ReqPlayroomSelectReward - (*ResPlayroomSelectReward)(nil), // 306: tutorial.ResPlayroomSelectReward - (*ReqPlayroomLose)(nil), // 307: tutorial.ReqPlayroomLose - (*ResPlayroomLose)(nil), // 308: tutorial.ResPlayroomLose - (*ReqPlayroomWork)(nil), // 309: tutorial.ReqPlayroomWork - (*ResPlayroomWork)(nil), // 310: tutorial.ResPlayroomWork - (*ReqPlayroomRest)(nil), // 311: tutorial.ReqPlayroomRest - (*ResPlayroomRest)(nil), // 312: tutorial.ResPlayroomRest - (*ReqPlayroomDraw)(nil), // 313: tutorial.ReqPlayroomDraw - (*ResPlayroomDraw)(nil), // 314: tutorial.ResPlayroomDraw - (*ReqPlayroomChip)(nil), // 315: tutorial.ReqPlayroomChip - (*ResPlayroomChip)(nil), // 316: tutorial.ResPlayroomChip - (*ReqPlayroomBuyItem)(nil), // 317: tutorial.ReqPlayroomBuyItem - (*ResPlayroomBuyItem)(nil), // 318: tutorial.ResPlayroomBuyItem - (*ReqFriendTreasure)(nil), // 319: tutorial.ReqFriendTreasure - (*ResFriendTreasure)(nil), // 320: tutorial.ResFriendTreasure - (*TreasureInfo)(nil), // 321: tutorial.TreasureInfo - (*ReqFriendTreasureStart)(nil), // 322: tutorial.ReqFriendTreasureStart - (*ResFriendTreasureStart)(nil), // 323: tutorial.ResFriendTreasureStart - (*ReqFriendTreasureEnd)(nil), // 324: tutorial.ReqFriendTreasureEnd - (*ResFriendTreasureEnd)(nil), // 325: tutorial.ResFriendTreasureEnd - (*ReqFriendTreasureFilp)(nil), // 326: tutorial.ReqFriendTreasureFilp - (*ResFriendTreasureFilp)(nil), // 327: tutorial.ResFriendTreasureFilp - (*ResFriendTreasureStar)(nil), // 328: tutorial.ResFriendTreasureStar - (*ReqKafkaLog)(nil), // 329: tutorial.ReqKafkaLog - (*AdminReq)(nil), // 330: tutorial.AdminReq - (*AdminRes)(nil), // 331: tutorial.AdminRes - (*ReqAdminInfo)(nil), // 332: tutorial.ReqAdminInfo - (*ReqServerInfo)(nil), // 333: tutorial.ReqServerInfo - nil, // 334: tutorial.ResChessColorData.MChessColorDataEntry - nil, // 335: tutorial.UpdateBaseItemInfo.MUpdateItemEntry - nil, // 336: tutorial.ResPlayerChessData.MChessDataEntry - nil, // 337: tutorial.UpdatePlayerChessData.MChessDataEntry - nil, // 338: tutorial.ReqGetChessFromBuff.MChessDataEntry - nil, // 339: tutorial.ReqChessEx.MChessDataEntry - nil, // 340: tutorial.ReqSourceChest.MChessDataEntry - nil, // 341: tutorial.ReqPlayroomOutline.MChessDataEntry - nil, // 342: tutorial.ReqPutChessInBag.MChessDataEntry - nil, // 343: tutorial.ReqTakeChessOutBag.MChessDataEntry - nil, // 344: tutorial.ReqRewardOrder.MChessDataEntry - nil, // 345: tutorial.ResCardInfo.AllCardEntry - nil, // 346: tutorial.ResCardInfo.HandbookEntry - nil, // 347: tutorial.ResGuildInfo.RewardEntry - nil, // 348: tutorial.ResDailyTask.WeekRewardEntry - nil, // 349: tutorial.ResDailyTask.DailyTaskEntry - nil, // 350: tutorial.ResLimitEvent.LimitEventListEntry - nil, // 351: tutorial.ResLimitEventProgress.ProgressRewardEntry - nil, // 352: tutorial.ResKv.KvEntry - nil, // 353: tutorial.ResRank.RankListEntry - nil, // 354: tutorial.ResMailList.MailListEntry - nil, // 355: tutorial.ResCharge.SpecialShopEntry - nil, // 356: tutorial.ResCharge.ChessShopEntry - nil, // 357: tutorial.ResCharge.GiftEntry - nil, // 358: tutorial.ReqBuyChessShop2.MChessDataEntry - nil, // 359: tutorial.ResEndless.EndlessListEntry - nil, // 360: tutorial.ResChampshipRank.RankListEntry - nil, // 361: tutorial.ResChampshipPreRank.RankListEntry - nil, // 362: tutorial.ResNotifyCard.CardEntry - nil, // 363: tutorial.ResNotifyCard.MasterEntry - nil, // 364: tutorial.ResNotifyCard.HandbookEntry - nil, // 365: tutorial.ResMining.MapEntry - nil, // 366: tutorial.ReqMiningTake.MapEntry - nil, // 367: tutorial.ResActRed.RedEntry - nil, // 368: tutorial.ResItem.ItemEntry - nil, // 369: tutorial.ItemNotify.ItemEntry - nil, // 370: tutorial.ReqGuessColorTake.MapEntry - nil, // 371: tutorial.ResPlayroom.PlayroomEntry - nil, // 372: tutorial.ResPlayroom.MoodEntry - nil, // 373: tutorial.NotifyPlayroomMood.MoodEntry - nil, // 374: tutorial.ResPlayroomInfo.PlayroomEntry - nil, // 375: tutorial.ResPlayroomInfo.ItemsEntry - nil, // 376: tutorial.ResPlayroomInfo.FlipEntry - nil, // 377: tutorial.ResPlayroomGame.ItemsEntry - nil, // 378: tutorial.ReqPlayroomSetRoom.PlayroomEntry + (*ReqSeparateChess)(nil), // 40: tutorial.ReqSeparateChess + (*ResSeparateChess)(nil), // 41: tutorial.ResSeparateChess + (*ReqGetChessFromBuff)(nil), // 42: tutorial.ReqGetChessFromBuff + (*ResGetChessFromBuff)(nil), // 43: tutorial.ResGetChessFromBuff + (*ReqChessEx)(nil), // 44: tutorial.ReqChessEx + (*ResChessEx)(nil), // 45: tutorial.ResChessEx + (*ReqSourceChest)(nil), // 46: tutorial.ReqSourceChest + (*ResSourceChest)(nil), // 47: tutorial.ResSourceChest + (*ReqPlayroomOutline)(nil), // 48: tutorial.ReqPlayroomOutline + (*ResPlayroomOutline)(nil), // 49: tutorial.ResPlayroomOutline + (*ChessBag)(nil), // 50: tutorial.ChessBag + (*ChessBagGrid)(nil), // 51: tutorial.ChessBagGrid + (*ReqPutChessInBag)(nil), // 52: tutorial.ReqPutChessInBag + (*ResPutChessInBag)(nil), // 53: tutorial.ResPutChessInBag + (*ReqTakeChessOutBag)(nil), // 54: tutorial.ReqTakeChessOutBag + (*ResTakeChessOutBag)(nil), // 55: tutorial.ResTakeChessOutBag + (*ReqBuyChessBagGrid)(nil), // 56: tutorial.ReqBuyChessBagGrid + (*ResBuyChessBagGrid)(nil), // 57: tutorial.ResBuyChessBagGrid + (*ReqPlayerProfileData)(nil), // 58: tutorial.ReqPlayerProfileData + (*ResPlayerProfileData)(nil), // 59: tutorial.ResPlayerProfileData + (*ReqPlayerBriefProfileData)(nil), // 60: tutorial.ReqPlayerBriefProfileData + (*ResPlayerBriefProfileData)(nil), // 61: tutorial.ResPlayerBriefProfileData + (*ReqSetEnergyMul)(nil), // 62: tutorial.ReqSetEnergyMul + (*ResSetEnergyMul)(nil), // 63: tutorial.ResSetEnergyMul + (*BaseInfo)(nil), // 64: tutorial.BaseInfo + (*ReqUserInfo)(nil), // 65: tutorial.ReqUserInfo + (*UserInfo)(nil), // 66: tutorial.UserInfo + (*ReqSetName)(nil), // 67: tutorial.ReqSetName + (*ResSetName)(nil), // 68: tutorial.ResSetName + (*ReqSetPetName)(nil), // 69: tutorial.ReqSetPetName + (*ResSetPetName)(nil), // 70: tutorial.ResSetPetName + (*ReqBuyEnergy)(nil), // 71: tutorial.ReqBuyEnergy + (*ResBuyEnergy)(nil), // 72: tutorial.ResBuyEnergy + (*ReqGetEnergyByAD)(nil), // 73: tutorial.ReqGetEnergyByAD + (*ResGetEnergyByAD)(nil), // 74: tutorial.ResGetEnergyByAD + (*ReqGetHandbookReward)(nil), // 75: tutorial.ReqGetHandbookReward + (*HandbookInfo)(nil), // 76: tutorial.HandbookInfo + (*Handbook)(nil), // 77: tutorial.Handbook + (*ResGetHandbookReward)(nil), // 78: tutorial.ResGetHandbookReward + (*ReqRewardOrder)(nil), // 79: tutorial.ReqRewardOrder + (*ResRewardOrder)(nil), // 80: tutorial.ResRewardOrder + (*Order)(nil), // 81: tutorial.Order + (*ResOrderList)(nil), // 82: tutorial.ResOrderList + (*ResDecorateInfo)(nil), // 83: tutorial.ResDecorateInfo + (*ReqDecorate)(nil), // 84: tutorial.ReqDecorate + (*ResDecorate)(nil), // 85: tutorial.ResDecorate + (*ReqDecorateAll)(nil), // 86: tutorial.ReqDecorateAll + (*ResDecorateAll)(nil), // 87: tutorial.ResDecorateAll + (*ReqGmCommand)(nil), // 88: tutorial.ReqGmCommand + (*Card)(nil), // 89: tutorial.Card + (*ReqCardInfo)(nil), // 90: tutorial.ReqCardInfo + (*ResCardInfo)(nil), // 91: tutorial.ResCardInfo + (*ResNotifyCardTimes)(nil), // 92: tutorial.ResNotifyCardTimes + (*ReqCardHandbookReward)(nil), // 93: tutorial.ReqCardHandbookReward + (*ResCardHandbookReward)(nil), // 94: tutorial.ResCardHandbookReward + (*ReqMasterCard)(nil), // 95: tutorial.ReqMasterCard + (*ResMasterCard)(nil), // 96: tutorial.ResMasterCard + (*ReqCardCollectReward)(nil), // 97: tutorial.ReqCardCollectReward + (*ResCardCollectReward)(nil), // 98: tutorial.ResCardCollectReward + (*ReqExStarReward)(nil), // 99: tutorial.ReqExStarReward + (*ResExStarReward)(nil), // 100: tutorial.ResExStarReward + (*ReqAllCollectReward)(nil), // 101: tutorial.ReqAllCollectReward + (*ResAllCollectReward)(nil), // 102: tutorial.ResAllCollectReward + (*ReqCardGive)(nil), // 103: tutorial.ReqCardGive + (*ResCardGive)(nil), // 104: tutorial.ResCardGive + (*ReqAgreeCardGive)(nil), // 105: tutorial.ReqAgreeCardGive + (*ResAgreeCardGive)(nil), // 106: tutorial.ResAgreeCardGive + (*ReqRefuseCardGive)(nil), // 107: tutorial.ReqRefuseCardGive + (*ResRefuseCardGive)(nil), // 108: tutorial.ResRefuseCardGive + (*ReqCardSend)(nil), // 109: tutorial.ReqCardSend + (*ResCardSend)(nil), // 110: tutorial.ResCardSend + (*ReqCardExchange)(nil), // 111: tutorial.ReqCardExchange + (*ResCardExchange)(nil), // 112: tutorial.ResCardExchange + (*ReqSelectCardExchange)(nil), // 113: tutorial.ReqSelectCardExchange + (*ResSelectCardExchange)(nil), // 114: tutorial.ResSelectCardExchange + (*ReqAgreeCardExchange)(nil), // 115: tutorial.ReqAgreeCardExchange + (*ResAgreeCardExchange)(nil), // 116: tutorial.ResAgreeCardExchange + (*ReqRefuseCardSelect)(nil), // 117: tutorial.ReqRefuseCardSelect + (*ResRefuseCardSelect)(nil), // 118: tutorial.ResRefuseCardSelect + (*ReqRefuseCardExchange)(nil), // 119: tutorial.ReqRefuseCardExchange + (*ResRefuseCardExchange)(nil), // 120: tutorial.ResRefuseCardExchange + (*ReqGetFriendCard)(nil), // 121: tutorial.ReqGetFriendCard + (*ResGetFriendCard)(nil), // 122: tutorial.ResGetFriendCard + (*ReqGetGoldCard)(nil), // 123: tutorial.ReqGetGoldCard + (*ResGetGoldCard)(nil), // 124: tutorial.ResGetGoldCard + (*ReqGuideReward)(nil), // 125: tutorial.ReqGuideReward + (*ResGuideReward)(nil), // 126: tutorial.ResGuideReward + (*ResGuildInfo)(nil), // 127: tutorial.ResGuildInfo + (*ResItemPop)(nil), // 128: tutorial.ResItemPop + (*ItemInfo)(nil), // 129: tutorial.ItemInfo + (*CardPack)(nil), // 130: tutorial.CardPack + (*ResDailyTask)(nil), // 131: tutorial.ResDailyTask + (*DailyWeek)(nil), // 132: tutorial.DailyWeek + (*DailyTask)(nil), // 133: tutorial.DailyTask + (*QuestProgress)(nil), // 134: tutorial.QuestProgress + (*ReqGetDailyTaskReward)(nil), // 135: tutorial.ReqGetDailyTaskReward + (*ResGetDailyTaskReward)(nil), // 136: tutorial.ResGetDailyTaskReward + (*ReqGetDailyWeekReward)(nil), // 137: tutorial.ReqGetDailyWeekReward + (*ResGetDailyWeekReward)(nil), // 138: tutorial.ResGetDailyWeekReward + (*ReqDailyUnlock)(nil), // 139: tutorial.ReqDailyUnlock + (*ResDailyUnlock)(nil), // 140: tutorial.ResDailyUnlock + (*ResFaceInfo)(nil), // 141: tutorial.ResFaceInfo + (*FaceInfo)(nil), // 142: tutorial.FaceInfo + (*ReqSetFace)(nil), // 143: tutorial.ReqSetFace + (*ResSetFace)(nil), // 144: tutorial.ResSetFace + (*ResAvatarInfo)(nil), // 145: tutorial.ResAvatarInfo + (*AvatarInfo)(nil), // 146: tutorial.AvatarInfo + (*ReqSetAvatar)(nil), // 147: tutorial.ReqSetAvatar + (*ResSetAvatar)(nil), // 148: tutorial.ResSetAvatar + (*ResSevenLogin)(nil), // 149: tutorial.ResSevenLogin + (*SevenLoginReward)(nil), // 150: tutorial.SevenLoginReward + (*ReqGetSevenLoginReward)(nil), // 151: tutorial.ReqGetSevenLoginReward + (*ResGetSevenLoginReward)(nil), // 152: tutorial.ResGetSevenLoginReward + (*ReqGetMonthLoginReward)(nil), // 153: tutorial.ReqGetMonthLoginReward + (*ResGetMonthLoginReward)(nil), // 154: tutorial.ResGetMonthLoginReward + (*ResActivity)(nil), // 155: tutorial.ResActivity + (*ActivityInfo)(nil), // 156: tutorial.ActivityInfo + (*ReqLimitEvent)(nil), // 157: tutorial.ReqLimitEvent + (*ResLimitEvent)(nil), // 158: tutorial.ResLimitEvent + (*ResLimitEventProgress)(nil), // 159: tutorial.ResLimitEventProgress + (*ReqLimitEventReward)(nil), // 160: tutorial.ReqLimitEventReward + (*ResLimitEventReward)(nil), // 161: tutorial.ResLimitEventReward + (*ReqSelectLimitEvent)(nil), // 162: tutorial.ReqSelectLimitEvent + (*ResSelectLimitEvent)(nil), // 163: tutorial.ResSelectLimitEvent + (*LimitEvent)(nil), // 164: tutorial.LimitEvent + (*LimitEventNotify)(nil), // 165: tutorial.LimitEventNotify + (*ReqLimitSenceReward)(nil), // 166: tutorial.ReqLimitSenceReward + (*ResLimitSenceReward)(nil), // 167: tutorial.ResLimitSenceReward + (*ResChessRainReward)(nil), // 168: tutorial.ResChessRainReward + (*ReqFastProduceReward)(nil), // 169: tutorial.ReqFastProduceReward + (*ResFastProduceReward)(nil), // 170: tutorial.ResFastProduceReward + (*ReqSearchPlayer)(nil), // 171: tutorial.ReqSearchPlayer + (*ResSearchPlayer)(nil), // 172: tutorial.ResSearchPlayer + (*ResPlayerSimple)(nil), // 173: tutorial.ResPlayerSimple + (*ResPlayerRank)(nil), // 174: tutorial.ResPlayerRank + (*ResFriendLog)(nil), // 175: tutorial.ResFriendLog + (*NotifyFriendLog)(nil), // 176: tutorial.NotifyFriendLog + (*NotifyFriendCard)(nil), // 177: tutorial.NotifyFriendCard + (*ResFriendCard)(nil), // 178: tutorial.ResFriendCard + (*ReqKv)(nil), // 179: tutorial.ReqKv + (*ResKv)(nil), // 180: tutorial.ResKv + (*ReqFriendRecommend)(nil), // 181: tutorial.ReqFriendRecommend + (*ResFriendRecommend)(nil), // 182: tutorial.ResFriendRecommend + (*ReqFriendIgnore)(nil), // 183: tutorial.ReqFriendIgnore + (*ResFriendIgnore)(nil), // 184: tutorial.ResFriendIgnore + (*ReqFriendList)(nil), // 185: tutorial.ReqFriendList + (*ResFriendList)(nil), // 186: tutorial.ResFriendList + (*ReqFriendApply)(nil), // 187: tutorial.ReqFriendApply + (*ResFriendApply)(nil), // 188: tutorial.ResFriendApply + (*ResFriendApplyInfo)(nil), // 189: tutorial.ResFriendApplyInfo + (*ReqFriendCardMsg)(nil), // 190: tutorial.ReqFriendCardMsg + (*ResFriendCardMsg)(nil), // 191: tutorial.ResFriendCardMsg + (*ReqFriendTimeLine)(nil), // 192: tutorial.ReqFriendTimeLine + (*ResFriendTimeLine)(nil), // 193: tutorial.ResFriendTimeLine + (*ResFriendApplyNotify)(nil), // 194: tutorial.ResFriendApplyNotify + (*ReqApplyFriend)(nil), // 195: tutorial.ReqApplyFriend + (*ResApplyFriend)(nil), // 196: tutorial.ResApplyFriend + (*ReqAgreeFriend)(nil), // 197: tutorial.ReqAgreeFriend + (*ResAgreeFriend)(nil), // 198: tutorial.ResAgreeFriend + (*ReqRefuseFriend)(nil), // 199: tutorial.ReqRefuseFriend + (*ResRefuseFriend)(nil), // 200: tutorial.ResRefuseFriend + (*ReqDelFriend)(nil), // 201: tutorial.ReqDelFriend + (*ResDelFriend)(nil), // 202: tutorial.ResDelFriend + (*ReqRank)(nil), // 203: tutorial.ReqRank + (*ResRank)(nil), // 204: tutorial.ResRank + (*ReqMailList)(nil), // 205: tutorial.ReqMailList + (*ResMailList)(nil), // 206: tutorial.ResMailList + (*MailInfo)(nil), // 207: tutorial.MailInfo + (*MailNotify)(nil), // 208: tutorial.MailNotify + (*ReqReadMail)(nil), // 209: tutorial.ReqReadMail + (*ResReadMail)(nil), // 210: tutorial.ResReadMail + (*ReqGetMailReward)(nil), // 211: tutorial.ReqGetMailReward + (*ResGetMailReward)(nil), // 212: tutorial.ResGetMailReward + (*ReqDeleteMail)(nil), // 213: tutorial.ReqDeleteMail + (*ResDeleteMail)(nil), // 214: tutorial.ResDeleteMail + (*ResCharge)(nil), // 215: tutorial.ResCharge + (*ResSpecialShop)(nil), // 216: tutorial.ResSpecialShop + (*ResChessShop)(nil), // 217: tutorial.ResChessShop + (*ReqFreeShop)(nil), // 218: tutorial.ReqFreeShop + (*ResFreeShop)(nil), // 219: tutorial.ResFreeShop + (*ReqBuyChessShop)(nil), // 220: tutorial.ReqBuyChessShop + (*ResBuyChessShop)(nil), // 221: tutorial.ResBuyChessShop + (*ReqBuyChessShop2)(nil), // 222: tutorial.ReqBuyChessShop2 + (*ResBuyChessShop2)(nil), // 223: tutorial.ResBuyChessShop2 + (*ReqRefreshChessShop)(nil), // 224: tutorial.ReqRefreshChessShop + (*ResRefreshChessShop)(nil), // 225: tutorial.ResRefreshChessShop + (*ReqEndless)(nil), // 226: tutorial.ReqEndless + (*ResEndless)(nil), // 227: tutorial.ResEndless + (*ResEndlessInfo)(nil), // 228: tutorial.ResEndlessInfo + (*ReqEndlessReward)(nil), // 229: tutorial.ReqEndlessReward + (*ResEndlessReward)(nil), // 230: tutorial.ResEndlessReward + (*ResPiggyBank)(nil), // 231: tutorial.ResPiggyBank + (*ReqPiggyBankReward)(nil), // 232: tutorial.ReqPiggyBankReward + (*ResPiggyBankReward)(nil), // 233: tutorial.ResPiggyBankReward + (*ReqCreateOrderSn)(nil), // 234: tutorial.ReqCreateOrderSn + (*ResCreateOrderSn)(nil), // 235: tutorial.ResCreateOrderSn + (*ReqShippingOrder)(nil), // 236: tutorial.ReqShippingOrder + (*ResShippingOrder)(nil), // 237: tutorial.ResShippingOrder + (*ReqChampship)(nil), // 238: tutorial.ReqChampship + (*ResChampship)(nil), // 239: tutorial.ResChampship + (*ReqChampshipReward)(nil), // 240: tutorial.ReqChampshipReward + (*ResChampshipReward)(nil), // 241: tutorial.ResChampshipReward + (*ReqChampshipRankReward)(nil), // 242: tutorial.ReqChampshipRankReward + (*ResChampshipRankReward)(nil), // 243: tutorial.ResChampshipRankReward + (*ReqChampshipRank)(nil), // 244: tutorial.ReqChampshipRank + (*ResChampshipRank)(nil), // 245: tutorial.ResChampshipRank + (*ReqChampshipPreRank)(nil), // 246: tutorial.ReqChampshipPreRank + (*ResChampshipPreRank)(nil), // 247: tutorial.ResChampshipPreRank + (*ResNotifyCard)(nil), // 248: tutorial.ResNotifyCard + (*ReqSetFacebookUrl)(nil), // 249: tutorial.ReqSetFacebookUrl + (*ResSetFacebookUrl)(nil), // 250: tutorial.ResSetFacebookUrl + (*ReqInviteFriendData)(nil), // 251: tutorial.ReqInviteFriendData + (*ResInviteFriendData)(nil), // 252: tutorial.ResInviteFriendData + (*ReqSelfInvited)(nil), // 253: tutorial.ReqSelfInvited + (*ResSelfInvited)(nil), // 254: tutorial.ResSelfInvited + (*NotifyInvitedSuccess)(nil), // 255: tutorial.NotifyInvitedSuccess + (*ReqGetInviteReward)(nil), // 256: tutorial.ReqGetInviteReward + (*ResGetInviteReward)(nil), // 257: tutorial.ResGetInviteReward + (*ReqAutoAddInviteFriend)(nil), // 258: tutorial.ReqAutoAddInviteFriend + (*ResAutoAddInviteFriend)(nil), // 259: tutorial.ResAutoAddInviteFriend + (*ReqMining)(nil), // 260: tutorial.ReqMining + (*ResMining)(nil), // 261: tutorial.ResMining + (*ReqMiningTake)(nil), // 262: tutorial.ReqMiningTake + (*ResMiningTake)(nil), // 263: tutorial.ResMiningTake + (*ReqMiningReward)(nil), // 264: tutorial.ReqMiningReward + (*ResMiningReward)(nil), // 265: tutorial.ResMiningReward + (*ResActRed)(nil), // 266: tutorial.ResActRed + (*NotifyActRed)(nil), // 267: tutorial.NotifyActRed + (*ActivityNotify)(nil), // 268: tutorial.ActivityNotify + (*ResItem)(nil), // 269: tutorial.ResItem + (*ItemNotify)(nil), // 270: tutorial.ItemNotify + (*ReqGuessColor)(nil), // 271: tutorial.ReqGuessColor + (*ResGuessColor)(nil), // 272: tutorial.ResGuessColor + (*Opponent)(nil), // 273: tutorial.opponent + (*ReqGuessColorTake)(nil), // 274: tutorial.ReqGuessColorTake + (*ResGuessColorTake)(nil), // 275: tutorial.ResGuessColorTake + (*ReqGuessColorReward)(nil), // 276: tutorial.ReqGuessColorReward + (*ResGuessColorReward)(nil), // 277: tutorial.ResGuessColorReward + (*ReqRace)(nil), // 278: tutorial.ReqRace + (*ResRace)(nil), // 279: tutorial.ResRace + (*Raceopponent)(nil), // 280: tutorial.raceopponent + (*ReqRaceStart)(nil), // 281: tutorial.ReqRaceStart + (*ResRaceStart)(nil), // 282: tutorial.ResRaceStart + (*ReqRaceReward)(nil), // 283: tutorial.ReqRaceReward + (*ResRaceReward)(nil), // 284: tutorial.ResRaceReward + (*ReqPlayroom)(nil), // 285: tutorial.ReqPlayroom + (*ResPlayroom)(nil), // 286: tutorial.ResPlayroom + (*ReqPlayroomWrokOutline)(nil), // 287: tutorial.ReqPlayroomWrokOutline + (*ResPlayroomWrokOutline)(nil), // 288: tutorial.ResPlayroomWrokOutline + (*NofiPlayroomStatus)(nil), // 289: tutorial.NofiPlayroomStatus + (*NotifyPlayroomWork)(nil), // 290: tutorial.NotifyPlayroomWork + (*NotifyPlayroomLose)(nil), // 291: tutorial.NotifyPlayroomLose + (*NotifyPlayroomMood)(nil), // 292: tutorial.NotifyPlayroomMood + (*FriendRoom)(nil), // 293: tutorial.FriendRoom + (*RoomOpponent)(nil), // 294: tutorial.RoomOpponent + (*ReqPlayroomInfo)(nil), // 295: tutorial.ReqPlayroomInfo + (*ResPlayroomInfo)(nil), // 296: tutorial.ResPlayroomInfo + (*ReqPlayroomFlip)(nil), // 297: tutorial.ReqPlayroomFlip + (*ResPlayroomFlip)(nil), // 298: tutorial.ResPlayroomFlip + (*ReqPlayroomFlipReward)(nil), // 299: tutorial.ReqPlayroomFlipReward + (*ResPlayroomFlipReward)(nil), // 300: tutorial.ResPlayroomFlipReward + (*ReqPlayroomGame)(nil), // 301: tutorial.ReqPlayroomGame + (*ResPlayroomGame)(nil), // 302: tutorial.ResPlayroomGame + (*ReqPlayroomInteract)(nil), // 303: tutorial.ReqPlayroomInteract + (*ResPlayroomInteract)(nil), // 304: tutorial.ResPlayroomInteract + (*ReqPlayroomSetRoom)(nil), // 305: tutorial.ReqPlayroomSetRoom + (*ResPlayroomSetRoom)(nil), // 306: tutorial.ResPlayroomSetRoom + (*ReqPlayroomSelectReward)(nil), // 307: tutorial.ReqPlayroomSelectReward + (*ResPlayroomSelectReward)(nil), // 308: tutorial.ResPlayroomSelectReward + (*ReqPlayroomLose)(nil), // 309: tutorial.ReqPlayroomLose + (*ResPlayroomLose)(nil), // 310: tutorial.ResPlayroomLose + (*ReqPlayroomWork)(nil), // 311: tutorial.ReqPlayroomWork + (*ResPlayroomWork)(nil), // 312: tutorial.ResPlayroomWork + (*ReqPlayroomRest)(nil), // 313: tutorial.ReqPlayroomRest + (*ResPlayroomRest)(nil), // 314: tutorial.ResPlayroomRest + (*ReqPlayroomDraw)(nil), // 315: tutorial.ReqPlayroomDraw + (*ResPlayroomDraw)(nil), // 316: tutorial.ResPlayroomDraw + (*ReqPlayroomChip)(nil), // 317: tutorial.ReqPlayroomChip + (*ResPlayroomChip)(nil), // 318: tutorial.ResPlayroomChip + (*ReqPlayroomBuyItem)(nil), // 319: tutorial.ReqPlayroomBuyItem + (*ResPlayroomBuyItem)(nil), // 320: tutorial.ResPlayroomBuyItem + (*ReqFriendTreasure)(nil), // 321: tutorial.ReqFriendTreasure + (*ResFriendTreasure)(nil), // 322: tutorial.ResFriendTreasure + (*TreasureInfo)(nil), // 323: tutorial.TreasureInfo + (*ReqFriendTreasureStart)(nil), // 324: tutorial.ReqFriendTreasureStart + (*ResFriendTreasureStart)(nil), // 325: tutorial.ResFriendTreasureStart + (*ReqFriendTreasureEnd)(nil), // 326: tutorial.ReqFriendTreasureEnd + (*ResFriendTreasureEnd)(nil), // 327: tutorial.ResFriendTreasureEnd + (*ReqFriendTreasureFilp)(nil), // 328: tutorial.ReqFriendTreasureFilp + (*ResFriendTreasureFilp)(nil), // 329: tutorial.ResFriendTreasureFilp + (*ResFriendTreasureStar)(nil), // 330: tutorial.ResFriendTreasureStar + (*ReqKafkaLog)(nil), // 331: tutorial.ReqKafkaLog + (*AdminReq)(nil), // 332: tutorial.AdminReq + (*AdminRes)(nil), // 333: tutorial.AdminRes + (*ReqAdminInfo)(nil), // 334: tutorial.ReqAdminInfo + (*ReqServerInfo)(nil), // 335: tutorial.ReqServerInfo + nil, // 336: tutorial.ResChessColorData.MChessColorDataEntry + nil, // 337: tutorial.UpdateBaseItemInfo.MUpdateItemEntry + nil, // 338: tutorial.ResPlayerChessData.MChessDataEntry + nil, // 339: tutorial.UpdatePlayerChessData.MChessDataEntry + nil, // 340: tutorial.ReqSeparateChess.MChessDataEntry + nil, // 341: tutorial.ReqGetChessFromBuff.MChessDataEntry + nil, // 342: tutorial.ReqChessEx.MChessDataEntry + nil, // 343: tutorial.ReqSourceChest.MChessDataEntry + nil, // 344: tutorial.ReqPlayroomOutline.MChessDataEntry + nil, // 345: tutorial.ReqPutChessInBag.MChessDataEntry + nil, // 346: tutorial.ReqTakeChessOutBag.MChessDataEntry + nil, // 347: tutorial.ReqRewardOrder.MChessDataEntry + nil, // 348: tutorial.ResCardInfo.AllCardEntry + nil, // 349: tutorial.ResCardInfo.HandbookEntry + nil, // 350: tutorial.ResGuildInfo.RewardEntry + nil, // 351: tutorial.ResDailyTask.WeekRewardEntry + nil, // 352: tutorial.ResDailyTask.DailyTaskEntry + nil, // 353: tutorial.ResLimitEvent.LimitEventListEntry + nil, // 354: tutorial.ResLimitEventProgress.ProgressRewardEntry + nil, // 355: tutorial.ResKv.KvEntry + nil, // 356: tutorial.ResRank.RankListEntry + nil, // 357: tutorial.ResMailList.MailListEntry + nil, // 358: tutorial.ResCharge.SpecialShopEntry + nil, // 359: tutorial.ResCharge.ChessShopEntry + nil, // 360: tutorial.ResCharge.GiftEntry + nil, // 361: tutorial.ReqBuyChessShop2.MChessDataEntry + nil, // 362: tutorial.ResEndless.EndlessListEntry + nil, // 363: tutorial.ResChampshipRank.RankListEntry + nil, // 364: tutorial.ResChampshipPreRank.RankListEntry + nil, // 365: tutorial.ResNotifyCard.CardEntry + nil, // 366: tutorial.ResNotifyCard.MasterEntry + nil, // 367: tutorial.ResNotifyCard.HandbookEntry + nil, // 368: tutorial.ResMining.MapEntry + nil, // 369: tutorial.ReqMiningTake.MapEntry + nil, // 370: tutorial.ResActRed.RedEntry + nil, // 371: tutorial.ResItem.ItemEntry + nil, // 372: tutorial.ItemNotify.ItemEntry + nil, // 373: tutorial.ReqGuessColorTake.MapEntry + nil, // 374: tutorial.ResPlayroom.PlayroomEntry + nil, // 375: tutorial.ResPlayroom.MoodEntry + nil, // 376: tutorial.NotifyPlayroomMood.MoodEntry + nil, // 377: tutorial.ResPlayroomInfo.PlayroomEntry + nil, // 378: tutorial.ResPlayroomInfo.ItemsEntry + nil, // 379: tutorial.ResPlayroomInfo.FlipEntry + nil, // 380: tutorial.ResPlayroomGame.ItemsEntry + nil, // 381: tutorial.ReqPlayroomSetRoom.PlayroomEntry } var file_Gameapi_proto_depIdxs = []int32{ - 334, // 0: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry - 335, // 1: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry - 336, // 2: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry - 48, // 3: tutorial.ResPlayerChessInfo.ChessBag:type_name -> tutorial.ChessBag + 336, // 0: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry + 337, // 1: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry + 338, // 2: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry + 50, // 3: tutorial.ResPlayerChessInfo.ChessBag:type_name -> tutorial.ChessBag 1, // 4: tutorial.ChessHandle.type:type_name -> tutorial.HANDLE_TYPE - 337, // 5: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry + 339, // 5: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry 37, // 6: tutorial.UpdatePlayerChessData.mChessHandle:type_name -> tutorial.ChessHandle 2, // 7: tutorial.ResUpdatePlayerChessData.code:type_name -> tutorial.RES_CODE - 338, // 8: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry - 2, // 9: tutorial.ResGetChessFromBuff.code:type_name -> tutorial.RES_CODE - 339, // 10: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry - 2, // 11: tutorial.ResChessEx.code:type_name -> tutorial.RES_CODE - 340, // 12: tutorial.ReqSourceChest.mChessData:type_name -> tutorial.ReqSourceChest.MChessDataEntry - 2, // 13: tutorial.ResSourceChest.code:type_name -> tutorial.RES_CODE - 341, // 14: tutorial.ReqPlayroomOutline.mChessData:type_name -> tutorial.ReqPlayroomOutline.MChessDataEntry - 2, // 15: tutorial.ResPlayroomOutline.code:type_name -> tutorial.RES_CODE - 49, // 16: tutorial.ChessBag.ChessBagGrids:type_name -> tutorial.ChessBagGrid - 342, // 17: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry - 2, // 18: tutorial.ResPutChessInBag.code:type_name -> tutorial.RES_CODE - 343, // 19: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry - 2, // 20: tutorial.ResTakeChessOutBag.code:type_name -> tutorial.RES_CODE - 2, // 21: tutorial.ResBuyChessBagGrid.code:type_name -> tutorial.RES_CODE - 2, // 22: tutorial.ResSetEnergyMul.ResultCode:type_name -> tutorial.RES_CODE - 144, // 23: tutorial.UserInfo.AvatarList:type_name -> tutorial.AvatarInfo - 140, // 24: tutorial.UserInfo.FaceList:type_name -> tutorial.FaceInfo - 2, // 25: tutorial.ResSetName.ResultCode:type_name -> tutorial.RES_CODE - 2, // 26: tutorial.ResSetPetName.ResultCode:type_name -> tutorial.RES_CODE - 2, // 27: tutorial.ResBuyEnergy.Code:type_name -> tutorial.RES_CODE - 2, // 28: tutorial.ResGetEnergyByAD.Code:type_name -> tutorial.RES_CODE - 74, // 29: tutorial.Handbook.Handbooks:type_name -> tutorial.HandbookInfo - 2, // 30: tutorial.ResGetHandbookReward.Code:type_name -> tutorial.RES_CODE - 344, // 31: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry - 2, // 32: tutorial.ResRewardOrder.Code:type_name -> tutorial.RES_CODE - 79, // 33: tutorial.ResOrderList.OrderList:type_name -> tutorial.Order - 2, // 34: tutorial.ResDecorate.Code:type_name -> tutorial.RES_CODE - 2, // 35: tutorial.ResDecorateAll.Code:type_name -> tutorial.RES_CODE - 87, // 36: tutorial.ResCardInfo.CardList:type_name -> tutorial.Card - 345, // 37: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry - 346, // 38: tutorial.ResCardInfo.Handbook:type_name -> tutorial.ResCardInfo.HandbookEntry - 2, // 39: tutorial.ResCardHandbookReward.Code:type_name -> tutorial.RES_CODE - 2, // 40: tutorial.ResMasterCard.Code:type_name -> tutorial.RES_CODE - 2, // 41: tutorial.ResCardCollectReward.Code:type_name -> tutorial.RES_CODE - 2, // 42: tutorial.ResExStarReward.Code:type_name -> tutorial.RES_CODE - 2, // 43: tutorial.ResAllCollectReward.Code:type_name -> tutorial.RES_CODE - 2, // 44: tutorial.ResCardGive.Code:type_name -> tutorial.RES_CODE - 2, // 45: tutorial.ResAgreeCardGive.Code:type_name -> tutorial.RES_CODE - 2, // 46: tutorial.ResRefuseCardGive.Code:type_name -> tutorial.RES_CODE - 2, // 47: tutorial.ResCardSend.Code:type_name -> tutorial.RES_CODE - 2, // 48: tutorial.ResCardExchange.Code:type_name -> tutorial.RES_CODE - 2, // 49: tutorial.ResSelectCardExchange.Code:type_name -> tutorial.RES_CODE - 2, // 50: tutorial.ResAgreeCardExchange.Code:type_name -> tutorial.RES_CODE - 2, // 51: tutorial.ResRefuseCardSelect.Code:type_name -> tutorial.RES_CODE - 2, // 52: tutorial.ResRefuseCardExchange.Code:type_name -> tutorial.RES_CODE - 2, // 53: tutorial.ResGetFriendCard.Code:type_name -> tutorial.RES_CODE - 2, // 54: tutorial.ResGuideReward.Code:type_name -> tutorial.RES_CODE - 347, // 55: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry - 127, // 56: tutorial.ResItemPop.Items:type_name -> tutorial.ItemInfo - 128, // 57: tutorial.ResItemPop.CardPacks:type_name -> tutorial.CardPack - 348, // 58: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry - 349, // 59: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry - 127, // 60: tutorial.DailyWeek.Items:type_name -> tutorial.ItemInfo - 132, // 61: tutorial.DailyTask.Progress:type_name -> tutorial.QuestProgress - 127, // 62: tutorial.DailyTask.Items:type_name -> tutorial.ItemInfo - 2, // 63: tutorial.ResGetDailyTaskReward.Code:type_name -> tutorial.RES_CODE - 2, // 64: tutorial.ResGetDailyWeekReward.Code:type_name -> tutorial.RES_CODE - 2, // 65: tutorial.ResDailyUnlock.Code:type_name -> tutorial.RES_CODE - 140, // 66: tutorial.ResFaceInfo.FaceList:type_name -> tutorial.FaceInfo - 2, // 67: tutorial.ResSetFace.Code:type_name -> tutorial.RES_CODE - 144, // 68: tutorial.ResAvatarInfo.AvatarList:type_name -> tutorial.AvatarInfo - 2, // 69: tutorial.ResSetAvatar.Code:type_name -> tutorial.RES_CODE - 148, // 70: tutorial.ResSevenLogin.WeekReward:type_name -> tutorial.SevenLoginReward - 148, // 71: tutorial.ResSevenLogin.MonthReward:type_name -> tutorial.SevenLoginReward - 127, // 72: tutorial.SevenLoginReward.Item1:type_name -> tutorial.ItemInfo - 127, // 73: tutorial.SevenLoginReward.Item2:type_name -> tutorial.ItemInfo - 127, // 74: tutorial.SevenLoginReward.Item3:type_name -> tutorial.ItemInfo - 2, // 75: tutorial.ResGetSevenLoginReward.Code:type_name -> tutorial.RES_CODE - 2, // 76: tutorial.ResGetMonthLoginReward.Code:type_name -> tutorial.RES_CODE - 154, // 77: tutorial.ResActivity.ActiveList:type_name -> tutorial.ActivityInfo - 350, // 78: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry - 351, // 79: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry - 2, // 80: tutorial.ResLimitEventReward.Code:type_name -> tutorial.RES_CODE - 2, // 81: tutorial.ResSelectLimitEvent.Code:type_name -> tutorial.RES_CODE - 2, // 82: tutorial.ResLimitSenceReward.Code:type_name -> tutorial.RES_CODE - 127, // 83: tutorial.ResChessRainReward.Items:type_name -> tutorial.ItemInfo - 2, // 84: tutorial.ResFastProduceReward.Code:type_name -> tutorial.RES_CODE - 171, // 85: tutorial.ResSearchPlayer.List:type_name -> tutorial.ResPlayerSimple - 171, // 86: tutorial.ResFriendLog.Player:type_name -> tutorial.ResPlayerSimple - 173, // 87: tutorial.NotifyFriendLog.info:type_name -> tutorial.ResFriendLog - 176, // 88: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard - 352, // 89: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry - 171, // 90: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple - 2, // 91: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE - 171, // 92: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple - 187, // 93: tutorial.ResFriendApply.ApplyList:type_name -> tutorial.ResFriendApplyInfo - 171, // 94: tutorial.ResFriendApplyInfo.Player:type_name -> tutorial.ResPlayerSimple - 176, // 95: tutorial.ResFriendCardMsg.MsgList:type_name -> tutorial.ResFriendCard - 173, // 96: tutorial.ResFriendTimeLine.Log:type_name -> tutorial.ResFriendLog - 171, // 97: tutorial.ResFriendApplyNotify.Player:type_name -> tutorial.ResPlayerSimple - 2, // 98: tutorial.ResApplyFriend.Code:type_name -> tutorial.RES_CODE - 2, // 99: tutorial.ResAgreeFriend.Code:type_name -> tutorial.RES_CODE - 171, // 100: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple - 2, // 101: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE - 2, // 102: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE - 353, // 103: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry - 354, // 104: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry - 127, // 105: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo - 205, // 106: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo - 2, // 107: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE - 2, // 108: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE - 2, // 109: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE - 355, // 110: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry - 356, // 111: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry - 357, // 112: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry - 2, // 113: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE - 2, // 114: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE - 358, // 115: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry - 2, // 116: tutorial.ResBuyChessShop2.Code:type_name -> tutorial.RES_CODE - 2, // 117: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE - 359, // 118: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry - 127, // 119: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo - 2, // 120: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE - 2, // 121: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE - 2, // 122: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE - 2, // 123: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE - 2, // 124: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE - 360, // 125: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry - 361, // 126: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry - 362, // 127: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry - 363, // 128: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry - 364, // 129: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry - 2, // 130: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE - 365, // 131: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry - 366, // 132: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry - 2, // 133: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE - 2, // 134: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE - 367, // 135: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry - 154, // 136: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo - 368, // 137: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry - 369, // 138: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry - 271, // 139: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent - 370, // 140: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry - 2, // 141: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE - 2, // 142: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE - 278, // 143: tutorial.ResRace.Opponent:type_name -> tutorial.raceopponent - 2, // 144: tutorial.ResRaceStart.Code:type_name -> tutorial.RES_CODE - 2, // 145: tutorial.ResRaceReward.Code:type_name -> tutorial.RES_CODE - 127, // 146: tutorial.ResPlayroom.Items:type_name -> tutorial.ItemInfo - 292, // 147: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent - 291, // 148: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom - 371, // 149: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry - 372, // 150: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry - 127, // 151: tutorial.ResPlayroom.LoseItem:type_name -> tutorial.ItemInfo - 2, // 152: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE - 127, // 153: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo - 373, // 154: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry - 374, // 155: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry - 375, // 156: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry - 376, // 157: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry - 2, // 158: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE - 2, // 159: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE - 2, // 160: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE - 377, // 161: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry - 2, // 162: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE - 378, // 163: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry - 2, // 164: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE - 2, // 165: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE - 2, // 166: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE - 2, // 167: tutorial.ResPlayroomWork.Code:type_name -> tutorial.RES_CODE - 2, // 168: tutorial.ResPlayroomRest.Code:type_name -> tutorial.RES_CODE - 2, // 169: tutorial.ResPlayroomDraw.Code:type_name -> tutorial.RES_CODE - 2, // 170: tutorial.ResPlayroomChip.Code:type_name -> tutorial.RES_CODE - 2, // 171: tutorial.ResPlayroomBuyItem.Code:type_name -> tutorial.RES_CODE - 321, // 172: tutorial.ResFriendTreasure.List:type_name -> tutorial.TreasureInfo - 321, // 173: tutorial.ReqFriendTreasureStart.List:type_name -> tutorial.TreasureInfo - 2, // 174: tutorial.ResFriendTreasureStart.Code:type_name -> tutorial.RES_CODE - 2, // 175: tutorial.ResFriendTreasureEnd.Code:type_name -> tutorial.RES_CODE - 2, // 176: tutorial.ResFriendTreasureFilp.Code:type_name -> tutorial.RES_CODE - 130, // 177: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek - 131, // 178: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask - 162, // 179: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent - 171, // 180: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple - 205, // 181: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo - 214, // 182: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop - 215, // 183: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop - 226, // 184: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo - 172, // 185: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank - 172, // 186: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank - 127, // 187: tutorial.ResPlayroomInfo.ItemsEntry.value:type_name -> tutorial.ItemInfo - 127, // 188: tutorial.ResPlayroomGame.ItemsEntry.value:type_name -> tutorial.ItemInfo - 189, // [189:189] is the sub-list for method output_type - 189, // [189:189] is the sub-list for method input_type - 189, // [189:189] is the sub-list for extension type_name - 189, // [189:189] is the sub-list for extension extendee - 0, // [0:189] is the sub-list for field type_name + 340, // 8: tutorial.ReqSeparateChess.mChessData:type_name -> tutorial.ReqSeparateChess.MChessDataEntry + 2, // 9: tutorial.ResSeparateChess.code:type_name -> tutorial.RES_CODE + 341, // 10: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry + 2, // 11: tutorial.ResGetChessFromBuff.code:type_name -> tutorial.RES_CODE + 342, // 12: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry + 2, // 13: tutorial.ResChessEx.code:type_name -> tutorial.RES_CODE + 343, // 14: tutorial.ReqSourceChest.mChessData:type_name -> tutorial.ReqSourceChest.MChessDataEntry + 2, // 15: tutorial.ResSourceChest.code:type_name -> tutorial.RES_CODE + 344, // 16: tutorial.ReqPlayroomOutline.mChessData:type_name -> tutorial.ReqPlayroomOutline.MChessDataEntry + 2, // 17: tutorial.ResPlayroomOutline.code:type_name -> tutorial.RES_CODE + 51, // 18: tutorial.ChessBag.ChessBagGrids:type_name -> tutorial.ChessBagGrid + 345, // 19: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry + 2, // 20: tutorial.ResPutChessInBag.code:type_name -> tutorial.RES_CODE + 346, // 21: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry + 2, // 22: tutorial.ResTakeChessOutBag.code:type_name -> tutorial.RES_CODE + 2, // 23: tutorial.ResBuyChessBagGrid.code:type_name -> tutorial.RES_CODE + 2, // 24: tutorial.ResSetEnergyMul.ResultCode:type_name -> tutorial.RES_CODE + 146, // 25: tutorial.UserInfo.AvatarList:type_name -> tutorial.AvatarInfo + 142, // 26: tutorial.UserInfo.FaceList:type_name -> tutorial.FaceInfo + 2, // 27: tutorial.ResSetName.ResultCode:type_name -> tutorial.RES_CODE + 2, // 28: tutorial.ResSetPetName.ResultCode:type_name -> tutorial.RES_CODE + 2, // 29: tutorial.ResBuyEnergy.Code:type_name -> tutorial.RES_CODE + 2, // 30: tutorial.ResGetEnergyByAD.Code:type_name -> tutorial.RES_CODE + 76, // 31: tutorial.Handbook.Handbooks:type_name -> tutorial.HandbookInfo + 2, // 32: tutorial.ResGetHandbookReward.Code:type_name -> tutorial.RES_CODE + 347, // 33: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry + 2, // 34: tutorial.ResRewardOrder.Code:type_name -> tutorial.RES_CODE + 81, // 35: tutorial.ResOrderList.OrderList:type_name -> tutorial.Order + 2, // 36: tutorial.ResDecorate.Code:type_name -> tutorial.RES_CODE + 2, // 37: tutorial.ResDecorateAll.Code:type_name -> tutorial.RES_CODE + 89, // 38: tutorial.ResCardInfo.CardList:type_name -> tutorial.Card + 348, // 39: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry + 349, // 40: tutorial.ResCardInfo.Handbook:type_name -> tutorial.ResCardInfo.HandbookEntry + 2, // 41: tutorial.ResCardHandbookReward.Code:type_name -> tutorial.RES_CODE + 2, // 42: tutorial.ResMasterCard.Code:type_name -> tutorial.RES_CODE + 2, // 43: tutorial.ResCardCollectReward.Code:type_name -> tutorial.RES_CODE + 2, // 44: tutorial.ResExStarReward.Code:type_name -> tutorial.RES_CODE + 2, // 45: tutorial.ResAllCollectReward.Code:type_name -> tutorial.RES_CODE + 2, // 46: tutorial.ResCardGive.Code:type_name -> tutorial.RES_CODE + 2, // 47: tutorial.ResAgreeCardGive.Code:type_name -> tutorial.RES_CODE + 2, // 48: tutorial.ResRefuseCardGive.Code:type_name -> tutorial.RES_CODE + 2, // 49: tutorial.ResCardSend.Code:type_name -> tutorial.RES_CODE + 2, // 50: tutorial.ResCardExchange.Code:type_name -> tutorial.RES_CODE + 2, // 51: tutorial.ResSelectCardExchange.Code:type_name -> tutorial.RES_CODE + 2, // 52: tutorial.ResAgreeCardExchange.Code:type_name -> tutorial.RES_CODE + 2, // 53: tutorial.ResRefuseCardSelect.Code:type_name -> tutorial.RES_CODE + 2, // 54: tutorial.ResRefuseCardExchange.Code:type_name -> tutorial.RES_CODE + 2, // 55: tutorial.ResGetFriendCard.Code:type_name -> tutorial.RES_CODE + 2, // 56: tutorial.ResGuideReward.Code:type_name -> tutorial.RES_CODE + 350, // 57: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry + 129, // 58: tutorial.ResItemPop.Items:type_name -> tutorial.ItemInfo + 130, // 59: tutorial.ResItemPop.CardPacks:type_name -> tutorial.CardPack + 351, // 60: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry + 352, // 61: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry + 129, // 62: tutorial.DailyWeek.Items:type_name -> tutorial.ItemInfo + 134, // 63: tutorial.DailyTask.Progress:type_name -> tutorial.QuestProgress + 129, // 64: tutorial.DailyTask.Items:type_name -> tutorial.ItemInfo + 2, // 65: tutorial.ResGetDailyTaskReward.Code:type_name -> tutorial.RES_CODE + 2, // 66: tutorial.ResGetDailyWeekReward.Code:type_name -> tutorial.RES_CODE + 2, // 67: tutorial.ResDailyUnlock.Code:type_name -> tutorial.RES_CODE + 142, // 68: tutorial.ResFaceInfo.FaceList:type_name -> tutorial.FaceInfo + 2, // 69: tutorial.ResSetFace.Code:type_name -> tutorial.RES_CODE + 146, // 70: tutorial.ResAvatarInfo.AvatarList:type_name -> tutorial.AvatarInfo + 2, // 71: tutorial.ResSetAvatar.Code:type_name -> tutorial.RES_CODE + 150, // 72: tutorial.ResSevenLogin.WeekReward:type_name -> tutorial.SevenLoginReward + 150, // 73: tutorial.ResSevenLogin.MonthReward:type_name -> tutorial.SevenLoginReward + 129, // 74: tutorial.SevenLoginReward.Item1:type_name -> tutorial.ItemInfo + 129, // 75: tutorial.SevenLoginReward.Item2:type_name -> tutorial.ItemInfo + 129, // 76: tutorial.SevenLoginReward.Item3:type_name -> tutorial.ItemInfo + 2, // 77: tutorial.ResGetSevenLoginReward.Code:type_name -> tutorial.RES_CODE + 2, // 78: tutorial.ResGetMonthLoginReward.Code:type_name -> tutorial.RES_CODE + 156, // 79: tutorial.ResActivity.ActiveList:type_name -> tutorial.ActivityInfo + 353, // 80: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry + 354, // 81: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry + 2, // 82: tutorial.ResLimitEventReward.Code:type_name -> tutorial.RES_CODE + 2, // 83: tutorial.ResSelectLimitEvent.Code:type_name -> tutorial.RES_CODE + 2, // 84: tutorial.ResLimitSenceReward.Code:type_name -> tutorial.RES_CODE + 129, // 85: tutorial.ResChessRainReward.Items:type_name -> tutorial.ItemInfo + 2, // 86: tutorial.ResFastProduceReward.Code:type_name -> tutorial.RES_CODE + 173, // 87: tutorial.ResSearchPlayer.List:type_name -> tutorial.ResPlayerSimple + 173, // 88: tutorial.ResFriendLog.Player:type_name -> tutorial.ResPlayerSimple + 175, // 89: tutorial.NotifyFriendLog.info:type_name -> tutorial.ResFriendLog + 178, // 90: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard + 355, // 91: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry + 173, // 92: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple + 2, // 93: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE + 173, // 94: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple + 189, // 95: tutorial.ResFriendApply.ApplyList:type_name -> tutorial.ResFriendApplyInfo + 173, // 96: tutorial.ResFriendApplyInfo.Player:type_name -> tutorial.ResPlayerSimple + 178, // 97: tutorial.ResFriendCardMsg.MsgList:type_name -> tutorial.ResFriendCard + 175, // 98: tutorial.ResFriendTimeLine.Log:type_name -> tutorial.ResFriendLog + 173, // 99: tutorial.ResFriendApplyNotify.Player:type_name -> tutorial.ResPlayerSimple + 2, // 100: tutorial.ResApplyFriend.Code:type_name -> tutorial.RES_CODE + 2, // 101: tutorial.ResAgreeFriend.Code:type_name -> tutorial.RES_CODE + 173, // 102: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple + 2, // 103: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE + 2, // 104: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE + 356, // 105: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry + 357, // 106: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry + 129, // 107: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo + 207, // 108: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo + 2, // 109: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE + 2, // 110: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE + 2, // 111: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE + 358, // 112: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry + 359, // 113: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry + 360, // 114: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry + 2, // 115: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE + 2, // 116: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE + 361, // 117: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry + 2, // 118: tutorial.ResBuyChessShop2.Code:type_name -> tutorial.RES_CODE + 2, // 119: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE + 362, // 120: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry + 129, // 121: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo + 2, // 122: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE + 2, // 123: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE + 2, // 124: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE + 2, // 125: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE + 2, // 126: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE + 363, // 127: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry + 364, // 128: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry + 365, // 129: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry + 366, // 130: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry + 367, // 131: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry + 2, // 132: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE + 368, // 133: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry + 369, // 134: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry + 2, // 135: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE + 2, // 136: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE + 370, // 137: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry + 156, // 138: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo + 371, // 139: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry + 372, // 140: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry + 273, // 141: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent + 373, // 142: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry + 2, // 143: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE + 2, // 144: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE + 280, // 145: tutorial.ResRace.Opponent:type_name -> tutorial.raceopponent + 2, // 146: tutorial.ResRaceStart.Code:type_name -> tutorial.RES_CODE + 2, // 147: tutorial.ResRaceReward.Code:type_name -> tutorial.RES_CODE + 129, // 148: tutorial.ResPlayroom.Items:type_name -> tutorial.ItemInfo + 294, // 149: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent + 293, // 150: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom + 374, // 151: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry + 375, // 152: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry + 129, // 153: tutorial.ResPlayroom.LoseItem:type_name -> tutorial.ItemInfo + 2, // 154: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE + 129, // 155: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo + 376, // 156: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry + 377, // 157: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry + 378, // 158: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry + 379, // 159: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry + 2, // 160: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE + 2, // 161: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE + 2, // 162: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE + 380, // 163: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry + 2, // 164: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE + 381, // 165: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry + 2, // 166: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE + 2, // 167: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE + 2, // 168: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE + 2, // 169: tutorial.ResPlayroomWork.Code:type_name -> tutorial.RES_CODE + 2, // 170: tutorial.ResPlayroomRest.Code:type_name -> tutorial.RES_CODE + 2, // 171: tutorial.ResPlayroomDraw.Code:type_name -> tutorial.RES_CODE + 2, // 172: tutorial.ResPlayroomChip.Code:type_name -> tutorial.RES_CODE + 2, // 173: tutorial.ResPlayroomBuyItem.Code:type_name -> tutorial.RES_CODE + 323, // 174: tutorial.ResFriendTreasure.List:type_name -> tutorial.TreasureInfo + 323, // 175: tutorial.ReqFriendTreasureStart.List:type_name -> tutorial.TreasureInfo + 2, // 176: tutorial.ResFriendTreasureStart.Code:type_name -> tutorial.RES_CODE + 2, // 177: tutorial.ResFriendTreasureEnd.Code:type_name -> tutorial.RES_CODE + 2, // 178: tutorial.ResFriendTreasureFilp.Code:type_name -> tutorial.RES_CODE + 132, // 179: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek + 133, // 180: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask + 164, // 181: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent + 173, // 182: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple + 207, // 183: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo + 216, // 184: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop + 217, // 185: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop + 228, // 186: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo + 174, // 187: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank + 174, // 188: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank + 129, // 189: tutorial.ResPlayroomInfo.ItemsEntry.value:type_name -> tutorial.ItemInfo + 129, // 190: tutorial.ResPlayroomGame.ItemsEntry.value:type_name -> tutorial.ItemInfo + 191, // [191:191] is the sub-list for method output_type + 191, // [191:191] is the sub-list for method input_type + 191, // [191:191] is the sub-list for extension type_name + 191, // [191:191] is the sub-list for extension extendee + 0, // [0:191] is the sub-list for field type_name } func init() { file_Gameapi_proto_init() } @@ -21098,7 +21225,7 @@ func file_Gameapi_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_Gameapi_proto_rawDesc, NumEnums: 4, - NumMessages: 375, + NumMessages: 378, NumExtensions: 0, NumServices: 0, }, From e3fe8db5f4c843dea9a394d53553c28109add943 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 14 Jan 2025 10:56:08 +0800 Subject: [PATCH 06/24] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=86=E7=A6=BB?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/GameLogic.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index 0eadff88..397a0a00 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -634,6 +634,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqTakeChessOutBag", ReqTakeChessOutBag) // 从背包中取出棋子 RegisterMsgProcessFunc("ReqBuyChessBagGrid", ReqBuyChessBagGrid) // 解锁背包格子 RegisterMsgProcessFunc("ReqSourceChest", ReqSourceChest) // 开宝箱 + RegisterMsgProcessFunc("ReqSeparateChess", ReqSeparateChess) // 分解棋子 RegisterMsgProcessFunc("ReqBuyEnergy", ReqBuyEnergy) //购买能量 From affc20bf9f9dafa60c509b12251558a74814510a Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 14 Jan 2025 17:59:42 +0800 Subject: [PATCH 07/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/GoUtil/sliceUtil.go | 25 ++ src/server/conf/mergeData/MergeDataCfg.go | 91 +++++++ src/server/game/UnitTest.go | 2 +- src/server/game/mod/order/Order.go | 5 +- src/server/game/mod/order/OrderFunc.go | 274 +++++++++++++++++----- 5 files changed, 336 insertions(+), 61 deletions(-) diff --git a/src/server/GoUtil/sliceUtil.go b/src/server/GoUtil/sliceUtil.go index 172e1685..9e0239ca 100644 --- a/src/server/GoUtil/sliceUtil.go +++ b/src/server/GoUtil/sliceUtil.go @@ -234,3 +234,28 @@ func IntSliceToString(slice []int) string { str = strings.Trim(str, "[]") return str } + +func PopStringArray(s []string) (string, []string) { + if len(s) == 0 { + return "", s + } + return s[0], s[1:] +} + +func ShuffleStringArray(s []string) []string { + r := make([]string, len(s)) + perm := GetRand().Perm(len(s)) + for i, v := range perm { + r[v] = s[i] + } + return r +} + +func ShuffleArray(s []int) []int { + r := make([]int, len(s)) + perm := GetRand().Perm(len(s)) + for i, v := range perm { + r[v] = s[i] + } + return r +} diff --git a/src/server/conf/mergeData/MergeDataCfg.go b/src/server/conf/mergeData/MergeDataCfg.go index 6219259b..0ab2cf4e 100644 --- a/src/server/conf/mergeData/MergeDataCfg.go +++ b/src/server/conf/mergeData/MergeDataCfg.go @@ -56,6 +56,15 @@ func GetEmitProduce(EmitType string) []string { return strings.Split(gamedata.GetStringValue(data, "Product_Type"), ",") } +func GetEmitOrderProduce(EmitType string) []string { + data, err := gamedata.GetDataByKey(CFG_MERGE_EMIT, EmitType) + if err != nil { + log.Debug("GetEmitProduce GetOne EmitType:%s not found", EmitType) + return []string{} + } + return strings.Split(gamedata.GetStringValue(data, "Order_Type"), ",") +} + // 获取单个数据 func GetOne(Id int) (*gamedata.MergeDataRecord, error) { data, err := gamedata.GetDataByIntKey(CFG_NAME, Id) @@ -317,3 +326,85 @@ func GetHighSourceChestItem() []*item.Item { r = append(r, item.NewItem(item.ITEM_ENERGY_ID, B4)) return r } + +func DynamicLev(Lv int, EmitId int, Color string) int { + data, err := gamedata.GetDataByIntKey(CFG_NAME, EmitId) + if err != nil { + log.Debug("DynamicLev GetOne EmitId:%v not found", EmitId) + return Lv + } + DynamicLv := gamedata.GetStringValue(data, "Dynamic") + if DynamicLv == "" { + return Lv + } + Arr := strings.Split(DynamicLv, ",") + for _, v := range Arr { + Arr2 := strings.Split(v, "=") + if len(Arr2) != 2 { + continue + } + if Color == Arr2[0] { + NewLv, _ := strconv.Atoi(Arr2[1]) + return Lv - NewLv + } + } + return Lv +} +func DynamicLev2(Lv int, EmitId int, Color1 string, Color2 string) int { + data, err := gamedata.GetDataByIntKey(CFG_NAME, EmitId) + if err != nil { + log.Debug("DynamicLev GetOne EmitId:%v not found", EmitId) + return Lv + } + DynamicLv := gamedata.GetStringValue(data, "Dynamic") + if DynamicLv == "" { + return Lv + } + Arr := strings.Split(DynamicLv, ",") + BaseLv := Lv + for _, v := range Arr { + Arr2 := strings.Split(v, "=") + if len(Arr2) != 2 { + continue + } + if Color1 == Arr2[0] { + NewLv, _ := strconv.Atoi(Arr2[1]) + BaseLv = Lv + NewLv + } + } + for _, v := range Arr { + Arr2 := strings.Split(v, "=") + if len(Arr2) != 2 { + continue + } + if Color2 == Arr2[0] { + NewLv, _ := strconv.Atoi(Arr2[1]) + return BaseLv - NewLv + } + } + return Lv +} + +func DynamicAdjust(EmitId int, Color string) int { + data, err := gamedata.GetDataByIntKey(CFG_NAME, EmitId) + if err != nil { + log.Debug("DynamicLev GetOne EmitId:%v not found", EmitId) + return 0 + } + DynamicLv := gamedata.GetStringValue(data, "Dynamic") + if DynamicLv == "" { + return 0 + } + Arr := strings.Split(DynamicLv, ",") + for _, v := range Arr { + Arr2 := strings.Split(v, "=") + if len(Arr2) != 2 { + continue + } + if Color == Arr2[0] { + NewLv, _ := strconv.Atoi(Arr2[1]) + return NewLv + } + } + return 0 +} diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index 671c9ddf..1a6376fd 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -55,7 +55,7 @@ func UnitOrder(p *Player) error { OrderMod := p.PlayMod.getOrderMod() ChessMod := p.PlayMod.getChessMod() OrderMod.OrderList = make(map[int]order.Order) - for i := 0; i < 150; i++ { + for i := 0; i < 10000; i++ { err := OrderMod.CreateNormalOrder(7, ChessMod.GetEmitList(), 3) if err != nil { return err diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 02087d29..7c840953 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -9,6 +9,7 @@ import ( playroomCfg "server/conf/playroom" "server/game/mod/item" "server/msg" + "server/pkg/github.com/name5566/leaf/log" "sort" "time" ) @@ -22,6 +23,8 @@ type OrderMod struct { LastNormalOrder Order // 上一个普通订单 EimtOrder map[string]struct{} PreheatStep map[string]int // 预热订单步骤 + EmitShuffle []string // 发射器乱序 + ChessPool []int // 棋子池 } type Order struct { @@ -235,7 +238,7 @@ func (o *OrderMod) CreateNormalOrder(lv int, Emit []int, EnergyMul int) error { } break } - + log.Debug("CreateNormalOrder mergeList:%v, OrderDiff:%v", mergeList, OrderDiff) o.addOrder(mergeList, OrderDiff, Common_type) return nil } diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index ac333dc8..87b44a41 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -7,6 +7,8 @@ import ( userCfg "server/conf/user" ) +var reflectChess = map[int]int{} + func getChessNumRand(OrderN int) map[int]int { return map[int]int{ 1: int(25 - 4*OrderN), @@ -137,34 +139,34 @@ func getChessLv(Min, Max, Diff int) int { return GoUtil.RandNum(Start, End) } -func getRandChessColorList(o *OrderMod, Emit []int, EnergyMul int) map[string]int { - r := make(map[string]int) - ChessList := make([]int, 0) - for _, v := range o.OrderList { - if v.Type == Common_type { - ChessList = append(ChessList, v.MergeId...) - } - } - for _, v := range Emit { - Produce := mergeDataCfg.GetEmitProduceType(v) - if len(Produce) == 0 { - continue - } - if len(Produce) == 1 { - if Produce[0] == "" { - continue - } - r[Produce[0]] = 100 - continue - } - r[Produce[0]] = 80 - r[Produce[1]] = 20 - if checkA1High(ChessList, v, EnergyMul) { - r[Produce[1]] += 20 - } - } - return r -} +// func getRandChessColorList(o *OrderMod, Emit []int, EnergyMul int) map[string]int { +// r := make(map[string]int) +// ChessList := make([]int, 0) +// for _, v := range o.OrderList { +// if v.Type == Common_type { +// ChessList = append(ChessList, v.MergeId...) +// } +// } +// for _, v := range Emit { +// Produce := mergeDataCfg.GetEmitProduceType(v) +// if len(Produce) == 0 { +// continue +// } +// if len(Produce) == 1 { +// if Produce[0] == "" { +// continue +// } +// r[Produce[0]] = 100 +// continue +// } +// r[Produce[0]] = 80 +// r[Produce[1]] = 20 +// if checkA1High(ChessList, v, EnergyMul) { +// r[Produce[1]] += 20 +// } +// } +// return r +// } func RandChessColor(Emit []int) string { r := make(map[string]int) @@ -186,21 +188,21 @@ func RandChessColor(Emit []int) string { return GoUtil.RandStringMap(r) } -func checkA1High(ChessList []int, Emit int, EnergyMul int) bool { - ChessMinLev, ChessMaxLev := getChesslvRange(Emit, EnergyMul) - HighLv := ChessMinLev + ((ChessMaxLev-ChessMinLev)/3)*2 - Produce := mergeDataCfg.GetEmitProduceChessType(Emit) - for _, v := range ChessList { - ChessColor := mergeDataCfg.GetColorById(v) - if ChessColor == Produce[0] { - ChessLv := mergeDataCfg.GetLvById(v) - if ChessLv >= HighLv { - return true - } - } - } - return false -} +// func checkA1High(ChessList []int, Emit int, EnergyMul int) bool { +// ChessMinLev, ChessMaxLev := getChesslvRange(Emit, EnergyMul) +// HighLv := ChessMinLev + ((ChessMaxLev-ChessMinLev)/3)*2 +// Produce := mergeDataCfg.GetEmitProduceChessType(Emit) +// for _, v := range ChessList { +// ChessColor := mergeDataCfg.GetColorById(v) +// if ChessColor == Produce[0] { +// ChessLv := mergeDataCfg.GetLvById(v) +// if ChessLv >= HighLv { +// return true +// } +// } +// } +// return false +// } func getChesslvRange(Emit int, EnergyMul int) (int, int) { RandEmitLv := mergeDataCfg.GetLvById(Emit) @@ -226,40 +228,92 @@ func getEmitByColor(Emit []int, color string) int { return 0 } +// 生成订单 func randOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int, error) { + initReflectChess(Emit, EnergyMul) OrderN, err := userCfg.GetOrderNByLv(lv) RandChessNum := getChessNumRand(OrderN) if err != nil { return nil, diff_low, err } + // 生成订单难度和棋子数量 ChessNum := GoUtil.RandMap(RandChessNum) OrderDiffRand := getOrderDiffRand(o.LastDiff, OrderN) OrderDiff := GoUtil.RandMap(OrderDiffRand) ChessDiff := getChessDiff(ChessNum, OrderDiff, OrderN) mergeList := make([]int, 0, len(ChessDiff)) - ColorRand := getRandChessColorList(o, Emit, EnergyMul) - var Color string + // 根据订单棋子难度生成棋子 for _, v := range ChessDiff { - Color = GoUtil.RandStringMap(ColorRand) - delete(ColorRand, Color) - Emit := getEmitByColor(Emit, Color) - ChessMinLv, ChessMaxLv := getChesslvRange(Emit, EnergyMul) - NewLev := getChessLv(ChessMinLv, ChessMaxLv, v) - ColorMaxLv := mergeDataCfg.GetMaxLvByColor(Color) - NewLev = min(NewLev, ColorMaxLv) - ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev, Color) - Type := mergeDataCfg.GetTypeById(ChessId) - if Type != "Product" { - continue - } - if ChessId == 0 { - continue + // EmitId := getEmitId(o, Emit) + // ColorRand := mergeDataCfg.GetEmitOrderProduce(EmitId) + // Color := GoUtil.RandStringSlice(ColorRand) + // EmitChessId := getEmitByColor(Emit, Color) + // ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul) + // NewLev := getChessLv(ChessMinLv, ChessMaxLv, v) + // ColorMaxLv := mergeDataCfg.GetMaxLvByColor(Color) + // NewLev = min(NewLev, ColorMaxLv) + // ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev, Color) + // Type := mergeDataCfg.GetTypeById(ChessId) + // if Type != "Product" { + // continue + // } + // if ChessId == 0 { + // continue + // } + ChessId := 0 + for { + ChessId = getChessFromPoolByDiff(o, v, Emit, EnergyMul) + if !GoUtil.InArray(ChessId, mergeList) { + break + } } mergeList = append(mergeList, ChessId) } return mergeList, OrderDiff, nil } +func getEmitId(o *OrderMod, Emit []int) string { + if o.EmitShuffle == nil { + o.EmitShuffle = make([]string, 0) + for _, v := range Emit { + EmitProduct := mergeDataCfg.GetEmitProduceType(v) + if len(EmitProduct) == 0 || EmitProduct[0] == "" { + continue + } + EmitId := mergeDataCfg.GetEmitId(v) + if GoUtil.InStringArray(EmitId, o.EmitShuffle) { + continue + } + o.EmitShuffle = append(o.EmitShuffle, EmitId) + } + GoUtil.ShuffleStringArray(o.EmitShuffle) + } + PopEmitId, NewSlice := GoUtil.PopStringArray(o.EmitShuffle) + o.EmitShuffle = NewSlice + if len(o.EmitShuffle) == 0 { + o.EmitShuffle = make([]string, 0) + for _, v := range Emit { + EmitId := mergeDataCfg.GetEmitId(v) + if GoUtil.InStringArray(EmitId, o.EmitShuffle) { + continue + } + o.EmitShuffle = append(o.EmitShuffle, EmitId) + } + Num := 1 + for { + GoUtil.ShuffleStringArray(o.EmitShuffle) + if o.EmitShuffle[0] != PopEmitId { + break + } + Num++ + if Num > 100 { + break + } + } + } + return PopEmitId +} + func getOrderStar(ChessList []int) int { Star := 0 for _, v := range ChessList { @@ -267,3 +321,105 @@ func getOrderStar(ChessList []int) int { } return Star } + +func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) int { + EmitId := getEmitId(o, Emit) + ColorRand := mergeDataCfg.GetEmitOrderProduce(EmitId) + Color := GoUtil.RandStringSlice(ColorRand) + EmitChessId := getEmitByColor(Emit, Color) + // 从棋子池中获取棋子 + MinChessId := 0 + for i, chess := range o.ChessPool { + chessColor := mergeDataCfg.GetColorById(chess) + if reflectChess[chess] > Diff { + MinChessId = chess + } + if !GoUtil.InStringArray(chessColor, ColorRand) { + continue + } + if reflectChess[chess] == Diff { + // ChessLev := mergeDataCfg.GetLvById(chess) + o.ChessPool = append(o.ChessPool[:i], o.ChessPool[i+1:]...) + // for _, i := range ColorRand { + // if i == Color { + // continue + // } + // NewLev2 := mergeDataCfg.DynamicLev2(ChessLev, EmitChessId, Color, i) + // ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, i) + // if ChessId2 != 0 { + // o.ChessPool = append(o.ChessPool, ChessId2) + // } + // } + return chess + } + } + + // 获取不到时选最接近的棋子 + ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul) + NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) + NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color) + if MinChessId != 0 { + MinChessColor := mergeDataCfg.GetColorById(MinChessId) + MinChessLv := mergeDataCfg.GetLvById(MinChessId) + NewEmitChessId := getEmitByColor(Emit, MinChessColor) + NewChessLv := mergeDataCfg.DynamicLev(NewLev, NewEmitChessId, MinChessColor) + o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId) + for i := NewChessLv; i < MinChessLv; i++ { + ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor) + if ChessId2 != 0 { + o.ChessPool = append(o.ChessPool, ChessId2) + } + } + return mergeDataCfg.GetChessIdByLvAndColor(NewLev1, MinChessColor) + } + ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev1, Color) + for _, i := range ColorRand { + if i == Color { + continue + } + NewLev2 := mergeDataCfg.DynamicLev2(NewLev1, EmitChessId, Color, i) + ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, i) + if ChessId2 != 0 { + o.ChessPool = append(o.ChessPool, ChessId2) + } + } + o.ChessPool = GoUtil.ShuffleArray(o.ChessPool) + if len(o.ChessPool) > 200 { + o.ChessPool = o.ChessPool[:200] + } + return ChessId +} + +func initReflectChess(Emits []int, EnergyMul int) { + Start, End := 0, 0 + for _, Emit := range Emits { + ChessMinLv, ChessMaxLv := getChesslvRange(Emit, EnergyMul) + Product := mergeDataCfg.GetEmitProduceChessType(Emit) + Start = ChessMinLv + End = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3 - 1 + for _, v := range Product { + Adjust := mergeDataCfg.DynamicAdjust(Emit, v) + initReflectChess2(v, Start, End, diff_low, Adjust) + } + Start = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3 + End = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3*2 - 1 + for _, v := range Product { + Adjust := mergeDataCfg.DynamicAdjust(Emit, v) + initReflectChess2(v, Start, End, diff_mid, Adjust) + } + Start = ChessMinLv + (ChessMaxLv-ChessMinLv+1)/3*2 + End = ChessMaxLv + for _, v := range Product { + Adjust := mergeDataCfg.DynamicAdjust(Emit, v) + initReflectChess2(v, Start, End, diff_high, Adjust) + } + } +} + +func initReflectChess2(Color string, Start, End, Diff, adjust int) { + for i := Start; i <= End; i++ { + Lv := max(i-adjust, 1) + ChessId := mergeDataCfg.GetChessIdByLvAndColor(Lv, Color) + reflectChess[ChessId] = Diff + } +} From d96b05a2aa206af71aca2bc2616183a03a88df25 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 14 Jan 2025 18:39:34 +0800 Subject: [PATCH 08/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/order/orderCfg.go | 17 +++++++++++++++++ src/server/game/PlayerFunc.go | 2 ++ src/server/game/mod/order/Order.go | 17 ++++++++++++++++- 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/server/conf/order/orderCfg.go b/src/server/conf/order/orderCfg.go index dd7d67ed..0fe9a65a 100644 --- a/src/server/conf/order/orderCfg.go +++ b/src/server/conf/order/orderCfg.go @@ -7,11 +7,13 @@ import ( const ( CFG_ORDER_DATA = "OrderData" CFG_ORDER_CHESS_DATA = "OrderChessData" + CFG_ORDER_NUM_DATA = "OrderNumData" ) func init() { gamedata.InitCfg(CFG_ORDER_DATA) gamedata.InitCfg(CFG_ORDER_CHESS_DATA) + gamedata.InitCfg(CFG_ORDER_NUM_DATA) } func GetLvMin(EnergyMul int) int { @@ -39,3 +41,18 @@ func GetLvMax(EnergyMul, N int) int { } return 0 } + +func GetOrderNum(Level int) int { + data, err := gamedata.GetData(CFG_ORDER_NUM_DATA) + if err != nil { + return 0 + } + for _, v := range data { + Min := gamedata.GetIntValue(v, "MinLv") + Max := gamedata.GetIntValue(v, "MaxLv") + if Level >= Min && Level <= Max { + return gamedata.GetIntValue(v, "Num") + } + } + return 0 +} diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index 382acc6f..46cb9e4b 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -737,6 +737,8 @@ func EmitRetireTrigger1(p *Player) { sort.Slice(EmitId1, func(i, j int) bool { return EmitId1[i] < EmitId1[j] }) + OrderMod := p.PlayMod.getOrderMod() + OrderMod.Retire(EmitId1[0]) ChessMod.BeginRetire(EmitId1[0]) } diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 7c840953..6ef89688 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -6,6 +6,7 @@ import ( startOrderCfg "server/conf/StartOrder" limitedTimeEventCfg "server/conf/limitedTimeEvent" mergeDataCfg "server/conf/mergeData" + orderCfg "server/conf/order" playroomCfg "server/conf/playroom" "server/game/mod/item" "server/msg" @@ -136,7 +137,7 @@ func (o *OrderMod) CreateOrder(lv int, Emit []int, EnergyMul int) error { if o.CreatePriorityOrder(lv, Emit) { return nil } - MaxOrderNum := min(lv/4+2, 6) + MaxOrderNum := orderCfg.GetOrderNum(lv) n := 0 for _, v := range o.OrderList { if v.Type == Common_type || v.Type == Clean_type { @@ -522,3 +523,17 @@ func (o *OrderMod) ChangeEnergyMul(lv int, Emit []int, EnergyMul int, ChessList } } } + +func (o *OrderMod) Retire(EmitId string) { + ChessPool := make([]int, 0) + Product := mergeDataCfg.GetEmitProduce(EmitId) + for _, v := range o.ChessPool { + Color := mergeDataCfg.GetColorById(v) + if GoUtil.InStringArray(Color, Product) { + continue + } + ChessPool = append(ChessPool, v) + } + o.ChessPool = ChessPool + o.EmitShuffle = nil +} From 169378ff01ec9f5058368b0ac3dc624daca7f0ef Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 14 Jan 2025 18:46:15 +0800 Subject: [PATCH 09/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/order/orderCfg.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/conf/order/orderCfg.go b/src/server/conf/order/orderCfg.go index 0fe9a65a..b31fdc5f 100644 --- a/src/server/conf/order/orderCfg.go +++ b/src/server/conf/order/orderCfg.go @@ -48,8 +48,8 @@ func GetOrderNum(Level int) int { return 0 } for _, v := range data { - Min := gamedata.GetIntValue(v, "MinLv") - Max := gamedata.GetIntValue(v, "MaxLv") + Min := gamedata.GetIntValue(v, "Min") + Max := gamedata.GetIntValue(v, "Max") if Level >= Min && Level <= Max { return gamedata.GetIntValue(v, "Num") } From 741a389ebd7deff796c390d735d7f3d5cfc3217a Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Tue, 14 Jan 2025 19:03:14 +0800 Subject: [PATCH 10/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Gm.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index 58b964ac..0c862e51 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -100,7 +100,9 @@ func ReqGmCommand(args []interface{}) error { Lv := player.GetPlayerBaseMod().GetLevel() EmitList := player.PlayMod.getChessMod().GetEmitList() EnergyMul := player.PlayMod.getBaseMod().GetEnergyMul() - player.PlayMod.getOrderMod().CreateOrder(Lv, EmitList, EnergyMul) + OrderMod := player.PlayMod.getOrderMod() + OrderMod.LastOrder.Type = 1 + OrderMod.CreateOrder(Lv, EmitList, EnergyMul) player.PushClientRes(player.PlayMod.getOrderMod().BackData()) case "resetCardReq": CardMod := player.PlayMod.getCardMod() From e0e6731d4fe8b9fa9b6012c0690d0148276cdc43 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 09:51:15 +0800 Subject: [PATCH 11/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/OrderFunc.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 87b44a41..99803a5d 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -373,7 +373,8 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in return mergeDataCfg.GetChessIdByLvAndColor(NewLev1, MinChessColor) } ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev1, Color) - for _, i := range ColorRand { + ProductColor := mergeDataCfg.GetEmitProduceChessType(EmitChessId) + for _, i := range ProductColor { if i == Color { continue } From 83bfb64d4950d0c763f357d2d668e138a00c7263 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 10:23:07 +0800 Subject: [PATCH 12/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/OrderFunc.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 99803a5d..dab8967c 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -136,6 +136,9 @@ func getChessLv(Min, Max, Diff int) int { case diff_high: Start = Min + (Max-Min+1)/3*2 } + Start = max(Min, Start) + End = max(Start, End) + End = min(Max, End) return GoUtil.RandNum(Start, End) } From e8fd0d99531ab49c831e70e614df1623c415a6ab Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 14:29:09 +0800 Subject: [PATCH 13/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/OrderFunc.go | 36 ++++++-------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index dab8967c..f89a0bd5 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -247,22 +247,6 @@ func randOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int, mergeList := make([]int, 0, len(ChessDiff)) // 根据订单棋子难度生成棋子 for _, v := range ChessDiff { - // EmitId := getEmitId(o, Emit) - // ColorRand := mergeDataCfg.GetEmitOrderProduce(EmitId) - // Color := GoUtil.RandStringSlice(ColorRand) - // EmitChessId := getEmitByColor(Emit, Color) - // ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul) - // NewLev := getChessLv(ChessMinLv, ChessMaxLv, v) - // ColorMaxLv := mergeDataCfg.GetMaxLvByColor(Color) - // NewLev = min(NewLev, ColorMaxLv) - // ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev, Color) - // Type := mergeDataCfg.GetTypeById(ChessId) - // if Type != "Product" { - // continue - // } - // if ChessId == 0 { - // continue - // } ChessId := 0 for { ChessId = getChessFromPoolByDiff(o, v, Emit, EnergyMul) @@ -340,19 +324,9 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in if !GoUtil.InStringArray(chessColor, ColorRand) { continue } - if reflectChess[chess] == Diff { - // ChessLev := mergeDataCfg.GetLvById(chess) + ChessLv := mergeDataCfg.GetLvById(chess) + if reflectChess[chess] == Diff && ChessLv >= EnergyMul+1 && ChessLv <= EnergyMul+12 { o.ChessPool = append(o.ChessPool[:i], o.ChessPool[i+1:]...) - // for _, i := range ColorRand { - // if i == Color { - // continue - // } - // NewLev2 := mergeDataCfg.DynamicLev2(ChessLev, EmitChessId, Color, i) - // ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, i) - // if ChessId2 != 0 { - // o.ChessPool = append(o.ChessPool, ChessId2) - // } - // } return chess } } @@ -361,6 +335,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul) NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color) + NewLev1 = adjustLev(NewLev1, EnergyMul) if MinChessId != 0 { MinChessColor := mergeDataCfg.GetColorById(MinChessId) MinChessLv := mergeDataCfg.GetLvById(MinChessId) @@ -382,6 +357,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in continue } NewLev2 := mergeDataCfg.DynamicLev2(NewLev1, EmitChessId, Color, i) + NewLev2 = adjustLev(NewLev2, EnergyMul) ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, i) if ChessId2 != 0 { o.ChessPool = append(o.ChessPool, ChessId2) @@ -427,3 +403,7 @@ func initReflectChess2(Color string, Start, End, Diff, adjust int) { reflectChess[ChessId] = Diff } } + +func adjustLev(Lev, EnergyMul int) int { + return max(min(Lev, EnergyMul+12), EnergyMul+1) +} From c6c884b232b410a494119a30cfb62b8b6555d6f9 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 16:07:27 +0800 Subject: [PATCH 14/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/mergeData/MergeDataCfg.go | 9 ++++++++ src/server/game/UnitTest.go | 3 ++- src/server/game/mod/order/Order.go | 5 +++-- src/server/game/mod/order/OrderFunc.go | 26 +++++++++++++++++++---- 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/src/server/conf/mergeData/MergeDataCfg.go b/src/server/conf/mergeData/MergeDataCfg.go index 0ab2cf4e..9d7e8543 100644 --- a/src/server/conf/mergeData/MergeDataCfg.go +++ b/src/server/conf/mergeData/MergeDataCfg.go @@ -237,6 +237,15 @@ func GetEmitId(Id int) string { return gamedata.ParseString(data["Emit_ID"]) } +func GetEmitType(Id int) string { + data, err := gamedata.GetDataByIntKey(CFG_NAME, Id) + if err != nil { + log.Debug("GetTypeById GetOne Id:%v not found", Id) + return "" + } + return gamedata.ParseString(data["Emit_Type"]) +} + // 获取常量 func GetConst(Key string) string { data, err := gamedata.GetDataByKey(CONST_NAME, Key) diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index 1a6376fd..a2392167 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -55,7 +55,8 @@ func UnitOrder(p *Player) error { OrderMod := p.PlayMod.getOrderMod() ChessMod := p.PlayMod.getChessMod() OrderMod.OrderList = make(map[int]order.Order) - for i := 0; i < 10000; i++ { + OrderMod.LastDiff = 1 + for i := 0; i < 3; i++ { err := OrderMod.CreateNormalOrder(7, ChessMod.GetEmitList(), 3) if err != nil { return err diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index 6ef89688..e623444c 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -2,6 +2,7 @@ package order import ( "fmt" + "log" "server/GoUtil" startOrderCfg "server/conf/StartOrder" limitedTimeEventCfg "server/conf/limitedTimeEvent" @@ -10,7 +11,6 @@ import ( playroomCfg "server/conf/playroom" "server/game/mod/item" "server/msg" - "server/pkg/github.com/name5566/leaf/log" "sort" "time" ) @@ -239,7 +239,7 @@ func (o *OrderMod) CreateNormalOrder(lv int, Emit []int, EnergyMul int) error { } break } - log.Debug("CreateNormalOrder mergeList:%v, OrderDiff:%v", mergeList, OrderDiff) + log.Printf("CreateNormalOrder: %v, %v, %v", mergeList, OrderDiff, err) o.addOrder(mergeList, OrderDiff, Common_type) return nil } @@ -390,6 +390,7 @@ func (o *OrderMod) addOrder(ChessList []int, Diff int, Type int) { if Type == Common_type { o.LastNormalOrder = Order } + o.LastDiff = Diff } func (o *OrderMod) CreateCleanOrder(ChessList []int) bool { diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index f89a0bd5..5ab238bb 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -311,9 +311,10 @@ func getOrderStar(ChessList []int) int { func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) int { EmitId := getEmitId(o, Emit) - ColorRand := mergeDataCfg.GetEmitOrderProduce(EmitId) + EmitChessId := getEmitBySeries(Emit, EmitId) + ColorRand := mergeDataCfg.GetEmitProduceType(EmitChessId) Color := GoUtil.RandStringSlice(ColorRand) - EmitChessId := getEmitByColor(Emit, Color) + // 从棋子池中获取棋子 MinChessId := 0 for i, chess := range o.ChessPool { @@ -340,7 +341,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in MinChessColor := mergeDataCfg.GetColorById(MinChessId) MinChessLv := mergeDataCfg.GetLvById(MinChessId) NewEmitChessId := getEmitByColor(Emit, MinChessColor) - NewChessLv := mergeDataCfg.DynamicLev(NewLev, NewEmitChessId, MinChessColor) + NewChessLv := mergeDataCfg.DynamicLev(NewLev1, NewEmitChessId, MinChessColor) o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId) for i := NewChessLv; i < MinChessLv; i++ { ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor) @@ -351,7 +352,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in return mergeDataCfg.GetChessIdByLvAndColor(NewLev1, MinChessColor) } ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev1, Color) - ProductColor := mergeDataCfg.GetEmitProduceChessType(EmitChessId) + ProductColor := mergeDataCfg.GetEmitProduceType(EmitChessId) for _, i := range ProductColor { if i == Color { continue @@ -373,6 +374,10 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in func initReflectChess(Emits []int, EnergyMul int) { Start, End := 0, 0 for _, Emit := range Emits { + ProduceColor := mergeDataCfg.GetEmitProduceType(Emit) + if len(ProduceColor) == 0 || ProduceColor[0] == "" { + continue + } ChessMinLv, ChessMaxLv := getChesslvRange(Emit, EnergyMul) Product := mergeDataCfg.GetEmitProduceChessType(Emit) Start = ChessMinLv @@ -407,3 +412,16 @@ func initReflectChess2(Color string, Start, End, Diff, adjust int) { func adjustLev(Lev, EnergyMul int) int { return max(min(Lev, EnergyMul+12), EnergyMul+1) } + +func getEmitBySeries(EmitList []int, EmitId string) int { + for _, v := range EmitList { + ProduceColor := mergeDataCfg.GetEmitProduceType(v) + if len(ProduceColor) == 0 || ProduceColor[0] == "" { + continue + } + if mergeDataCfg.GetEmitId(v) == EmitId { + return v + } + } + return 0 +} From 74948cd917ea3dd65b5132adb1c8867177663987 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 16:24:35 +0800 Subject: [PATCH 15/24] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=8F=91=E8=B4=A7?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/PlayerFunc.go | 4 ++-- src/server/game/RegisterNetworkFunc.go | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index 46cb9e4b..e7ceb41c 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -454,8 +454,8 @@ func CancelOrder(p *Player, OrderSn string) error { if err != nil { return err } - if Order.PayStatus != MergeConst.ORDER_STATUS_PAY { - return fmt.Errorf("订单未支付") + if Order.PayStatus != MergeConst.ORDER_STATUS_IDLE { + return fmt.Errorf("订单已支付") } Order.PayStatus = MergeConst.ORDER_STATUS_CANCEL err = db.UpdatePlayerChargeData(Order) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 8940ab0a..537b8637 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -2224,10 +2224,11 @@ func ReqShippingOrder(args []interface{}) error { proto.Unmarshal(buf, req) OrderSn := req.OrderSn Status := int(req.Status) - if Status != MergeConst.ORDER_STATUS_CANCEL { // 取消支付 + if Status == MergeConst.ORDER_STATUS_CANCEL { // 取消支付 CancelOrder(player, OrderSn) player.PushClientRes(&msg.ResShippingOrder{ Code: msg.RES_CODE_SUCCESS, + Msg: "cancel success", }) return nil } @@ -2235,6 +2236,13 @@ func ReqShippingOrder(args []interface{}) error { if err != nil { return err } + if OrderData.PayStatus != MergeConst.ORDER_STATUS_PAY { + player.PushClientRes(&msg.ResShippingOrder{ + Code: msg.RES_CODE_FAIL, + Msg: "order status error", + }) + return errors.New("order status error") + } if OrderData.PayStatus == MergeConst.ORDER_STATUS_PAY { Charge(player, int(OrderData.ProductId)) OrderData.PayStatus = MergeConst.ORDER_STATUS_SHIP From 553fdef352a87723e4cacf51fcf78d50e2621f67 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 16:55:10 +0800 Subject: [PATCH 16/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/UnitTest.go | 6 +++--- src/server/game/mod/order/OrderFunc.go | 9 +++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index a2392167..fec83c7e 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -54,10 +54,10 @@ func UnitChessShop(p *Player) error { func UnitOrder(p *Player) error { OrderMod := p.PlayMod.getOrderMod() ChessMod := p.PlayMod.getChessMod() + BaseMod := p.PlayMod.getBaseMod() OrderMod.OrderList = make(map[int]order.Order) - OrderMod.LastDiff = 1 - for i := 0; i < 3; i++ { - err := OrderMod.CreateNormalOrder(7, ChessMod.GetEmitList(), 3) + for i := 0; i < 1003; i++ { + err := OrderMod.CreateNormalOrder(BaseMod.GetLevel(), ChessMod.GetEmitList(), BaseMod.EnergyMul) if err != nil { return err } diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 5ab238bb..a9ab36df 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -335,13 +335,13 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in // 获取不到时选最接近的棋子 ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul) NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) - NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color) - NewLev1 = adjustLev(NewLev1, EnergyMul) if MinChessId != 0 { MinChessColor := mergeDataCfg.GetColorById(MinChessId) + NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, MinChessColor) + NewLev2 := adjustLev(NewLev1, EnergyMul) MinChessLv := mergeDataCfg.GetLvById(MinChessId) NewEmitChessId := getEmitByColor(Emit, MinChessColor) - NewChessLv := mergeDataCfg.DynamicLev(NewLev1, NewEmitChessId, MinChessColor) + NewChessLv := mergeDataCfg.DynamicLev(NewLev2, NewEmitChessId, MinChessColor) o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId) for i := NewChessLv; i < MinChessLv; i++ { ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor) @@ -349,8 +349,9 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in o.ChessPool = append(o.ChessPool, ChessId2) } } - return mergeDataCfg.GetChessIdByLvAndColor(NewLev1, MinChessColor) + return mergeDataCfg.GetChessIdByLvAndColor(NewLev2, MinChessColor) } + NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color) ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev1, Color) ProductColor := mergeDataCfg.GetEmitProduceType(EmitChessId) for _, i := range ProductColor { From bcd7743073fc46de670467b2d8a346b21d61971c Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 18:17:46 +0800 Subject: [PATCH 17/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9bonus=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go index 68529109..fa3606a5 100644 --- a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go +++ b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go @@ -235,7 +235,7 @@ func (l *LimitedTimeEventMod) AddProgress(Lv int) { } l.Progress++ if l.Progress == l.ProgressMax { - SelectNum := limitedTimeEventCfg.GetProgressSelectNum(l.Lv) + SelectNum := limitedTimeEventCfg.GetProgressSelectNum(Lv) BonusLv := limitedTimeEventCfg.GetBonusLv(l.Lv) RandMap := limitedTimeEventCfg.GetProgressRewardRand(BonusLv) n := 0 From 80b6bddd65ebb0c324e9f13ebd0b5c9d028578f3 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 18:31:14 +0800 Subject: [PATCH 18/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9bonus=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/Gm.go | 7 +++++-- src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index 0c862e51..b99c27e0 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -125,10 +125,13 @@ func ReqGmCommand(args []interface{}) error { num, _ := strconv.Atoi(arg[1]) player.PlayMod.getLimitedTimeEventMod().Progress = num case "setProgressReward": + BaseMod := player.PlayMod.getBaseMod() + LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() + LimitedTimeEventMod.Progress = 5 for i := 1; i < 5; i++ { - player.PlayMod.getLimitedTimeEventMod().AddProgress(6) + LimitedTimeEventMod.AddProgress(BaseMod.GetLevel()) } - player.PushClientRes(player.PlayMod.getLimitedTimeEventMod().ProgressBackData()) + player.PushClientRes(LimitedTimeEventMod.ProgressBackData()) case "champshipGroup": G_GameLogicPtr.ChampshipMgrSend(&MsgMod.Msg{ Type: MsgMod.HANDLE_TYPE_CHAMPSHIP_GROUP, diff --git a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go index fa3606a5..6e3df5a6 100644 --- a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go +++ b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go @@ -236,7 +236,7 @@ func (l *LimitedTimeEventMod) AddProgress(Lv int) { l.Progress++ if l.Progress == l.ProgressMax { SelectNum := limitedTimeEventCfg.GetProgressSelectNum(Lv) - BonusLv := limitedTimeEventCfg.GetBonusLv(l.Lv) + BonusLv := limitedTimeEventCfg.GetBonusLv(Lv) RandMap := limitedTimeEventCfg.GetProgressRewardRand(BonusLv) n := 0 r := make([]int, 0) From 4dbc0f3b54579db7966fa3c39b07069cd6b7c40e Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 15 Jan 2025 18:51:14 +0800 Subject: [PATCH 19/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/OrderFunc.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index a9ab36df..7b8867f2 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -11,8 +11,8 @@ var reflectChess = map[int]int{} func getChessNumRand(OrderN int) map[int]int { return map[int]int{ - 1: int(25 - 4*OrderN), - 2: int(40 + 2*OrderN), + 1: int(15 - 3*OrderN), + 2: int(50 + OrderN), 3: int(35 + 2*OrderN), } } From f7781321750cb160d38980e146008195b94042c3 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 17 Jan 2025 00:01:09 +0800 Subject: [PATCH 20/24] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/GameLogic.go | 1 + 1 file changed, 1 insertion(+) diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index 397a0a00..02054b5f 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -107,6 +107,7 @@ func (gl *GameLogic) ZeroFlush() { gl.VarMgrSend(MsgMod.MSG_ZERO_UPDATE) // 零点更新变量 gl.NotifyAll(MsgMod.MSG_ZERO_UPDATE) gl.CreateDailyLogFile() + log.Debug("Server ZeroFlush") } // 中午更新 From 555d46e62343692b9bf358191e765e6589aa2d90 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 16 Jan 2025 12:34:16 +0800 Subject: [PATCH 21/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/order/OrderFunc.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 7b8867f2..4162402e 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -331,26 +331,28 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in return chess } } - - // 获取不到时选最接近的棋子 - ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul) - NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) + /** 获取不到时选最接近的棋子 + * 1. 选取最接近的棋子 + */ if MinChessId != 0 { MinChessColor := mergeDataCfg.GetColorById(MinChessId) - NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, MinChessColor) - NewLev2 := adjustLev(NewLev1, EnergyMul) - MinChessLv := mergeDataCfg.GetLvById(MinChessId) NewEmitChessId := getEmitByColor(Emit, MinChessColor) - NewChessLv := mergeDataCfg.DynamicLev(NewLev2, NewEmitChessId, MinChessColor) + ChessMinLv, ChessMaxLv := getChesslvRange(NewEmitChessId, EnergyMul) + NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) + MinChessLv := mergeDataCfg.GetLvById(MinChessId) + NewLev2 := adjustLev(NewLev, EnergyMul) o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId) - for i := NewChessLv; i < MinChessLv; i++ { + for i := NewLev2; i < MinChessLv; i++ { ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor) if ChessId2 != 0 { o.ChessPool = append(o.ChessPool, ChessId2) } } - return mergeDataCfg.GetChessIdByLvAndColor(NewLev2, MinChessColor) + Chess := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, MinChessColor) + return Chess } + ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul) + NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color) ChessId := mergeDataCfg.GetChessIdByLvAndColor(NewLev1, Color) ProductColor := mergeDataCfg.GetEmitProduceType(EmitChessId) From e3870ec10aab1403c7c61dc6471335d89ef2e78e Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 16 Jan 2025 14:40:55 +0800 Subject: [PATCH 22/24] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/mod/chess/Chess.go | 40 ++++++++++---------------- src/server/game/mod/order/OrderFunc.go | 9 +++--- 2 files changed, 20 insertions(+), 29 deletions(-) diff --git a/src/server/game/mod/chess/Chess.go b/src/server/game/mod/chess/Chess.go index 6f5e82c5..96cac75c 100644 --- a/src/server/game/mod/chess/Chess.go +++ b/src/server/game/mod/chess/Chess.go @@ -111,17 +111,9 @@ func (cb *ChessBorad) ComposeChess(id int) (int, error) { } ChessType := mergeDataCfg.GetTypeById(id) if ChessType == "Emitter" { - _, ok := cb.EmitList[id+1] - if ok { - cb.EmitList[id+1]++ - } else { - cb.EmitList[id+1] = 1 - } - if cb.EmitList[id] > 2 { - cb.EmitList[id] -= 2 - } else { - delete(cb.EmitList, id) - } + cb.EmitList[id+1]++ + cb.EmitList[id]-- + cb.EmitList[id]-- } id++ newList = append(newList, id) @@ -147,12 +139,7 @@ func (cb *ChessBorad) AddChess(id int) error { } ChessType := mergeDataCfg.GetTypeById(id) if ChessType == "Emitter" { - _, ok := cb.EmitList[id] - if ok { - cb.EmitList[id]++ - } else { - cb.EmitList[id] = 1 - } + cb.EmitList[id]++ } cb.ChessList = append(cb.ChessList, id) return nil @@ -167,12 +154,7 @@ func (cb *ChessBorad) BuyChess(id int) (int, error) { cb.ChessList = append(cb.ChessList, id) ChessType := mergeDataCfg.GetTypeById(id) if ChessType == "Emitter" { - _, ok := cb.EmitList[id] - if ok { - cb.EmitList[id]++ - } else { - cb.EmitList[id] = 1 - } + cb.EmitList[id]++ } return CfgRecord.SellNum, nil } @@ -235,6 +217,7 @@ func (cb *ChessBorad) RemoveChess(Id int) error { func (cb *ChessBorad) GetEmitList() []int { result := make([]int, 0, len(cb.EmitList)) + EM := make(map[string]int) for k, v := range cb.EmitList { EmitID := mergeDataCfg.GetEmitId(k) if EmitID == "" { @@ -243,9 +226,16 @@ func (cb *ChessBorad) GetEmitList() []int { if cb.Retire[EmitID] == 2 { continue } - if v > 0 { - result = append(result, k) + EmitType := mergeDataCfg.GetEmitType(k) + if EmitType == "sub" { + continue } + if v > 0 { + EM[EmitID] = max(EM[EmitID], k) + } + } + for _, v := range EM { + result = append(result, v) } return result } diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 4162402e..d6f4935a 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -313,8 +313,6 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in EmitId := getEmitId(o, Emit) EmitChessId := getEmitBySeries(Emit, EmitId) ColorRand := mergeDataCfg.GetEmitProduceType(EmitChessId) - Color := GoUtil.RandStringSlice(ColorRand) - // 从棋子池中获取棋子 MinChessId := 0 for i, chess := range o.ChessPool { @@ -337,12 +335,14 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in if MinChessId != 0 { MinChessColor := mergeDataCfg.GetColorById(MinChessId) NewEmitChessId := getEmitByColor(Emit, MinChessColor) + ColorRand := mergeDataCfg.GetEmitProduceType(NewEmitChessId) ChessMinLv, ChessMaxLv := getChesslvRange(NewEmitChessId, EnergyMul) NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) MinChessLv := mergeDataCfg.GetLvById(MinChessId) - NewLev2 := adjustLev(NewLev, EnergyMul) + NewLev2 := mergeDataCfg.DynamicLev2(NewLev, NewEmitChessId, ColorRand[0], MinChessColor) + NewLev3 := adjustLev(NewLev2, EnergyMul) o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId) - for i := NewLev2; i < MinChessLv; i++ { + for i := NewLev3; i < MinChessLv; i++ { ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor) if ChessId2 != 0 { o.ChessPool = append(o.ChessPool, ChessId2) @@ -351,6 +351,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in Chess := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, MinChessColor) return Chess } + Color := GoUtil.RandStringSlice(ColorRand) ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul) NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff) NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color) From ea134948f630c3c5e57813c1c1201558d5f70a39 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 16 Jan 2025 15:14:37 +0800 Subject: [PATCH 23/24] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/LogMgr.go | 2 ++ src/server/game/Player.go | 3 +++ src/server/game/UnitTest.go | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/server/game/LogMgr.go b/src/server/game/LogMgr.go index f53ad558..49a23ce5 100644 --- a/src/server/game/LogMgr.go +++ b/src/server/game/LogMgr.go @@ -26,6 +26,8 @@ type LogMgr struct { type Log struct { Uid int64 + AppId int64 + ServerId int64 EventName string Param map[string]interface{} TimeStamp int64 diff --git a/src/server/game/Player.go b/src/server/game/Player.go index e84da4ca..78152792 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -9,6 +9,7 @@ import ( "encoding/json" "errors" "server/GoUtil" + "server/conf" activityCfg "server/conf/activity" cardCfg "server/conf/card" guesscolorCfg "server/conf/guessColor" @@ -797,6 +798,8 @@ func (p *Player) TeLog(Type string, Param map[string]interface{}) { } func (p *Player) Kafka(Type string, Param map[string]interface{}) { + Param["AppId"] = conf.Server.AppID + Param["ServerId"] = conf.Server.ServerID G_GameLogicPtr.AddLog(&Log{ Uid: p.M_DwUin, EventName: Type, diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index fec83c7e..7feb4a44 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -56,7 +56,7 @@ func UnitOrder(p *Player) error { ChessMod := p.PlayMod.getChessMod() BaseMod := p.PlayMod.getBaseMod() OrderMod.OrderList = make(map[int]order.Order) - for i := 0; i < 1003; i++ { + for i := 0; i < 1000; i++ { err := OrderMod.CreateNormalOrder(BaseMod.GetLevel(), ChessMod.GetEmitList(), BaseMod.EnergyMul) if err != nil { return err From d4c01061aa7e4b2e1dcbb8e3a6f8d14220eb7135 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 16 Jan 2025 15:49:50 +0800 Subject: [PATCH 24/24] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/GameLogic.go | 2 ++ src/server/game/LogMgr.go | 4 ++-- src/server/game/Player.go | 3 --- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index 02054b5f..314a4a14 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -806,6 +806,8 @@ func (ad *GameLogic) InitActivity() { } func (ad *GameLogic) AddLog(Log *Log) { + Log.ServerId = conf.Server.ServerID + Log.AppId = conf.Server.AppID Log.TimeStamp = time.Now().Unix() go func() { ad.MLogManager.AddLog(Log) diff --git a/src/server/game/LogMgr.go b/src/server/game/LogMgr.go index 49a23ce5..cbc3393f 100644 --- a/src/server/game/LogMgr.go +++ b/src/server/game/LogMgr.go @@ -26,8 +26,8 @@ type LogMgr struct { type Log struct { Uid int64 - AppId int64 - ServerId int64 + AppId int + ServerId int EventName string Param map[string]interface{} TimeStamp int64 diff --git a/src/server/game/Player.go b/src/server/game/Player.go index 78152792..e84da4ca 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -9,7 +9,6 @@ import ( "encoding/json" "errors" "server/GoUtil" - "server/conf" activityCfg "server/conf/activity" cardCfg "server/conf/card" guesscolorCfg "server/conf/guessColor" @@ -798,8 +797,6 @@ func (p *Player) TeLog(Type string, Param map[string]interface{}) { } func (p *Player) Kafka(Type string, Param map[string]interface{}) { - Param["AppId"] = conf.Server.AppID - Param["ServerId"] = conf.Server.ServerID G_GameLogicPtr.AddLog(&Log{ Uid: p.M_DwUin, EventName: Type,