diff --git a/src/server/GoUtil/feishu.go b/src/server/GoUtil/feishu.go index 62f000e8..ba7170cd 100644 --- a/src/server/GoUtil/feishu.go +++ b/src/server/GoUtil/feishu.go @@ -6,30 +6,22 @@ import ( "fmt" "net/http" "server/conf" + "time" ) const ( - FEISHU_WEBHOOK = "https://open.feishu.cn/open-apis/bot/v2/hook/70e24a79-b019-434a-b4d1-4592bbf7c311" + FEISHU_WEBHOOK = "https://gadmin.bywaystudios.com/api/feishu/notify" ) // AAqFpbuPhFSEx func SendFeishuFatal(PlayerId int, FuncName string, msg string) error { // 创建请求体 payload := map[string]interface{}{ - "msg_type": "interactive", - "card": map[string]interface{}{ - "type": "template", - "data": map[string]interface{}{ - "template_id": "AAqFpbuPhFSEx", - "template_version_name": "1.0.0", - "template_variable": map[string]interface{}{ - "appName": conf.Server.GameName, - "playerId": PlayerId, - "funcName": FuncName, - "fatal_msg": msg, - }, - }, - }, + "notify_msg": fmt.Sprintf("游戏接口出错 %s:%d", conf.Server.GameName, PlayerId), + "host": FuncName, + "event_name": msg, + "severity": "High", + "alarm_time": time.Unix(time.Now().Unix(), 0).Format("2006-01-02 15:04:05"), } payloadBytes, err := json.Marshal(payload) if err != nil { diff --git a/src/server/conf/activity/ActivityCfg.go b/src/server/conf/activity/ActivityCfg.go index 5a8c32a1..852f200c 100644 --- a/src/server/conf/activity/ActivityCfg.go +++ b/src/server/conf/activity/ActivityCfg.go @@ -2,17 +2,49 @@ package activityCfg import ( "server/GoUtil" + "server/game/mod/item" "server/gamedata" "server/pkg/github.com/name5566/leaf/log" "strconv" ) const ( - CFG_ACTIVITY = "Activity" + CFG_ACTIVITY = "Activity" + CFG_ACTIVITY_GIFT = "ActivityGift" ) func init() { gamedata.InitCfg(CFG_ACTIVITY) + gamedata.InitCfg(CFG_ACTIVITY_GIFT) +} + +func GetActivityGiftId(chargeId int) int { + data, err := gamedata.GetData(CFG_ACTIVITY_GIFT) + if err != nil { + log.Debug("GetActivityGift err:%v", err) + } + for _, v := range data { + ChargeId := gamedata.GetIntValue(v, "ChargeId") + if ChargeId == chargeId { + return gamedata.GetIntValue(v, "AId") + } + } + return 0 +} + +func GetAcitivityGiftItems(chargeId int) []*item.Item { + data, err := gamedata.GetData(CFG_ACTIVITY_GIFT) + if err != nil { + log.Debug("GetAcitivityGiftItems err:%v", err) + } + for _, v := range data { + ChargeId := gamedata.GetIntValue(v, "ChargeId") + if ChargeId == chargeId { + Items := gamedata.GetItemList(v, "Items") + return Items + } + } + return nil } func GetActivityList() []*gamedata.ActivityData { @@ -37,6 +69,7 @@ func GetActivityList() []*gamedata.ActivityData { ActivityData := &gamedata.ActivityData{ Id: Id, Type: Type, + AType: gamedata.GetIntValue(v, "AType"), Name: Name, Title: Title, Level: Level, diff --git a/src/server/conf/champship/ChampshipCfg.go b/src/server/conf/champship/ChampshipCfg.go index c488d1a5..1e409745 100644 --- a/src/server/conf/champship/ChampshipCfg.go +++ b/src/server/conf/champship/ChampshipCfg.go @@ -62,6 +62,22 @@ func GetReward(Reward, Score int) (int, []*item.Item) { return NewReward, r } +func GetRewardItems(Reward int) ([]*item.Item, int) { + data, err := gamedata.GetDataByIntKey(CFG_CHAMPSHIP_JACKPOT, Reward) + if err != nil { + return nil, 0 + } + return gamedata.GetItemList(data, "Items"), gamedata.GetIntValue(data, "Score") +} + +func GetRewardTotalScore(Reward int) int { + data, err := gamedata.GetDataByIntKey(CFG_CHAMPSHIP_JACKPOT, Reward) + if err != nil { + return 0 + } + return gamedata.GetIntValue(data, "Total") +} + func GetRankReward(Rank int) []*item.Item { data, err := gamedata.GetData(CFG_CHAMPSHIP_RANK) if err != nil { diff --git a/src/server/conf/collect/CollectCfg.go b/src/server/conf/collect/CollectCfg.go new file mode 100644 index 00000000..35be1bb5 --- /dev/null +++ b/src/server/conf/collect/CollectCfg.go @@ -0,0 +1,53 @@ +package collectCfg + +import ( + "server/GoUtil" + "server/game/mod/item" + "server/gamedata" +) + +const ( + CFG_COLLECT = "Collect" + CFG_COLLECT_JACKPOT = "CollectJackpot" +) + +func init() { + gamedata.InitCfg(CFG_COLLECT) + gamedata.InitCfg(CFG_COLLECT_JACKPOT) +} + +func GetJackpotId() []int { + data, err := gamedata.GetData(CFG_COLLECT_JACKPOT) + if err != nil { + return nil + } + ret := make([]int, 0) + for k := range data { + ret = append(ret, GoUtil.Int(k)) + } + return ret +} + +func GetJackpotItems(Id int) []*item.Item { + data, err := gamedata.GetDataByIntKey(CFG_COLLECT_JACKPOT, Id) + if err != nil { + return nil + } + return gamedata.GetItemList(data, "Items") +} + +func GetRewardNeed(Id int) int { + data, err := gamedata.GetDataByIntKey(CFG_COLLECT, Id) + if err != nil { + return 0 + } + return gamedata.GetIntValue(data, "Need") +} + +func GetRewardType(Id int) int { + data, err := gamedata.GetDataByIntKey(CFG_COLLECT, Id) + if err != nil { + return 0 + } + return gamedata.GetIntValue(data, "Type") +} diff --git a/src/server/conf/emoji/emojiCfg.go b/src/server/conf/emoji/emojiCfg.go index 6a7d75fa..f61b092a 100644 --- a/src/server/conf/emoji/emojiCfg.go +++ b/src/server/conf/emoji/emojiCfg.go @@ -27,3 +27,15 @@ func GetInitList() []int { } return ret } + +func GetAllList() []int { + data, err := gamedata.GetData(CFG_EMOJI) + if err != nil { + return nil + } + ret := make([]int, 0) + for k := range data { + ret = append(ret, GoUtil.Int(k)) + } + return ret +} diff --git a/src/server/conf/handbook/handbookCfg.go b/src/server/conf/handbook/handbookCfg.go new file mode 100644 index 00000000..d60c0819 --- /dev/null +++ b/src/server/conf/handbook/handbookCfg.go @@ -0,0 +1,35 @@ +package handbookCfg + +import ( + "server/game/mod/item" + "server/gamedata" + "server/pkg/github.com/name5566/leaf/log" +) + +const ( + CFG_HANDBOOK = "Handbook" + CFG_HANDBOOK_CONST = "HandbookConst" +) + +func init() { + gamedata.InitCfg(CFG_HANDBOOK) + gamedata.InitCfg(CFG_HANDBOOK_CONST) +} + +func GetHandbookReward(Type string) []*item.Item { + data, err := gamedata.GetDataByKey(CFG_HANDBOOK, Type) + if err != nil { + log.Debug("GetHandbookReward err:%v", err) + return nil + } + return gamedata.GetItemList(data, "Items") +} + +func GetHandbookCollectReward() []*item.Item { + data, err := gamedata.GetDataByKey(CFG_HANDBOOK_CONST, "collect_item") + if err != nil { + log.Debug("GetHandbookCollectReward err:%v", err) + return nil + } + return gamedata.GetItemList(data, "Value") +} diff --git a/src/server/conf/mergeData/MergeDataCfg.go b/src/server/conf/mergeData/MergeDataCfg.go index 78498cfc..bf674615 100644 --- a/src/server/conf/mergeData/MergeDataCfg.go +++ b/src/server/conf/mergeData/MergeDataCfg.go @@ -40,13 +40,18 @@ func GetEmitTypeProduce(EmitType string) []string { return strings.Split(gamedata.GetStringValue(data, "Produce"), ",") } -func GetEmitType2(EmitType string) int { - data, err := gamedata.GetDataByKey(CFG_MERGE_EMIT_TYPE, EmitType) +func GetEmitTypeByColor(Color string) string { + data, err := gamedata.GetData(CFG_MERGE_EMIT) if err != nil { - // log.Debug("GetEmitTypeProduce GetOne EmitType:%s not found", EmitType) - return 0 + return "" } - return gamedata.GetIntValue(data, "Type2") + for _, v := range data { + ColorList := strings.Split(gamedata.GetStringValue(data, "Order_Type"), ",") + if GoUtil.InStringArray(Color, ColorList) { + return gamedata.GetStringValue(v, "Type") + } + } + return "" } func GetEmitProduce(EmitType string) []string { @@ -200,6 +205,16 @@ func GetColorById(Id int) string { return gamedata.ParseString(data["Color"]) } +// 根据Id获取棋子类型 +func GetSellNumById(Id int) int { + data, err := gamedata.GetDataByIntKey(CFG_NAME, Id) + if err != nil { + log.Debug("GetColorById GetOne Id:%v not found", Id) + return 0 + } + return gamedata.GetIntValue(data, "SellNum") +} + // 根据Id获取发射器产出类型 func GetEmitProduceType(Id int) []string { data, err := gamedata.GetDataByIntKey(CFG_NAME, Id) diff --git a/src/server/conf/playroom/playroomCfg.go b/src/server/conf/playroom/playroomCfg.go index 82a53a99..7a959ac0 100644 --- a/src/server/conf/playroom/playroomCfg.go +++ b/src/server/conf/playroom/playroomCfg.go @@ -226,3 +226,29 @@ func GetMoodEffect(Id int) (int, int) { } return gamedata.GetIntValue(data, "MType"), gamedata.GetIntValue(data, "MEffect") } + +func IsStokeCat(Id int) bool { + data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "StokeCatId") + if err != nil { + return false + } + return gamedata.GetIntValue(data, "Value") == Id +} + +func IsTakeCat(Id int) bool { + data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "TakeCatId") + if err != nil { + return false + } + Ids := gamedata.GetIntSliceValue(data, "Value") + return GoUtil.InArray(Id, Ids) +} + +func IsPlayCat(Id int) bool { + data, err := gamedata.GetDataByKey(CFG_PLAYROOM_CONST, "PlayCatId") + if err != nil { + return false + } + Ids := gamedata.GetIntSliceValue(data, "Value") + return GoUtil.InArray(Id, Ids) +} diff --git a/src/server/game/ActivityFunc.go b/src/server/game/ActivityFunc.go index c6546911..e3f4d15d 100644 --- a/src/server/game/ActivityFunc.go +++ b/src/server/game/ActivityFunc.go @@ -46,6 +46,15 @@ func GetActivityInfo(p *Player, actType int) *ActivityInfo { return nil } +func GetActivityInfoById(p *Player, Id int) *ActivityInfo { + for _, v := range p.activity { + if v.Id == Id { + return v + } + } + return nil +} + func GetActivityStatus(p *Player, actType int) int { ActivityInfo := GetActivityInfo(p, actType) if ActivityInfo == nil { diff --git a/src/server/game/ChargeFunc.go b/src/server/game/ChargeFunc.go index 8bad3d72..114742c6 100644 --- a/src/server/game/ChargeFunc.go +++ b/src/server/game/ChargeFunc.go @@ -1,6 +1,7 @@ package game import ( + activityCfg "server/conf/activity" "server/game/mod/piggyBank" "server/msg" "server/pkg/github.com/name5566/leaf/log" @@ -11,6 +12,30 @@ func Charge(p *Player, ChargeId int) { EndlessFire(p, ChargeId) // 无尽礼包 PiggyBankFire(p, ChargeId) // 猪猪银行 PlayroomFire(p, ChargeId) // 游乐场 + ActivityFire(p, ChargeId) // 活动礼包 +} + +func ActivityFire(p *Player, ChargeId int) { + ActivityMod := p.PlayMod.getActivityMod() + ActivityId := activityCfg.GetActivityGiftId(ChargeId) + ActivityInfo := GetActivityInfoById(p, ActivityId) + if ActivityInfo == nil { + log.Debug("ActivityFire ActivityInfo nil : player id :%d, charge id:%d", p.M_DwUin, ChargeId) + return + } + Item, err := ActivityMod.Fire(ChargeId) + if err != nil { + log.Debug("ActivityFire err : %s", err) + return + } + err = p.HandleItem(Item, msg.ITEM_POP_LABEL_ActivityGift.String()) + if err != nil { + log.Debug("ChargeFire err : %s", err) + return + } + p.PlayMod.save() + p.initAcitivity() + p.BackDataActivity() } func PlayroomFire(p *Player, ChargeId int) { diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index 028a0475..43fe60e8 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -628,7 +628,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("UpdateBaseItemInfo", UpdateBaseItemInfofunction) // 保存引导 RegisterMsgProcessFunc("ReqKv", ReqKv) // 保存客户端数据 RegisterMsgProcessFunc("ReqGetEnergyByAD", ReqGetEnergyByAD) // 看广告获取能量 - + RegisterMsgProcessFunc("ReqBuyEnergy", ReqBuyEnergy) // 购买能量 // #region 棋盘 RegisterMsgProcessFunc("ReqPlayerChessData", ReqPlayerChessDataFunc) RegisterMsgProcessFunc("UpdatePlayerChessData", UpdatePlayerChessDataFunc) // 更新棋盘数据 @@ -640,15 +640,16 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqBuyChessBagGrid", ReqBuyChessBagGrid) // 解锁背包格子 RegisterMsgProcessFunc("ReqSourceChest", ReqSourceChest) // 开宝箱 RegisterMsgProcessFunc("ReqSeparateChess", ReqSeparateChess) // 分解棋子 - - RegisterMsgProcessFunc("ReqBuyEnergy", ReqBuyEnergy) //购买能量 + RegisterMsgProcessFunc("ReqUpgradeChess", ReqUpgradeChess) // 升级棋子 + RegisterMsgProcessFunc("ReqSellChessNum", ReqSellChessNum) //购买能量 //领取图鉴奖励 RegisterMsgProcessFunc("ReqGetHandbookReward", ReqGetHandbookReward) //领取图鉴奖励 - + RegisterMsgProcessFunc("RegHandbookAllReward", RegHandbookAllReward) //领取图鉴收集奖励 //领取订单奖励 RegisterMsgProcessFunc("ReqRewardOrder", ReqRewardOrder) // 领取订单奖励 RegisterMsgProcessFunc("ReqDelOrder", ReqDelOrder) // 删除订单 + //装饰 RegisterMsgProcessFunc("ReqDecorate", ReqDecorate) // 装饰 RegisterMsgProcessFunc("ReqDecorateAll", ReqDecorateAll) // 装饰全部 @@ -688,7 +689,9 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqSetAvatar", ReqSetAvatar) // 设置头像框 // 表情 RegisterMsgProcessFunc("ReqSetEmoji", ReqSetEmoji) // 设置表情 - + // 收藏室 + RegisterMsgProcessFunc("ReqCollectInfo", ReqCollectInfo) // 请求收藏室数据 + RegisterMsgProcessFunc("ReqCollect", ReqCollect) // 领取收藏室奖励 // 七日签到 RegisterMsgProcessFunc("ReqGetSevenLoginReward", ReqGetSevenLoginReward) // 领取七日签到奖励 RegisterMsgProcessFunc("ReqGetMonthLoginReward", ReqGetMonthLoginReward) // 领取月签到奖励 @@ -707,6 +710,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() { RegisterMsgProcessFunc("ReqFriendCardMsg", ReqFriendCardMsg) // 请求好友卡牌申请列表 RegisterMsgProcessFunc("ReqFriendTimeLine", ReqFriendTimeLine) // 请求好友时间线 RegisterMsgProcessFunc("ReqFriendRecommend", ReqFriendRecommend) // 获取推荐好友 + RegisterMsgProcessFunc("ReqFriendTLUpvote", ReqFriendTLUpvote) // 请求时间线点赞 RegisterMsgProcessFunc("ReqSearchPlayer", ReqSearchPlayer) // 搜索好友 RegisterMsgProcessFunc("ReqApplyFriend", ReqApplyFriend) // 申请好友 diff --git a/src/server/game/Gm.go b/src/server/game/Gm.go index ab3a58e8..153029a0 100644 --- a/src/server/game/Gm.go +++ b/src/server/game/Gm.go @@ -8,9 +8,11 @@ import ( "server/conf" cardCfg "server/conf/card" chargeCfg "server/conf/charge" + emojiCfg "server/conf/emoji" playroomCfg "server/conf/playroom" "server/db" "server/game/mod/card" + "server/game/mod/emoji" "server/game/mod/friend" "server/game/mod/item" MsgMod "server/game/mod/msg" @@ -29,6 +31,11 @@ func ReqGmCommand(player *Player, buf []byte) error { return ReqGmCommand_(player, detail.Command) } func ReqGmCommand_(player *Player, Command string) error { + // defer func() { + // if err := recover(); err != nil { + // log.Error("ReqGmCommand panic: %v", err) + // } + // }() arg := strings.Split(Command, " ") switch arg[0] { case "additem": @@ -69,11 +76,18 @@ func ReqGmCommand_(player *Player, Command string) error { player.PlayMod.getBaseMod().Level = num player.PlayMod.getBaseMod().Exp = 0 player.PushClientRes(player.PlayerBaseMod.BackAsset()) + player.initAcitivity() + player.BackDataActivity() case "zeroUpdate": VarMod := player.PlayMod.getVarMod() VarMod.DailyResetTime = 0 player.ZeroUpdate(nil) // G_GameLogicPtr.ZeroFlush() + case "resetActivity": + ActivityMod := player.PlayMod.getActivityMod() + ActivityMod.Var = nil + ActivityMod.InitData() + player.PlayMod.save() case "weekUpdate": VarMod := player.PlayMod.getVarMod() VarMod.WeeklyResetTime = 0 @@ -105,6 +119,24 @@ func ReqGmCommand_(player *Player, Command string) error { AvatarMod := player.PlayMod.getAvatarMod() AvatarMod.List = nil AvatarMod.InitData() + case "initEmoji": + EmojiMod := player.PlayMod.getEmojiMod() + InitId := emojiCfg.GetInitList() + now := GoUtil.Now() + for _, v := range InitId { + EmojiMod.List[v] = &emoji.Emoji{ + AddTime: now, + } + } + case "addEmoji": + EmojiMod := player.PlayMod.getEmojiMod() + InitId := emojiCfg.GetAllList() + now := GoUtil.Now() + for _, v := range InitId { + EmojiMod.List[v] = &emoji.Emoji{ + AddTime: now, + } + } case "createOrder": Lv := player.GetPlayerBaseMod().GetLevel() EmitList := player.PlayMod.getChessMod().GetEmitList() @@ -193,6 +225,11 @@ func ReqGmCommand_(player *Player, Command string) error { PlayroomMod := playroom.PlayroomMod{} PlayroomMod.InitData() player.PlayMod.mod_list.Playroom = PlayroomMod + case "resetCollect": + CollectMod := player.PlayMod.getCollectMod() + CollectMod.Reward = make([]int, 0) + CollectMod.Jackpot = make([]int, 0) + CollectMod.InitData() case "playroomCollect": CollectList := playroomCfg.GetDecorateList() PlayroomMod := player.PlayMod.getPlayroomMod() @@ -265,7 +302,7 @@ func ReqGmCommand_(player *Player, Command string) error { LimitedTimeEventMod.ResetFastProduceCD() EndTime, Times := LimitedTimeEventMod.GetFastProduceInfo() player.PushClientRes(&msg.ResFastProduceInfo{ - EndTime: int32(EndTime), + EndTime: EndTime, Num: int32(Times), }) case "recoverUser": diff --git a/src/server/game/Player.go b/src/server/game/Player.go index 3ea358e6..df8ebc49 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -826,6 +826,10 @@ func (p *Player) TeLog(Type string, Param map[string]interface{}) { EventName: Type, Param: Param, }) + agent := p.GetAgent() + if agent != nil { + Param["Ip"] = agent.RemoteAddr().String() + } telog.Te.Track(p.GetPlayerBaseMod().GetName(), p.GetPlayerBaseMod().GetName(), Type, Param) } @@ -842,10 +846,14 @@ func (p *Player) initAcitivity() { p.activity = make(map[int]*ActivityInfo) ActivityList := activityCfg.GetActivityList() Level := p.GetPlayerBaseMod().GetLevel() + ActivityMod := p.PlayMod.getActivityMod() for _, v := range ActivityList { if v.Level > Level { continue } + if !ActivityMod.CheckActivity(v) { + continue + } p.activity[v.Id] = &ActivityInfo{ StartT: v.StartTime, EndT: v.EndTime, diff --git a/src/server/game/PlayerBaseMod.go b/src/server/game/PlayerBaseMod.go index 6654d491..81816bbc 100644 --- a/src/server/game/PlayerBaseMod.go +++ b/src/server/game/PlayerBaseMod.go @@ -515,6 +515,7 @@ func (p *PlayerBaseData) AddExp(player *Player, exp int) (int, error) { player.PushClientRes(ChargeMod.BackData()) // 重载活动 player.initAcitivity() + player.BackDataActivity() p.p.TeLog("level_up", map[string]interface{}{ "after_level": BaseMod.Level, }) diff --git a/src/server/game/PlayerChessMod.go b/src/server/game/PlayerChessMod.go index c2ba3cd3..5091c7c3 100644 --- a/src/server/game/PlayerChessMod.go +++ b/src/server/game/PlayerChessMod.go @@ -280,7 +280,6 @@ func getChesslvRange(Emit int, EnergyMul int) (int, int) { } func triggerComposeChess(player *Player, ChessId, EnergyMul int, Emit []int) { - return OrderMod := player.PlayMod.getOrderMod() if OrderMod.Step != 12 { return diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index c66e0895..4b3bc652 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -223,6 +223,9 @@ func handle(p *Player, m *msg.Msg) error { Items = m.Extra.([]*item.Item) } p.HandleItem(Items, proto.ITEM_POP_LABEL_Friendtreasure.String()) + case msg.HANDLE_TYPE_HANDBOOK_COLLECTION: // 图鉴收集奖励 + data := m.Extra.(msg.HandbookMsg) + p.AddLog(m.From, friend.LOG_TYPE_PLAYROOM_VISIT, data.Type) } // #region 以下是处理系统请求 return nil @@ -373,6 +376,7 @@ func FriendLogBackData(p *Player) { Time: int32(v.Time), Param: v.Param, Id: int32(v.Id), + Upvote: v.Upvote, }) } p.PushClientRes(&proto.ResFriendTimeLine{ @@ -492,6 +496,7 @@ func BackUserInfo(p *Player) { AvatarList: AvatarMod.BackData(), FaceList: FaceMod.BackData(), EmojiList: p.PlayMod.getEmojiMod().BackData(), + SetEmoji: p.PlayMod.getEmojiMod().GetEmojiSet(), Login: int32(BaseMod.GetLoginTime()), PetName: BaseMod.PetName, }) @@ -868,3 +873,14 @@ func GetUidByFaceBook(Fb string) (int, error) { log.Debug("Fb :%s;Uid :%d", Fb, R.Uid) return R.Uid, err } + +func NotifyAllFriend(p *Player, m *msg.Msg) { + FriendMod := p.PlayMod.getFriendMod() + for k := range FriendMod.FriendList { + if k == int(p.M_DwUin) { + continue + } + m.To = k + FriendMgrSend(m) + } +} diff --git a/src/server/game/PlayerMod.go b/src/server/game/PlayerMod.go index aef9b794..7f2d9ae9 100644 --- a/src/server/game/PlayerMod.go +++ b/src/server/game/PlayerMod.go @@ -5,12 +5,14 @@ import ( "encoding/gob" "fmt" "server/db" + "server/game/mod/activity" "server/game/mod/avatar" "server/game/mod/base" "server/game/mod/card" "server/game/mod/champship" "server/game/mod/charge" "server/game/mod/chess" + "server/game/mod/collect" "server/game/mod/dailyTask" "server/game/mod/decorate" "server/game/mod/emoji" @@ -73,6 +75,8 @@ type PlayerModList struct { Playroom playroom.PlayroomMod // 玩家小屋 FriendTreasure friendTreasure.FriendTreasureMod // 好友宝藏 Emoji emoji.EmojiMod // 表情 + Collect collect.Collect // 收集 + Activity activity.Activity // 活动 } func (p *PlayerModData) LoadDataFromDB(dwUin interface{}) bool { @@ -105,7 +109,6 @@ func (p *PlayerModData) ReqModData(buf []byte) { // 推送基础数据 func (p *PlayerModData) Reconnect(b bool) []byte { - return []byte{} } @@ -171,6 +174,8 @@ func (p *PlayerModData) InitMod(player *Player) (bool, error) { p.ModList.GuessColor.InitData() p.ModList.Playroom.InitData() p.ModList.Emoji.InitData() + p.ModList.Collect.InitData() + p.ModList.Activity.InitData() return is_update, nil } @@ -350,3 +355,11 @@ func (p *PlayerMod) getFriendTreasureMod() *friendTreasure.FriendTreasureMod { func (p *PlayerMod) getEmojiMod() *emoji.EmojiMod { return &p.mod_list.Emoji } + +func (p *PlayerMod) getCollectMod() *collect.Collect { + return &p.mod_list.Collect +} + +func (p *PlayerMod) getActivityMod() *activity.Activity { + return &p.mod_list.Activity +} diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 3445840d..52a46c50 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -6,13 +6,16 @@ import ( "math" "server/GoUtil" cardCfg "server/conf/card" + collectCfg "server/conf/collect" decorateCfg "server/conf/decorate" + handbookCfg "server/conf/handbook" mergeDataCfg "server/conf/mergeData" miningCfg "server/conf/mining" playroomCfg "server/conf/playroom" "server/db" "server/game/internal" "server/game/mod/card" + "server/game/mod/collect" "server/game/mod/friend" "server/game/mod/item" "server/game/mod/limitedTimeEvent" @@ -143,8 +146,8 @@ func ReqGetHandbookReward(player *Player, buf []byte) error { }) return err } - var itemList []*item.Item - itemList = append(itemList, &item.Item{Id: item.ITEM_ENERGY_ID, Num: 5}) + + itemList := handbookCfg.GetHandbookCollectReward() err = player.HandleItem(itemList, msg.ITEM_POP_LABEL_HandbookReward.String()) if err != nil { player.SendErrClienRes(&msg.ResGetHandbookReward{ @@ -165,6 +168,41 @@ func ReqGetHandbookReward(player *Player, buf []byte) error { return nil } +func RegHandbookAllReward(player *Player, buf []byte) error { + req := &msg.RegHandbookAllReward{} + proto.Unmarshal(buf, req) + Items, err := player.PlayMod.getHandbookMod().CollectItem(req.Type) + if err != nil { + player.SendErrClienRes(&msg.ResHandbookAllReward{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + err = player.HandleItem(Items, msg.ITEM_POP_LABEL_HandbookAllReward.String()) + if err != nil { + player.SendErrClienRes(&msg.ResHandbookAllReward{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + player.PushClientRes(&msg.ResHandbookAllReward{ + Code: msg.RES_CODE_SUCCESS, + }) + NotifyAllFriend(player, &MsqMod.Msg{ + Type: MsqMod.HANDLE_TYPE_HANDBOOK_COLLECTION, + From: int(player.M_DwUin), + SendT: GoUtil.Now(), + Extra: MsqMod.HandbookMsg{ + Type: req.Type, + }, + }) + player.PushClientRes(player.PlayMod.getHandbookMod().BackData()) + player.PlayMod.save() + return nil +} + // 领取订单奖励 func ReqRewardOrder(player *Player, buf []byte) error { req := &msg.ReqRewardOrder{} @@ -278,8 +316,13 @@ func ReqRewardOrder(player *Player, buf []byte) error { Lv := player.GetPlayerBaseMod().GetLevel() EnergyMul := player.PlayMod.getBaseMod().GetEnergyMul() Emit := ChessMod.GetOrderEmit() - OrderMod.CreateOrder(Lv, Emit, EnergyMul) - + TriggerSeedSource(player) + NewOrder := TriggerSeedOrder(player) + if NewOrder == nil { + OrderMod.CreateOrder(Lv, Emit, EnergyMul) + } else { + OrderMod.CreateOrderSeed(NewOrder) + } // 存钱罐增加钻石 PiggyBankMod := player.PlayMod.getPiggyBankMod() PiggyBankMod.Trigger() @@ -521,6 +564,7 @@ func ReqGetChessFromBuff(player *Player, buf []byte) error { if Update { player.PushClientRes(OrderMod.BackData()) } + triggerComposeChess(player, ChessId, player.PlayMod.getBaseMod().EnergyMul, player.PlayMod.getChessMod().GetEmitList()) EmitRetireTrigger1(player) player.PlayMod.save() player.PushClientRes(ChessMod.BackData()) @@ -670,6 +714,42 @@ func ReqSeparateChess(player *Player, buf []byte) error { return nil } +func ReqUpgradeChess(player *Player, buf []byte) error { + req := &msg.ReqUpgradeChess{} + proto.Unmarshal(buf, req) + ChessMod := player.PlayMod.getChessMod() + err := ChessMod.UpgradeChess(int(req.ChessId)) + if err != nil { + player.SendErrClienRes(&msg.ResUpgradeChess{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + data := &PlayerChessData{} + err = data.UpdateChessData(player, req.MChessData) + if err != nil { + player.SendErrClienRes(&msg.ResUpgradeChess{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + player.TeLog("outsync_event", map[string]interface{}{ + "outsync_event": "ReqUpgradeChess", + }) + return err + } + player.PlayMod.save() + player.PushClientRes(ChessMod.BackData()) + player.PushClientRes(&msg.ResUpgradeChess{ + Code: msg.RES_CODE_SUCCESS, + }) + player.TeLog("upgrade_use", map[string]interface{}{ + "upgrade_item_id": int(req.ChessId), + }) + player.UpdateUserInfo() + return nil +} + // 棋子转换 func ReqChessEx(player *Player, buf []byte) error { req := &msg.ReqChessEx{} @@ -1183,7 +1263,7 @@ func ReqFastProduceInfo(player *Player, buf []byte) error { LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() EndTime, Times := LimitedTimeEventMod.GetFastProduceInfo() player.PushClientRes(&msg.ResFastProduceInfo{ - EndTime: int32(EndTime), + EndTime: EndTime, Num: int32(Times), }) return nil @@ -2284,6 +2364,7 @@ func ReqChampshipReward(player *Player, buf []byte) error { } player.PlayMod.save() BackChampship(player) + TriggerSeed(player) player.PushClientRes(&msg.ResChampshipReward{ Code: msg.RES_CODE_SUCCESS, }) @@ -2361,6 +2442,37 @@ func ReqFriendTimeLine(player *Player, buf []byte) error { return nil } +func ReqFriendTLUpvote(player *Player, buf []byte) error { + req := &msg.ReqFriendTLUpvote{} + proto.Unmarshal(buf, req) + FriendMod := player.PlayMod.getFriendMod() + Items, err := FriendMod.Upvote(int(req.Id)) + if err != nil { + player.SendErrClienRes(&msg.ResFriendTLUpvote{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + err = player.HandleItem(Items, msg.ITEM_POP_LABEL_TLUpvote.String()) + if err != nil { + player.SendErrClienRes(&msg.ResFriendTLUpvote{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + player.PlayMod.save() + player.PushClientRes(&msg.ResFriendTLUpvote{ + Code: msg.RES_CODE_SUCCESS, + Id: req.Id, + }) + player.TeLog("friend_upvote", map[string]interface{}{ + "player_id": int(req.Id), + }) + return nil +} + func ReqChampshipRankReward(player *Player, buf []byte) error { MyLastRank := G_GameLogicPtr.ChampshipMgr.getLastMyRank(int(player.M_DwUin)) ChampshipMod := player.PlayMod.getChampshipMod() @@ -2919,6 +3031,21 @@ func ReqPlayroomInteract(player *Player, buf []byte) error { }) return err } + if playroomCfg.IsStokeCat(int(req.Id)) { + player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_STOKECAT}) + } + if playroomCfg.IsPlayCat(int(req.Id)) { + player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PLAYCAT}) + } + if playroomCfg.IsTakeCat(int(req.Id)) { + player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_TAKECAT}) + } + switch req.Type { + case playroom.MOOD_TYPE_CLEAN: + player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_CLEANCAT}) + case playroom.MOOD_TYPE_FOOD: + player.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_FEEDCAT}) + } player.PlayMod.save() LimitedTimePlayroomTrigger(player) player.PushClientRes(PlayroomMod.NotifyMood()) @@ -3540,5 +3667,73 @@ func ReqSetEmoji(player *Player, buf []byte) error { player.PushClientRes(&msg.ResSetEmoji{ Code: msg.RES_CODE_SUCCESS, }) + BackUserInfo(player) + return nil +} + +// 请求收藏室内 +func ReqCollectInfo(player *Player, buf []byte) error { + CollectMod := player.PlayMod.getCollectMod() + player.PushClientRes(CollectMod.BackData()) + return nil +} + +// 领取收集奖励 +func ReqCollect(player *Player, buf []byte) error { + req := &msg.ReqCollect{} + proto.Unmarshal(buf, req) + CollectMod := player.PlayMod.getCollectMod() + Type := collectCfg.GetRewardType(int(req.Id)) + Num := 0 + switch Type { + case collect.COLLECT_TYPE_EMOJI: + Num = player.PlayMod.getEmojiMod().GetEmojiNum() + case collect.COLLECT_TYPE_FACE: + Num = player.PlayMod.getFaceMod().GetFaceNum() + case collect.COLLECT_TYPE_AVATAR: + Num = player.PlayMod.getAvatarMod().GetAvatarNum() + } + Items, err := CollectMod.GetReward(int(req.Id), Num) + if err != nil { + player.SendErrClienRes(&msg.ResCollect{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + err = player.HandleItem(Items, msg.ITEM_POP_LABEL_Collect.String()) + if err != nil { + player.SendErrClienRes(&msg.ResCollect{ + Code: msg.RES_CODE_FAIL, + Msg: err.Error(), + }) + return err + } + player.PlayMod.save() + player.PushClientRes(CollectMod.BackData()) + player.PushClientRes(&msg.ResCollect{ + Code: msg.RES_CODE_SUCCESS, + }) + player.TeLog("collect", map[string]interface{}{ + "Id": int(req.Id), + "Items": Items, + }) + return nil +} + +// 获取出售棋子获得的星星数量 +func ReqSellChessNum(player *Player, buf []byte) error { + req := &msg.ReqSellChessNum{} + proto.Unmarshal(buf, req) + BaseMod := player.PlayMod.getBaseMod() + ChessMod := player.PlayMod.getChessMod() + data, _ := mergeDataCfg.GetOne(int(req.ChessId)) + Num := data.SellNum + if checkChess(int(req.ChessId), BaseMod.GetEnergyMul(), ChessMod.GetEmitList()) { + Num = data.Star + } + player.PushClientRes(&msg.ResSellChessNum{ + Num: int32(Num), + }) return nil } diff --git a/src/server/game/Trigger.go b/src/server/game/Trigger.go index 4292d42a..0688d7f0 100644 --- a/src/server/game/Trigger.go +++ b/src/server/game/Trigger.go @@ -1,13 +1,19 @@ package game import ( + "math" "server/GoUtil" "server/MergeConst" "server/conf" + champshipCfg "server/conf/champship" + mergeDataCfg "server/conf/mergeData" "server/db" + "server/game/mod/chess" + "server/game/mod/item" "server/game/mod/order" "server/msg" "server/pkg/github.com/name5566/leaf/log" + "sort" "time" ) @@ -105,3 +111,272 @@ func TriggerComfortOrder(p *Player) { OrderMod.CreateComfortOrder(Lv, EmitList, EnergyMul, order.DIFF_LOW, 3) } } + +func TriggerSeed(player *Player) { + ChampshipMod := player.PlayMod.getChampshipMod() + Items, Score := champshipCfg.GetRewardItems(ChampshipMod.Reward + 1) + if Score < 50 { + return + } + b := false + for _, v := range Items { + if v.Id == item.ITEM_ENERGY_ID { + b = true + break + } + } + BaseMod := player.PlayMod.getBaseMod() + if !b { + BaseMod.SetSeed(false) + } else { + BaseMod.SetSeed(true) + } +} + +func TriggerSeedSource(player *Player) { + BaseMod := player.PlayMod.getBaseMod() + if !BaseMod.GetSeed() { + return + } + Total := 0 + Energy := BaseMod.GetEnergy() + Total += Energy + + ChessMod := player.PlayMod.getChessMod() + ChessList := ChessMod.GetUnlockChessList() + ChessBuff := ChessMod.GetChessBuf() + AllChess := append(ChessList, ChessBuff...) + for _, v := range AllChess { + ChessColor := mergeDataCfg.GetColorById(v) + if ChessColor == "Energy" { + Total += mergeDataCfg.GetSellNumById(v) + } + if v == chess.CHESS_ENERGY_CHEST { + Total += 50 + } + if v == chess.CHESS_SURPRISE_CHEST_LOCK || v == chess.CHESS_SURPRISE_CHEST { + Total += 10 + } + if v == chess.CHESS_SOURCE_CHEST { + Total += 100 + } + if v == chess.CHESS_HIGH_SOURCE_CHEST { + Total += 250 + } + } + + Total += (5 - BaseMod.EnergyAD) * 25 + BaseMod.SetSource(Total) +} + +func TriggerSeedOrder(player *Player) *order.Order { + OrderMod := player.PlayMod.getOrderMod() + ChessMod := player.PlayMod.getChessMod() + BaseMod := player.PlayMod.getBaseMod() + if !BaseMod.GetSeed() { + return nil + } + OrderMod.CreatOrderPool(BaseMod.Level, ChessMod.GetOrderEmit(), BaseMod.EnergyMul) + ChampshipMod := player.PlayMod.getChampshipMod() + NeedScore := champshipCfg.GetRewardTotalScore(ChampshipMod.Reward + 1) + E := BaseMod.GetSource() + ChessList := ChessMod.GetUnlockChessList() + ChessBuff := ChessMod.GetChessBuf() + AllChess := append(ChessList, ChessBuff...) + NewOrder := &order.Order{} + MaxQ := 0 + MinQ := 0 + // 计算Q值 + for _, Order := range OrderMod.OrderPool { + Q := 0 + for _, v := range Order.MergeId { + Color := mergeDataCfg.GetColorById(v) + Lv := mergeDataCfg.GetLvById(v) + Q1 := int(math.Pow(2, float64(Lv))) - 1 + Q2 := 0 + Q3 := 0 + for _, Chess := range AllChess { + Lv1 := mergeDataCfg.GetLvById(Chess) + Color1 := mergeDataCfg.GetColorById(Chess) + Type := mergeDataCfg.GetTypeById(Chess) + if Type != "Product" { + continue + } + if Color != Color1 { + continue + } + if Lv1 > Lv { + continue + } + Q2 += int(math.Pow(2, float64(Lv1))) - 1 + } + for _, Chess := range AllChess { + if Chess == chess.CHESS_ZIXUAN_CHEST { + if Lv < 3 { + continue + } + Q3 += int(math.Pow(2, 3)) - 1 + } + if Chess == chess.CHESS_HIGH_ZIXUAN_CHEST { + if Lv < 7 { + continue + } + Q3 += int(math.Pow(2, 7)) - 1 + } + if Chess == chess.CHESS_SOURCE_CHEST { + if Lv < 3 { + continue + } + Q3 += int(math.Pow(2, 3)) - 1 + Q3 += int(math.Pow(2, 4)) - 1 + } + if Chess == chess.CHESS_HIGH_SOURCE_CHEST { + if Lv < 7 { + continue + } + Q3 += int(math.Pow(2, 7)) - 1 + Q3 += int(math.Pow(2, 7)) - 1 + } + } + Q += max(Q1-Q2-Q3, 0) + Order.Q = Q + MaxQ = max(MaxQ, Q) + MinQ = min(MinQ, Q) + } + } + + if E > MaxQ { + return nil + } + + if E == MaxQ { + for _, Order := range OrderMod.OrderPool { + if Order.Q == MaxQ { + NewOrder = Order + break + } + } + EmitTypeList := []string{} + for _, v := range NewOrder.MergeId { + Color := mergeDataCfg.GetColorById(v) + EmitType := mergeDataCfg.GetEmitTypeByColor(Color) + EmitTypeList = append(EmitTypeList, EmitType) + } + ChessList := []int{} + for _, v := range AllChess { + Color := mergeDataCfg.GetColorById(v) + EmitType := mergeDataCfg.GetEmitTypeByColor(Color) + Lv := mergeDataCfg.GetLvById(v) + if Lv < 3 || Lv > 4 { + continue + } + if GoUtil.InStringArray(EmitType, EmitTypeList) { + continue + } + ChessList = append(ChessList, v) + } + if len(ChessList) != 0 { + RandChess := GoUtil.RandSlice(ChessList) + Color := mergeDataCfg.GetColorById(RandChess) + Lv := mergeDataCfg.GetLvById(RandChess) + NewChess := mergeDataCfg.GetChessIdByLvAndColor(Lv, Color) + NewOrder.MergeId = append(NewOrder.MergeId, NewChess) + } + return NewOrder + } + + if E == MinQ { + for _, Order := range OrderMod.OrderPool { + if Order.Q == MinQ { + return Order + } + } + } + + if E < MinQ { + for _, Order := range OrderMod.OrderPool { + if Order.Q == MinQ { + ChessList := []int{} + for _, v := range AllChess { + Lv := mergeDataCfg.GetLvById(v) + if Lv < 5 { + ChessList = append(ChessList, v) + } + } + if len(ChessList) != 0 { + NewChess := GoUtil.RandSlice(ChessList) + Order.MergeId = append(Order.MergeId, NewChess) + } + return Order + } + } + } + + if E > MinQ && E < MaxQ { + L1 := []*order.Order{} + for _, Order := range OrderMod.OrderPool { + if Order.Q > E { + L1 = append(L1, Order) + } + } + Smax := 0 + Smin := 0 + for _, Order := range L1 { + Score := 0 + for _, v := range Order.MergeId { + Lv := mergeDataCfg.GetLvById(v) + Score += champshipCfg.GetChessScore(Lv) + } + Smax = max(Score, Smax) + Smin = min(Score, Smin) + Order.S = Score + } + + if NeedScore > Smax { + for _, Order := range OrderMod.OrderPool { + if Order.Q == MinQ { + ChessList := []int{} + for _, v := range AllChess { + Lv := mergeDataCfg.GetLvById(v) + if Lv < 5 { + ChessList = append(ChessList, v) + } + } + if len(ChessList) != 0 { + NewChess := GoUtil.RandSlice(ChessList) + Order.MergeId = append(Order.MergeId, NewChess) + } + return Order + } + } + } + if NeedScore == Smax { + for _, Order := range L1 { + if Order.S == Smax { + return Order + } + } + } + + if NeedScore == Smin { + for _, Order := range L1 { + if Order.S == Smin { + return Order + } + } + } + L2 := []*order.Order{} + for _, Order := range L1 { + if Order.S > NeedScore { + L2 = append(L2, Order) + } + } + if len(L2) != 0 { + sort.Slice(L2, func(i, j int) bool { + return L2[i].Q < L2[j].Q + }) + return L2[0] + } + } + return NewOrder +} diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index c9a9cacd..b775956b 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -8,6 +8,7 @@ import ( "server/game/mod/sevenLogin" "server/msg" "server/pkg/github.com/name5566/leaf/log" + "time" ) func UnitEndlessReward(p *Player) error { @@ -51,6 +52,20 @@ func UnitOrder(p *Player) error { return nil } +func UnitOrderSeed(player *Player) error { + start := time.Now() + + BaseMod := player.PlayMod.getBaseMod() + BaseMod.Seed = true + TriggerSeedSource(player) + o := TriggerSeedOrder(player) + fmt.Println(o) + + elapsed := time.Since(start) + fmt.Printf("UnitOrderSeed took %s\n", elapsed) + return nil +} + func UnitChess(p *Player) error { CardMod := p.PlayMod.getCardMod() for i := 0; i < 1000; i++ { diff --git a/src/server/game/external.go b/src/server/game/external.go index b06a4988..432d2a71 100644 --- a/src/server/game/external.go +++ b/src/server/game/external.go @@ -103,7 +103,6 @@ func HandleClientReq(args []interface{}) { data, _ := proto.Marshal(ResRegisterAccount) gl.PackResInfo(a, "ResRegisterAccount", data) case "ReqLogin": - detail := &msg.ReqLogin{} proto.Unmarshal(buf, detail) accountInfo := db.GetAccountInfoFromDb(detail.UserName) diff --git a/src/server/game/mod/activity/activity.go b/src/server/game/mod/activity/activity.go new file mode 100644 index 00000000..b1637203 --- /dev/null +++ b/src/server/game/mod/activity/activity.go @@ -0,0 +1,72 @@ +package activity + +import ( + "encoding/gob" + "server/gamedata" +) + +const ( + ACT_STATUS_NOT_START = 0 + ACT_STATUS_START = 1 + ACT_STATUS_END = 2 +) + +const ( + ACT_TYPE_MINING = 1 // 挖矿 + ACT_TYPE_GUESS_COLOR = 2 // 猜颜色 + ACT_TYPE_RACE = 3 // 赛跑 + ACT_TYPE_DISCOUNT_GIFT = 4 // 折扣礼包 +) + +const ( + ACT_ATYPE_NORMAL = 1 // 普通活动 + ACT_ATYPE_LIMIT_GIFT = 2 // 限时礼包活动 +) + +type Activity struct { + Var map[int]interface{} + // 活动数据 +} + +type Gift struct { + Buy bool + Time int64 +} + +func init() { + gob.Register(&Gift{}) +} + +func (a *Activity) InitData() { + a.Var = make(map[int]interface{}) +} + +func (a *Activity) GetVar(key int) interface{} { + return a.Var[key] +} + +func (a *Activity) SetVar(key int, value interface{}) { + a.Var[key] = value +} + +func (a *Activity) getGIftVar(key int) *Gift { + Var := a.GetVar(key) + if Var == nil { + Var = &Gift{} + a.SetVar(key, Var) + } + return Var.(*Gift) +} + +func (a *Activity) CheckActivity(data *gamedata.ActivityData) bool { + switch data.AType { + case ACT_ATYPE_NORMAL: + return true + case ACT_ATYPE_LIMIT_GIFT: + Var := a.getGIftVar(data.Id) + if Var.Buy { + return false + } + } + return true +} diff --git a/src/server/game/mod/activity/activityGift.go b/src/server/game/mod/activity/activityGift.go new file mode 100644 index 00000000..a7874c21 --- /dev/null +++ b/src/server/game/mod/activity/activityGift.go @@ -0,0 +1,19 @@ +package activity + +import ( + "fmt" + "server/GoUtil" + activityCfg "server/conf/activity" + "server/game/mod/item" +) + +func (a *Activity) Fire(Id int) ([]*item.Item, error) { + AId := activityCfg.GetActivityGiftId(Id) + Var := a.getGIftVar(AId) + if Var.Buy { + return nil, fmt.Errorf("已购买") + } + Var.Buy = true + Var.Time = GoUtil.Now() + return activityCfg.GetAcitivityGiftItems(Id), nil +} diff --git a/src/server/game/mod/avatar/Avatar.go b/src/server/game/mod/avatar/Avatar.go index a26c7b4f..cf0a0b6b 100644 --- a/src/server/game/mod/avatar/Avatar.go +++ b/src/server/game/mod/avatar/Avatar.go @@ -39,6 +39,10 @@ func (a *AvatarMod) InitData() { } } +func (a *AvatarMod) GetAvatarNum() int { + return len(a.List) +} + func (a *AvatarMod) SetAvatar(Id int) error { if _, ok := a.List[Id]; !ok { return fmt.Errorf("avatar id not exist") diff --git a/src/server/game/mod/base/Base.go b/src/server/game/mod/base/Base.go index f352352c..6248e4da 100644 --- a/src/server/game/mod/base/Base.go +++ b/src/server/game/mod/base/Base.go @@ -34,6 +34,8 @@ type Base struct { TodayCumulative int // 今日累计在线时间 LoginBack bool // 回归补偿 EnergyAD int // 每日看广告获得的能量次数 + Seed bool + Source int // 体力资源 } func (b *Base) InitData(Uid int) { @@ -50,6 +52,22 @@ func (b *Base) Login() { b.LogoutTime = 0 } +func (b *Base) GetSeed() bool { + return b.Seed +} + +func (b *Base) SetSeed(Seed bool) { + b.Seed = Seed +} + +func (b *Base) GetSource() int { + return b.Source +} + +func (b *Base) SetSource(Source int) { + b.Source = Source +} + func (b *Base) GetNickName() string { return b.NickName } diff --git a/src/server/game/mod/chess/Chess.go b/src/server/game/mod/chess/Chess.go index f1ad4cc8..c87bece6 100644 --- a/src/server/game/mod/chess/Chess.go +++ b/src/server/game/mod/chess/Chess.go @@ -14,11 +14,19 @@ import ( ) const ( - ModuleName = "chess" - ChessBoradMaxNum = 63 - CHESS_SOURCE_CHEST = 705 - CHESS_HIGH_SOURCE_CHEST = 706 - CHESS_SEPARATE = 707 // 分解器 + ModuleName = "chess" + ChessBoradMaxNum = 63 + CHESS_ENERGY_CHEST = 562 + CHESS_SURPRISE_CHEST_LOCK = 563 + CHESS_SURPRISE_CHEST = 564 + CHESS_ZIXUAN_CHEST = 701 // 自选宝箱 + CHESS_HIGH_ZIXUAN_CHEST = 702 // 高级自选宝箱 + CHESS_TREASURE_CHEST = 703 // 宝藏宝箱 + CHESS_HIGH_TREASURE_CHEST = 704 // 高级宝藏宝箱 + CHESS_SOURCE_CHEST = 705 // 资源补给箱 + CHESS_HIGH_SOURCE_CHEST = 706 // 高级资源补给箱 + CHESS_SEPARATE = 707 // 分解器 + CHESS_UPGRADE = 708 // 升级器 ) type ChessBorad struct { @@ -87,6 +95,10 @@ func (cb *ChessBorad) ver() { } } +func (cb *ChessBorad) GetChessBuf() []int { + return cb.ChessBuff +} + // 棋子合成 func (cb *ChessBorad) ComposeChess(id int) (int, error) { CfgRecord, err := mergeDataCfg.GetOne(id) @@ -532,3 +544,26 @@ func (cb *ChessBorad) SeparateChess(ChessId int) error { cb.AddChess(NewChess) return nil } + +func (cb *ChessBorad) UpgradeChess(ChessId int) error { + ChessLv := mergeDataCfg.GetLvById(ChessId) + ChessMaxLv := mergeDataCfg.GetMaxLvById(ChessId) + if ChessLv == ChessMaxLv { + return errors.New("chess lv is max") + } + 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_UPGRADE) + if err != nil { + return err + } + NewChess := mergeDataCfg.GetChessIdByLvAndColor(ChessLv+1, mergeDataCfg.GetColorById(ChessId)) + cb.AddChess(NewChess) + return nil +} diff --git a/src/server/game/mod/collect/Collect.go b/src/server/game/mod/collect/Collect.go new file mode 100644 index 00000000..fd470113 --- /dev/null +++ b/src/server/game/mod/collect/Collect.go @@ -0,0 +1,86 @@ +package collect + +import ( + "fmt" + "server/GoUtil" + collectCfg "server/conf/collect" + "server/game/mod/item" + "server/msg" +) + +type Collect struct { + Reward []int // 已领取记录 + Jackpot []int // 奖池 +} + +type CollectInfo struct { + List map[int]int +} + +const ( + COLLECT_TYPE_EMOJI = 1 + COLLECT_TYPE_FACE = 2 + COLLECT_TYPE_AVATAR = 3 +) + +func (c *Collect) InitData() { + c.Reward = make([]int, 0) + if len(c.Jackpot) == 0 { + c.Jackpot = initJackpot() + } + if len(c.Jackpot) <= 18 { + c.Jackpot = initJackpot2(c.Jackpot) + } +} + +func (c *Collect) GetReward(Id, Num int) ([]*item.Item, error) { + // 判断是否已领取 + for _, v := range c.Reward { + if v == Id { + return nil, fmt.Errorf("已领取") + } + } + Need := collectCfg.GetRewardNeed(Id) + if Num < Need { + return nil, fmt.Errorf("收集数量不足") + } + // 领取奖励 + c.Reward = append(c.Reward, Id) + JackpotId := 0 + JackpotId, c.Jackpot = GoUtil.PopSlice(c.Jackpot) + if len(c.Jackpot) <= 18 { + c.Jackpot = initJackpot2(c.Jackpot) + } + Items := collectCfg.GetJackpotItems(JackpotId) + // 删除收集记录 + return Items, nil +} + +func (c *Collect) BackData() *msg.ResCollectInfo { + var ItemsMsg []*msg.CollectItem + for i := 0; i < 18; i++ { + Items := collectCfg.GetJackpotItems(c.Jackpot[i]) + ItemsMsg = append(ItemsMsg, &msg.CollectItem{ + Id: int32(i + 1), + Items: item.ItemToMsg(Items), + }) + } + return &msg.ResCollectInfo{ + Id: GoUtil.IntToInt32(c.Reward), + Items: ItemsMsg, + } +} + +func initJackpot2(r1 []int) []int { + Ids := collectCfg.GetJackpotId() + r2 := GoUtil.ShuffleArray(Ids) + return append(r1, r2...) +} + +func initJackpot() []int { + Ids := collectCfg.GetJackpotId() + r1 := GoUtil.ShuffleArray(Ids) + r2 := GoUtil.ShuffleArray(Ids) + r3 := GoUtil.ShuffleArray(Ids) + return append(append(r1, r2...), r3...) +} diff --git a/src/server/game/mod/emoji/emoji.go b/src/server/game/mod/emoji/emoji.go index ee70feea..d8490afa 100644 --- a/src/server/game/mod/emoji/emoji.go +++ b/src/server/game/mod/emoji/emoji.go @@ -26,6 +26,9 @@ const ( func (e *EmojiMod) InitData() { now := GoUtil.Now() + if e.Set == nil { + e.Set = make(map[int]int) + } if e.List == nil { e.List = make(map[int]*Emoji) InitId := emojiCfg.GetInitList() @@ -34,10 +37,13 @@ func (e *EmojiMod) InitData() { AddTime: now, } } - } } +func (e *EmojiMod) GetEmojiNum() int { + return len(e.List) +} + func (e *EmojiMod) SetEmoji(Id, Type int) error { if Id == 0 { e.Set[Type] = Id @@ -67,6 +73,11 @@ func (e *EmojiMod) Unlock(Id, Time int) error { return nil } +func (e *EmojiMod) GetEmojiSet() map[int32]int32 { + return GoUtil.MapIntToInt32(e.Set) + +} + func (e *EmojiMod) BackData() []*msg.EmojiInfo { l := make([]*msg.EmojiInfo, 0) for k, v := range e.List { diff --git a/src/server/game/mod/face/Face.go b/src/server/game/mod/face/Face.go index 6d3f3569..8101741c 100644 --- a/src/server/game/mod/face/Face.go +++ b/src/server/game/mod/face/Face.go @@ -40,6 +40,10 @@ func (f *FaceMod) InitData() { } } +func (f *FaceMod) GetFaceNum() int { + return len(f.List) +} + func (f *FaceMod) SetFace(Id int) error { if Id == 0 { f.SetId = Id diff --git a/src/server/game/mod/friend/Friend.go b/src/server/game/mod/friend/Friend.go index d8e5cd16..1fe1987e 100644 --- a/src/server/game/mod/friend/Friend.go +++ b/src/server/game/mod/friend/Friend.go @@ -1,9 +1,11 @@ package friend import ( + "fmt" "server/GoUtil" cardCfg "server/conf/card" "server/game/mod/card" + "server/game/mod/item" ) type FriendMod struct { @@ -30,6 +32,7 @@ const ( LOG_TYPE_CARD_EX_SUCCESS_2 = 11 // 卡牌交换成功 LOG_TYPE_FRIEND_DELETE = 14 // 删除好友 LOG_TYPE_PLAYROOM_VISIT = 15 // 拜访玩家 + LOG_TYPE_HANDBOOK = 16 // 图鉴收集 ) const ( @@ -40,11 +43,12 @@ const ( ) type LogInfo struct { - Id int - Uid int - Type int - Time int64 - Param string + Id int + Uid int + Type int + Time int64 + Param string + Upvote bool // 点赞 } func (f *FriendMod) InitData() { @@ -163,3 +167,15 @@ func (f *FriendMod) ResetGoldCardEx() { } } } + +func (f *FriendMod) Upvote(Id int) ([]*item.Item, error) { + info := f.Log[Id] + if info == nil { + return nil, fmt.Errorf("log not exist") + } + if info.Upvote { + return nil, fmt.Errorf("already upvote") + } + info.Upvote = true + return []*item.Item{item.NewItem(item.ITEM_ENERGY_ID, 1)}, nil +} diff --git a/src/server/game/mod/handbook/Handbook.go b/src/server/game/mod/handbook/Handbook.go index ceef50de..d8a469c2 100644 --- a/src/server/game/mod/handbook/Handbook.go +++ b/src/server/game/mod/handbook/Handbook.go @@ -2,12 +2,16 @@ package handbook import ( "errors" + "fmt" + handbookCfg "server/conf/handbook" startMergeCfg "server/conf/startMerge" + "server/game/mod/item" "server/msg" ) type Handbook struct { BookList map[int]int `json:"BookList"` + Collect map[string]struct{} } const ( @@ -16,6 +20,9 @@ const ( ) func (h *Handbook) InitData() { + if h.Collect == nil { + h.Collect = make(map[string]struct{}) + } if h.BookList == nil { h.BookList = make(map[int]int) InitChess := startMergeCfg.GetInitChessList() @@ -51,6 +58,18 @@ func (h *Handbook) GetHandbookReward(Id int) error { return nil } +func (h *Handbook) CollectItem(Id string) ([]*item.Item, error) { + if _, ok := h.Collect[Id]; ok { + return nil, fmt.Errorf("已经领取过该奖励") + } + h.Collect[Id] = struct{}{} + Reward := handbookCfg.GetHandbookReward(Id) + if Reward == nil { + return nil, fmt.Errorf("奖励不存在") + } + return Reward, nil +} + func (h *Handbook) BackData() *msg.Handbook { var BookList []*msg.HandbookInfo for k, v := range h.BookList { diff --git a/src/server/game/mod/msg/Msg.go b/src/server/game/mod/msg/Msg.go index 1d159633..b845f5b1 100644 --- a/src/server/game/mod/msg/Msg.go +++ b/src/server/game/mod/msg/Msg.go @@ -71,6 +71,8 @@ const ( FRIEND_TREASURE_HANDLE //好友宝藏操作 HANDLE_TYPE_MAIL_ADD //添加邮件 HANDLE_TYPE_MAIL_RELOAD //重新加载邮件 + + HANDLE_TYPE_HANDBOOK_COLLECTION //图鉴收集 ) const ( diff --git a/src/server/game/mod/msg/data.go b/src/server/game/mod/msg/data.go new file mode 100644 index 00000000..f950cc64 --- /dev/null +++ b/src/server/game/mod/msg/data.go @@ -0,0 +1,5 @@ +package msg + +type HandbookMsg struct { + Type string +} diff --git a/src/server/game/mod/order/Order.go b/src/server/game/mod/order/Order.go index c6ca32ce..a99b6073 100644 --- a/src/server/game/mod/order/Order.go +++ b/src/server/game/mod/order/Order.go @@ -25,6 +25,7 @@ type OrderMod struct { PreheatStep map[string]int // 预热订单步骤 EmitShuffle []string // 发射器乱序 ChessPool []int // 棋子池 + OrderPool map[int]*Order // 订单池 } type Order struct { @@ -32,6 +33,8 @@ type Order struct { Diff int // 难度 Type int // 类型 Timestamp int64 // 时间戳 + Q int + S int } const ( @@ -57,6 +60,9 @@ func (o *OrderMod) InitData() { if o.PreheatStep == nil { o.PreheatStep = make(map[string]int) } + if o.OrderPool == nil { + o.OrderPool = make(map[int]*Order) + } if o.Step == 0 { o.OrderList = make(map[int]Order) Cfg := startOrderCfg.GetStartOrderByStep(o.Step + 1) @@ -103,6 +109,58 @@ func (o *OrderMod) RewardOrder(id int) ([]*item.Item, []int, int, int, error) { } return ItemList, MergeList, 0, 0, fmt.Errorf("订单不存在, 订单id%d", id) } +func (o *OrderMod) CreateOrderSeed(Order *Order) error { + for k, v := range o.OrderPool { + if v.Timestamp == Order.Timestamp { + delete(o.OrderPool, k) + break + } + } + o.addOrder(Order.MergeId, Order.Diff, Common_type) + return nil +} + +func (o *OrderMod) CreatOrderPool(lv int, Emit []int, EnergyMul int) error { + o.OrderPool = make(map[int]*Order) + index := 1 + for i := 0; i < 10; i++ { + ChessList := o.CreateNormalOrderSeed(lv, Emit, EnergyMul, DIFF_LOW) + if len(ChessList) == 0 { + continue + } + o.OrderPool[index] = &Order{ + MergeId: ChessList, + Diff: DIFF_LOW, + Timestamp: int64(index), + } + index++ + } + for i := 0; i < 10; i++ { + ChessList := o.CreateNormalOrderSeed(lv, Emit, EnergyMul, DIFF_MID) + if len(ChessList) == 0 { + continue + } + o.OrderPool[index] = &Order{ + MergeId: ChessList, + Diff: DIFF_LOW, + Timestamp: int64(index), + } + index++ + } + for i := 0; i < 10; i++ { + ChessList := o.CreateNormalOrderSeed(lv, Emit, EnergyMul, DIFF_HIGH) + if len(ChessList) == 0 { + continue + } + o.OrderPool[index] = &Order{ + MergeId: ChessList, + Diff: DIFF_LOW, + Timestamp: int64(index), + } + index++ + } + return nil +} // 生成新订单 func (o *OrderMod) CreateOrder(lv int, Emit []int, EnergyMul int) error { @@ -215,6 +273,39 @@ func (o *OrderMod) CreatePriorityOrder(lv int, Emit []int) bool { return false } +// 生成新订单 +func (o *OrderMod) CreateNormalOrderSeed(lv int, Emit []int, EnergyMul int, Diff int) []int { + if len(Emit) == 0 { + return nil + } + randNum := 0 + mergeList := make([]int, 0) + var err error + for { + if randNum > 50 { + break + } + randNum++ + mergeList, _, err = randOrderChessSeed(o, lv, Emit, EnergyMul, Diff) + if err != nil { + continue + } + lastMergelist := o.LastNormalOrder.MergeId + conbine := false + for _, v := range mergeList { + if GoUtil.InArray(v, lastMergelist) { + conbine = true + break + } + } + if conbine { + continue + } + break + } + return mergeList +} + // 生成新订单 func (o *OrderMod) CreateNormalOrder(lv int, Emit []int, EnergyMul int) error { if len(Emit) == 0 { @@ -447,23 +538,23 @@ func (o *OrderMod) CreateExtraOrder(AddChess, AddNewEmit, ChessList []int, Energ o.addOrder([]int{ChessId}, DIFF_LOW, Preheat_type) } } - //额外订单补充2;当玩家的棋盘中出现三个相同的满级产物时,立刻生成一个对应的收购订单; - for k := range MaxLvChess { - ChessNum := GoUtil.GetElemNum(ChessList, k) - OrderChess := 0 - for _, order := range o.OrderList { - for _, v := range order.MergeId { - if v == k { - OrderChess++ - } - } - } - OrderNum := (ChessNum - OrderChess) / 3 - for i := 0; i < OrderNum; i++ { - b1 = true - o.addOrder([]int{k, k, k}, DIFF_LOW, Extra_type) - } - } + // //额外订单补充2;当玩家的棋盘中出现三个相同的满级产物时,立刻生成一个对应的收购订单; + // for k := range MaxLvChess { + // ChessNum := GoUtil.GetElemNum(ChessList, k) + // OrderChess := 0 + // for _, order := range o.OrderList { + // for _, v := range order.MergeId { + // if v == k { + // OrderChess++ + // } + // } + // } + // OrderNum := (ChessNum - OrderChess) / 3 + // for i := 0; i < OrderNum; i++ { + // b1 = true + // o.addOrder([]int{k, k, k}, DIFF_LOW, Extra_type) + // } + // } return b1 } diff --git a/src/server/game/mod/order/OrderFunc.go b/src/server/game/mod/order/OrderFunc.go index 0f995061..5da5f7a4 100644 --- a/src/server/game/mod/order/OrderFunc.go +++ b/src/server/game/mod/order/OrderFunc.go @@ -315,6 +315,39 @@ func randOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int, return mergeList, OrderDiff, nil } +func randOrderChessSeed(o *OrderMod, lv int, Emit []int, EnergyMul, OrderDiff int) ([]int, int, error) { + initReflectChess(Emit, EnergyMul) + filterPool(o) + OrderN, err := userCfg.GetOrderNByLv(lv) + if err != nil { + return nil, DIFF_LOW, err + } + // 生成订单难度和棋子数量 + ChessNum := 2 + ChessDiff := getChessDiff(ChessNum, OrderDiff, OrderN) + mergeList := make([]int, 0, len(ChessDiff)) + // 根据订单棋子难度生成棋子 + for _, v := range ChessDiff { + ChessId := 0 + Num := 0 + for { + Num++ + if Num > 50 { + break + } + ChessId = getChessFromPoolByDiff(o, v, Emit, EnergyMul) + if ChessId == 0 { + continue + } + if !GoUtil.InArray(ChessId, mergeList) { + break + } + } + mergeList = append(mergeList, ChessId) + } + return mergeList, OrderDiff, nil +} + // 筛选棋子池 从中剔除不符合难度的棋子 func filterPool(o *OrderMod) { NewPool := make([]int, 0) diff --git a/src/server/game/mod/playroom/playroom.go b/src/server/game/mod/playroom/playroom.go index 278e2e7a..00474f75 100644 --- a/src/server/game/mod/playroom/playroom.go +++ b/src/server/game/mod/playroom/playroom.go @@ -49,6 +49,8 @@ const ( MOOD_TYPE_ENTER = 1 // 娱乐 MOOD_TYPE_FOOD = 2 // 食物 MOOD_TYPE_CLEAN = 3 // 清洁 + MOOD_TYPE_TAKE = 4 // 照料 + MOOD_TYPE_PLAY = 5 // 玩耍 GAME_RESULT_LOW = 1 // 低 GAME_RESULT_MIDDLE = 2 // 中 @@ -515,7 +517,7 @@ func (p *PlayroomMod) UnLock(Lv int) { } if len(p.MoodInfo) == 0 { p.MoodInfo = make(map[int]*Mood) - for k := 1; k <= 3; k++ { + for k := 1; k <= 5; k++ { p.MoodInfo[k] = &Mood{Id: k, Num: 100} } } diff --git a/src/server/game/mod/quest/Quest.go b/src/server/game/mod/quest/Quest.go index 19bc6f0f..dc0c07cb 100644 --- a/src/server/game/mod/quest/Quest.go +++ b/src/server/game/mod/quest/Quest.go @@ -19,6 +19,11 @@ const ( TRIGGER_LABEL_FINISHORDER = "FinishOrder" TRIGGER_LABEL_ENERGY = "Energy" TRIGGER_LABEL_MERGETIME = "MergeTime" + TRIGGER_LABEL_STOKECAT = "StokeCat" + TRIGGER_LABEL_TAKECAT = "TakeCat" + TRIGGER_LABEL_PLAYCAT = "PlayCat" + TRIGGER_LABEL_FEEDCAT = "FeedCat" + TRIGGER_LABEL_CLEANCAT = "CleanCat" ) type QuestProgress struct { diff --git a/src/server/gamedata/reader.go b/src/server/gamedata/reader.go index 71ce208a..e7ee6fdd 100644 --- a/src/server/gamedata/reader.go +++ b/src/server/gamedata/reader.go @@ -129,6 +129,23 @@ func GetIntValue(a interface{}, key string) int { return 0 } +func GetIntSliceValue(a interface{}, key string) []int { + if a == nil { + return nil + } + if v, ok := a.(map[string]interface{})[key]; ok { + if v == nil { + return nil + } + var r []int + for _, v := range v.([]interface{}) { + r = append(r, int(v.(float64))) + } + return r + } + return nil +} + func GetFloatValue(a interface{}, key string) float64 { if a == nil { return 0 diff --git a/src/server/gamedata/type.go b/src/server/gamedata/type.go index 932639bf..458661e5 100644 --- a/src/server/gamedata/type.go +++ b/src/server/gamedata/type.go @@ -44,6 +44,7 @@ type ActivityData struct { StartTime int64 EndTime int64 Type int + AType int Name string Title string Mail string diff --git a/src/server/msg/Gameapi.pb.go b/src/server/msg/Gameapi.pb.go index 654446af..861d0e66 100644 --- a/src/server/msg/Gameapi.pb.go +++ b/src/server/msg/Gameapi.pb.go @@ -78,6 +78,10 @@ const ( ITEM_POP_LABEL_CardSeasonFirstReward ITEM_POP_LABEL = 52 // 卡牌赛季初奖励 ITEM_POP_LABEL_AllCollectRewardHB ITEM_POP_LABEL = 53 // 图鉴全收集奖励 图鉴体力补发 ITEM_POP_LABEL_PlayroomShop ITEM_POP_LABEL = 54 // playroom商店 + ITEM_POP_LABEL_HandbookAllReward ITEM_POP_LABEL = 55 // 图鉴收集奖励 + ITEM_POP_LABEL_TLUpvote ITEM_POP_LABEL = 56 // 时间线点赞 + ITEM_POP_LABEL_Collect ITEM_POP_LABEL = 57 // 收集 + ITEM_POP_LABEL_ActivityGift ITEM_POP_LABEL = 58 // 活动礼包 ) // Enum value maps for ITEM_POP_LABEL. @@ -138,6 +142,10 @@ var ( 52: "CardSeasonFirstReward", 53: "AllCollectRewardHB", 54: "PlayroomShop", + 55: "HandbookAllReward", + 56: "TLUpvote", + 57: "Collect", + 58: "ActivityGift", } ITEM_POP_LABEL_value = map[string]int32{ "Playroom": 0, @@ -195,6 +203,10 @@ var ( "CardSeasonFirstReward": 52, "AllCollectRewardHB": 53, "PlayroomShop": 54, + "HandbookAllReward": 55, + "TLUpvote": 56, + "Collect": 57, + "ActivityGift": 58, } ) @@ -2572,6 +2584,7 @@ func (x *ResUpdatePlayerChessData) GetMsg() string { return "" } +// 分离器 type ReqSeparateChess struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2678,6 +2691,113 @@ func (x *ResSeparateChess) GetMsg() string { return "" } +// 神奇魔术棒(升级器) +type ReqUpgradeChess 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 *ReqUpgradeChess) Reset() { + *x = ReqUpgradeChess{} + mi := &file_proto_Gameapi_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqUpgradeChess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqUpgradeChess) ProtoMessage() {} + +func (x *ReqUpgradeChess) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[38] + 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 ReqUpgradeChess.ProtoReflect.Descriptor instead. +func (*ReqUpgradeChess) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{38} +} + +func (x *ReqUpgradeChess) GetChessId() int32 { + if x != nil { + return x.ChessId + } + return 0 +} + +func (x *ReqUpgradeChess) GetMChessData() map[string]int32 { + if x != nil { + return x.MChessData + } + return nil +} + +type ResUpgradeChess 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 *ResUpgradeChess) Reset() { + *x = ResUpgradeChess{} + mi := &file_proto_Gameapi_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResUpgradeChess) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResUpgradeChess) ProtoMessage() {} + +func (x *ResUpgradeChess) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[39] + 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 ResUpgradeChess.ProtoReflect.Descriptor instead. +func (*ResUpgradeChess) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{39} +} + +func (x *ResUpgradeChess) GetCode() RES_CODE { + if x != nil { + return x.Code + } + return RES_CODE_FAIL +} + +func (x *ResUpgradeChess) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + // 从缓存中获取棋子 type ReqGetChessFromBuff struct { state protoimpl.MessageState @@ -2690,7 +2810,7 @@ type ReqGetChessFromBuff struct { func (x *ReqGetChessFromBuff) Reset() { *x = ReqGetChessFromBuff{} - mi := &file_proto_Gameapi_proto_msgTypes[38] + mi := &file_proto_Gameapi_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2702,7 +2822,7 @@ func (x *ReqGetChessFromBuff) String() string { func (*ReqGetChessFromBuff) ProtoMessage() {} func (x *ReqGetChessFromBuff) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[38] + mi := &file_proto_Gameapi_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2715,7 +2835,7 @@ func (x *ReqGetChessFromBuff) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetChessFromBuff.ProtoReflect.Descriptor instead. func (*ReqGetChessFromBuff) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{38} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{40} } func (x *ReqGetChessFromBuff) GetChessId() int32 { @@ -2743,7 +2863,7 @@ type ResGetChessFromBuff struct { func (x *ResGetChessFromBuff) Reset() { *x = ResGetChessFromBuff{} - mi := &file_proto_Gameapi_proto_msgTypes[39] + mi := &file_proto_Gameapi_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2755,7 +2875,7 @@ func (x *ResGetChessFromBuff) String() string { func (*ResGetChessFromBuff) ProtoMessage() {} func (x *ResGetChessFromBuff) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[39] + mi := &file_proto_Gameapi_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2768,7 +2888,7 @@ func (x *ResGetChessFromBuff) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetChessFromBuff.ProtoReflect.Descriptor instead. func (*ResGetChessFromBuff) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{39} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{41} } func (x *ResGetChessFromBuff) GetCode() RES_CODE { @@ -2800,7 +2920,7 @@ type ReqChessEx struct { func (x *ReqChessEx) Reset() { *x = ReqChessEx{} - mi := &file_proto_Gameapi_proto_msgTypes[40] + mi := &file_proto_Gameapi_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2812,7 +2932,7 @@ func (x *ReqChessEx) String() string { func (*ReqChessEx) ProtoMessage() {} func (x *ReqChessEx) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[40] + mi := &file_proto_Gameapi_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2825,7 +2945,7 @@ func (x *ReqChessEx) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChessEx.ProtoReflect.Descriptor instead. func (*ReqChessEx) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{40} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{42} } func (x *ReqChessEx) GetOldChessId() int32 { @@ -2874,7 +2994,7 @@ type ResChessEx struct { func (x *ResChessEx) Reset() { *x = ResChessEx{} - mi := &file_proto_Gameapi_proto_msgTypes[41] + mi := &file_proto_Gameapi_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2886,7 +3006,7 @@ func (x *ResChessEx) String() string { func (*ResChessEx) ProtoMessage() {} func (x *ResChessEx) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[41] + mi := &file_proto_Gameapi_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2899,7 +3019,7 @@ func (x *ResChessEx) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChessEx.ProtoReflect.Descriptor instead. func (*ResChessEx) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{41} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{43} } func (x *ResChessEx) GetCode() RES_CODE { @@ -2928,7 +3048,7 @@ type ReqSourceChest struct { func (x *ReqSourceChest) Reset() { *x = ReqSourceChest{} - mi := &file_proto_Gameapi_proto_msgTypes[42] + mi := &file_proto_Gameapi_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2940,7 +3060,7 @@ func (x *ReqSourceChest) String() string { func (*ReqSourceChest) ProtoMessage() {} func (x *ReqSourceChest) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[42] + mi := &file_proto_Gameapi_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2953,7 +3073,7 @@ func (x *ReqSourceChest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSourceChest.ProtoReflect.Descriptor instead. func (*ReqSourceChest) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{42} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{44} } func (x *ReqSourceChest) GetChestId() int32 { @@ -2981,7 +3101,7 @@ type ResSourceChest struct { func (x *ResSourceChest) Reset() { *x = ResSourceChest{} - mi := &file_proto_Gameapi_proto_msgTypes[43] + mi := &file_proto_Gameapi_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2993,7 +3113,7 @@ func (x *ResSourceChest) String() string { func (*ResSourceChest) ProtoMessage() {} func (x *ResSourceChest) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[43] + mi := &file_proto_Gameapi_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3006,7 +3126,7 @@ func (x *ResSourceChest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSourceChest.ProtoReflect.Descriptor instead. func (*ResSourceChest) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{43} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{45} } func (x *ResSourceChest) GetCode() RES_CODE { @@ -3038,7 +3158,7 @@ type ReqPlayroomOutline struct { func (x *ReqPlayroomOutline) Reset() { *x = ReqPlayroomOutline{} - mi := &file_proto_Gameapi_proto_msgTypes[44] + mi := &file_proto_Gameapi_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3050,7 +3170,7 @@ func (x *ReqPlayroomOutline) String() string { func (*ReqPlayroomOutline) ProtoMessage() {} func (x *ReqPlayroomOutline) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[44] + mi := &file_proto_Gameapi_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3063,7 +3183,7 @@ func (x *ReqPlayroomOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomOutline.ProtoReflect.Descriptor instead. func (*ReqPlayroomOutline) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{44} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{46} } func (x *ReqPlayroomOutline) GetOldChessId() int32 { @@ -3112,7 +3232,7 @@ type ResPlayroomOutline struct { func (x *ResPlayroomOutline) Reset() { *x = ResPlayroomOutline{} - mi := &file_proto_Gameapi_proto_msgTypes[45] + mi := &file_proto_Gameapi_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3124,7 +3244,7 @@ func (x *ResPlayroomOutline) String() string { func (*ResPlayroomOutline) ProtoMessage() {} func (x *ResPlayroomOutline) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[45] + mi := &file_proto_Gameapi_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3137,7 +3257,7 @@ func (x *ResPlayroomOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomOutline.ProtoReflect.Descriptor instead. func (*ResPlayroomOutline) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{45} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{47} } func (x *ResPlayroomOutline) GetCode() RES_CODE { @@ -3167,7 +3287,7 @@ type ChessBag struct { func (x *ChessBag) Reset() { *x = ChessBag{} - mi := &file_proto_Gameapi_proto_msgTypes[46] + mi := &file_proto_Gameapi_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3179,7 +3299,7 @@ func (x *ChessBag) String() string { func (*ChessBag) ProtoMessage() {} func (x *ChessBag) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[46] + mi := &file_proto_Gameapi_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3192,7 +3312,7 @@ func (x *ChessBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ChessBag.ProtoReflect.Descriptor instead. func (*ChessBag) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{46} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{48} } func (x *ChessBag) GetChessBagGrids() []*ChessBagGrid { @@ -3228,7 +3348,7 @@ type ChessBagGrid struct { func (x *ChessBagGrid) Reset() { *x = ChessBagGrid{} - mi := &file_proto_Gameapi_proto_msgTypes[47] + mi := &file_proto_Gameapi_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3240,7 +3360,7 @@ func (x *ChessBagGrid) String() string { func (*ChessBagGrid) ProtoMessage() {} func (x *ChessBagGrid) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[47] + mi := &file_proto_Gameapi_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3253,7 +3373,7 @@ func (x *ChessBagGrid) ProtoReflect() protoreflect.Message { // Deprecated: Use ChessBagGrid.ProtoReflect.Descriptor instead. func (*ChessBagGrid) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{47} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{49} } func (x *ChessBagGrid) GetId() int32 { @@ -3291,7 +3411,7 @@ type ReqPutChessInBag struct { func (x *ReqPutChessInBag) Reset() { *x = ReqPutChessInBag{} - mi := &file_proto_Gameapi_proto_msgTypes[48] + mi := &file_proto_Gameapi_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3303,7 +3423,7 @@ func (x *ReqPutChessInBag) String() string { func (*ReqPutChessInBag) ProtoMessage() {} func (x *ReqPutChessInBag) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[48] + mi := &file_proto_Gameapi_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3316,7 +3436,7 @@ func (x *ReqPutChessInBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPutChessInBag.ProtoReflect.Descriptor instead. func (*ReqPutChessInBag) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{48} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{50} } func (x *ReqPutChessInBag) GetChessId() int32 { @@ -3358,7 +3478,7 @@ type ResPutChessInBag struct { func (x *ResPutChessInBag) Reset() { *x = ResPutChessInBag{} - mi := &file_proto_Gameapi_proto_msgTypes[49] + mi := &file_proto_Gameapi_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3370,7 +3490,7 @@ func (x *ResPutChessInBag) String() string { func (*ResPutChessInBag) ProtoMessage() {} func (x *ResPutChessInBag) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[49] + mi := &file_proto_Gameapi_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3383,7 +3503,7 @@ func (x *ResPutChessInBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPutChessInBag.ProtoReflect.Descriptor instead. func (*ResPutChessInBag) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{49} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{51} } func (x *ResPutChessInBag) GetCode() RES_CODE { @@ -3412,7 +3532,7 @@ type ReqTakeChessOutBag struct { func (x *ReqTakeChessOutBag) Reset() { *x = ReqTakeChessOutBag{} - mi := &file_proto_Gameapi_proto_msgTypes[50] + mi := &file_proto_Gameapi_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3424,7 +3544,7 @@ func (x *ReqTakeChessOutBag) String() string { func (*ReqTakeChessOutBag) ProtoMessage() {} func (x *ReqTakeChessOutBag) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[50] + mi := &file_proto_Gameapi_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3437,7 +3557,7 @@ func (x *ReqTakeChessOutBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqTakeChessOutBag.ProtoReflect.Descriptor instead. func (*ReqTakeChessOutBag) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{50} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{52} } func (x *ReqTakeChessOutBag) GetBagId() int32 { @@ -3465,7 +3585,7 @@ type ResTakeChessOutBag struct { func (x *ResTakeChessOutBag) Reset() { *x = ResTakeChessOutBag{} - mi := &file_proto_Gameapi_proto_msgTypes[51] + mi := &file_proto_Gameapi_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3477,7 +3597,7 @@ func (x *ResTakeChessOutBag) String() string { func (*ResTakeChessOutBag) ProtoMessage() {} func (x *ResTakeChessOutBag) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[51] + mi := &file_proto_Gameapi_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3490,7 +3610,7 @@ func (x *ResTakeChessOutBag) ProtoReflect() protoreflect.Message { // Deprecated: Use ResTakeChessOutBag.ProtoReflect.Descriptor instead. func (*ResTakeChessOutBag) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{51} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{53} } func (x *ResTakeChessOutBag) GetCode() RES_CODE { @@ -3516,7 +3636,7 @@ type ReqBuyChessBagGrid struct { func (x *ReqBuyChessBagGrid) Reset() { *x = ReqBuyChessBagGrid{} - mi := &file_proto_Gameapi_proto_msgTypes[52] + mi := &file_proto_Gameapi_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3528,7 +3648,7 @@ func (x *ReqBuyChessBagGrid) String() string { func (*ReqBuyChessBagGrid) ProtoMessage() {} func (x *ReqBuyChessBagGrid) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[52] + mi := &file_proto_Gameapi_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3541,7 +3661,7 @@ func (x *ReqBuyChessBagGrid) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqBuyChessBagGrid.ProtoReflect.Descriptor instead. func (*ReqBuyChessBagGrid) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{52} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{54} } type ResBuyChessBagGrid struct { @@ -3555,7 +3675,7 @@ type ResBuyChessBagGrid struct { func (x *ResBuyChessBagGrid) Reset() { *x = ResBuyChessBagGrid{} - mi := &file_proto_Gameapi_proto_msgTypes[53] + mi := &file_proto_Gameapi_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3567,7 +3687,7 @@ func (x *ResBuyChessBagGrid) String() string { func (*ResBuyChessBagGrid) ProtoMessage() {} func (x *ResBuyChessBagGrid) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[53] + mi := &file_proto_Gameapi_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3580,7 +3700,7 @@ func (x *ResBuyChessBagGrid) ProtoReflect() protoreflect.Message { // Deprecated: Use ResBuyChessBagGrid.ProtoReflect.Descriptor instead. func (*ResBuyChessBagGrid) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{53} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{55} } func (x *ResBuyChessBagGrid) GetCode() RES_CODE { @@ -3608,7 +3728,7 @@ type ReqPlayerProfileData struct { func (x *ReqPlayerProfileData) Reset() { *x = ReqPlayerProfileData{} - mi := &file_proto_Gameapi_proto_msgTypes[54] + mi := &file_proto_Gameapi_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3620,7 +3740,7 @@ func (x *ReqPlayerProfileData) String() string { func (*ReqPlayerProfileData) ProtoMessage() {} func (x *ReqPlayerProfileData) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[54] + mi := &file_proto_Gameapi_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3633,7 +3753,7 @@ func (x *ReqPlayerProfileData) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayerProfileData.ProtoReflect.Descriptor instead. func (*ReqPlayerProfileData) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{54} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{56} } func (x *ReqPlayerProfileData) GetDwUin() int64 { @@ -3661,7 +3781,7 @@ type ResPlayerProfileData struct { func (x *ResPlayerProfileData) Reset() { *x = ResPlayerProfileData{} - mi := &file_proto_Gameapi_proto_msgTypes[55] + mi := &file_proto_Gameapi_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3673,7 +3793,7 @@ func (x *ResPlayerProfileData) String() string { func (*ResPlayerProfileData) ProtoMessage() {} func (x *ResPlayerProfileData) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[55] + mi := &file_proto_Gameapi_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3686,7 +3806,7 @@ func (x *ResPlayerProfileData) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayerProfileData.ProtoReflect.Descriptor instead. func (*ResPlayerProfileData) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{55} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{57} } func (x *ResPlayerProfileData) GetDwUin() int64 { @@ -3763,7 +3883,7 @@ type ReqPlayerBriefProfileData struct { func (x *ReqPlayerBriefProfileData) Reset() { *x = ReqPlayerBriefProfileData{} - mi := &file_proto_Gameapi_proto_msgTypes[56] + mi := &file_proto_Gameapi_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3775,7 +3895,7 @@ func (x *ReqPlayerBriefProfileData) String() string { func (*ReqPlayerBriefProfileData) ProtoMessage() {} func (x *ReqPlayerBriefProfileData) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[56] + mi := &file_proto_Gameapi_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3788,7 +3908,7 @@ func (x *ReqPlayerBriefProfileData) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayerBriefProfileData.ProtoReflect.Descriptor instead. func (*ReqPlayerBriefProfileData) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{56} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{58} } func (x *ReqPlayerBriefProfileData) GetDwUin() int64 { @@ -3814,7 +3934,7 @@ type ResPlayerBriefProfileData struct { func (x *ResPlayerBriefProfileData) Reset() { *x = ResPlayerBriefProfileData{} - mi := &file_proto_Gameapi_proto_msgTypes[57] + mi := &file_proto_Gameapi_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3826,7 +3946,7 @@ func (x *ResPlayerBriefProfileData) String() string { func (*ResPlayerBriefProfileData) ProtoMessage() {} func (x *ResPlayerBriefProfileData) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[57] + mi := &file_proto_Gameapi_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3839,7 +3959,7 @@ func (x *ResPlayerBriefProfileData) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayerBriefProfileData.ProtoReflect.Descriptor instead. func (*ResPlayerBriefProfileData) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{57} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{59} } func (x *ResPlayerBriefProfileData) GetDwUin() int64 { @@ -3902,7 +4022,7 @@ type ReqSetEnergyMul struct { func (x *ReqSetEnergyMul) Reset() { *x = ReqSetEnergyMul{} - mi := &file_proto_Gameapi_proto_msgTypes[58] + mi := &file_proto_Gameapi_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3914,7 +4034,7 @@ func (x *ReqSetEnergyMul) String() string { func (*ReqSetEnergyMul) ProtoMessage() {} func (x *ReqSetEnergyMul) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[58] + mi := &file_proto_Gameapi_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3927,7 +4047,7 @@ func (x *ReqSetEnergyMul) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetEnergyMul.ProtoReflect.Descriptor instead. func (*ReqSetEnergyMul) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{58} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{60} } func (x *ReqSetEnergyMul) GetEnergyMul() int32 { @@ -3948,7 +4068,7 @@ type ResSetEnergyMul struct { func (x *ResSetEnergyMul) Reset() { *x = ResSetEnergyMul{} - mi := &file_proto_Gameapi_proto_msgTypes[59] + mi := &file_proto_Gameapi_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3960,7 +4080,7 @@ func (x *ResSetEnergyMul) String() string { func (*ResSetEnergyMul) ProtoMessage() {} func (x *ResSetEnergyMul) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[59] + mi := &file_proto_Gameapi_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3973,7 +4093,7 @@ func (x *ResSetEnergyMul) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetEnergyMul.ProtoReflect.Descriptor instead. func (*ResSetEnergyMul) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{59} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{61} } func (x *ResSetEnergyMul) GetResultCode() RES_CODE { @@ -4003,7 +4123,7 @@ type BaseInfo struct { func (x *BaseInfo) Reset() { *x = BaseInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[60] + mi := &file_proto_Gameapi_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4015,7 +4135,7 @@ func (x *BaseInfo) String() string { func (*BaseInfo) ProtoMessage() {} func (x *BaseInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[60] + mi := &file_proto_Gameapi_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4028,7 +4148,7 @@ func (x *BaseInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use BaseInfo.ProtoReflect.Descriptor instead. func (*BaseInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{60} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{62} } func (x *BaseInfo) GetEnergyMul() int32 { @@ -4067,7 +4187,7 @@ type ReqUserInfo struct { func (x *ReqUserInfo) Reset() { *x = ReqUserInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[61] + mi := &file_proto_Gameapi_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4079,7 +4199,7 @@ func (x *ReqUserInfo) String() string { func (*ReqUserInfo) ProtoMessage() {} func (x *ReqUserInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[61] + mi := &file_proto_Gameapi_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4092,7 +4212,7 @@ func (x *ReqUserInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqUserInfo.ProtoReflect.Descriptor instead. func (*ReqUserInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{61} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{63} } type UserInfo struct { @@ -4100,21 +4220,22 @@ type UserInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uid int64 `protobuf:"varint,1,opt,name=Uid,proto3" json:"Uid,omitempty"` - Nickname string `protobuf:"bytes,2,opt,name=Nickname,proto3" json:"Nickname,omitempty"` - Avatar int32 `protobuf:"varint,3,opt,name=Avatar,proto3" json:"Avatar,omitempty"` - Face int32 `protobuf:"varint,4,opt,name=Face,proto3" json:"Face,omitempty"` - DecorateCnt int32 `protobuf:"varint,5,opt,name=DecorateCnt,proto3" json:"DecorateCnt,omitempty"` - AvatarList []*AvatarInfo `protobuf:"bytes,6,rep,name=AvatarList,proto3" json:"AvatarList,omitempty"` - FaceList []*FaceInfo `protobuf:"bytes,7,rep,name=FaceList,proto3" json:"FaceList,omitempty"` - Login int32 `protobuf:"varint,8,opt,name=Login,proto3" json:"Login,omitempty"` // 登录 - PetName string `protobuf:"bytes,9,opt,name=PetName,proto3" json:"PetName,omitempty"` //宠物名字 - EmojiList []*EmojiInfo `protobuf:"bytes,10,rep,name=EmojiList,proto3" json:"EmojiList,omitempty"` // 表情 + Uid int64 `protobuf:"varint,1,opt,name=Uid,proto3" json:"Uid,omitempty"` + Nickname string `protobuf:"bytes,2,opt,name=Nickname,proto3" json:"Nickname,omitempty"` + Avatar int32 `protobuf:"varint,3,opt,name=Avatar,proto3" json:"Avatar,omitempty"` + Face int32 `protobuf:"varint,4,opt,name=Face,proto3" json:"Face,omitempty"` + DecorateCnt int32 `protobuf:"varint,5,opt,name=DecorateCnt,proto3" json:"DecorateCnt,omitempty"` + AvatarList []*AvatarInfo `protobuf:"bytes,6,rep,name=AvatarList,proto3" json:"AvatarList,omitempty"` + FaceList []*FaceInfo `protobuf:"bytes,7,rep,name=FaceList,proto3" json:"FaceList,omitempty"` + Login int32 `protobuf:"varint,8,opt,name=Login,proto3" json:"Login,omitempty"` // 登录 + PetName string `protobuf:"bytes,9,opt,name=PetName,proto3" json:"PetName,omitempty"` //宠物名字 + EmojiList []*EmojiInfo `protobuf:"bytes,10,rep,name=EmojiList,proto3" json:"EmojiList,omitempty"` // 表情列表 + SetEmoji map[int32]int32 `protobuf:"bytes,11,rep,name=SetEmoji,proto3" json:"SetEmoji,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 已设置的头像 } func (x *UserInfo) Reset() { *x = UserInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[62] + mi := &file_proto_Gameapi_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4126,7 +4247,7 @@ func (x *UserInfo) String() string { func (*UserInfo) ProtoMessage() {} func (x *UserInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[62] + mi := &file_proto_Gameapi_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4139,7 +4260,7 @@ func (x *UserInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. func (*UserInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{62} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{64} } func (x *UserInfo) GetUid() int64 { @@ -4212,6 +4333,13 @@ func (x *UserInfo) GetEmojiList() []*EmojiInfo { return nil } +func (x *UserInfo) GetSetEmoji() map[int32]int32 { + if x != nil { + return x.SetEmoji + } + return nil +} + // 设置昵称 type ReqSetName struct { state protoimpl.MessageState @@ -4223,7 +4351,7 @@ type ReqSetName struct { func (x *ReqSetName) Reset() { *x = ReqSetName{} - mi := &file_proto_Gameapi_proto_msgTypes[63] + mi := &file_proto_Gameapi_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4235,7 +4363,7 @@ func (x *ReqSetName) String() string { func (*ReqSetName) ProtoMessage() {} func (x *ReqSetName) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[63] + mi := &file_proto_Gameapi_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4248,7 +4376,7 @@ func (x *ReqSetName) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetName.ProtoReflect.Descriptor instead. func (*ReqSetName) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{63} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{65} } func (x *ReqSetName) GetName() string { @@ -4269,7 +4397,7 @@ type ResSetName struct { func (x *ResSetName) Reset() { *x = ResSetName{} - mi := &file_proto_Gameapi_proto_msgTypes[64] + mi := &file_proto_Gameapi_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4281,7 +4409,7 @@ func (x *ResSetName) String() string { func (*ResSetName) ProtoMessage() {} func (x *ResSetName) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[64] + mi := &file_proto_Gameapi_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4294,7 +4422,7 @@ func (x *ResSetName) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetName.ProtoReflect.Descriptor instead. func (*ResSetName) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{64} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{66} } func (x *ResSetName) GetResultCode() RES_CODE { @@ -4322,7 +4450,7 @@ type ReqSetPetName struct { func (x *ReqSetPetName) Reset() { *x = ReqSetPetName{} - mi := &file_proto_Gameapi_proto_msgTypes[65] + mi := &file_proto_Gameapi_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4334,7 +4462,7 @@ func (x *ReqSetPetName) String() string { func (*ReqSetPetName) ProtoMessage() {} func (x *ReqSetPetName) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[65] + mi := &file_proto_Gameapi_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4347,7 +4475,7 @@ func (x *ReqSetPetName) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetPetName.ProtoReflect.Descriptor instead. func (*ReqSetPetName) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{65} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{67} } func (x *ReqSetPetName) GetName() string { @@ -4368,7 +4496,7 @@ type ResSetPetName struct { func (x *ResSetPetName) Reset() { *x = ResSetPetName{} - mi := &file_proto_Gameapi_proto_msgTypes[66] + mi := &file_proto_Gameapi_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4380,7 +4508,7 @@ func (x *ResSetPetName) String() string { func (*ResSetPetName) ProtoMessage() {} func (x *ResSetPetName) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[66] + mi := &file_proto_Gameapi_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4393,7 +4521,7 @@ func (x *ResSetPetName) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetPetName.ProtoReflect.Descriptor instead. func (*ResSetPetName) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{66} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{68} } func (x *ResSetPetName) GetResultCode() RES_CODE { @@ -4421,7 +4549,7 @@ type ReqBuyEnergy struct { func (x *ReqBuyEnergy) Reset() { *x = ReqBuyEnergy{} - mi := &file_proto_Gameapi_proto_msgTypes[67] + mi := &file_proto_Gameapi_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4433,7 +4561,7 @@ func (x *ReqBuyEnergy) String() string { func (*ReqBuyEnergy) ProtoMessage() {} func (x *ReqBuyEnergy) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[67] + mi := &file_proto_Gameapi_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4446,7 +4574,7 @@ func (x *ReqBuyEnergy) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqBuyEnergy.ProtoReflect.Descriptor instead. func (*ReqBuyEnergy) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{67} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{69} } func (x *ReqBuyEnergy) GetEnergy() int32 { @@ -4467,7 +4595,7 @@ type ResBuyEnergy struct { func (x *ResBuyEnergy) Reset() { *x = ResBuyEnergy{} - mi := &file_proto_Gameapi_proto_msgTypes[68] + mi := &file_proto_Gameapi_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4479,7 +4607,7 @@ func (x *ResBuyEnergy) String() string { func (*ResBuyEnergy) ProtoMessage() {} func (x *ResBuyEnergy) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[68] + mi := &file_proto_Gameapi_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4492,7 +4620,7 @@ func (x *ResBuyEnergy) ProtoReflect() protoreflect.Message { // Deprecated: Use ResBuyEnergy.ProtoReflect.Descriptor instead. func (*ResBuyEnergy) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{68} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{70} } func (x *ResBuyEnergy) GetCode() RES_CODE { @@ -4518,7 +4646,7 @@ type ReqGetEnergyByAD struct { func (x *ReqGetEnergyByAD) Reset() { *x = ReqGetEnergyByAD{} - mi := &file_proto_Gameapi_proto_msgTypes[69] + mi := &file_proto_Gameapi_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4530,7 +4658,7 @@ func (x *ReqGetEnergyByAD) String() string { func (*ReqGetEnergyByAD) ProtoMessage() {} func (x *ReqGetEnergyByAD) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[69] + mi := &file_proto_Gameapi_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4543,7 +4671,7 @@ func (x *ReqGetEnergyByAD) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetEnergyByAD.ProtoReflect.Descriptor instead. func (*ReqGetEnergyByAD) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{69} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{71} } type ResGetEnergyByAD struct { @@ -4557,7 +4685,7 @@ type ResGetEnergyByAD struct { func (x *ResGetEnergyByAD) Reset() { *x = ResGetEnergyByAD{} - mi := &file_proto_Gameapi_proto_msgTypes[70] + mi := &file_proto_Gameapi_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4569,7 +4697,7 @@ func (x *ResGetEnergyByAD) String() string { func (*ResGetEnergyByAD) ProtoMessage() {} func (x *ResGetEnergyByAD) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[70] + mi := &file_proto_Gameapi_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4582,7 +4710,7 @@ func (x *ResGetEnergyByAD) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetEnergyByAD.ProtoReflect.Descriptor instead. func (*ResGetEnergyByAD) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{70} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{72} } func (x *ResGetEnergyByAD) GetCode() RES_CODE { @@ -4609,7 +4737,7 @@ type ReqGetHandbookReward struct { func (x *ReqGetHandbookReward) Reset() { *x = ReqGetHandbookReward{} - mi := &file_proto_Gameapi_proto_msgTypes[71] + mi := &file_proto_Gameapi_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4621,7 +4749,7 @@ func (x *ReqGetHandbookReward) String() string { func (*ReqGetHandbookReward) ProtoMessage() {} func (x *ReqGetHandbookReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[71] + mi := &file_proto_Gameapi_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4634,7 +4762,7 @@ func (x *ReqGetHandbookReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetHandbookReward.ProtoReflect.Descriptor instead. func (*ReqGetHandbookReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{71} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{73} } func (x *ReqGetHandbookReward) GetChessId() int32 { @@ -4644,104 +4772,6 @@ func (x *ReqGetHandbookReward) GetChessId() int32 { return 0 } -type HandbookInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChessId int32 `protobuf:"varint,1,opt,name=ChessId,proto3" json:"ChessId,omitempty"` - Status int32 `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` -} - -func (x *HandbookInfo) Reset() { - *x = HandbookInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *HandbookInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HandbookInfo) ProtoMessage() {} - -func (x *HandbookInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[72] - 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 HandbookInfo.ProtoReflect.Descriptor instead. -func (*HandbookInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{72} -} - -func (x *HandbookInfo) GetChessId() int32 { - if x != nil { - return x.ChessId - } - return 0 -} - -func (x *HandbookInfo) GetStatus() int32 { - if x != nil { - return x.Status - } - return 0 -} - -type Handbook struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Handbooks []*HandbookInfo `protobuf:"bytes,1,rep,name=Handbooks,proto3" json:"Handbooks,omitempty"` -} - -func (x *Handbook) Reset() { - *x = Handbook{} - mi := &file_proto_Gameapi_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *Handbook) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Handbook) ProtoMessage() {} - -func (x *Handbook) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[73] - 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 Handbook.ProtoReflect.Descriptor instead. -func (*Handbook) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{73} -} - -func (x *Handbook) GetHandbooks() []*HandbookInfo { - if x != nil { - return x.Handbooks - } - return nil -} - type ResGetHandbookReward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4795,6 +4825,202 @@ func (x *ResGetHandbookReward) GetMsg() string { return "" } +type HandbookInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChessId int32 `protobuf:"varint,1,opt,name=ChessId,proto3" json:"ChessId,omitempty"` + Status int32 `protobuf:"varint,2,opt,name=Status,proto3" json:"Status,omitempty"` +} + +func (x *HandbookInfo) Reset() { + *x = HandbookInfo{} + mi := &file_proto_Gameapi_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HandbookInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HandbookInfo) ProtoMessage() {} + +func (x *HandbookInfo) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[75] + 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 HandbookInfo.ProtoReflect.Descriptor instead. +func (*HandbookInfo) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{75} +} + +func (x *HandbookInfo) GetChessId() int32 { + if x != nil { + return x.ChessId + } + return 0 +} + +func (x *HandbookInfo) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +type Handbook struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Handbooks []*HandbookInfo `protobuf:"bytes,1,rep,name=Handbooks,proto3" json:"Handbooks,omitempty"` +} + +func (x *Handbook) Reset() { + *x = Handbook{} + mi := &file_proto_Gameapi_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Handbook) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Handbook) ProtoMessage() {} + +func (x *Handbook) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[76] + 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 Handbook.ProtoReflect.Descriptor instead. +func (*Handbook) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{76} +} + +func (x *Handbook) GetHandbooks() []*HandbookInfo { + if x != nil { + return x.Handbooks + } + return nil +} + +type RegHandbookAllReward struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=Type,proto3" json:"Type,omitempty"` // "棋子系列 A B C" +} + +func (x *RegHandbookAllReward) Reset() { + *x = RegHandbookAllReward{} + mi := &file_proto_Gameapi_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegHandbookAllReward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegHandbookAllReward) ProtoMessage() {} + +func (x *RegHandbookAllReward) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[77] + 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 RegHandbookAllReward.ProtoReflect.Descriptor instead. +func (*RegHandbookAllReward) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{77} +} + +func (x *RegHandbookAllReward) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type ResHandbookAllReward 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 *ResHandbookAllReward) Reset() { + *x = ResHandbookAllReward{} + mi := &file_proto_Gameapi_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResHandbookAllReward) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResHandbookAllReward) ProtoMessage() {} + +func (x *ResHandbookAllReward) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[78] + 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 ResHandbookAllReward.ProtoReflect.Descriptor instead. +func (*ResHandbookAllReward) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{78} +} + +func (x *ResHandbookAllReward) GetCode() RES_CODE { + if x != nil { + return x.Code + } + return RES_CODE_FAIL +} + +func (x *ResHandbookAllReward) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + type ReqRewardOrder struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4806,7 +5032,7 @@ type ReqRewardOrder struct { func (x *ReqRewardOrder) Reset() { *x = ReqRewardOrder{} - mi := &file_proto_Gameapi_proto_msgTypes[75] + mi := &file_proto_Gameapi_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4818,7 +5044,7 @@ func (x *ReqRewardOrder) String() string { func (*ReqRewardOrder) ProtoMessage() {} func (x *ReqRewardOrder) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[75] + mi := &file_proto_Gameapi_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4831,7 +5057,7 @@ func (x *ReqRewardOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRewardOrder.ProtoReflect.Descriptor instead. func (*ReqRewardOrder) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{75} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{79} } func (x *ReqRewardOrder) GetOrderId() int32 { @@ -4859,7 +5085,7 @@ type ResRewardOrder struct { func (x *ResRewardOrder) Reset() { *x = ResRewardOrder{} - mi := &file_proto_Gameapi_proto_msgTypes[76] + mi := &file_proto_Gameapi_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4871,7 +5097,7 @@ func (x *ResRewardOrder) String() string { func (*ResRewardOrder) ProtoMessage() {} func (x *ResRewardOrder) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[76] + mi := &file_proto_Gameapi_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4884,7 +5110,7 @@ func (x *ResRewardOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRewardOrder.ProtoReflect.Descriptor instead. func (*ResRewardOrder) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{76} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{80} } func (x *ResRewardOrder) GetCode() RES_CODE { @@ -4912,7 +5138,7 @@ type ReqDelOrder struct { func (x *ReqDelOrder) Reset() { *x = ReqDelOrder{} - mi := &file_proto_Gameapi_proto_msgTypes[77] + mi := &file_proto_Gameapi_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4924,7 +5150,7 @@ func (x *ReqDelOrder) String() string { func (*ReqDelOrder) ProtoMessage() {} func (x *ReqDelOrder) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[77] + mi := &file_proto_Gameapi_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4937,7 +5163,7 @@ func (x *ReqDelOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDelOrder.ProtoReflect.Descriptor instead. func (*ReqDelOrder) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{77} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{81} } func (x *ReqDelOrder) GetOrderId() int32 { @@ -4958,7 +5184,7 @@ type ResDelOrder struct { func (x *ResDelOrder) Reset() { *x = ResDelOrder{} - mi := &file_proto_Gameapi_proto_msgTypes[78] + mi := &file_proto_Gameapi_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4970,7 +5196,7 @@ func (x *ResDelOrder) String() string { func (*ResDelOrder) ProtoMessage() {} func (x *ResDelOrder) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[78] + mi := &file_proto_Gameapi_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4983,7 +5209,7 @@ func (x *ResDelOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDelOrder.ProtoReflect.Descriptor instead. func (*ResDelOrder) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{78} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{82} } func (x *ResDelOrder) GetCode() RES_CODE { @@ -5000,6 +5226,97 @@ func (x *ResDelOrder) GetMsg() string { return "" } +// 获取出售棋子获得的星星数量 +type ReqSellChessNum struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChessId int32 `protobuf:"varint,1,opt,name=ChessId,proto3" json:"ChessId,omitempty"` +} + +func (x *ReqSellChessNum) Reset() { + *x = ReqSellChessNum{} + mi := &file_proto_Gameapi_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqSellChessNum) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqSellChessNum) ProtoMessage() {} + +func (x *ReqSellChessNum) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[83] + 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 ReqSellChessNum.ProtoReflect.Descriptor instead. +func (*ReqSellChessNum) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{83} +} + +func (x *ReqSellChessNum) GetChessId() int32 { + if x != nil { + return x.ChessId + } + return 0 +} + +type ResSellChessNum struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Num int32 `protobuf:"varint,1,opt,name=Num,proto3" json:"Num,omitempty"` +} + +func (x *ResSellChessNum) Reset() { + *x = ResSellChessNum{} + mi := &file_proto_Gameapi_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResSellChessNum) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResSellChessNum) ProtoMessage() {} + +func (x *ResSellChessNum) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[84] + 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 ResSellChessNum.ProtoReflect.Descriptor instead. +func (*ResSellChessNum) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{84} +} + +func (x *ResSellChessNum) GetNum() int32 { + if x != nil { + return x.Num + } + return 0 +} + type Order struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -5012,7 +5329,7 @@ type Order struct { func (x *Order) Reset() { *x = Order{} - mi := &file_proto_Gameapi_proto_msgTypes[79] + mi := &file_proto_Gameapi_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5024,7 +5341,7 @@ func (x *Order) String() string { func (*Order) ProtoMessage() {} func (x *Order) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[79] + mi := &file_proto_Gameapi_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5037,7 +5354,7 @@ func (x *Order) ProtoReflect() protoreflect.Message { // Deprecated: Use Order.ProtoReflect.Descriptor instead. func (*Order) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{79} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{85} } func (x *Order) GetId() int32 { @@ -5071,7 +5388,7 @@ type ResOrderList struct { func (x *ResOrderList) Reset() { *x = ResOrderList{} - mi := &file_proto_Gameapi_proto_msgTypes[80] + mi := &file_proto_Gameapi_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5083,7 +5400,7 @@ func (x *ResOrderList) String() string { func (*ResOrderList) ProtoMessage() {} func (x *ResOrderList) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[80] + mi := &file_proto_Gameapi_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5096,7 +5413,7 @@ func (x *ResOrderList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResOrderList.ProtoReflect.Descriptor instead. func (*ResOrderList) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{80} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{86} } func (x *ResOrderList) GetOrderList() []*Order { @@ -5118,7 +5435,7 @@ type ResDecorateInfo struct { func (x *ResDecorateInfo) Reset() { *x = ResDecorateInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[81] + mi := &file_proto_Gameapi_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5130,7 +5447,7 @@ func (x *ResDecorateInfo) String() string { func (*ResDecorateInfo) ProtoMessage() {} func (x *ResDecorateInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[81] + mi := &file_proto_Gameapi_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5143,7 +5460,7 @@ func (x *ResDecorateInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDecorateInfo.ProtoReflect.Descriptor instead. func (*ResDecorateInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{81} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{87} } func (x *ResDecorateInfo) GetAreaId() int32 { @@ -5172,7 +5489,7 @@ type ReqDecorate struct { func (x *ReqDecorate) Reset() { *x = ReqDecorate{} - mi := &file_proto_Gameapi_proto_msgTypes[82] + mi := &file_proto_Gameapi_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5184,7 +5501,7 @@ func (x *ReqDecorate) String() string { func (*ReqDecorate) ProtoMessage() {} func (x *ReqDecorate) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[82] + mi := &file_proto_Gameapi_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5197,7 +5514,7 @@ func (x *ReqDecorate) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDecorate.ProtoReflect.Descriptor instead. func (*ReqDecorate) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{82} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{88} } func (x *ReqDecorate) GetAreaId() int32 { @@ -5225,7 +5542,7 @@ type ResDecorate struct { func (x *ResDecorate) Reset() { *x = ResDecorate{} - mi := &file_proto_Gameapi_proto_msgTypes[83] + mi := &file_proto_Gameapi_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5237,7 +5554,7 @@ func (x *ResDecorate) String() string { func (*ResDecorate) ProtoMessage() {} func (x *ResDecorate) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[83] + mi := &file_proto_Gameapi_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5250,7 +5567,7 @@ func (x *ResDecorate) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDecorate.ProtoReflect.Descriptor instead. func (*ResDecorate) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{83} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{89} } func (x *ResDecorate) GetCode() RES_CODE { @@ -5276,7 +5593,7 @@ type ReqDecorateAll struct { func (x *ReqDecorateAll) Reset() { *x = ReqDecorateAll{} - mi := &file_proto_Gameapi_proto_msgTypes[84] + mi := &file_proto_Gameapi_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5288,7 +5605,7 @@ func (x *ReqDecorateAll) String() string { func (*ReqDecorateAll) ProtoMessage() {} func (x *ReqDecorateAll) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[84] + mi := &file_proto_Gameapi_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5301,7 +5618,7 @@ func (x *ReqDecorateAll) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDecorateAll.ProtoReflect.Descriptor instead. func (*ReqDecorateAll) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{84} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{90} } type ResDecorateAll struct { @@ -5315,7 +5632,7 @@ type ResDecorateAll struct { func (x *ResDecorateAll) Reset() { *x = ResDecorateAll{} - mi := &file_proto_Gameapi_proto_msgTypes[85] + mi := &file_proto_Gameapi_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5327,7 +5644,7 @@ func (x *ResDecorateAll) String() string { func (*ResDecorateAll) ProtoMessage() {} func (x *ResDecorateAll) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[85] + mi := &file_proto_Gameapi_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5340,7 +5657,7 @@ func (x *ResDecorateAll) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDecorateAll.ProtoReflect.Descriptor instead. func (*ResDecorateAll) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{85} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{91} } func (x *ResDecorateAll) GetCode() RES_CODE { @@ -5369,7 +5686,7 @@ type ReqGmCommand struct { func (x *ReqGmCommand) Reset() { *x = ReqGmCommand{} - mi := &file_proto_Gameapi_proto_msgTypes[86] + mi := &file_proto_Gameapi_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5381,7 +5698,7 @@ func (x *ReqGmCommand) String() string { func (*ReqGmCommand) ProtoMessage() {} func (x *ReqGmCommand) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[86] + mi := &file_proto_Gameapi_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5394,7 +5711,7 @@ func (x *ReqGmCommand) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGmCommand.ProtoReflect.Descriptor instead. func (*ReqGmCommand) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{86} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{92} } func (x *ReqGmCommand) GetCommand() string { @@ -5423,7 +5740,7 @@ type Card struct { func (x *Card) Reset() { *x = Card{} - mi := &file_proto_Gameapi_proto_msgTypes[87] + mi := &file_proto_Gameapi_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5435,7 +5752,7 @@ func (x *Card) String() string { func (*Card) ProtoMessage() {} func (x *Card) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[87] + mi := &file_proto_Gameapi_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5448,7 +5765,7 @@ func (x *Card) ProtoReflect() protoreflect.Message { // Deprecated: Use Card.ProtoReflect.Descriptor instead. func (*Card) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{87} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{93} } func (x *Card) GetId() int32 { @@ -5473,7 +5790,7 @@ type ReqCardInfo struct { func (x *ReqCardInfo) Reset() { *x = ReqCardInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[88] + mi := &file_proto_Gameapi_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5485,7 +5802,7 @@ func (x *ReqCardInfo) String() string { func (*ReqCardInfo) ProtoMessage() {} func (x *ReqCardInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[88] + mi := &file_proto_Gameapi_proto_msgTypes[94] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5498,7 +5815,7 @@ func (x *ReqCardInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardInfo.ProtoReflect.Descriptor instead. func (*ReqCardInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{88} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{94} } type ResCardInfo struct { @@ -5524,7 +5841,7 @@ type ResCardInfo struct { func (x *ResCardInfo) Reset() { *x = ResCardInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[89] + mi := &file_proto_Gameapi_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5536,7 +5853,7 @@ func (x *ResCardInfo) String() string { func (*ResCardInfo) ProtoMessage() {} func (x *ResCardInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[89] + mi := &file_proto_Gameapi_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5549,7 +5866,7 @@ func (x *ResCardInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardInfo.ProtoReflect.Descriptor instead. func (*ResCardInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{89} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{95} } func (x *ResCardInfo) GetCardList() []*Card { @@ -5664,7 +5981,7 @@ type ResNotifyCardTimes struct { func (x *ResNotifyCardTimes) Reset() { *x = ResNotifyCardTimes{} - mi := &file_proto_Gameapi_proto_msgTypes[90] + mi := &file_proto_Gameapi_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5676,7 +5993,7 @@ func (x *ResNotifyCardTimes) String() string { func (*ResNotifyCardTimes) ProtoMessage() {} func (x *ResNotifyCardTimes) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[90] + mi := &file_proto_Gameapi_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5689,7 +6006,7 @@ func (x *ResNotifyCardTimes) ProtoReflect() protoreflect.Message { // Deprecated: Use ResNotifyCardTimes.ProtoReflect.Descriptor instead. func (*ResNotifyCardTimes) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{90} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{96} } func (x *ResNotifyCardTimes) GetExTimes() int32 { @@ -5735,7 +6052,7 @@ type ReqCardSeasonFirstReward struct { func (x *ReqCardSeasonFirstReward) Reset() { *x = ReqCardSeasonFirstReward{} - mi := &file_proto_Gameapi_proto_msgTypes[91] + mi := &file_proto_Gameapi_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5747,7 +6064,7 @@ func (x *ReqCardSeasonFirstReward) String() string { func (*ReqCardSeasonFirstReward) ProtoMessage() {} func (x *ReqCardSeasonFirstReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[91] + mi := &file_proto_Gameapi_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5760,7 +6077,7 @@ func (x *ReqCardSeasonFirstReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardSeasonFirstReward.ProtoReflect.Descriptor instead. func (*ReqCardSeasonFirstReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{91} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{97} } type ResCardSeasonFirstReward struct { @@ -5774,7 +6091,7 @@ type ResCardSeasonFirstReward struct { func (x *ResCardSeasonFirstReward) Reset() { *x = ResCardSeasonFirstReward{} - mi := &file_proto_Gameapi_proto_msgTypes[92] + mi := &file_proto_Gameapi_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5786,7 +6103,7 @@ func (x *ResCardSeasonFirstReward) String() string { func (*ResCardSeasonFirstReward) ProtoMessage() {} func (x *ResCardSeasonFirstReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[92] + mi := &file_proto_Gameapi_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5799,7 +6116,7 @@ func (x *ResCardSeasonFirstReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardSeasonFirstReward.ProtoReflect.Descriptor instead. func (*ResCardSeasonFirstReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{92} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{98} } func (x *ResCardSeasonFirstReward) GetCode() RES_CODE { @@ -5827,7 +6144,7 @@ type ReqCardHandbookReward struct { func (x *ReqCardHandbookReward) Reset() { *x = ReqCardHandbookReward{} - mi := &file_proto_Gameapi_proto_msgTypes[93] + mi := &file_proto_Gameapi_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5839,7 +6156,7 @@ func (x *ReqCardHandbookReward) String() string { func (*ReqCardHandbookReward) ProtoMessage() {} func (x *ReqCardHandbookReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[93] + mi := &file_proto_Gameapi_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5852,7 +6169,7 @@ func (x *ReqCardHandbookReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardHandbookReward.ProtoReflect.Descriptor instead. func (*ReqCardHandbookReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{93} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{99} } func (x *ReqCardHandbookReward) GetCardId() int32 { @@ -5874,7 +6191,7 @@ type ResCardHandbookReward struct { func (x *ResCardHandbookReward) Reset() { *x = ResCardHandbookReward{} - mi := &file_proto_Gameapi_proto_msgTypes[94] + mi := &file_proto_Gameapi_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5886,7 +6203,7 @@ func (x *ResCardHandbookReward) String() string { func (*ResCardHandbookReward) ProtoMessage() {} func (x *ResCardHandbookReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[94] + mi := &file_proto_Gameapi_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5899,7 +6216,7 @@ func (x *ResCardHandbookReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardHandbookReward.ProtoReflect.Descriptor instead. func (*ResCardHandbookReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{94} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{100} } func (x *ResCardHandbookReward) GetCode() RES_CODE { @@ -5935,7 +6252,7 @@ type ReqMasterCard struct { func (x *ReqMasterCard) Reset() { *x = ReqMasterCard{} - mi := &file_proto_Gameapi_proto_msgTypes[95] + mi := &file_proto_Gameapi_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5947,7 +6264,7 @@ func (x *ReqMasterCard) String() string { func (*ReqMasterCard) ProtoMessage() {} func (x *ReqMasterCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[95] + mi := &file_proto_Gameapi_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5960,7 +6277,7 @@ func (x *ReqMasterCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMasterCard.ProtoReflect.Descriptor instead. func (*ReqMasterCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{95} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{101} } func (x *ReqMasterCard) GetId() int32 { @@ -5990,7 +6307,7 @@ type ResMasterCard struct { func (x *ResMasterCard) Reset() { *x = ResMasterCard{} - mi := &file_proto_Gameapi_proto_msgTypes[96] + mi := &file_proto_Gameapi_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6002,7 +6319,7 @@ func (x *ResMasterCard) String() string { func (*ResMasterCard) ProtoMessage() {} func (x *ResMasterCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[96] + mi := &file_proto_Gameapi_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6015,7 +6332,7 @@ func (x *ResMasterCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMasterCard.ProtoReflect.Descriptor instead. func (*ResMasterCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{96} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{102} } func (x *ResMasterCard) GetCode() RES_CODE { @@ -6057,7 +6374,7 @@ type ReqCardCollectReward struct { func (x *ReqCardCollectReward) Reset() { *x = ReqCardCollectReward{} - mi := &file_proto_Gameapi_proto_msgTypes[97] + mi := &file_proto_Gameapi_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6069,7 +6386,7 @@ func (x *ReqCardCollectReward) String() string { func (*ReqCardCollectReward) ProtoMessage() {} func (x *ReqCardCollectReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[97] + mi := &file_proto_Gameapi_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6082,7 +6399,7 @@ func (x *ReqCardCollectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardCollectReward.ProtoReflect.Descriptor instead. func (*ReqCardCollectReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{97} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{103} } func (x *ReqCardCollectReward) GetColor() int32 { @@ -6103,7 +6420,7 @@ type ResCardCollectReward struct { func (x *ResCardCollectReward) Reset() { *x = ResCardCollectReward{} - mi := &file_proto_Gameapi_proto_msgTypes[98] + mi := &file_proto_Gameapi_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6115,7 +6432,7 @@ func (x *ResCardCollectReward) String() string { func (*ResCardCollectReward) ProtoMessage() {} func (x *ResCardCollectReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[98] + mi := &file_proto_Gameapi_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6128,7 +6445,7 @@ func (x *ResCardCollectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardCollectReward.ProtoReflect.Descriptor instead. func (*ResCardCollectReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{98} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{104} } func (x *ResCardCollectReward) GetCode() RES_CODE { @@ -6156,7 +6473,7 @@ type ReqExStarReward struct { func (x *ReqExStarReward) Reset() { *x = ReqExStarReward{} - mi := &file_proto_Gameapi_proto_msgTypes[99] + mi := &file_proto_Gameapi_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6168,7 +6485,7 @@ func (x *ReqExStarReward) String() string { func (*ReqExStarReward) ProtoMessage() {} func (x *ReqExStarReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[99] + mi := &file_proto_Gameapi_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6181,7 +6498,7 @@ func (x *ReqExStarReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqExStarReward.ProtoReflect.Descriptor instead. func (*ReqExStarReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{99} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{105} } func (x *ReqExStarReward) GetId() int32 { @@ -6202,7 +6519,7 @@ type ResExStarReward struct { func (x *ResExStarReward) Reset() { *x = ResExStarReward{} - mi := &file_proto_Gameapi_proto_msgTypes[100] + mi := &file_proto_Gameapi_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6214,7 +6531,7 @@ func (x *ResExStarReward) String() string { func (*ResExStarReward) ProtoMessage() {} func (x *ResExStarReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[100] + mi := &file_proto_Gameapi_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6227,7 +6544,7 @@ func (x *ResExStarReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResExStarReward.ProtoReflect.Descriptor instead. func (*ResExStarReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{100} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{106} } func (x *ResExStarReward) GetCode() RES_CODE { @@ -6253,7 +6570,7 @@ type ReqAllCollectReward struct { func (x *ReqAllCollectReward) Reset() { *x = ReqAllCollectReward{} - mi := &file_proto_Gameapi_proto_msgTypes[101] + mi := &file_proto_Gameapi_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6265,7 +6582,7 @@ func (x *ReqAllCollectReward) String() string { func (*ReqAllCollectReward) ProtoMessage() {} func (x *ReqAllCollectReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[101] + mi := &file_proto_Gameapi_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6278,7 +6595,7 @@ func (x *ReqAllCollectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAllCollectReward.ProtoReflect.Descriptor instead. func (*ReqAllCollectReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{101} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{107} } type ResAllCollectReward struct { @@ -6292,7 +6609,7 @@ type ResAllCollectReward struct { func (x *ResAllCollectReward) Reset() { *x = ResAllCollectReward{} - mi := &file_proto_Gameapi_proto_msgTypes[102] + mi := &file_proto_Gameapi_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6304,7 +6621,7 @@ func (x *ResAllCollectReward) String() string { func (*ResAllCollectReward) ProtoMessage() {} func (x *ResAllCollectReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[102] + mi := &file_proto_Gameapi_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6317,7 +6634,7 @@ func (x *ResAllCollectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAllCollectReward.ProtoReflect.Descriptor instead. func (*ResAllCollectReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{102} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{108} } func (x *ResAllCollectReward) GetCode() RES_CODE { @@ -6346,7 +6663,7 @@ type ReqCardGive struct { func (x *ReqCardGive) Reset() { *x = ReqCardGive{} - mi := &file_proto_Gameapi_proto_msgTypes[103] + mi := &file_proto_Gameapi_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6358,7 +6675,7 @@ func (x *ReqCardGive) String() string { func (*ReqCardGive) ProtoMessage() {} func (x *ReqCardGive) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[103] + mi := &file_proto_Gameapi_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6371,7 +6688,7 @@ func (x *ReqCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardGive.ProtoReflect.Descriptor instead. func (*ReqCardGive) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{103} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{109} } func (x *ReqCardGive) GetUid() []int64 { @@ -6399,7 +6716,7 @@ type ResCardGive struct { func (x *ResCardGive) Reset() { *x = ResCardGive{} - mi := &file_proto_Gameapi_proto_msgTypes[104] + mi := &file_proto_Gameapi_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6411,7 +6728,7 @@ func (x *ResCardGive) String() string { func (*ResCardGive) ProtoMessage() {} func (x *ResCardGive) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[104] + mi := &file_proto_Gameapi_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6424,7 +6741,7 @@ func (x *ResCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardGive.ProtoReflect.Descriptor instead. func (*ResCardGive) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{104} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{110} } func (x *ResCardGive) GetCode() RES_CODE { @@ -6452,7 +6769,7 @@ type ReqAgreeCardGive struct { func (x *ReqAgreeCardGive) Reset() { *x = ReqAgreeCardGive{} - mi := &file_proto_Gameapi_proto_msgTypes[105] + mi := &file_proto_Gameapi_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6464,7 +6781,7 @@ func (x *ReqAgreeCardGive) String() string { func (*ReqAgreeCardGive) ProtoMessage() {} func (x *ReqAgreeCardGive) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[105] + mi := &file_proto_Gameapi_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6477,7 +6794,7 @@ func (x *ReqAgreeCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAgreeCardGive.ProtoReflect.Descriptor instead. func (*ReqAgreeCardGive) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{105} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{111} } func (x *ReqAgreeCardGive) GetId() string { @@ -6499,7 +6816,7 @@ type ResAgreeCardGive struct { func (x *ResAgreeCardGive) Reset() { *x = ResAgreeCardGive{} - mi := &file_proto_Gameapi_proto_msgTypes[106] + mi := &file_proto_Gameapi_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6511,7 +6828,7 @@ func (x *ResAgreeCardGive) String() string { func (*ResAgreeCardGive) ProtoMessage() {} func (x *ResAgreeCardGive) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[106] + mi := &file_proto_Gameapi_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6524,7 +6841,7 @@ func (x *ResAgreeCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAgreeCardGive.ProtoReflect.Descriptor instead. func (*ResAgreeCardGive) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{106} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{112} } func (x *ResAgreeCardGive) GetCode() RES_CODE { @@ -6559,7 +6876,7 @@ type ReqRefuseCardGive struct { func (x *ReqRefuseCardGive) Reset() { *x = ReqRefuseCardGive{} - mi := &file_proto_Gameapi_proto_msgTypes[107] + mi := &file_proto_Gameapi_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6571,7 +6888,7 @@ func (x *ReqRefuseCardGive) String() string { func (*ReqRefuseCardGive) ProtoMessage() {} func (x *ReqRefuseCardGive) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[107] + mi := &file_proto_Gameapi_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6584,7 +6901,7 @@ func (x *ReqRefuseCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefuseCardGive.ProtoReflect.Descriptor instead. func (*ReqRefuseCardGive) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{107} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{113} } func (x *ReqRefuseCardGive) GetId() string { @@ -6606,7 +6923,7 @@ type ResRefuseCardGive struct { func (x *ResRefuseCardGive) Reset() { *x = ResRefuseCardGive{} - mi := &file_proto_Gameapi_proto_msgTypes[108] + mi := &file_proto_Gameapi_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6618,7 +6935,7 @@ func (x *ResRefuseCardGive) String() string { func (*ResRefuseCardGive) ProtoMessage() {} func (x *ResRefuseCardGive) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[108] + mi := &file_proto_Gameapi_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6631,7 +6948,7 @@ func (x *ResRefuseCardGive) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefuseCardGive.ProtoReflect.Descriptor instead. func (*ResRefuseCardGive) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{108} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{114} } func (x *ResRefuseCardGive) GetCode() RES_CODE { @@ -6667,7 +6984,7 @@ type ReqCardSend struct { func (x *ReqCardSend) Reset() { *x = ReqCardSend{} - mi := &file_proto_Gameapi_proto_msgTypes[109] + mi := &file_proto_Gameapi_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6679,7 +6996,7 @@ func (x *ReqCardSend) String() string { func (*ReqCardSend) ProtoMessage() {} func (x *ReqCardSend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[109] + mi := &file_proto_Gameapi_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6692,7 +7009,7 @@ func (x *ReqCardSend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardSend.ProtoReflect.Descriptor instead. func (*ReqCardSend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{109} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{115} } func (x *ReqCardSend) GetUid() int64 { @@ -6720,7 +7037,7 @@ type ResCardSend struct { func (x *ResCardSend) Reset() { *x = ResCardSend{} - mi := &file_proto_Gameapi_proto_msgTypes[110] + mi := &file_proto_Gameapi_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6732,7 +7049,7 @@ func (x *ResCardSend) String() string { func (*ResCardSend) ProtoMessage() {} func (x *ResCardSend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[110] + mi := &file_proto_Gameapi_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6745,7 +7062,7 @@ func (x *ResCardSend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardSend.ProtoReflect.Descriptor instead. func (*ResCardSend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{110} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{116} } func (x *ResCardSend) GetCode() RES_CODE { @@ -6774,7 +7091,7 @@ type ReqCardExchange struct { func (x *ReqCardExchange) Reset() { *x = ReqCardExchange{} - mi := &file_proto_Gameapi_proto_msgTypes[111] + mi := &file_proto_Gameapi_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6786,7 +7103,7 @@ func (x *ReqCardExchange) String() string { func (*ReqCardExchange) ProtoMessage() {} func (x *ReqCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[111] + mi := &file_proto_Gameapi_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6799,7 +7116,7 @@ func (x *ReqCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCardExchange.ProtoReflect.Descriptor instead. func (*ReqCardExchange) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{111} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{117} } func (x *ReqCardExchange) GetUid() int64 { @@ -6827,7 +7144,7 @@ type ResCardExchange struct { func (x *ResCardExchange) Reset() { *x = ResCardExchange{} - mi := &file_proto_Gameapi_proto_msgTypes[112] + mi := &file_proto_Gameapi_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6839,7 +7156,7 @@ func (x *ResCardExchange) String() string { func (*ResCardExchange) ProtoMessage() {} func (x *ResCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[112] + mi := &file_proto_Gameapi_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6852,7 +7169,7 @@ func (x *ResCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCardExchange.ProtoReflect.Descriptor instead. func (*ResCardExchange) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{112} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{118} } func (x *ResCardExchange) GetCode() RES_CODE { @@ -6881,7 +7198,7 @@ type ReqSelectCardExchange struct { func (x *ReqSelectCardExchange) Reset() { *x = ReqSelectCardExchange{} - mi := &file_proto_Gameapi_proto_msgTypes[113] + mi := &file_proto_Gameapi_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6893,7 +7210,7 @@ func (x *ReqSelectCardExchange) String() string { func (*ReqSelectCardExchange) ProtoMessage() {} func (x *ReqSelectCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[113] + mi := &file_proto_Gameapi_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6906,7 +7223,7 @@ func (x *ReqSelectCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSelectCardExchange.ProtoReflect.Descriptor instead. func (*ReqSelectCardExchange) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{113} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{119} } func (x *ReqSelectCardExchange) GetId() string { @@ -6935,7 +7252,7 @@ type ResSelectCardExchange struct { func (x *ResSelectCardExchange) Reset() { *x = ResSelectCardExchange{} - mi := &file_proto_Gameapi_proto_msgTypes[114] + mi := &file_proto_Gameapi_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6947,7 +7264,7 @@ func (x *ResSelectCardExchange) String() string { func (*ResSelectCardExchange) ProtoMessage() {} func (x *ResSelectCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[114] + mi := &file_proto_Gameapi_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6960,7 +7277,7 @@ func (x *ResSelectCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSelectCardExchange.ProtoReflect.Descriptor instead. func (*ResSelectCardExchange) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{114} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{120} } func (x *ResSelectCardExchange) GetCode() RES_CODE { @@ -6995,7 +7312,7 @@ type ReqAgreeCardExchange struct { func (x *ReqAgreeCardExchange) Reset() { *x = ReqAgreeCardExchange{} - mi := &file_proto_Gameapi_proto_msgTypes[115] + mi := &file_proto_Gameapi_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7007,7 +7324,7 @@ func (x *ReqAgreeCardExchange) String() string { func (*ReqAgreeCardExchange) ProtoMessage() {} func (x *ReqAgreeCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[115] + mi := &file_proto_Gameapi_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7020,7 +7337,7 @@ func (x *ReqAgreeCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAgreeCardExchange.ProtoReflect.Descriptor instead. func (*ReqAgreeCardExchange) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{115} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{121} } func (x *ReqAgreeCardExchange) GetId() string { @@ -7042,7 +7359,7 @@ type ResAgreeCardExchange struct { func (x *ResAgreeCardExchange) Reset() { *x = ResAgreeCardExchange{} - mi := &file_proto_Gameapi_proto_msgTypes[116] + mi := &file_proto_Gameapi_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7054,7 +7371,7 @@ func (x *ResAgreeCardExchange) String() string { func (*ResAgreeCardExchange) ProtoMessage() {} func (x *ResAgreeCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[116] + mi := &file_proto_Gameapi_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7067,7 +7384,7 @@ func (x *ResAgreeCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAgreeCardExchange.ProtoReflect.Descriptor instead. func (*ResAgreeCardExchange) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{116} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{122} } func (x *ResAgreeCardExchange) GetCode() RES_CODE { @@ -7102,7 +7419,7 @@ type ReqRefuseCardSelect struct { func (x *ReqRefuseCardSelect) Reset() { *x = ReqRefuseCardSelect{} - mi := &file_proto_Gameapi_proto_msgTypes[117] + mi := &file_proto_Gameapi_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7114,7 +7431,7 @@ func (x *ReqRefuseCardSelect) String() string { func (*ReqRefuseCardSelect) ProtoMessage() {} func (x *ReqRefuseCardSelect) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[117] + mi := &file_proto_Gameapi_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7127,7 +7444,7 @@ func (x *ReqRefuseCardSelect) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefuseCardSelect.ProtoReflect.Descriptor instead. func (*ReqRefuseCardSelect) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{117} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{123} } func (x *ReqRefuseCardSelect) GetId() string { @@ -7149,7 +7466,7 @@ type ResRefuseCardSelect struct { func (x *ResRefuseCardSelect) Reset() { *x = ResRefuseCardSelect{} - mi := &file_proto_Gameapi_proto_msgTypes[118] + mi := &file_proto_Gameapi_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7161,7 +7478,7 @@ func (x *ResRefuseCardSelect) String() string { func (*ResRefuseCardSelect) ProtoMessage() {} func (x *ResRefuseCardSelect) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[118] + mi := &file_proto_Gameapi_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7174,7 +7491,7 @@ func (x *ResRefuseCardSelect) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefuseCardSelect.ProtoReflect.Descriptor instead. func (*ResRefuseCardSelect) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{118} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{124} } func (x *ResRefuseCardSelect) GetCode() RES_CODE { @@ -7209,7 +7526,7 @@ type ReqRefuseCardExchange struct { func (x *ReqRefuseCardExchange) Reset() { *x = ReqRefuseCardExchange{} - mi := &file_proto_Gameapi_proto_msgTypes[119] + mi := &file_proto_Gameapi_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7221,7 +7538,7 @@ func (x *ReqRefuseCardExchange) String() string { func (*ReqRefuseCardExchange) ProtoMessage() {} func (x *ReqRefuseCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[119] + mi := &file_proto_Gameapi_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7234,7 +7551,7 @@ func (x *ReqRefuseCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefuseCardExchange.ProtoReflect.Descriptor instead. func (*ReqRefuseCardExchange) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{119} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{125} } func (x *ReqRefuseCardExchange) GetId() string { @@ -7256,7 +7573,7 @@ type ResRefuseCardExchange struct { func (x *ResRefuseCardExchange) Reset() { *x = ResRefuseCardExchange{} - mi := &file_proto_Gameapi_proto_msgTypes[120] + mi := &file_proto_Gameapi_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7268,7 +7585,7 @@ func (x *ResRefuseCardExchange) String() string { func (*ResRefuseCardExchange) ProtoMessage() {} func (x *ResRefuseCardExchange) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[120] + mi := &file_proto_Gameapi_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7281,7 +7598,7 @@ func (x *ResRefuseCardExchange) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefuseCardExchange.ProtoReflect.Descriptor instead. func (*ResRefuseCardExchange) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{120} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{126} } func (x *ResRefuseCardExchange) GetCode() RES_CODE { @@ -7316,7 +7633,7 @@ type ReqGetFriendCard struct { func (x *ReqGetFriendCard) Reset() { *x = ReqGetFriendCard{} - mi := &file_proto_Gameapi_proto_msgTypes[121] + mi := &file_proto_Gameapi_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7328,7 +7645,7 @@ func (x *ReqGetFriendCard) String() string { func (*ReqGetFriendCard) ProtoMessage() {} func (x *ReqGetFriendCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[121] + mi := &file_proto_Gameapi_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7341,7 +7658,7 @@ func (x *ReqGetFriendCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetFriendCard.ProtoReflect.Descriptor instead. func (*ReqGetFriendCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{121} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{127} } func (x *ReqGetFriendCard) GetId() string { @@ -7364,7 +7681,7 @@ type ResGetFriendCard struct { func (x *ResGetFriendCard) Reset() { *x = ResGetFriendCard{} - mi := &file_proto_Gameapi_proto_msgTypes[122] + mi := &file_proto_Gameapi_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7376,7 +7693,7 @@ func (x *ResGetFriendCard) String() string { func (*ResGetFriendCard) ProtoMessage() {} func (x *ResGetFriendCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[122] + mi := &file_proto_Gameapi_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7389,7 +7706,7 @@ func (x *ResGetFriendCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetFriendCard.ProtoReflect.Descriptor instead. func (*ResGetFriendCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{122} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{128} } func (x *ResGetFriendCard) GetCode() RES_CODE { @@ -7429,7 +7746,7 @@ type ReqGetGoldCard struct { func (x *ReqGetGoldCard) Reset() { *x = ReqGetGoldCard{} - mi := &file_proto_Gameapi_proto_msgTypes[123] + mi := &file_proto_Gameapi_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7441,7 +7758,7 @@ func (x *ReqGetGoldCard) String() string { func (*ReqGetGoldCard) ProtoMessage() {} func (x *ReqGetGoldCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[123] + mi := &file_proto_Gameapi_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7454,7 +7771,7 @@ func (x *ReqGetGoldCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetGoldCard.ProtoReflect.Descriptor instead. func (*ReqGetGoldCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{123} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{129} } type ResGetGoldCard struct { @@ -7468,7 +7785,7 @@ type ResGetGoldCard struct { func (x *ResGetGoldCard) Reset() { *x = ResGetGoldCard{} - mi := &file_proto_Gameapi_proto_msgTypes[124] + mi := &file_proto_Gameapi_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7480,7 +7797,7 @@ func (x *ResGetGoldCard) String() string { func (*ResGetGoldCard) ProtoMessage() {} func (x *ResGetGoldCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[124] + mi := &file_proto_Gameapi_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7493,7 +7810,7 @@ func (x *ResGetGoldCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetGoldCard.ProtoReflect.Descriptor instead. func (*ResGetGoldCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{124} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{130} } func (x *ResGetGoldCard) GetFour() int32 { @@ -7521,7 +7838,7 @@ type ReqGuideReward struct { func (x *ReqGuideReward) Reset() { *x = ReqGuideReward{} - mi := &file_proto_Gameapi_proto_msgTypes[125] + mi := &file_proto_Gameapi_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7533,7 +7850,7 @@ func (x *ReqGuideReward) String() string { func (*ReqGuideReward) ProtoMessage() {} func (x *ReqGuideReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[125] + mi := &file_proto_Gameapi_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7546,7 +7863,7 @@ func (x *ReqGuideReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGuideReward.ProtoReflect.Descriptor instead. func (*ReqGuideReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{125} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{131} } func (x *ReqGuideReward) GetId() int32 { @@ -7567,7 +7884,7 @@ type ResGuideReward struct { func (x *ResGuideReward) Reset() { *x = ResGuideReward{} - mi := &file_proto_Gameapi_proto_msgTypes[126] + mi := &file_proto_Gameapi_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7579,7 +7896,7 @@ func (x *ResGuideReward) String() string { func (*ResGuideReward) ProtoMessage() {} func (x *ResGuideReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[126] + mi := &file_proto_Gameapi_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7592,7 +7909,7 @@ func (x *ResGuideReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuideReward.ProtoReflect.Descriptor instead. func (*ResGuideReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{126} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{132} } func (x *ResGuideReward) GetCode() RES_CODE { @@ -7619,7 +7936,7 @@ type ResGuildInfo struct { func (x *ResGuildInfo) Reset() { *x = ResGuildInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[127] + mi := &file_proto_Gameapi_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7631,7 +7948,7 @@ func (x *ResGuildInfo) String() string { func (*ResGuildInfo) ProtoMessage() {} func (x *ResGuildInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[127] + mi := &file_proto_Gameapi_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7644,7 +7961,7 @@ func (x *ResGuildInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuildInfo.ProtoReflect.Descriptor instead. func (*ResGuildInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{127} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{133} } func (x *ResGuildInfo) GetReward() map[int32]int32 { @@ -7667,7 +7984,7 @@ type ResItemPop struct { func (x *ResItemPop) Reset() { *x = ResItemPop{} - mi := &file_proto_Gameapi_proto_msgTypes[128] + mi := &file_proto_Gameapi_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7679,7 +7996,7 @@ func (x *ResItemPop) String() string { func (*ResItemPop) ProtoMessage() {} func (x *ResItemPop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[128] + mi := &file_proto_Gameapi_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7692,7 +8009,7 @@ func (x *ResItemPop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResItemPop.ProtoReflect.Descriptor instead. func (*ResItemPop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{128} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{134} } func (x *ResItemPop) GetId() int32 { @@ -7734,7 +8051,7 @@ type ItemInfo struct { func (x *ItemInfo) Reset() { *x = ItemInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[129] + mi := &file_proto_Gameapi_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7746,7 +8063,7 @@ func (x *ItemInfo) String() string { func (*ItemInfo) ProtoMessage() {} func (x *ItemInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[129] + mi := &file_proto_Gameapi_proto_msgTypes[135] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7759,7 +8076,7 @@ func (x *ItemInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ItemInfo.ProtoReflect.Descriptor instead. func (*ItemInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{129} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{135} } func (x *ItemInfo) GetId() int32 { @@ -7787,7 +8104,7 @@ type CardPack struct { func (x *CardPack) Reset() { *x = CardPack{} - mi := &file_proto_Gameapi_proto_msgTypes[130] + mi := &file_proto_Gameapi_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7799,7 +8116,7 @@ func (x *CardPack) String() string { func (*CardPack) ProtoMessage() {} func (x *CardPack) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[130] + mi := &file_proto_Gameapi_proto_msgTypes[136] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7812,7 +8129,7 @@ func (x *CardPack) ProtoReflect() protoreflect.Message { // Deprecated: Use CardPack.ProtoReflect.Descriptor instead. func (*CardPack) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{130} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{136} } func (x *CardPack) GetId() int32 { @@ -7843,7 +8160,7 @@ type ResDailyTask struct { func (x *ResDailyTask) Reset() { *x = ResDailyTask{} - mi := &file_proto_Gameapi_proto_msgTypes[131] + mi := &file_proto_Gameapi_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7855,7 +8172,7 @@ func (x *ResDailyTask) String() string { func (*ResDailyTask) ProtoMessage() {} func (x *ResDailyTask) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[131] + mi := &file_proto_Gameapi_proto_msgTypes[137] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7868,7 +8185,7 @@ func (x *ResDailyTask) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDailyTask.ProtoReflect.Descriptor instead. func (*ResDailyTask) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{131} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{137} } func (x *ResDailyTask) GetWeekReward() map[int32]*DailyWeek { @@ -7918,7 +8235,7 @@ type DailyWeek struct { func (x *DailyWeek) Reset() { *x = DailyWeek{} - mi := &file_proto_Gameapi_proto_msgTypes[132] + mi := &file_proto_Gameapi_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7930,7 +8247,7 @@ func (x *DailyWeek) String() string { func (*DailyWeek) ProtoMessage() {} func (x *DailyWeek) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[132] + mi := &file_proto_Gameapi_proto_msgTypes[138] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7943,7 +8260,7 @@ func (x *DailyWeek) ProtoReflect() protoreflect.Message { // Deprecated: Use DailyWeek.ProtoReflect.Descriptor instead. func (*DailyWeek) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{132} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{138} } func (x *DailyWeek) GetItems() []*ItemInfo { @@ -7980,7 +8297,7 @@ type DailyTask struct { func (x *DailyTask) Reset() { *x = DailyTask{} - mi := &file_proto_Gameapi_proto_msgTypes[133] + mi := &file_proto_Gameapi_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7992,7 +8309,7 @@ func (x *DailyTask) String() string { func (*DailyTask) ProtoMessage() {} func (x *DailyTask) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[133] + mi := &file_proto_Gameapi_proto_msgTypes[139] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8005,7 +8322,7 @@ func (x *DailyTask) ProtoReflect() protoreflect.Message { // Deprecated: Use DailyTask.ProtoReflect.Descriptor instead. func (*DailyTask) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{133} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{139} } func (x *DailyTask) GetStatus() int32 { @@ -8050,7 +8367,7 @@ type QuestProgress struct { func (x *QuestProgress) Reset() { *x = QuestProgress{} - mi := &file_proto_Gameapi_proto_msgTypes[134] + mi := &file_proto_Gameapi_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8062,7 +8379,7 @@ func (x *QuestProgress) String() string { func (*QuestProgress) ProtoMessage() {} func (x *QuestProgress) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[134] + mi := &file_proto_Gameapi_proto_msgTypes[140] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8075,7 +8392,7 @@ func (x *QuestProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use QuestProgress.ProtoReflect.Descriptor instead. func (*QuestProgress) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{134} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{140} } func (x *QuestProgress) GetLabel() string { @@ -8124,7 +8441,7 @@ type ReqGetDailyTaskReward struct { func (x *ReqGetDailyTaskReward) Reset() { *x = ReqGetDailyTaskReward{} - mi := &file_proto_Gameapi_proto_msgTypes[135] + mi := &file_proto_Gameapi_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8136,7 +8453,7 @@ func (x *ReqGetDailyTaskReward) String() string { func (*ReqGetDailyTaskReward) ProtoMessage() {} func (x *ReqGetDailyTaskReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[135] + mi := &file_proto_Gameapi_proto_msgTypes[141] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8149,7 +8466,7 @@ func (x *ReqGetDailyTaskReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetDailyTaskReward.ProtoReflect.Descriptor instead. func (*ReqGetDailyTaskReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{135} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{141} } func (x *ReqGetDailyTaskReward) GetId() int32 { @@ -8170,7 +8487,7 @@ type ResGetDailyTaskReward struct { func (x *ResGetDailyTaskReward) Reset() { *x = ResGetDailyTaskReward{} - mi := &file_proto_Gameapi_proto_msgTypes[136] + mi := &file_proto_Gameapi_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8182,7 +8499,7 @@ func (x *ResGetDailyTaskReward) String() string { func (*ResGetDailyTaskReward) ProtoMessage() {} func (x *ResGetDailyTaskReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[136] + mi := &file_proto_Gameapi_proto_msgTypes[142] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8195,7 +8512,7 @@ func (x *ResGetDailyTaskReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetDailyTaskReward.ProtoReflect.Descriptor instead. func (*ResGetDailyTaskReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{136} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{142} } func (x *ResGetDailyTaskReward) GetCode() RES_CODE { @@ -8223,7 +8540,7 @@ type ReqGetDailyWeekReward struct { func (x *ReqGetDailyWeekReward) Reset() { *x = ReqGetDailyWeekReward{} - mi := &file_proto_Gameapi_proto_msgTypes[137] + mi := &file_proto_Gameapi_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8235,7 +8552,7 @@ func (x *ReqGetDailyWeekReward) String() string { func (*ReqGetDailyWeekReward) ProtoMessage() {} func (x *ReqGetDailyWeekReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[137] + mi := &file_proto_Gameapi_proto_msgTypes[143] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8248,7 +8565,7 @@ func (x *ReqGetDailyWeekReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetDailyWeekReward.ProtoReflect.Descriptor instead. func (*ReqGetDailyWeekReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{137} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{143} } func (x *ReqGetDailyWeekReward) GetId() int32 { @@ -8269,7 +8586,7 @@ type ResGetDailyWeekReward struct { func (x *ResGetDailyWeekReward) Reset() { *x = ResGetDailyWeekReward{} - mi := &file_proto_Gameapi_proto_msgTypes[138] + mi := &file_proto_Gameapi_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8281,7 +8598,7 @@ func (x *ResGetDailyWeekReward) String() string { func (*ResGetDailyWeekReward) ProtoMessage() {} func (x *ResGetDailyWeekReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[138] + mi := &file_proto_Gameapi_proto_msgTypes[144] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8294,7 +8611,7 @@ func (x *ResGetDailyWeekReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetDailyWeekReward.ProtoReflect.Descriptor instead. func (*ResGetDailyWeekReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{138} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{144} } func (x *ResGetDailyWeekReward) GetCode() RES_CODE { @@ -8319,7 +8636,7 @@ type ReqDailyUnlock struct { func (x *ReqDailyUnlock) Reset() { *x = ReqDailyUnlock{} - mi := &file_proto_Gameapi_proto_msgTypes[139] + mi := &file_proto_Gameapi_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8331,7 +8648,7 @@ func (x *ReqDailyUnlock) String() string { func (*ReqDailyUnlock) ProtoMessage() {} func (x *ReqDailyUnlock) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[139] + mi := &file_proto_Gameapi_proto_msgTypes[145] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8344,7 +8661,7 @@ func (x *ReqDailyUnlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDailyUnlock.ProtoReflect.Descriptor instead. func (*ReqDailyUnlock) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{139} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{145} } type ResDailyUnlock struct { @@ -8358,7 +8675,7 @@ type ResDailyUnlock struct { func (x *ResDailyUnlock) Reset() { *x = ResDailyUnlock{} - mi := &file_proto_Gameapi_proto_msgTypes[140] + mi := &file_proto_Gameapi_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8370,7 +8687,7 @@ func (x *ResDailyUnlock) String() string { func (*ResDailyUnlock) ProtoMessage() {} func (x *ResDailyUnlock) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[140] + mi := &file_proto_Gameapi_proto_msgTypes[146] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8383,7 +8700,7 @@ func (x *ResDailyUnlock) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDailyUnlock.ProtoReflect.Descriptor instead. func (*ResDailyUnlock) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{140} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{146} } func (x *ResDailyUnlock) GetCode() RES_CODE { @@ -8411,7 +8728,7 @@ type ResFaceInfo struct { func (x *ResFaceInfo) Reset() { *x = ResFaceInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[141] + mi := &file_proto_Gameapi_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8423,7 +8740,7 @@ func (x *ResFaceInfo) String() string { func (*ResFaceInfo) ProtoMessage() {} func (x *ResFaceInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[141] + mi := &file_proto_Gameapi_proto_msgTypes[147] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8436,7 +8753,7 @@ func (x *ResFaceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFaceInfo.ProtoReflect.Descriptor instead. func (*ResFaceInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{141} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{147} } func (x *ResFaceInfo) GetFaceList() []*FaceInfo { @@ -8465,7 +8782,7 @@ type FaceInfo struct { func (x *FaceInfo) Reset() { *x = FaceInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[142] + mi := &file_proto_Gameapi_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8477,7 +8794,7 @@ func (x *FaceInfo) String() string { func (*FaceInfo) ProtoMessage() {} func (x *FaceInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[142] + mi := &file_proto_Gameapi_proto_msgTypes[148] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8490,7 +8807,7 @@ func (x *FaceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use FaceInfo.ProtoReflect.Descriptor instead. func (*FaceInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{142} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{148} } func (x *FaceInfo) GetId() int32 { @@ -8524,7 +8841,7 @@ type ReqSetFace struct { func (x *ReqSetFace) Reset() { *x = ReqSetFace{} - mi := &file_proto_Gameapi_proto_msgTypes[143] + mi := &file_proto_Gameapi_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8536,7 +8853,7 @@ func (x *ReqSetFace) String() string { func (*ReqSetFace) ProtoMessage() {} func (x *ReqSetFace) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[143] + mi := &file_proto_Gameapi_proto_msgTypes[149] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8549,7 +8866,7 @@ func (x *ReqSetFace) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetFace.ProtoReflect.Descriptor instead. func (*ReqSetFace) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{143} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{149} } func (x *ReqSetFace) GetFace() int32 { @@ -8570,7 +8887,7 @@ type ResSetFace struct { func (x *ResSetFace) Reset() { *x = ResSetFace{} - mi := &file_proto_Gameapi_proto_msgTypes[144] + mi := &file_proto_Gameapi_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8582,7 +8899,7 @@ func (x *ResSetFace) String() string { func (*ResSetFace) ProtoMessage() {} func (x *ResSetFace) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[144] + mi := &file_proto_Gameapi_proto_msgTypes[150] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8595,7 +8912,7 @@ func (x *ResSetFace) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetFace.ProtoReflect.Descriptor instead. func (*ResSetFace) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{144} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{150} } func (x *ResSetFace) GetCode() RES_CODE { @@ -8623,7 +8940,7 @@ type ResAvatarInfo struct { func (x *ResAvatarInfo) Reset() { *x = ResAvatarInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[145] + mi := &file_proto_Gameapi_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8635,7 +8952,7 @@ func (x *ResAvatarInfo) String() string { func (*ResAvatarInfo) ProtoMessage() {} func (x *ResAvatarInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[145] + mi := &file_proto_Gameapi_proto_msgTypes[151] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8648,7 +8965,7 @@ func (x *ResAvatarInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAvatarInfo.ProtoReflect.Descriptor instead. func (*ResAvatarInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{145} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{151} } func (x *ResAvatarInfo) GetAvatarList() []*AvatarInfo { @@ -8677,7 +8994,7 @@ type AvatarInfo struct { func (x *AvatarInfo) Reset() { *x = AvatarInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[146] + mi := &file_proto_Gameapi_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8689,7 +9006,7 @@ func (x *AvatarInfo) String() string { func (*AvatarInfo) ProtoMessage() {} func (x *AvatarInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[146] + mi := &file_proto_Gameapi_proto_msgTypes[152] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8702,7 +9019,7 @@ func (x *AvatarInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use AvatarInfo.ProtoReflect.Descriptor instead. func (*AvatarInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{146} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{152} } func (x *AvatarInfo) GetId() int32 { @@ -8736,7 +9053,7 @@ type ReqSetAvatar struct { func (x *ReqSetAvatar) Reset() { *x = ReqSetAvatar{} - mi := &file_proto_Gameapi_proto_msgTypes[147] + mi := &file_proto_Gameapi_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8748,7 +9065,7 @@ func (x *ReqSetAvatar) String() string { func (*ReqSetAvatar) ProtoMessage() {} func (x *ReqSetAvatar) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[147] + mi := &file_proto_Gameapi_proto_msgTypes[153] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8761,7 +9078,7 @@ func (x *ReqSetAvatar) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetAvatar.ProtoReflect.Descriptor instead. func (*ReqSetAvatar) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{147} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{153} } func (x *ReqSetAvatar) GetAvatar() int32 { @@ -8782,7 +9099,7 @@ type ResSetAvatar struct { func (x *ResSetAvatar) Reset() { *x = ResSetAvatar{} - mi := &file_proto_Gameapi_proto_msgTypes[148] + mi := &file_proto_Gameapi_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8794,7 +9111,7 @@ func (x *ResSetAvatar) String() string { func (*ResSetAvatar) ProtoMessage() {} func (x *ResSetAvatar) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[148] + mi := &file_proto_Gameapi_proto_msgTypes[154] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8807,7 +9124,7 @@ func (x *ResSetAvatar) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetAvatar.ProtoReflect.Descriptor instead. func (*ResSetAvatar) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{148} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{154} } func (x *ResSetAvatar) GetCode() RES_CODE { @@ -8825,95 +9142,6 @@ func (x *ResSetAvatar) GetMsg() string { } // 表情 Emoji -type ReqEmojiInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ReqEmojiInfo) Reset() { - *x = ReqEmojiInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[149] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ReqEmojiInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReqEmojiInfo) ProtoMessage() {} - -func (x *ReqEmojiInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[149] - 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 ReqEmojiInfo.ProtoReflect.Descriptor instead. -func (*ReqEmojiInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{149} -} - -type ResEmojiInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EmojiList []*EmojiInfo `protobuf:"bytes,1,rep,name=EmojiList,proto3" json:"EmojiList,omitempty"` // 表情列表 - SetId map[int32]int32 `protobuf:"bytes,2,rep,name=SetId,proto3" json:"SetId,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // 已设置的表情 类型 =》 id -} - -func (x *ResEmojiInfo) Reset() { - *x = ResEmojiInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[150] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *ResEmojiInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResEmojiInfo) ProtoMessage() {} - -func (x *ResEmojiInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[150] - 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 ResEmojiInfo.ProtoReflect.Descriptor instead. -func (*ResEmojiInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{150} -} - -func (x *ResEmojiInfo) GetEmojiList() []*EmojiInfo { - if x != nil { - return x.EmojiList - } - return nil -} - -func (x *ResEmojiInfo) GetSetId() map[int32]int32 { - if x != nil { - return x.SetId - } - return nil -} - type EmojiInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -8926,7 +9154,7 @@ type EmojiInfo struct { func (x *EmojiInfo) Reset() { *x = EmojiInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[151] + mi := &file_proto_Gameapi_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8938,7 +9166,7 @@ func (x *EmojiInfo) String() string { func (*EmojiInfo) ProtoMessage() {} func (x *EmojiInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[151] + mi := &file_proto_Gameapi_proto_msgTypes[155] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8951,7 +9179,7 @@ func (x *EmojiInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use EmojiInfo.ProtoReflect.Descriptor instead. func (*EmojiInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{151} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{155} } func (x *EmojiInfo) GetId() int32 { @@ -8987,7 +9215,7 @@ type ReqSetEmoji struct { func (x *ReqSetEmoji) Reset() { *x = ReqSetEmoji{} - mi := &file_proto_Gameapi_proto_msgTypes[152] + mi := &file_proto_Gameapi_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8999,7 +9227,7 @@ func (x *ReqSetEmoji) String() string { func (*ReqSetEmoji) ProtoMessage() {} func (x *ReqSetEmoji) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[152] + mi := &file_proto_Gameapi_proto_msgTypes[156] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9012,7 +9240,7 @@ func (x *ReqSetEmoji) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetEmoji.ProtoReflect.Descriptor instead. func (*ReqSetEmoji) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{152} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{156} } func (x *ReqSetEmoji) GetId() int32 { @@ -9040,7 +9268,7 @@ type ResSetEmoji struct { func (x *ResSetEmoji) Reset() { *x = ResSetEmoji{} - mi := &file_proto_Gameapi_proto_msgTypes[153] + mi := &file_proto_Gameapi_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9052,7 +9280,7 @@ func (x *ResSetEmoji) String() string { func (*ResSetEmoji) ProtoMessage() {} func (x *ResSetEmoji) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[153] + mi := &file_proto_Gameapi_proto_msgTypes[157] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9065,7 +9293,7 @@ func (x *ResSetEmoji) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetEmoji.ProtoReflect.Descriptor instead. func (*ResSetEmoji) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{153} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{157} } func (x *ResSetEmoji) GetCode() RES_CODE { @@ -9096,7 +9324,7 @@ type ResSevenLogin struct { func (x *ResSevenLogin) Reset() { *x = ResSevenLogin{} - mi := &file_proto_Gameapi_proto_msgTypes[154] + mi := &file_proto_Gameapi_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9108,7 +9336,7 @@ func (x *ResSevenLogin) String() string { func (*ResSevenLogin) ProtoMessage() {} func (x *ResSevenLogin) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[154] + mi := &file_proto_Gameapi_proto_msgTypes[158] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9121,7 +9349,7 @@ func (x *ResSevenLogin) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSevenLogin.ProtoReflect.Descriptor instead. func (*ResSevenLogin) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{154} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{158} } func (x *ResSevenLogin) GetWeekReward() []*SevenLoginReward { @@ -9166,7 +9394,7 @@ type SevenLoginReward struct { func (x *SevenLoginReward) Reset() { *x = SevenLoginReward{} - mi := &file_proto_Gameapi_proto_msgTypes[155] + mi := &file_proto_Gameapi_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9178,7 +9406,7 @@ func (x *SevenLoginReward) String() string { func (*SevenLoginReward) ProtoMessage() {} func (x *SevenLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[155] + mi := &file_proto_Gameapi_proto_msgTypes[159] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9191,7 +9419,7 @@ func (x *SevenLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use SevenLoginReward.ProtoReflect.Descriptor instead. func (*SevenLoginReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{155} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{159} } func (x *SevenLoginReward) GetItem1() []*ItemInfo { @@ -9240,7 +9468,7 @@ type ReqGetSevenLoginReward struct { func (x *ReqGetSevenLoginReward) Reset() { *x = ReqGetSevenLoginReward{} - mi := &file_proto_Gameapi_proto_msgTypes[156] + mi := &file_proto_Gameapi_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9252,7 +9480,7 @@ func (x *ReqGetSevenLoginReward) String() string { func (*ReqGetSevenLoginReward) ProtoMessage() {} func (x *ReqGetSevenLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[156] + mi := &file_proto_Gameapi_proto_msgTypes[160] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9265,7 +9493,7 @@ func (x *ReqGetSevenLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetSevenLoginReward.ProtoReflect.Descriptor instead. func (*ReqGetSevenLoginReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{156} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{160} } func (x *ReqGetSevenLoginReward) GetId() int32 { @@ -9286,7 +9514,7 @@ type ResGetSevenLoginReward struct { func (x *ResGetSevenLoginReward) Reset() { *x = ResGetSevenLoginReward{} - mi := &file_proto_Gameapi_proto_msgTypes[157] + mi := &file_proto_Gameapi_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9298,7 +9526,7 @@ func (x *ResGetSevenLoginReward) String() string { func (*ResGetSevenLoginReward) ProtoMessage() {} func (x *ResGetSevenLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[157] + mi := &file_proto_Gameapi_proto_msgTypes[161] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9311,7 +9539,7 @@ func (x *ResGetSevenLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetSevenLoginReward.ProtoReflect.Descriptor instead. func (*ResGetSevenLoginReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{157} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{161} } func (x *ResGetSevenLoginReward) GetCode() RES_CODE { @@ -9339,7 +9567,7 @@ type ReqGetMonthLoginReward struct { func (x *ReqGetMonthLoginReward) Reset() { *x = ReqGetMonthLoginReward{} - mi := &file_proto_Gameapi_proto_msgTypes[158] + mi := &file_proto_Gameapi_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9351,7 +9579,7 @@ func (x *ReqGetMonthLoginReward) String() string { func (*ReqGetMonthLoginReward) ProtoMessage() {} func (x *ReqGetMonthLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[158] + mi := &file_proto_Gameapi_proto_msgTypes[162] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9364,7 +9592,7 @@ func (x *ReqGetMonthLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetMonthLoginReward.ProtoReflect.Descriptor instead. func (*ReqGetMonthLoginReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{158} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{162} } func (x *ReqGetMonthLoginReward) GetId() int32 { @@ -9385,7 +9613,7 @@ type ResGetMonthLoginReward struct { func (x *ResGetMonthLoginReward) Reset() { *x = ResGetMonthLoginReward{} - mi := &file_proto_Gameapi_proto_msgTypes[159] + mi := &file_proto_Gameapi_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9397,7 +9625,7 @@ func (x *ResGetMonthLoginReward) String() string { func (*ResGetMonthLoginReward) ProtoMessage() {} func (x *ResGetMonthLoginReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[159] + mi := &file_proto_Gameapi_proto_msgTypes[163] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9410,7 +9638,7 @@ func (x *ResGetMonthLoginReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetMonthLoginReward.ProtoReflect.Descriptor instead. func (*ResGetMonthLoginReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{159} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{163} } func (x *ResGetMonthLoginReward) GetCode() RES_CODE { @@ -9438,7 +9666,7 @@ type ResActivity struct { func (x *ResActivity) Reset() { *x = ResActivity{} - mi := &file_proto_Gameapi_proto_msgTypes[160] + mi := &file_proto_Gameapi_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9450,7 +9678,7 @@ func (x *ResActivity) String() string { func (*ResActivity) ProtoMessage() {} func (x *ResActivity) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[160] + mi := &file_proto_Gameapi_proto_msgTypes[164] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9463,7 +9691,7 @@ func (x *ResActivity) ProtoReflect() protoreflect.Message { // Deprecated: Use ResActivity.ProtoReflect.Descriptor instead. func (*ResActivity) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{160} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{164} } func (x *ResActivity) GetActiveList() []*ActivityInfo { @@ -9489,7 +9717,7 @@ type ActivityInfo struct { func (x *ActivityInfo) Reset() { *x = ActivityInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[161] + mi := &file_proto_Gameapi_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9501,7 +9729,7 @@ func (x *ActivityInfo) String() string { func (*ActivityInfo) ProtoMessage() {} func (x *ActivityInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[161] + mi := &file_proto_Gameapi_proto_msgTypes[165] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9514,7 +9742,7 @@ func (x *ActivityInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ActivityInfo.ProtoReflect.Descriptor instead. func (*ActivityInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{161} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{165} } func (x *ActivityInfo) GetId() int32 { @@ -9575,7 +9803,7 @@ type ReqLimitEvent struct { func (x *ReqLimitEvent) Reset() { *x = ReqLimitEvent{} - mi := &file_proto_Gameapi_proto_msgTypes[162] + mi := &file_proto_Gameapi_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9587,7 +9815,7 @@ func (x *ReqLimitEvent) String() string { func (*ReqLimitEvent) ProtoMessage() {} func (x *ReqLimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[162] + mi := &file_proto_Gameapi_proto_msgTypes[166] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9600,7 +9828,7 @@ func (x *ReqLimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqLimitEvent.ProtoReflect.Descriptor instead. func (*ReqLimitEvent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{162} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{166} } type ResLimitEvent struct { @@ -9613,7 +9841,7 @@ type ResLimitEvent struct { func (x *ResLimitEvent) Reset() { *x = ResLimitEvent{} - mi := &file_proto_Gameapi_proto_msgTypes[163] + mi := &file_proto_Gameapi_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9625,7 +9853,7 @@ func (x *ResLimitEvent) String() string { func (*ResLimitEvent) ProtoMessage() {} func (x *ResLimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[163] + mi := &file_proto_Gameapi_proto_msgTypes[167] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9638,7 +9866,7 @@ func (x *ResLimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ResLimitEvent.ProtoReflect.Descriptor instead. func (*ResLimitEvent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{163} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{167} } func (x *ResLimitEvent) GetLimitEventList() map[int32]*LimitEvent { @@ -9660,7 +9888,7 @@ type ResLimitEventProgress struct { func (x *ResLimitEventProgress) Reset() { *x = ResLimitEventProgress{} - mi := &file_proto_Gameapi_proto_msgTypes[164] + mi := &file_proto_Gameapi_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9672,7 +9900,7 @@ func (x *ResLimitEventProgress) String() string { func (*ResLimitEventProgress) ProtoMessage() {} func (x *ResLimitEventProgress) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[164] + mi := &file_proto_Gameapi_proto_msgTypes[168] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9685,7 +9913,7 @@ func (x *ResLimitEventProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use ResLimitEventProgress.ProtoReflect.Descriptor instead. func (*ResLimitEventProgress) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{164} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{168} } func (x *ResLimitEventProgress) GetProgressMax() int32 { @@ -9719,7 +9947,7 @@ type ReqLimitEventReward struct { func (x *ReqLimitEventReward) Reset() { *x = ReqLimitEventReward{} - mi := &file_proto_Gameapi_proto_msgTypes[165] + mi := &file_proto_Gameapi_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9731,7 +9959,7 @@ func (x *ReqLimitEventReward) String() string { func (*ReqLimitEventReward) ProtoMessage() {} func (x *ReqLimitEventReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[165] + mi := &file_proto_Gameapi_proto_msgTypes[169] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9744,7 +9972,7 @@ func (x *ReqLimitEventReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqLimitEventReward.ProtoReflect.Descriptor instead. func (*ReqLimitEventReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{165} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{169} } func (x *ReqLimitEventReward) GetId() int32 { @@ -9765,7 +9993,7 @@ type ResLimitEventReward struct { func (x *ResLimitEventReward) Reset() { *x = ResLimitEventReward{} - mi := &file_proto_Gameapi_proto_msgTypes[166] + mi := &file_proto_Gameapi_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9777,7 +10005,7 @@ func (x *ResLimitEventReward) String() string { func (*ResLimitEventReward) ProtoMessage() {} func (x *ResLimitEventReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[166] + mi := &file_proto_Gameapi_proto_msgTypes[170] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9790,7 +10018,7 @@ func (x *ResLimitEventReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResLimitEventReward.ProtoReflect.Descriptor instead. func (*ResLimitEventReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{166} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{170} } func (x *ResLimitEventReward) GetCode() RES_CODE { @@ -9817,7 +10045,7 @@ type ReqSelectLimitEvent struct { func (x *ReqSelectLimitEvent) Reset() { *x = ReqSelectLimitEvent{} - mi := &file_proto_Gameapi_proto_msgTypes[167] + mi := &file_proto_Gameapi_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9829,7 +10057,7 @@ func (x *ReqSelectLimitEvent) String() string { func (*ReqSelectLimitEvent) ProtoMessage() {} func (x *ReqSelectLimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[167] + mi := &file_proto_Gameapi_proto_msgTypes[171] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9842,7 +10070,7 @@ func (x *ReqSelectLimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSelectLimitEvent.ProtoReflect.Descriptor instead. func (*ReqSelectLimitEvent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{167} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{171} } func (x *ReqSelectLimitEvent) GetId() int32 { @@ -9863,7 +10091,7 @@ type ResSelectLimitEvent struct { func (x *ResSelectLimitEvent) Reset() { *x = ResSelectLimitEvent{} - mi := &file_proto_Gameapi_proto_msgTypes[168] + mi := &file_proto_Gameapi_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9875,7 +10103,7 @@ func (x *ResSelectLimitEvent) String() string { func (*ResSelectLimitEvent) ProtoMessage() {} func (x *ResSelectLimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[168] + mi := &file_proto_Gameapi_proto_msgTypes[172] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9888,7 +10116,7 @@ func (x *ResSelectLimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSelectLimitEvent.ProtoReflect.Descriptor instead. func (*ResSelectLimitEvent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{168} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{172} } func (x *ResSelectLimitEvent) GetCode() RES_CODE { @@ -9916,7 +10144,7 @@ type LimitEvent struct { func (x *LimitEvent) Reset() { *x = LimitEvent{} - mi := &file_proto_Gameapi_proto_msgTypes[169] + mi := &file_proto_Gameapi_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9928,7 +10156,7 @@ func (x *LimitEvent) String() string { func (*LimitEvent) ProtoMessage() {} func (x *LimitEvent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[169] + mi := &file_proto_Gameapi_proto_msgTypes[173] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9941,7 +10169,7 @@ func (x *LimitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use LimitEvent.ProtoReflect.Descriptor instead. func (*LimitEvent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{169} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{173} } func (x *LimitEvent) GetEndTime() int32 { @@ -9971,7 +10199,7 @@ type LimitEventNotify struct { func (x *LimitEventNotify) Reset() { *x = LimitEventNotify{} - mi := &file_proto_Gameapi_proto_msgTypes[170] + mi := &file_proto_Gameapi_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9983,7 +10211,7 @@ func (x *LimitEventNotify) String() string { func (*LimitEventNotify) ProtoMessage() {} func (x *LimitEventNotify) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[170] + mi := &file_proto_Gameapi_proto_msgTypes[174] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9996,7 +10224,7 @@ func (x *LimitEventNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use LimitEventNotify.ProtoReflect.Descriptor instead. func (*LimitEventNotify) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{170} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{174} } func (x *LimitEventNotify) GetId() int32 { @@ -10035,7 +10263,7 @@ type ReqLimitSenceReward struct { func (x *ReqLimitSenceReward) Reset() { *x = ReqLimitSenceReward{} - mi := &file_proto_Gameapi_proto_msgTypes[171] + mi := &file_proto_Gameapi_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10047,7 +10275,7 @@ func (x *ReqLimitSenceReward) String() string { func (*ReqLimitSenceReward) ProtoMessage() {} func (x *ReqLimitSenceReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[171] + mi := &file_proto_Gameapi_proto_msgTypes[175] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10060,7 +10288,7 @@ func (x *ReqLimitSenceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqLimitSenceReward.ProtoReflect.Descriptor instead. func (*ReqLimitSenceReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{171} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{175} } type ResLimitSenceReward struct { @@ -10074,7 +10302,7 @@ type ResLimitSenceReward struct { func (x *ResLimitSenceReward) Reset() { *x = ResLimitSenceReward{} - mi := &file_proto_Gameapi_proto_msgTypes[172] + mi := &file_proto_Gameapi_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10086,7 +10314,7 @@ func (x *ResLimitSenceReward) String() string { func (*ResLimitSenceReward) ProtoMessage() {} func (x *ResLimitSenceReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[172] + mi := &file_proto_Gameapi_proto_msgTypes[176] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10099,7 +10327,7 @@ func (x *ResLimitSenceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResLimitSenceReward.ProtoReflect.Descriptor instead. func (*ResLimitSenceReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{172} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{176} } func (x *ResLimitSenceReward) GetCode() RES_CODE { @@ -10127,7 +10355,7 @@ type ResChessRainReward struct { func (x *ResChessRainReward) Reset() { *x = ResChessRainReward{} - mi := &file_proto_Gameapi_proto_msgTypes[173] + mi := &file_proto_Gameapi_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10139,7 +10367,7 @@ func (x *ResChessRainReward) String() string { func (*ResChessRainReward) ProtoMessage() {} func (x *ResChessRainReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[173] + mi := &file_proto_Gameapi_proto_msgTypes[177] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10152,7 +10380,7 @@ func (x *ResChessRainReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChessRainReward.ProtoReflect.Descriptor instead. func (*ResChessRainReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{173} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{177} } func (x *ResChessRainReward) GetItems() []*ItemInfo { @@ -10177,7 +10405,7 @@ type ReqFastProduceInfo struct { func (x *ReqFastProduceInfo) Reset() { *x = ReqFastProduceInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[174] + mi := &file_proto_Gameapi_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10189,7 +10417,7 @@ func (x *ReqFastProduceInfo) String() string { func (*ReqFastProduceInfo) ProtoMessage() {} func (x *ReqFastProduceInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[174] + mi := &file_proto_Gameapi_proto_msgTypes[178] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10202,7 +10430,7 @@ func (x *ReqFastProduceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFastProduceInfo.ProtoReflect.Descriptor instead. func (*ReqFastProduceInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{174} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{178} } type ResFastProduceInfo struct { @@ -10212,12 +10440,12 @@ type ResFastProduceInfo struct { Energy int32 `protobuf:"varint,1,opt,name=Energy,proto3" json:"Energy,omitempty"` // 快手能量 Num int32 `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"` // 快手次数 - EndTime int32 `protobuf:"varint,3,opt,name=EndTime,proto3" json:"EndTime,omitempty"` // 结束时间 + EndTime int64 `protobuf:"varint,3,opt,name=EndTime,proto3" json:"EndTime,omitempty"` // 结束时间 } func (x *ResFastProduceInfo) Reset() { *x = ResFastProduceInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[175] + mi := &file_proto_Gameapi_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10229,7 +10457,7 @@ func (x *ResFastProduceInfo) String() string { func (*ResFastProduceInfo) ProtoMessage() {} func (x *ResFastProduceInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[175] + mi := &file_proto_Gameapi_proto_msgTypes[179] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10242,7 +10470,7 @@ func (x *ResFastProduceInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFastProduceInfo.ProtoReflect.Descriptor instead. func (*ResFastProduceInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{175} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{179} } func (x *ResFastProduceInfo) GetEnergy() int32 { @@ -10259,7 +10487,7 @@ func (x *ResFastProduceInfo) GetNum() int32 { return 0 } -func (x *ResFastProduceInfo) GetEndTime() int32 { +func (x *ResFastProduceInfo) GetEndTime() int64 { if x != nil { return x.EndTime } @@ -10277,7 +10505,7 @@ type ReqFastProduceReward struct { func (x *ReqFastProduceReward) Reset() { *x = ReqFastProduceReward{} - mi := &file_proto_Gameapi_proto_msgTypes[176] + mi := &file_proto_Gameapi_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10289,7 +10517,7 @@ func (x *ReqFastProduceReward) String() string { func (*ReqFastProduceReward) ProtoMessage() {} func (x *ReqFastProduceReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[176] + mi := &file_proto_Gameapi_proto_msgTypes[180] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10302,7 +10530,7 @@ func (x *ReqFastProduceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFastProduceReward.ProtoReflect.Descriptor instead. func (*ReqFastProduceReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{176} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{180} } func (x *ReqFastProduceReward) GetEnergy() int32 { @@ -10325,7 +10553,7 @@ type ResFastProduceReward struct { func (x *ResFastProduceReward) Reset() { *x = ResFastProduceReward{} - mi := &file_proto_Gameapi_proto_msgTypes[177] + mi := &file_proto_Gameapi_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10337,7 +10565,7 @@ func (x *ResFastProduceReward) String() string { func (*ResFastProduceReward) ProtoMessage() {} func (x *ResFastProduceReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[177] + mi := &file_proto_Gameapi_proto_msgTypes[181] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10350,7 +10578,7 @@ func (x *ResFastProduceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFastProduceReward.ProtoReflect.Descriptor instead. func (*ResFastProduceReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{177} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{181} } func (x *ResFastProduceReward) GetCode() RES_CODE { @@ -10392,7 +10620,7 @@ type ReqSearchPlayer struct { func (x *ReqSearchPlayer) Reset() { *x = ReqSearchPlayer{} - mi := &file_proto_Gameapi_proto_msgTypes[178] + mi := &file_proto_Gameapi_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10404,7 +10632,7 @@ func (x *ReqSearchPlayer) String() string { func (*ReqSearchPlayer) ProtoMessage() {} func (x *ReqSearchPlayer) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[178] + mi := &file_proto_Gameapi_proto_msgTypes[182] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10417,7 +10645,7 @@ func (x *ReqSearchPlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSearchPlayer.ProtoReflect.Descriptor instead. func (*ReqSearchPlayer) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{178} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{182} } func (x *ReqSearchPlayer) GetUid() string { @@ -10438,7 +10666,7 @@ type ResSearchPlayer struct { func (x *ResSearchPlayer) Reset() { *x = ResSearchPlayer{} - mi := &file_proto_Gameapi_proto_msgTypes[179] + mi := &file_proto_Gameapi_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10450,7 +10678,7 @@ func (x *ResSearchPlayer) String() string { func (*ResSearchPlayer) ProtoMessage() {} func (x *ResSearchPlayer) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[179] + mi := &file_proto_Gameapi_proto_msgTypes[183] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10463,7 +10691,7 @@ func (x *ResSearchPlayer) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSearchPlayer.ProtoReflect.Descriptor instead. func (*ResSearchPlayer) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{179} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{183} } func (x *ResSearchPlayer) GetCode() int32 { @@ -10499,7 +10727,7 @@ type ResPlayerSimple struct { func (x *ResPlayerSimple) Reset() { *x = ResPlayerSimple{} - mi := &file_proto_Gameapi_proto_msgTypes[180] + mi := &file_proto_Gameapi_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10511,7 +10739,7 @@ func (x *ResPlayerSimple) String() string { func (*ResPlayerSimple) ProtoMessage() {} func (x *ResPlayerSimple) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[180] + mi := &file_proto_Gameapi_proto_msgTypes[184] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10524,7 +10752,7 @@ func (x *ResPlayerSimple) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayerSimple.ProtoReflect.Descriptor instead. func (*ResPlayerSimple) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{180} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{184} } func (x *ResPlayerSimple) GetUid() int64 { @@ -10612,7 +10840,7 @@ type ResPlayerRank struct { func (x *ResPlayerRank) Reset() { *x = ResPlayerRank{} - mi := &file_proto_Gameapi_proto_msgTypes[181] + mi := &file_proto_Gameapi_proto_msgTypes[185] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10624,7 +10852,7 @@ func (x *ResPlayerRank) String() string { func (*ResPlayerRank) ProtoMessage() {} func (x *ResPlayerRank) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[181] + mi := &file_proto_Gameapi_proto_msgTypes[185] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10637,7 +10865,7 @@ func (x *ResPlayerRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayerRank.ProtoReflect.Descriptor instead. func (*ResPlayerRank) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{181} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{185} } func (x *ResPlayerRank) GetUid() int64 { @@ -10692,11 +10920,12 @@ type ResFriendLog struct { Time int32 `protobuf:"varint,3,opt,name=Time,proto3" json:"Time,omitempty"` Param string `protobuf:"bytes,4,opt,name=Param,proto3" json:"Param,omitempty"` Id int32 `protobuf:"varint,5,opt,name=Id,proto3" json:"Id,omitempty"` + Upvote bool `protobuf:"varint,6,opt,name=Upvote,proto3" json:"Upvote,omitempty"` // 是否点赞 } func (x *ResFriendLog) Reset() { *x = ResFriendLog{} - mi := &file_proto_Gameapi_proto_msgTypes[182] + mi := &file_proto_Gameapi_proto_msgTypes[186] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10708,7 +10937,7 @@ func (x *ResFriendLog) String() string { func (*ResFriendLog) ProtoMessage() {} func (x *ResFriendLog) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[182] + mi := &file_proto_Gameapi_proto_msgTypes[186] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10721,7 +10950,7 @@ func (x *ResFriendLog) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendLog.ProtoReflect.Descriptor instead. func (*ResFriendLog) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{182} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{186} } func (x *ResFriendLog) GetPlayer() *ResPlayerSimple { @@ -10759,6 +10988,13 @@ func (x *ResFriendLog) GetId() int32 { return 0 } +func (x *ResFriendLog) GetUpvote() bool { + if x != nil { + return x.Upvote + } + return false +} + type NotifyFriendLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -10769,7 +11005,7 @@ type NotifyFriendLog struct { func (x *NotifyFriendLog) Reset() { *x = NotifyFriendLog{} - mi := &file_proto_Gameapi_proto_msgTypes[183] + mi := &file_proto_Gameapi_proto_msgTypes[187] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10781,7 +11017,7 @@ func (x *NotifyFriendLog) String() string { func (*NotifyFriendLog) ProtoMessage() {} func (x *NotifyFriendLog) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[183] + mi := &file_proto_Gameapi_proto_msgTypes[187] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10794,7 +11030,7 @@ func (x *NotifyFriendLog) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyFriendLog.ProtoReflect.Descriptor instead. func (*NotifyFriendLog) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{183} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{187} } func (x *NotifyFriendLog) GetInfo() *ResFriendLog { @@ -10814,7 +11050,7 @@ type NotifyFriendCard struct { func (x *NotifyFriendCard) Reset() { *x = NotifyFriendCard{} - mi := &file_proto_Gameapi_proto_msgTypes[184] + mi := &file_proto_Gameapi_proto_msgTypes[188] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10826,7 +11062,7 @@ func (x *NotifyFriendCard) String() string { func (*NotifyFriendCard) ProtoMessage() {} func (x *NotifyFriendCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[184] + mi := &file_proto_Gameapi_proto_msgTypes[188] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10839,7 +11075,7 @@ func (x *NotifyFriendCard) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyFriendCard.ProtoReflect.Descriptor instead. func (*NotifyFriendCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{184} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{188} } func (x *NotifyFriendCard) GetInfo() *ResFriendCard { @@ -10869,7 +11105,7 @@ type ResFriendCard struct { func (x *ResFriendCard) Reset() { *x = ResFriendCard{} - mi := &file_proto_Gameapi_proto_msgTypes[185] + mi := &file_proto_Gameapi_proto_msgTypes[189] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10881,7 +11117,7 @@ func (x *ResFriendCard) String() string { func (*ResFriendCard) ProtoMessage() {} func (x *ResFriendCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[185] + mi := &file_proto_Gameapi_proto_msgTypes[189] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10894,7 +11130,7 @@ func (x *ResFriendCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendCard.ProtoReflect.Descriptor instead. func (*ResFriendCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{185} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{189} } func (x *ResFriendCard) GetUid() int64 { @@ -10985,7 +11221,7 @@ type ReqKv struct { func (x *ReqKv) Reset() { *x = ReqKv{} - mi := &file_proto_Gameapi_proto_msgTypes[186] + mi := &file_proto_Gameapi_proto_msgTypes[190] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10997,7 +11233,7 @@ func (x *ReqKv) String() string { func (*ReqKv) ProtoMessage() {} func (x *ReqKv) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[186] + mi := &file_proto_Gameapi_proto_msgTypes[190] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11010,7 +11246,7 @@ func (x *ReqKv) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqKv.ProtoReflect.Descriptor instead. func (*ReqKv) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{186} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{190} } func (x *ReqKv) GetKey() int32 { @@ -11037,7 +11273,7 @@ type ResKv struct { func (x *ResKv) Reset() { *x = ResKv{} - mi := &file_proto_Gameapi_proto_msgTypes[187] + mi := &file_proto_Gameapi_proto_msgTypes[191] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11049,7 +11285,7 @@ func (x *ResKv) String() string { func (*ResKv) ProtoMessage() {} func (x *ResKv) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[187] + mi := &file_proto_Gameapi_proto_msgTypes[191] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11062,7 +11298,7 @@ func (x *ResKv) ProtoReflect() protoreflect.Message { // Deprecated: Use ResKv.ProtoReflect.Descriptor instead. func (*ResKv) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{187} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{191} } func (x *ResKv) GetKv() map[int32]string { @@ -11081,7 +11317,7 @@ type ReqFriendRecommend struct { func (x *ReqFriendRecommend) Reset() { *x = ReqFriendRecommend{} - mi := &file_proto_Gameapi_proto_msgTypes[188] + mi := &file_proto_Gameapi_proto_msgTypes[192] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11093,7 +11329,7 @@ func (x *ReqFriendRecommend) String() string { func (*ReqFriendRecommend) ProtoMessage() {} func (x *ReqFriendRecommend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[188] + mi := &file_proto_Gameapi_proto_msgTypes[192] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11106,7 +11342,7 @@ func (x *ReqFriendRecommend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendRecommend.ProtoReflect.Descriptor instead. func (*ReqFriendRecommend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{188} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{192} } type ResFriendRecommend struct { @@ -11119,7 +11355,7 @@ type ResFriendRecommend struct { func (x *ResFriendRecommend) Reset() { *x = ResFriendRecommend{} - mi := &file_proto_Gameapi_proto_msgTypes[189] + mi := &file_proto_Gameapi_proto_msgTypes[193] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11131,7 +11367,7 @@ func (x *ResFriendRecommend) String() string { func (*ResFriendRecommend) ProtoMessage() {} func (x *ResFriendRecommend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[189] + mi := &file_proto_Gameapi_proto_msgTypes[193] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11144,7 +11380,7 @@ func (x *ResFriendRecommend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendRecommend.ProtoReflect.Descriptor instead. func (*ResFriendRecommend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{189} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{193} } func (x *ResFriendRecommend) GetList() []*ResPlayerSimple { @@ -11165,7 +11401,7 @@ type ReqFriendIgnore struct { func (x *ReqFriendIgnore) Reset() { *x = ReqFriendIgnore{} - mi := &file_proto_Gameapi_proto_msgTypes[190] + mi := &file_proto_Gameapi_proto_msgTypes[194] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11177,7 +11413,7 @@ func (x *ReqFriendIgnore) String() string { func (*ReqFriendIgnore) ProtoMessage() {} func (x *ReqFriendIgnore) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[190] + mi := &file_proto_Gameapi_proto_msgTypes[194] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11190,7 +11426,7 @@ func (x *ReqFriendIgnore) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendIgnore.ProtoReflect.Descriptor instead. func (*ReqFriendIgnore) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{190} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{194} } func (x *ReqFriendIgnore) GetUid() int64 { @@ -11211,7 +11447,7 @@ type ResFriendIgnore struct { func (x *ResFriendIgnore) Reset() { *x = ResFriendIgnore{} - mi := &file_proto_Gameapi_proto_msgTypes[191] + mi := &file_proto_Gameapi_proto_msgTypes[195] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11223,7 +11459,7 @@ func (x *ResFriendIgnore) String() string { func (*ResFriendIgnore) ProtoMessage() {} func (x *ResFriendIgnore) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[191] + mi := &file_proto_Gameapi_proto_msgTypes[195] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11236,7 +11472,7 @@ func (x *ResFriendIgnore) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendIgnore.ProtoReflect.Descriptor instead. func (*ResFriendIgnore) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{191} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{195} } func (x *ResFriendIgnore) GetCode() RES_CODE { @@ -11262,7 +11498,7 @@ type ReqFriendList struct { func (x *ReqFriendList) Reset() { *x = ReqFriendList{} - mi := &file_proto_Gameapi_proto_msgTypes[192] + mi := &file_proto_Gameapi_proto_msgTypes[196] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11274,7 +11510,7 @@ func (x *ReqFriendList) String() string { func (*ReqFriendList) ProtoMessage() {} func (x *ReqFriendList) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[192] + mi := &file_proto_Gameapi_proto_msgTypes[196] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11287,7 +11523,7 @@ func (x *ReqFriendList) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendList.ProtoReflect.Descriptor instead. func (*ReqFriendList) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{192} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{196} } type ResFriendList struct { @@ -11300,7 +11536,7 @@ type ResFriendList struct { func (x *ResFriendList) Reset() { *x = ResFriendList{} - mi := &file_proto_Gameapi_proto_msgTypes[193] + mi := &file_proto_Gameapi_proto_msgTypes[197] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11312,7 +11548,7 @@ func (x *ResFriendList) String() string { func (*ResFriendList) ProtoMessage() {} func (x *ResFriendList) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[193] + mi := &file_proto_Gameapi_proto_msgTypes[197] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11325,7 +11561,7 @@ func (x *ResFriendList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendList.ProtoReflect.Descriptor instead. func (*ResFriendList) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{193} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{197} } func (x *ResFriendList) GetFriendList() []*ResPlayerSimple { @@ -11344,7 +11580,7 @@ type ReqFriendApply struct { func (x *ReqFriendApply) Reset() { *x = ReqFriendApply{} - mi := &file_proto_Gameapi_proto_msgTypes[194] + mi := &file_proto_Gameapi_proto_msgTypes[198] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11356,7 +11592,7 @@ func (x *ReqFriendApply) String() string { func (*ReqFriendApply) ProtoMessage() {} func (x *ReqFriendApply) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[194] + mi := &file_proto_Gameapi_proto_msgTypes[198] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11369,7 +11605,7 @@ func (x *ReqFriendApply) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendApply.ProtoReflect.Descriptor instead. func (*ReqFriendApply) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{194} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{198} } type ResFriendApply struct { @@ -11382,7 +11618,7 @@ type ResFriendApply struct { func (x *ResFriendApply) Reset() { *x = ResFriendApply{} - mi := &file_proto_Gameapi_proto_msgTypes[195] + mi := &file_proto_Gameapi_proto_msgTypes[199] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11394,7 +11630,7 @@ func (x *ResFriendApply) String() string { func (*ResFriendApply) ProtoMessage() {} func (x *ResFriendApply) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[195] + mi := &file_proto_Gameapi_proto_msgTypes[199] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11407,7 +11643,7 @@ func (x *ResFriendApply) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendApply.ProtoReflect.Descriptor instead. func (*ResFriendApply) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{195} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{199} } func (x *ResFriendApply) GetApplyList() []*ResFriendApplyInfo { @@ -11428,7 +11664,7 @@ type ResFriendApplyInfo struct { func (x *ResFriendApplyInfo) Reset() { *x = ResFriendApplyInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[196] + mi := &file_proto_Gameapi_proto_msgTypes[200] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11440,7 +11676,7 @@ func (x *ResFriendApplyInfo) String() string { func (*ResFriendApplyInfo) ProtoMessage() {} func (x *ResFriendApplyInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[196] + mi := &file_proto_Gameapi_proto_msgTypes[200] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11453,7 +11689,7 @@ func (x *ResFriendApplyInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendApplyInfo.ProtoReflect.Descriptor instead. func (*ResFriendApplyInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{196} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{200} } func (x *ResFriendApplyInfo) GetPlayer() *ResPlayerSimple { @@ -11479,7 +11715,7 @@ type ReqFriendCardMsg struct { func (x *ReqFriendCardMsg) Reset() { *x = ReqFriendCardMsg{} - mi := &file_proto_Gameapi_proto_msgTypes[197] + mi := &file_proto_Gameapi_proto_msgTypes[201] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11491,7 +11727,7 @@ func (x *ReqFriendCardMsg) String() string { func (*ReqFriendCardMsg) ProtoMessage() {} func (x *ReqFriendCardMsg) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[197] + mi := &file_proto_Gameapi_proto_msgTypes[201] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11504,7 +11740,7 @@ func (x *ReqFriendCardMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendCardMsg.ProtoReflect.Descriptor instead. func (*ReqFriendCardMsg) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{197} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{201} } type ResFriendCardMsg struct { @@ -11517,7 +11753,7 @@ type ResFriendCardMsg struct { func (x *ResFriendCardMsg) Reset() { *x = ResFriendCardMsg{} - mi := &file_proto_Gameapi_proto_msgTypes[198] + mi := &file_proto_Gameapi_proto_msgTypes[202] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11529,7 +11765,7 @@ func (x *ResFriendCardMsg) String() string { func (*ResFriendCardMsg) ProtoMessage() {} func (x *ResFriendCardMsg) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[198] + mi := &file_proto_Gameapi_proto_msgTypes[202] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11542,7 +11778,7 @@ func (x *ResFriendCardMsg) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendCardMsg.ProtoReflect.Descriptor instead. func (*ResFriendCardMsg) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{198} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{202} } func (x *ResFriendCardMsg) GetMsgList() []*ResFriendCard { @@ -11561,7 +11797,7 @@ type ReqFriendTimeLine struct { func (x *ReqFriendTimeLine) Reset() { *x = ReqFriendTimeLine{} - mi := &file_proto_Gameapi_proto_msgTypes[199] + mi := &file_proto_Gameapi_proto_msgTypes[203] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11573,7 +11809,7 @@ func (x *ReqFriendTimeLine) String() string { func (*ReqFriendTimeLine) ProtoMessage() {} func (x *ReqFriendTimeLine) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[199] + mi := &file_proto_Gameapi_proto_msgTypes[203] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11586,7 +11822,7 @@ func (x *ReqFriendTimeLine) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTimeLine.ProtoReflect.Descriptor instead. func (*ReqFriendTimeLine) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{199} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{203} } type ResFriendTimeLine struct { @@ -11599,7 +11835,7 @@ type ResFriendTimeLine struct { func (x *ResFriendTimeLine) Reset() { *x = ResFriendTimeLine{} - mi := &file_proto_Gameapi_proto_msgTypes[200] + mi := &file_proto_Gameapi_proto_msgTypes[204] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11611,7 +11847,7 @@ func (x *ResFriendTimeLine) String() string { func (*ResFriendTimeLine) ProtoMessage() {} func (x *ResFriendTimeLine) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[200] + mi := &file_proto_Gameapi_proto_msgTypes[204] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11624,7 +11860,7 @@ func (x *ResFriendTimeLine) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTimeLine.ProtoReflect.Descriptor instead. func (*ResFriendTimeLine) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{200} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{204} } func (x *ResFriendTimeLine) GetLog() []*ResFriendLog { @@ -11634,6 +11870,113 @@ func (x *ResFriendTimeLine) GetLog() []*ResFriendLog { return nil } +// 时间线点赞 +type ReqFriendTLUpvote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` +} + +func (x *ReqFriendTLUpvote) Reset() { + *x = ReqFriendTLUpvote{} + mi := &file_proto_Gameapi_proto_msgTypes[205] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqFriendTLUpvote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqFriendTLUpvote) ProtoMessage() {} + +func (x *ReqFriendTLUpvote) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[205] + 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 ReqFriendTLUpvote.ProtoReflect.Descriptor instead. +func (*ReqFriendTLUpvote) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{205} +} + +func (x *ReqFriendTLUpvote) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +type ResFriendTLUpvote 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"` + Id int32 `protobuf:"varint,3,opt,name=Id,proto3" json:"Id,omitempty"` +} + +func (x *ResFriendTLUpvote) Reset() { + *x = ResFriendTLUpvote{} + mi := &file_proto_Gameapi_proto_msgTypes[206] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResFriendTLUpvote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResFriendTLUpvote) ProtoMessage() {} + +func (x *ResFriendTLUpvote) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[206] + 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 ResFriendTLUpvote.ProtoReflect.Descriptor instead. +func (*ResFriendTLUpvote) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{206} +} + +func (x *ResFriendTLUpvote) GetCode() RES_CODE { + if x != nil { + return x.Code + } + return RES_CODE_FAIL +} + +func (x *ResFriendTLUpvote) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *ResFriendTLUpvote) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + type ResFriendApplyNotify struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -11646,7 +11989,7 @@ type ResFriendApplyNotify struct { func (x *ResFriendApplyNotify) Reset() { *x = ResFriendApplyNotify{} - mi := &file_proto_Gameapi_proto_msgTypes[201] + mi := &file_proto_Gameapi_proto_msgTypes[207] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11658,7 +12001,7 @@ func (x *ResFriendApplyNotify) String() string { func (*ResFriendApplyNotify) ProtoMessage() {} func (x *ResFriendApplyNotify) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[201] + mi := &file_proto_Gameapi_proto_msgTypes[207] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11671,7 +12014,7 @@ func (x *ResFriendApplyNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendApplyNotify.ProtoReflect.Descriptor instead. func (*ResFriendApplyNotify) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{201} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{207} } func (x *ResFriendApplyNotify) GetPlayer() *ResPlayerSimple { @@ -11706,7 +12049,7 @@ type ReqApplyFriend struct { func (x *ReqApplyFriend) Reset() { *x = ReqApplyFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[202] + mi := &file_proto_Gameapi_proto_msgTypes[208] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11718,7 +12061,7 @@ func (x *ReqApplyFriend) String() string { func (*ReqApplyFriend) ProtoMessage() {} func (x *ReqApplyFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[202] + mi := &file_proto_Gameapi_proto_msgTypes[208] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11731,7 +12074,7 @@ func (x *ReqApplyFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqApplyFriend.ProtoReflect.Descriptor instead. func (*ReqApplyFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{202} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{208} } func (x *ReqApplyFriend) GetUid() int64 { @@ -11752,7 +12095,7 @@ type ResApplyFriend struct { func (x *ResApplyFriend) Reset() { *x = ResApplyFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[203] + mi := &file_proto_Gameapi_proto_msgTypes[209] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11764,7 +12107,7 @@ func (x *ResApplyFriend) String() string { func (*ResApplyFriend) ProtoMessage() {} func (x *ResApplyFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[203] + mi := &file_proto_Gameapi_proto_msgTypes[209] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11777,7 +12120,7 @@ func (x *ResApplyFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResApplyFriend.ProtoReflect.Descriptor instead. func (*ResApplyFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{203} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{209} } func (x *ResApplyFriend) GetCode() RES_CODE { @@ -11805,7 +12148,7 @@ type ReqAgreeFriend struct { func (x *ReqAgreeFriend) Reset() { *x = ReqAgreeFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[204] + mi := &file_proto_Gameapi_proto_msgTypes[210] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11817,7 +12160,7 @@ func (x *ReqAgreeFriend) String() string { func (*ReqAgreeFriend) ProtoMessage() {} func (x *ReqAgreeFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[204] + mi := &file_proto_Gameapi_proto_msgTypes[210] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11830,7 +12173,7 @@ func (x *ReqAgreeFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAgreeFriend.ProtoReflect.Descriptor instead. func (*ReqAgreeFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{204} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{210} } func (x *ReqAgreeFriend) GetUid() int64 { @@ -11853,7 +12196,7 @@ type ResAgreeFriend struct { func (x *ResAgreeFriend) Reset() { *x = ResAgreeFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[205] + mi := &file_proto_Gameapi_proto_msgTypes[211] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11865,7 +12208,7 @@ func (x *ResAgreeFriend) String() string { func (*ResAgreeFriend) ProtoMessage() {} func (x *ResAgreeFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[205] + mi := &file_proto_Gameapi_proto_msgTypes[211] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11878,7 +12221,7 @@ func (x *ResAgreeFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAgreeFriend.ProtoReflect.Descriptor instead. func (*ResAgreeFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{205} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{211} } func (x *ResAgreeFriend) GetCode() RES_CODE { @@ -11920,7 +12263,7 @@ type ReqRefuseFriend struct { func (x *ReqRefuseFriend) Reset() { *x = ReqRefuseFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[206] + mi := &file_proto_Gameapi_proto_msgTypes[212] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11932,7 +12275,7 @@ func (x *ReqRefuseFriend) String() string { func (*ReqRefuseFriend) ProtoMessage() {} func (x *ReqRefuseFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[206] + mi := &file_proto_Gameapi_proto_msgTypes[212] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11945,7 +12288,7 @@ func (x *ReqRefuseFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefuseFriend.ProtoReflect.Descriptor instead. func (*ReqRefuseFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{206} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{212} } func (x *ReqRefuseFriend) GetUid() int64 { @@ -11967,7 +12310,7 @@ type ResRefuseFriend struct { func (x *ResRefuseFriend) Reset() { *x = ResRefuseFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[207] + mi := &file_proto_Gameapi_proto_msgTypes[213] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11979,7 +12322,7 @@ func (x *ResRefuseFriend) String() string { func (*ResRefuseFriend) ProtoMessage() {} func (x *ResRefuseFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[207] + mi := &file_proto_Gameapi_proto_msgTypes[213] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11992,7 +12335,7 @@ func (x *ResRefuseFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefuseFriend.ProtoReflect.Descriptor instead. func (*ResRefuseFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{207} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{213} } func (x *ResRefuseFriend) GetCode() RES_CODE { @@ -12027,7 +12370,7 @@ type ReqDelFriend struct { func (x *ReqDelFriend) Reset() { *x = ReqDelFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[208] + mi := &file_proto_Gameapi_proto_msgTypes[214] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12039,7 +12382,7 @@ func (x *ReqDelFriend) String() string { func (*ReqDelFriend) ProtoMessage() {} func (x *ReqDelFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[208] + mi := &file_proto_Gameapi_proto_msgTypes[214] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12052,7 +12395,7 @@ func (x *ReqDelFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDelFriend.ProtoReflect.Descriptor instead. func (*ReqDelFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{208} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{214} } func (x *ReqDelFriend) GetUid() int64 { @@ -12074,7 +12417,7 @@ type ResDelFriend struct { func (x *ResDelFriend) Reset() { *x = ResDelFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[209] + mi := &file_proto_Gameapi_proto_msgTypes[215] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12086,7 +12429,7 @@ func (x *ResDelFriend) String() string { func (*ResDelFriend) ProtoMessage() {} func (x *ResDelFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[209] + mi := &file_proto_Gameapi_proto_msgTypes[215] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12099,7 +12442,7 @@ func (x *ResDelFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDelFriend.ProtoReflect.Descriptor instead. func (*ResDelFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{209} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{215} } func (x *ResDelFriend) GetCode() RES_CODE { @@ -12134,7 +12477,7 @@ type ReqRank struct { func (x *ReqRank) Reset() { *x = ReqRank{} - mi := &file_proto_Gameapi_proto_msgTypes[210] + mi := &file_proto_Gameapi_proto_msgTypes[216] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12146,7 +12489,7 @@ func (x *ReqRank) String() string { func (*ReqRank) ProtoMessage() {} func (x *ReqRank) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[210] + mi := &file_proto_Gameapi_proto_msgTypes[216] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12159,7 +12502,7 @@ func (x *ReqRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRank.ProtoReflect.Descriptor instead. func (*ReqRank) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{210} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{216} } func (x *ReqRank) GetType() int32 { @@ -12182,7 +12525,7 @@ type ResRank struct { func (x *ResRank) Reset() { *x = ResRank{} - mi := &file_proto_Gameapi_proto_msgTypes[211] + mi := &file_proto_Gameapi_proto_msgTypes[217] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12194,7 +12537,7 @@ func (x *ResRank) String() string { func (*ResRank) ProtoMessage() {} func (x *ResRank) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[211] + mi := &file_proto_Gameapi_proto_msgTypes[217] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12207,7 +12550,7 @@ func (x *ResRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRank.ProtoReflect.Descriptor instead. func (*ResRank) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{211} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{217} } func (x *ResRank) GetType() int32 { @@ -12247,7 +12590,7 @@ type ReqMailList struct { func (x *ReqMailList) Reset() { *x = ReqMailList{} - mi := &file_proto_Gameapi_proto_msgTypes[212] + mi := &file_proto_Gameapi_proto_msgTypes[218] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12259,7 +12602,7 @@ func (x *ReqMailList) String() string { func (*ReqMailList) ProtoMessage() {} func (x *ReqMailList) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[212] + mi := &file_proto_Gameapi_proto_msgTypes[218] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12272,7 +12615,7 @@ func (x *ReqMailList) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMailList.ProtoReflect.Descriptor instead. func (*ReqMailList) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{212} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{218} } type ResMailList struct { @@ -12285,7 +12628,7 @@ type ResMailList struct { func (x *ResMailList) Reset() { *x = ResMailList{} - mi := &file_proto_Gameapi_proto_msgTypes[213] + mi := &file_proto_Gameapi_proto_msgTypes[219] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12297,7 +12640,7 @@ func (x *ResMailList) String() string { func (*ResMailList) ProtoMessage() {} func (x *ResMailList) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[213] + mi := &file_proto_Gameapi_proto_msgTypes[219] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12310,7 +12653,7 @@ func (x *ResMailList) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMailList.ProtoReflect.Descriptor instead. func (*ResMailList) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{213} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{219} } func (x *ResMailList) GetMailList() map[int32]*MailInfo { @@ -12335,7 +12678,7 @@ type MailInfo struct { func (x *MailInfo) Reset() { *x = MailInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[214] + mi := &file_proto_Gameapi_proto_msgTypes[220] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12347,7 +12690,7 @@ func (x *MailInfo) String() string { func (*MailInfo) ProtoMessage() {} func (x *MailInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[214] + mi := &file_proto_Gameapi_proto_msgTypes[220] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12360,7 +12703,7 @@ func (x *MailInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use MailInfo.ProtoReflect.Descriptor instead. func (*MailInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{214} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{220} } func (x *MailInfo) GetId() int32 { @@ -12415,7 +12758,7 @@ type MailNotify struct { func (x *MailNotify) Reset() { *x = MailNotify{} - mi := &file_proto_Gameapi_proto_msgTypes[215] + mi := &file_proto_Gameapi_proto_msgTypes[221] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12427,7 +12770,7 @@ func (x *MailNotify) String() string { func (*MailNotify) ProtoMessage() {} func (x *MailNotify) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[215] + mi := &file_proto_Gameapi_proto_msgTypes[221] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12440,7 +12783,7 @@ func (x *MailNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use MailNotify.ProtoReflect.Descriptor instead. func (*MailNotify) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{215} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{221} } func (x *MailNotify) GetInfo() *MailInfo { @@ -12461,7 +12804,7 @@ type ReqReadMail struct { func (x *ReqReadMail) Reset() { *x = ReqReadMail{} - mi := &file_proto_Gameapi_proto_msgTypes[216] + mi := &file_proto_Gameapi_proto_msgTypes[222] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12473,7 +12816,7 @@ func (x *ReqReadMail) String() string { func (*ReqReadMail) ProtoMessage() {} func (x *ReqReadMail) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[216] + mi := &file_proto_Gameapi_proto_msgTypes[222] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12486,7 +12829,7 @@ func (x *ReqReadMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqReadMail.ProtoReflect.Descriptor instead. func (*ReqReadMail) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{216} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{222} } func (x *ReqReadMail) GetId() int32 { @@ -12508,7 +12851,7 @@ type ResReadMail struct { func (x *ResReadMail) Reset() { *x = ResReadMail{} - mi := &file_proto_Gameapi_proto_msgTypes[217] + mi := &file_proto_Gameapi_proto_msgTypes[223] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12520,7 +12863,7 @@ func (x *ResReadMail) String() string { func (*ResReadMail) ProtoMessage() {} func (x *ResReadMail) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[217] + mi := &file_proto_Gameapi_proto_msgTypes[223] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12533,7 +12876,7 @@ func (x *ResReadMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ResReadMail.ProtoReflect.Descriptor instead. func (*ResReadMail) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{217} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{223} } func (x *ResReadMail) GetCode() RES_CODE { @@ -12568,7 +12911,7 @@ type ReqGetMailReward struct { func (x *ReqGetMailReward) Reset() { *x = ReqGetMailReward{} - mi := &file_proto_Gameapi_proto_msgTypes[218] + mi := &file_proto_Gameapi_proto_msgTypes[224] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12580,7 +12923,7 @@ func (x *ReqGetMailReward) String() string { func (*ReqGetMailReward) ProtoMessage() {} func (x *ReqGetMailReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[218] + mi := &file_proto_Gameapi_proto_msgTypes[224] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12593,7 +12936,7 @@ func (x *ReqGetMailReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetMailReward.ProtoReflect.Descriptor instead. func (*ReqGetMailReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{218} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{224} } func (x *ReqGetMailReward) GetId() int32 { @@ -12615,7 +12958,7 @@ type ResGetMailReward struct { func (x *ResGetMailReward) Reset() { *x = ResGetMailReward{} - mi := &file_proto_Gameapi_proto_msgTypes[219] + mi := &file_proto_Gameapi_proto_msgTypes[225] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12627,7 +12970,7 @@ func (x *ResGetMailReward) String() string { func (*ResGetMailReward) ProtoMessage() {} func (x *ResGetMailReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[219] + mi := &file_proto_Gameapi_proto_msgTypes[225] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12640,7 +12983,7 @@ func (x *ResGetMailReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetMailReward.ProtoReflect.Descriptor instead. func (*ResGetMailReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{219} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{225} } func (x *ResGetMailReward) GetCode() RES_CODE { @@ -12675,7 +13018,7 @@ type ReqDeleteMail struct { func (x *ReqDeleteMail) Reset() { *x = ReqDeleteMail{} - mi := &file_proto_Gameapi_proto_msgTypes[220] + mi := &file_proto_Gameapi_proto_msgTypes[226] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12687,7 +13030,7 @@ func (x *ReqDeleteMail) String() string { func (*ReqDeleteMail) ProtoMessage() {} func (x *ReqDeleteMail) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[220] + mi := &file_proto_Gameapi_proto_msgTypes[226] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12700,7 +13043,7 @@ func (x *ReqDeleteMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqDeleteMail.ProtoReflect.Descriptor instead. func (*ReqDeleteMail) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{220} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{226} } func (x *ReqDeleteMail) GetId() int32 { @@ -12722,7 +13065,7 @@ type ResDeleteMail struct { func (x *ResDeleteMail) Reset() { *x = ResDeleteMail{} - mi := &file_proto_Gameapi_proto_msgTypes[221] + mi := &file_proto_Gameapi_proto_msgTypes[227] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12734,7 +13077,7 @@ func (x *ResDeleteMail) String() string { func (*ResDeleteMail) ProtoMessage() {} func (x *ResDeleteMail) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[221] + mi := &file_proto_Gameapi_proto_msgTypes[227] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12747,7 +13090,7 @@ func (x *ResDeleteMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ResDeleteMail.ProtoReflect.Descriptor instead. func (*ResDeleteMail) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{221} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{227} } func (x *ResDeleteMail) GetCode() RES_CODE { @@ -12788,7 +13131,7 @@ type ResCharge struct { func (x *ResCharge) Reset() { *x = ResCharge{} - mi := &file_proto_Gameapi_proto_msgTypes[222] + mi := &file_proto_Gameapi_proto_msgTypes[228] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12800,7 +13143,7 @@ func (x *ResCharge) String() string { func (*ResCharge) ProtoMessage() {} func (x *ResCharge) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[222] + mi := &file_proto_Gameapi_proto_msgTypes[228] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12813,7 +13156,7 @@ func (x *ResCharge) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCharge.ProtoReflect.Descriptor instead. func (*ResCharge) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{222} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{228} } func (x *ResCharge) GetCharge() float32 { @@ -12883,7 +13226,7 @@ type ResSpecialShop struct { func (x *ResSpecialShop) Reset() { *x = ResSpecialShop{} - mi := &file_proto_Gameapi_proto_msgTypes[223] + mi := &file_proto_Gameapi_proto_msgTypes[229] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12895,7 +13238,7 @@ func (x *ResSpecialShop) String() string { func (*ResSpecialShop) ProtoMessage() {} func (x *ResSpecialShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[223] + mi := &file_proto_Gameapi_proto_msgTypes[229] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12908,7 +13251,7 @@ func (x *ResSpecialShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSpecialShop.ProtoReflect.Descriptor instead. func (*ResSpecialShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{223} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{229} } func (x *ResSpecialShop) GetGrade() int32 { @@ -12937,7 +13280,7 @@ type ResChessShop struct { func (x *ResChessShop) Reset() { *x = ResChessShop{} - mi := &file_proto_Gameapi_proto_msgTypes[224] + mi := &file_proto_Gameapi_proto_msgTypes[230] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12949,7 +13292,7 @@ func (x *ResChessShop) String() string { func (*ResChessShop) ProtoMessage() {} func (x *ResChessShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[224] + mi := &file_proto_Gameapi_proto_msgTypes[230] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12962,7 +13305,7 @@ func (x *ResChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChessShop.ProtoReflect.Descriptor instead. func (*ResChessShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{224} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{230} } func (x *ResChessShop) GetDiamond() int32 { @@ -12994,7 +13337,7 @@ type ReqFreeShop struct { func (x *ReqFreeShop) Reset() { *x = ReqFreeShop{} - mi := &file_proto_Gameapi_proto_msgTypes[225] + mi := &file_proto_Gameapi_proto_msgTypes[231] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13006,7 +13349,7 @@ func (x *ReqFreeShop) String() string { func (*ReqFreeShop) ProtoMessage() {} func (x *ReqFreeShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[225] + mi := &file_proto_Gameapi_proto_msgTypes[231] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13019,7 +13362,7 @@ func (x *ReqFreeShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFreeShop.ProtoReflect.Descriptor instead. func (*ReqFreeShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{225} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{231} } type ResFreeShop struct { @@ -13033,7 +13376,7 @@ type ResFreeShop struct { func (x *ResFreeShop) Reset() { *x = ResFreeShop{} - mi := &file_proto_Gameapi_proto_msgTypes[226] + mi := &file_proto_Gameapi_proto_msgTypes[232] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13045,7 +13388,7 @@ func (x *ResFreeShop) String() string { func (*ResFreeShop) ProtoMessage() {} func (x *ResFreeShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[226] + mi := &file_proto_Gameapi_proto_msgTypes[232] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13058,7 +13401,7 @@ func (x *ResFreeShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFreeShop.ProtoReflect.Descriptor instead. func (*ResFreeShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{226} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{232} } func (x *ResFreeShop) GetCode() RES_CODE { @@ -13086,7 +13429,7 @@ type ReqBuyChessShop struct { func (x *ReqBuyChessShop) Reset() { *x = ReqBuyChessShop{} - mi := &file_proto_Gameapi_proto_msgTypes[227] + mi := &file_proto_Gameapi_proto_msgTypes[233] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13098,7 +13441,7 @@ func (x *ReqBuyChessShop) String() string { func (*ReqBuyChessShop) ProtoMessage() {} func (x *ReqBuyChessShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[227] + mi := &file_proto_Gameapi_proto_msgTypes[233] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13111,7 +13454,7 @@ func (x *ReqBuyChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqBuyChessShop.ProtoReflect.Descriptor instead. func (*ReqBuyChessShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{227} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{233} } func (x *ReqBuyChessShop) GetId() int32 { @@ -13132,7 +13475,7 @@ type ResBuyChessShop struct { func (x *ResBuyChessShop) Reset() { *x = ResBuyChessShop{} - mi := &file_proto_Gameapi_proto_msgTypes[228] + mi := &file_proto_Gameapi_proto_msgTypes[234] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13144,7 +13487,7 @@ func (x *ResBuyChessShop) String() string { func (*ResBuyChessShop) ProtoMessage() {} func (x *ResBuyChessShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[228] + mi := &file_proto_Gameapi_proto_msgTypes[234] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13157,7 +13500,7 @@ func (x *ResBuyChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResBuyChessShop.ProtoReflect.Descriptor instead. func (*ResBuyChessShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{228} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{234} } func (x *ResBuyChessShop) GetCode() RES_CODE { @@ -13186,7 +13529,7 @@ type ReqBuyChessShop2 struct { func (x *ReqBuyChessShop2) Reset() { *x = ReqBuyChessShop2{} - mi := &file_proto_Gameapi_proto_msgTypes[229] + mi := &file_proto_Gameapi_proto_msgTypes[235] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13198,7 +13541,7 @@ func (x *ReqBuyChessShop2) String() string { func (*ReqBuyChessShop2) ProtoMessage() {} func (x *ReqBuyChessShop2) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[229] + mi := &file_proto_Gameapi_proto_msgTypes[235] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13211,7 +13554,7 @@ func (x *ReqBuyChessShop2) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqBuyChessShop2.ProtoReflect.Descriptor instead. func (*ReqBuyChessShop2) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{229} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{235} } func (x *ReqBuyChessShop2) GetId() int32 { @@ -13239,7 +13582,7 @@ type ResBuyChessShop2 struct { func (x *ResBuyChessShop2) Reset() { *x = ResBuyChessShop2{} - mi := &file_proto_Gameapi_proto_msgTypes[230] + mi := &file_proto_Gameapi_proto_msgTypes[236] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13251,7 +13594,7 @@ func (x *ResBuyChessShop2) String() string { func (*ResBuyChessShop2) ProtoMessage() {} func (x *ResBuyChessShop2) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[230] + mi := &file_proto_Gameapi_proto_msgTypes[236] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13264,7 +13607,7 @@ func (x *ResBuyChessShop2) ProtoReflect() protoreflect.Message { // Deprecated: Use ResBuyChessShop2.ProtoReflect.Descriptor instead. func (*ResBuyChessShop2) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{230} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{236} } func (x *ResBuyChessShop2) GetCode() RES_CODE { @@ -13290,7 +13633,7 @@ type ReqRefreshChessShop struct { func (x *ReqRefreshChessShop) Reset() { *x = ReqRefreshChessShop{} - mi := &file_proto_Gameapi_proto_msgTypes[231] + mi := &file_proto_Gameapi_proto_msgTypes[237] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13302,7 +13645,7 @@ func (x *ReqRefreshChessShop) String() string { func (*ReqRefreshChessShop) ProtoMessage() {} func (x *ReqRefreshChessShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[231] + mi := &file_proto_Gameapi_proto_msgTypes[237] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13315,7 +13658,7 @@ func (x *ReqRefreshChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRefreshChessShop.ProtoReflect.Descriptor instead. func (*ReqRefreshChessShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{231} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{237} } type ResRefreshChessShop struct { @@ -13329,7 +13672,7 @@ type ResRefreshChessShop struct { func (x *ResRefreshChessShop) Reset() { *x = ResRefreshChessShop{} - mi := &file_proto_Gameapi_proto_msgTypes[232] + mi := &file_proto_Gameapi_proto_msgTypes[238] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13341,7 +13684,7 @@ func (x *ResRefreshChessShop) String() string { func (*ResRefreshChessShop) ProtoMessage() {} func (x *ResRefreshChessShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[232] + mi := &file_proto_Gameapi_proto_msgTypes[238] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13354,7 +13697,7 @@ func (x *ResRefreshChessShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRefreshChessShop.ProtoReflect.Descriptor instead. func (*ResRefreshChessShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{232} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{238} } func (x *ResRefreshChessShop) GetCode() RES_CODE { @@ -13379,7 +13722,7 @@ type ReqEndless struct { func (x *ReqEndless) Reset() { *x = ReqEndless{} - mi := &file_proto_Gameapi_proto_msgTypes[233] + mi := &file_proto_Gameapi_proto_msgTypes[239] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13391,7 +13734,7 @@ func (x *ReqEndless) String() string { func (*ReqEndless) ProtoMessage() {} func (x *ReqEndless) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[233] + mi := &file_proto_Gameapi_proto_msgTypes[239] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13404,7 +13747,7 @@ func (x *ReqEndless) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqEndless.ProtoReflect.Descriptor instead. func (*ReqEndless) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{233} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{239} } type ResEndless struct { @@ -13418,7 +13761,7 @@ type ResEndless struct { func (x *ResEndless) Reset() { *x = ResEndless{} - mi := &file_proto_Gameapi_proto_msgTypes[234] + mi := &file_proto_Gameapi_proto_msgTypes[240] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13430,7 +13773,7 @@ func (x *ResEndless) String() string { func (*ResEndless) ProtoMessage() {} func (x *ResEndless) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[234] + mi := &file_proto_Gameapi_proto_msgTypes[240] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13443,7 +13786,7 @@ func (x *ResEndless) ProtoReflect() protoreflect.Message { // Deprecated: Use ResEndless.ProtoReflect.Descriptor instead. func (*ResEndless) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{234} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{240} } func (x *ResEndless) GetId() int32 { @@ -13472,7 +13815,7 @@ type ResEndlessInfo struct { func (x *ResEndlessInfo) Reset() { *x = ResEndlessInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[235] + mi := &file_proto_Gameapi_proto_msgTypes[241] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13484,7 +13827,7 @@ func (x *ResEndlessInfo) String() string { func (*ResEndlessInfo) ProtoMessage() {} func (x *ResEndlessInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[235] + mi := &file_proto_Gameapi_proto_msgTypes[241] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13497,7 +13840,7 @@ func (x *ResEndlessInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResEndlessInfo.ProtoReflect.Descriptor instead. func (*ResEndlessInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{235} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{241} } func (x *ResEndlessInfo) GetChargeId() int32 { @@ -13529,7 +13872,7 @@ type ReqEndlessReward struct { func (x *ReqEndlessReward) Reset() { *x = ReqEndlessReward{} - mi := &file_proto_Gameapi_proto_msgTypes[236] + mi := &file_proto_Gameapi_proto_msgTypes[242] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13541,7 +13884,7 @@ func (x *ReqEndlessReward) String() string { func (*ReqEndlessReward) ProtoMessage() {} func (x *ReqEndlessReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[236] + mi := &file_proto_Gameapi_proto_msgTypes[242] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13554,7 +13897,7 @@ func (x *ReqEndlessReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqEndlessReward.ProtoReflect.Descriptor instead. func (*ReqEndlessReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{236} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{242} } type ResEndlessReward struct { @@ -13568,7 +13911,7 @@ type ResEndlessReward struct { func (x *ResEndlessReward) Reset() { *x = ResEndlessReward{} - mi := &file_proto_Gameapi_proto_msgTypes[237] + mi := &file_proto_Gameapi_proto_msgTypes[243] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13580,7 +13923,7 @@ func (x *ResEndlessReward) String() string { func (*ResEndlessReward) ProtoMessage() {} func (x *ResEndlessReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[237] + mi := &file_proto_Gameapi_proto_msgTypes[243] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13593,7 +13936,7 @@ func (x *ResEndlessReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResEndlessReward.ProtoReflect.Descriptor instead. func (*ResEndlessReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{237} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{243} } func (x *ResEndlessReward) GetCode() RES_CODE { @@ -13623,7 +13966,7 @@ type ResPiggyBank struct { func (x *ResPiggyBank) Reset() { *x = ResPiggyBank{} - mi := &file_proto_Gameapi_proto_msgTypes[238] + mi := &file_proto_Gameapi_proto_msgTypes[244] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13635,7 +13978,7 @@ func (x *ResPiggyBank) String() string { func (*ResPiggyBank) ProtoMessage() {} func (x *ResPiggyBank) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[238] + mi := &file_proto_Gameapi_proto_msgTypes[244] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13648,7 +13991,7 @@ func (x *ResPiggyBank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPiggyBank.ProtoReflect.Descriptor instead. func (*ResPiggyBank) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{238} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{244} } func (x *ResPiggyBank) GetType() int32 { @@ -13687,7 +14030,7 @@ type ReqPiggyBankReward struct { func (x *ReqPiggyBankReward) Reset() { *x = ReqPiggyBankReward{} - mi := &file_proto_Gameapi_proto_msgTypes[239] + mi := &file_proto_Gameapi_proto_msgTypes[245] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13699,7 +14042,7 @@ func (x *ReqPiggyBankReward) String() string { func (*ReqPiggyBankReward) ProtoMessage() {} func (x *ReqPiggyBankReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[239] + mi := &file_proto_Gameapi_proto_msgTypes[245] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13712,7 +14055,7 @@ func (x *ReqPiggyBankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPiggyBankReward.ProtoReflect.Descriptor instead. func (*ReqPiggyBankReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{239} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{245} } type ResPiggyBankReward struct { @@ -13726,7 +14069,7 @@ type ResPiggyBankReward struct { func (x *ResPiggyBankReward) Reset() { *x = ResPiggyBankReward{} - mi := &file_proto_Gameapi_proto_msgTypes[240] + mi := &file_proto_Gameapi_proto_msgTypes[246] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13738,7 +14081,7 @@ func (x *ResPiggyBankReward) String() string { func (*ResPiggyBankReward) ProtoMessage() {} func (x *ResPiggyBankReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[240] + mi := &file_proto_Gameapi_proto_msgTypes[246] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13751,7 +14094,7 @@ func (x *ResPiggyBankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPiggyBankReward.ProtoReflect.Descriptor instead. func (*ResPiggyBankReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{240} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{246} } func (x *ResPiggyBankReward) GetCode() RES_CODE { @@ -13780,7 +14123,7 @@ type ReqCreateOrderSn struct { func (x *ReqCreateOrderSn) Reset() { *x = ReqCreateOrderSn{} - mi := &file_proto_Gameapi_proto_msgTypes[241] + mi := &file_proto_Gameapi_proto_msgTypes[247] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13792,7 +14135,7 @@ func (x *ReqCreateOrderSn) String() string { func (*ReqCreateOrderSn) ProtoMessage() {} func (x *ReqCreateOrderSn) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[241] + mi := &file_proto_Gameapi_proto_msgTypes[247] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13805,7 +14148,7 @@ func (x *ReqCreateOrderSn) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqCreateOrderSn.ProtoReflect.Descriptor instead. func (*ReqCreateOrderSn) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{241} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{247} } func (x *ReqCreateOrderSn) GetChargeId() int32 { @@ -13839,7 +14182,7 @@ type ResCreateOrderSn struct { func (x *ResCreateOrderSn) Reset() { *x = ResCreateOrderSn{} - mi := &file_proto_Gameapi_proto_msgTypes[242] + mi := &file_proto_Gameapi_proto_msgTypes[248] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13851,7 +14194,7 @@ func (x *ResCreateOrderSn) String() string { func (*ResCreateOrderSn) ProtoMessage() {} func (x *ResCreateOrderSn) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[242] + mi := &file_proto_Gameapi_proto_msgTypes[248] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13864,7 +14207,7 @@ func (x *ResCreateOrderSn) ProtoReflect() protoreflect.Message { // Deprecated: Use ResCreateOrderSn.ProtoReflect.Descriptor instead. func (*ResCreateOrderSn) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{242} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{248} } func (x *ResCreateOrderSn) GetOrderSn() string { @@ -13887,7 +14230,7 @@ type ReqShippingOrder struct { func (x *ReqShippingOrder) Reset() { *x = ReqShippingOrder{} - mi := &file_proto_Gameapi_proto_msgTypes[243] + mi := &file_proto_Gameapi_proto_msgTypes[249] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13899,7 +14242,7 @@ func (x *ReqShippingOrder) String() string { func (*ReqShippingOrder) ProtoMessage() {} func (x *ReqShippingOrder) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[243] + mi := &file_proto_Gameapi_proto_msgTypes[249] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13912,7 +14255,7 @@ func (x *ReqShippingOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqShippingOrder.ProtoReflect.Descriptor instead. func (*ReqShippingOrder) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{243} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{249} } func (x *ReqShippingOrder) GetOrderSn() string { @@ -13954,7 +14297,7 @@ type ResShippingOrder struct { func (x *ResShippingOrder) Reset() { *x = ResShippingOrder{} - mi := &file_proto_Gameapi_proto_msgTypes[244] + mi := &file_proto_Gameapi_proto_msgTypes[250] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13966,7 +14309,7 @@ func (x *ResShippingOrder) String() string { func (*ResShippingOrder) ProtoMessage() {} func (x *ResShippingOrder) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[244] + mi := &file_proto_Gameapi_proto_msgTypes[250] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13979,7 +14322,7 @@ func (x *ResShippingOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ResShippingOrder.ProtoReflect.Descriptor instead. func (*ResShippingOrder) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{244} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{250} } func (x *ResShippingOrder) GetCode() RES_CODE { @@ -14004,7 +14347,7 @@ type ReqChampship struct { func (x *ReqChampship) Reset() { *x = ReqChampship{} - mi := &file_proto_Gameapi_proto_msgTypes[245] + mi := &file_proto_Gameapi_proto_msgTypes[251] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14016,7 +14359,7 @@ func (x *ReqChampship) String() string { func (*ReqChampship) ProtoMessage() {} func (x *ReqChampship) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[245] + mi := &file_proto_Gameapi_proto_msgTypes[251] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14029,7 +14372,7 @@ func (x *ReqChampship) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampship.ProtoReflect.Descriptor instead. func (*ReqChampship) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{245} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{251} } type ResChampship struct { @@ -14048,7 +14391,7 @@ type ResChampship struct { func (x *ResChampship) Reset() { *x = ResChampship{} - mi := &file_proto_Gameapi_proto_msgTypes[246] + mi := &file_proto_Gameapi_proto_msgTypes[252] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14060,7 +14403,7 @@ func (x *ResChampship) String() string { func (*ResChampship) ProtoMessage() {} func (x *ResChampship) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[246] + mi := &file_proto_Gameapi_proto_msgTypes[252] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14073,7 +14416,7 @@ func (x *ResChampship) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampship.ProtoReflect.Descriptor instead. func (*ResChampship) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{246} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{252} } func (x *ResChampship) GetScore() int32 { @@ -14133,7 +14476,7 @@ type ReqChampshipReward struct { func (x *ReqChampshipReward) Reset() { *x = ReqChampshipReward{} - mi := &file_proto_Gameapi_proto_msgTypes[247] + mi := &file_proto_Gameapi_proto_msgTypes[253] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14145,7 +14488,7 @@ func (x *ReqChampshipReward) String() string { func (*ReqChampshipReward) ProtoMessage() {} func (x *ReqChampshipReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[247] + mi := &file_proto_Gameapi_proto_msgTypes[253] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14158,7 +14501,7 @@ func (x *ReqChampshipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampshipReward.ProtoReflect.Descriptor instead. func (*ReqChampshipReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{247} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{253} } type ResChampshipReward struct { @@ -14172,7 +14515,7 @@ type ResChampshipReward struct { func (x *ResChampshipReward) Reset() { *x = ResChampshipReward{} - mi := &file_proto_Gameapi_proto_msgTypes[248] + mi := &file_proto_Gameapi_proto_msgTypes[254] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14184,7 +14527,7 @@ func (x *ResChampshipReward) String() string { func (*ResChampshipReward) ProtoMessage() {} func (x *ResChampshipReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[248] + mi := &file_proto_Gameapi_proto_msgTypes[254] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14197,7 +14540,7 @@ func (x *ResChampshipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampshipReward.ProtoReflect.Descriptor instead. func (*ResChampshipReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{248} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{254} } func (x *ResChampshipReward) GetCode() RES_CODE { @@ -14222,7 +14565,7 @@ type ReqChampshipRankReward struct { func (x *ReqChampshipRankReward) Reset() { *x = ReqChampshipRankReward{} - mi := &file_proto_Gameapi_proto_msgTypes[249] + mi := &file_proto_Gameapi_proto_msgTypes[255] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14234,7 +14577,7 @@ func (x *ReqChampshipRankReward) String() string { func (*ReqChampshipRankReward) ProtoMessage() {} func (x *ReqChampshipRankReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[249] + mi := &file_proto_Gameapi_proto_msgTypes[255] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14247,7 +14590,7 @@ func (x *ReqChampshipRankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampshipRankReward.ProtoReflect.Descriptor instead. func (*ReqChampshipRankReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{249} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{255} } type ResChampshipRankReward struct { @@ -14261,7 +14604,7 @@ type ResChampshipRankReward struct { func (x *ResChampshipRankReward) Reset() { *x = ResChampshipRankReward{} - mi := &file_proto_Gameapi_proto_msgTypes[250] + mi := &file_proto_Gameapi_proto_msgTypes[256] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14273,7 +14616,7 @@ func (x *ResChampshipRankReward) String() string { func (*ResChampshipRankReward) ProtoMessage() {} func (x *ResChampshipRankReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[250] + mi := &file_proto_Gameapi_proto_msgTypes[256] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14286,7 +14629,7 @@ func (x *ResChampshipRankReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampshipRankReward.ProtoReflect.Descriptor instead. func (*ResChampshipRankReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{250} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{256} } func (x *ResChampshipRankReward) GetCode() RES_CODE { @@ -14311,7 +14654,7 @@ type ReqChampshipRank struct { func (x *ReqChampshipRank) Reset() { *x = ReqChampshipRank{} - mi := &file_proto_Gameapi_proto_msgTypes[251] + mi := &file_proto_Gameapi_proto_msgTypes[257] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14323,7 +14666,7 @@ func (x *ReqChampshipRank) String() string { func (*ReqChampshipRank) ProtoMessage() {} func (x *ReqChampshipRank) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[251] + mi := &file_proto_Gameapi_proto_msgTypes[257] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14336,7 +14679,7 @@ func (x *ReqChampshipRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampshipRank.ProtoReflect.Descriptor instead. func (*ReqChampshipRank) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{251} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{257} } type ResChampshipRank struct { @@ -14351,7 +14694,7 @@ type ResChampshipRank struct { func (x *ResChampshipRank) Reset() { *x = ResChampshipRank{} - mi := &file_proto_Gameapi_proto_msgTypes[252] + mi := &file_proto_Gameapi_proto_msgTypes[258] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14363,7 +14706,7 @@ func (x *ResChampshipRank) String() string { func (*ResChampshipRank) ProtoMessage() {} func (x *ResChampshipRank) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[252] + mi := &file_proto_Gameapi_proto_msgTypes[258] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14376,7 +14719,7 @@ func (x *ResChampshipRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampshipRank.ProtoReflect.Descriptor instead. func (*ResChampshipRank) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{252} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{258} } func (x *ResChampshipRank) GetRankList() map[int32]*ResPlayerRank { @@ -14408,7 +14751,7 @@ type ReqChampshipPreRank struct { func (x *ReqChampshipPreRank) Reset() { *x = ReqChampshipPreRank{} - mi := &file_proto_Gameapi_proto_msgTypes[253] + mi := &file_proto_Gameapi_proto_msgTypes[259] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14420,7 +14763,7 @@ func (x *ReqChampshipPreRank) String() string { func (*ReqChampshipPreRank) ProtoMessage() {} func (x *ReqChampshipPreRank) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[253] + mi := &file_proto_Gameapi_proto_msgTypes[259] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14433,7 +14776,7 @@ func (x *ReqChampshipPreRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqChampshipPreRank.ProtoReflect.Descriptor instead. func (*ReqChampshipPreRank) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{253} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{259} } type ResChampshipPreRank struct { @@ -14448,7 +14791,7 @@ type ResChampshipPreRank struct { func (x *ResChampshipPreRank) Reset() { *x = ResChampshipPreRank{} - mi := &file_proto_Gameapi_proto_msgTypes[254] + mi := &file_proto_Gameapi_proto_msgTypes[260] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14460,7 +14803,7 @@ func (x *ResChampshipPreRank) String() string { func (*ResChampshipPreRank) ProtoMessage() {} func (x *ResChampshipPreRank) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[254] + mi := &file_proto_Gameapi_proto_msgTypes[260] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14473,7 +14816,7 @@ func (x *ResChampshipPreRank) ProtoReflect() protoreflect.Message { // Deprecated: Use ResChampshipPreRank.ProtoReflect.Descriptor instead. func (*ResChampshipPreRank) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{254} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{260} } func (x *ResChampshipPreRank) GetRankList() map[int32]*ResPlayerRank { @@ -14510,7 +14853,7 @@ type ResNotifyCard struct { func (x *ResNotifyCard) Reset() { *x = ResNotifyCard{} - mi := &file_proto_Gameapi_proto_msgTypes[255] + mi := &file_proto_Gameapi_proto_msgTypes[261] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14522,7 +14865,7 @@ func (x *ResNotifyCard) String() string { func (*ResNotifyCard) ProtoMessage() {} func (x *ResNotifyCard) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[255] + mi := &file_proto_Gameapi_proto_msgTypes[261] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14535,7 +14878,7 @@ func (x *ResNotifyCard) ProtoReflect() protoreflect.Message { // Deprecated: Use ResNotifyCard.ProtoReflect.Descriptor instead. func (*ResNotifyCard) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{255} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{261} } func (x *ResNotifyCard) GetCard() map[int32]int32 { @@ -14576,7 +14919,7 @@ type ReqSetFacebookUrl struct { func (x *ReqSetFacebookUrl) Reset() { *x = ReqSetFacebookUrl{} - mi := &file_proto_Gameapi_proto_msgTypes[256] + mi := &file_proto_Gameapi_proto_msgTypes[262] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14588,7 +14931,7 @@ func (x *ReqSetFacebookUrl) String() string { func (*ReqSetFacebookUrl) ProtoMessage() {} func (x *ReqSetFacebookUrl) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[256] + mi := &file_proto_Gameapi_proto_msgTypes[262] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14601,7 +14944,7 @@ func (x *ReqSetFacebookUrl) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSetFacebookUrl.ProtoReflect.Descriptor instead. func (*ReqSetFacebookUrl) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{256} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{262} } func (x *ReqSetFacebookUrl) GetUrl() string { @@ -14622,7 +14965,7 @@ type ResSetFacebookUrl struct { func (x *ResSetFacebookUrl) Reset() { *x = ResSetFacebookUrl{} - mi := &file_proto_Gameapi_proto_msgTypes[257] + mi := &file_proto_Gameapi_proto_msgTypes[263] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14634,7 +14977,7 @@ func (x *ResSetFacebookUrl) String() string { func (*ResSetFacebookUrl) ProtoMessage() {} func (x *ResSetFacebookUrl) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[257] + mi := &file_proto_Gameapi_proto_msgTypes[263] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14647,7 +14990,7 @@ func (x *ResSetFacebookUrl) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSetFacebookUrl.ProtoReflect.Descriptor instead. func (*ResSetFacebookUrl) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{257} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{263} } func (x *ResSetFacebookUrl) GetCode() RES_CODE { @@ -14675,7 +15018,7 @@ type ReqInviteFriendData struct { func (x *ReqInviteFriendData) Reset() { *x = ReqInviteFriendData{} - mi := &file_proto_Gameapi_proto_msgTypes[258] + mi := &file_proto_Gameapi_proto_msgTypes[264] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14687,7 +15030,7 @@ func (x *ReqInviteFriendData) String() string { func (*ReqInviteFriendData) ProtoMessage() {} func (x *ReqInviteFriendData) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[258] + mi := &file_proto_Gameapi_proto_msgTypes[264] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14700,7 +15043,7 @@ func (x *ReqInviteFriendData) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqInviteFriendData.ProtoReflect.Descriptor instead. func (*ReqInviteFriendData) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{258} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{264} } func (x *ReqInviteFriendData) GetDwUin() int64 { @@ -14721,7 +15064,7 @@ type ResInviteFriendData struct { func (x *ResInviteFriendData) Reset() { *x = ResInviteFriendData{} - mi := &file_proto_Gameapi_proto_msgTypes[259] + mi := &file_proto_Gameapi_proto_msgTypes[265] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14733,7 +15076,7 @@ func (x *ResInviteFriendData) String() string { func (*ResInviteFriendData) ProtoMessage() {} func (x *ResInviteFriendData) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[259] + mi := &file_proto_Gameapi_proto_msgTypes[265] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14746,7 +15089,7 @@ func (x *ResInviteFriendData) ProtoReflect() protoreflect.Message { // Deprecated: Use ResInviteFriendData.ProtoReflect.Descriptor instead. func (*ResInviteFriendData) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{259} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{265} } func (x *ResInviteFriendData) GetIdLists() []int32 { @@ -14773,7 +15116,7 @@ type ReqSelfInvited struct { func (x *ReqSelfInvited) Reset() { *x = ReqSelfInvited{} - mi := &file_proto_Gameapi_proto_msgTypes[260] + mi := &file_proto_Gameapi_proto_msgTypes[266] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14785,7 +15128,7 @@ func (x *ReqSelfInvited) String() string { func (*ReqSelfInvited) ProtoMessage() {} func (x *ReqSelfInvited) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[260] + mi := &file_proto_Gameapi_proto_msgTypes[266] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14798,7 +15141,7 @@ func (x *ReqSelfInvited) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqSelfInvited.ProtoReflect.Descriptor instead. func (*ReqSelfInvited) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{260} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{266} } func (x *ReqSelfInvited) GetInviterId() int64 { @@ -14818,7 +15161,7 @@ type ResSelfInvited struct { func (x *ResSelfInvited) Reset() { *x = ResSelfInvited{} - mi := &file_proto_Gameapi_proto_msgTypes[261] + mi := &file_proto_Gameapi_proto_msgTypes[267] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14830,7 +15173,7 @@ func (x *ResSelfInvited) String() string { func (*ResSelfInvited) ProtoMessage() {} func (x *ResSelfInvited) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[261] + mi := &file_proto_Gameapi_proto_msgTypes[267] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14843,7 +15186,7 @@ func (x *ResSelfInvited) ProtoReflect() protoreflect.Message { // Deprecated: Use ResSelfInvited.ProtoReflect.Descriptor instead. func (*ResSelfInvited) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{261} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{267} } func (x *ResSelfInvited) GetResultCode() int32 { @@ -14864,7 +15207,7 @@ type NotifyInvitedSuccess struct { func (x *NotifyInvitedSuccess) Reset() { *x = NotifyInvitedSuccess{} - mi := &file_proto_Gameapi_proto_msgTypes[262] + mi := &file_proto_Gameapi_proto_msgTypes[268] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14876,7 +15219,7 @@ func (x *NotifyInvitedSuccess) String() string { func (*NotifyInvitedSuccess) ProtoMessage() {} func (x *NotifyInvitedSuccess) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[262] + mi := &file_proto_Gameapi_proto_msgTypes[268] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14889,7 +15232,7 @@ func (x *NotifyInvitedSuccess) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyInvitedSuccess.ProtoReflect.Descriptor instead. func (*NotifyInvitedSuccess) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{262} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{268} } func (x *NotifyInvitedSuccess) GetResultCode() int32 { @@ -14916,7 +15259,7 @@ type ReqGetInviteReward struct { func (x *ReqGetInviteReward) Reset() { *x = ReqGetInviteReward{} - mi := &file_proto_Gameapi_proto_msgTypes[263] + mi := &file_proto_Gameapi_proto_msgTypes[269] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14928,7 +15271,7 @@ func (x *ReqGetInviteReward) String() string { func (*ReqGetInviteReward) ProtoMessage() {} func (x *ReqGetInviteReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[263] + mi := &file_proto_Gameapi_proto_msgTypes[269] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14941,7 +15284,7 @@ func (x *ReqGetInviteReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGetInviteReward.ProtoReflect.Descriptor instead. func (*ReqGetInviteReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{263} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{269} } func (x *ReqGetInviteReward) GetGetIndex() int32 { @@ -14961,7 +15304,7 @@ type ResGetInviteReward struct { func (x *ResGetInviteReward) Reset() { *x = ResGetInviteReward{} - mi := &file_proto_Gameapi_proto_msgTypes[264] + mi := &file_proto_Gameapi_proto_msgTypes[270] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14973,7 +15316,7 @@ func (x *ResGetInviteReward) String() string { func (*ResGetInviteReward) ProtoMessage() {} func (x *ResGetInviteReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[264] + mi := &file_proto_Gameapi_proto_msgTypes[270] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14986,7 +15329,7 @@ func (x *ResGetInviteReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGetInviteReward.ProtoReflect.Descriptor instead. func (*ResGetInviteReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{264} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{270} } func (x *ResGetInviteReward) GetResultCode() int32 { @@ -15006,7 +15349,7 @@ type ReqAutoAddInviteFriend struct { func (x *ReqAutoAddInviteFriend) Reset() { *x = ReqAutoAddInviteFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[265] + mi := &file_proto_Gameapi_proto_msgTypes[271] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15018,7 +15361,7 @@ func (x *ReqAutoAddInviteFriend) String() string { func (*ReqAutoAddInviteFriend) ProtoMessage() {} func (x *ReqAutoAddInviteFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[265] + mi := &file_proto_Gameapi_proto_msgTypes[271] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15031,7 +15374,7 @@ func (x *ReqAutoAddInviteFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAutoAddInviteFriend.ProtoReflect.Descriptor instead. func (*ReqAutoAddInviteFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{265} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{271} } func (x *ReqAutoAddInviteFriend) GetId() int64 { @@ -15051,7 +15394,7 @@ type ResAutoAddInviteFriend struct { func (x *ResAutoAddInviteFriend) Reset() { *x = ResAutoAddInviteFriend{} - mi := &file_proto_Gameapi_proto_msgTypes[266] + mi := &file_proto_Gameapi_proto_msgTypes[272] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15063,7 +15406,7 @@ func (x *ResAutoAddInviteFriend) String() string { func (*ResAutoAddInviteFriend) ProtoMessage() {} func (x *ResAutoAddInviteFriend) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[266] + mi := &file_proto_Gameapi_proto_msgTypes[272] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15076,7 +15419,7 @@ func (x *ResAutoAddInviteFriend) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAutoAddInviteFriend.ProtoReflect.Descriptor instead. func (*ResAutoAddInviteFriend) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{266} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{272} } func (x *ResAutoAddInviteFriend) GetResultCode() int32 { @@ -15096,7 +15439,7 @@ type ReqAutoAddInviteFriend2 struct { func (x *ReqAutoAddInviteFriend2) Reset() { *x = ReqAutoAddInviteFriend2{} - mi := &file_proto_Gameapi_proto_msgTypes[267] + mi := &file_proto_Gameapi_proto_msgTypes[273] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15108,7 +15451,7 @@ func (x *ReqAutoAddInviteFriend2) String() string { func (*ReqAutoAddInviteFriend2) ProtoMessage() {} func (x *ReqAutoAddInviteFriend2) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[267] + mi := &file_proto_Gameapi_proto_msgTypes[273] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15121,7 +15464,7 @@ func (x *ReqAutoAddInviteFriend2) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAutoAddInviteFriend2.ProtoReflect.Descriptor instead. func (*ReqAutoAddInviteFriend2) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{267} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{273} } func (x *ReqAutoAddInviteFriend2) GetId() string { @@ -15141,7 +15484,7 @@ type ResAutoAddInviteFriend2 struct { func (x *ResAutoAddInviteFriend2) Reset() { *x = ResAutoAddInviteFriend2{} - mi := &file_proto_Gameapi_proto_msgTypes[268] + mi := &file_proto_Gameapi_proto_msgTypes[274] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15153,7 +15496,7 @@ func (x *ResAutoAddInviteFriend2) String() string { func (*ResAutoAddInviteFriend2) ProtoMessage() {} func (x *ResAutoAddInviteFriend2) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[268] + mi := &file_proto_Gameapi_proto_msgTypes[274] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15166,7 +15509,7 @@ func (x *ResAutoAddInviteFriend2) ProtoReflect() protoreflect.Message { // Deprecated: Use ResAutoAddInviteFriend2.ProtoReflect.Descriptor instead. func (*ResAutoAddInviteFriend2) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{268} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{274} } func (x *ResAutoAddInviteFriend2) GetResultCode() int32 { @@ -15185,7 +15528,7 @@ type ReqMining struct { func (x *ReqMining) Reset() { *x = ReqMining{} - mi := &file_proto_Gameapi_proto_msgTypes[269] + mi := &file_proto_Gameapi_proto_msgTypes[275] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15197,7 +15540,7 @@ func (x *ReqMining) String() string { func (*ReqMining) ProtoMessage() {} func (x *ReqMining) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[269] + mi := &file_proto_Gameapi_proto_msgTypes[275] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15210,7 +15553,7 @@ func (x *ReqMining) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMining.ProtoReflect.Descriptor instead. func (*ReqMining) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{269} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{275} } type ResMining struct { @@ -15230,7 +15573,7 @@ type ResMining struct { func (x *ResMining) Reset() { *x = ResMining{} - mi := &file_proto_Gameapi_proto_msgTypes[270] + mi := &file_proto_Gameapi_proto_msgTypes[276] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15242,7 +15585,7 @@ func (x *ResMining) String() string { func (*ResMining) ProtoMessage() {} func (x *ResMining) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[270] + mi := &file_proto_Gameapi_proto_msgTypes[276] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15255,7 +15598,7 @@ func (x *ResMining) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMining.ProtoReflect.Descriptor instead. func (*ResMining) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{270} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{276} } func (x *ResMining) GetId() int32 { @@ -15325,7 +15668,7 @@ type ReqMiningTake struct { func (x *ReqMiningTake) Reset() { *x = ReqMiningTake{} - mi := &file_proto_Gameapi_proto_msgTypes[271] + mi := &file_proto_Gameapi_proto_msgTypes[277] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15337,7 +15680,7 @@ func (x *ReqMiningTake) String() string { func (*ReqMiningTake) ProtoMessage() {} func (x *ReqMiningTake) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[271] + mi := &file_proto_Gameapi_proto_msgTypes[277] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15350,7 +15693,7 @@ func (x *ReqMiningTake) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMiningTake.ProtoReflect.Descriptor instead. func (*ReqMiningTake) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{271} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{277} } func (x *ReqMiningTake) GetMap() map[int32]string { @@ -15378,7 +15721,7 @@ type ResMiningTake struct { func (x *ResMiningTake) Reset() { *x = ResMiningTake{} - mi := &file_proto_Gameapi_proto_msgTypes[272] + mi := &file_proto_Gameapi_proto_msgTypes[278] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15390,7 +15733,7 @@ func (x *ResMiningTake) String() string { func (*ResMiningTake) ProtoMessage() {} func (x *ResMiningTake) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[272] + mi := &file_proto_Gameapi_proto_msgTypes[278] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15403,7 +15746,7 @@ func (x *ResMiningTake) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMiningTake.ProtoReflect.Descriptor instead. func (*ResMiningTake) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{272} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{278} } func (x *ResMiningTake) GetCode() RES_CODE { @@ -15428,7 +15771,7 @@ type ReqMiningReward struct { func (x *ReqMiningReward) Reset() { *x = ReqMiningReward{} - mi := &file_proto_Gameapi_proto_msgTypes[273] + mi := &file_proto_Gameapi_proto_msgTypes[279] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15440,7 +15783,7 @@ func (x *ReqMiningReward) String() string { func (*ReqMiningReward) ProtoMessage() {} func (x *ReqMiningReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[273] + mi := &file_proto_Gameapi_proto_msgTypes[279] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15453,7 +15796,7 @@ func (x *ReqMiningReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqMiningReward.ProtoReflect.Descriptor instead. func (*ReqMiningReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{273} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{279} } type ResMiningReward struct { @@ -15467,7 +15810,7 @@ type ResMiningReward struct { func (x *ResMiningReward) Reset() { *x = ResMiningReward{} - mi := &file_proto_Gameapi_proto_msgTypes[274] + mi := &file_proto_Gameapi_proto_msgTypes[280] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15479,7 +15822,7 @@ func (x *ResMiningReward) String() string { func (*ResMiningReward) ProtoMessage() {} func (x *ResMiningReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[274] + mi := &file_proto_Gameapi_proto_msgTypes[280] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15492,7 +15835,7 @@ func (x *ResMiningReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResMiningReward.ProtoReflect.Descriptor instead. func (*ResMiningReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{274} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{280} } func (x *ResMiningReward) GetCode() RES_CODE { @@ -15519,7 +15862,7 @@ type ResActRed struct { func (x *ResActRed) Reset() { *x = ResActRed{} - mi := &file_proto_Gameapi_proto_msgTypes[275] + mi := &file_proto_Gameapi_proto_msgTypes[281] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15531,7 +15874,7 @@ func (x *ResActRed) String() string { func (*ResActRed) ProtoMessage() {} func (x *ResActRed) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[275] + mi := &file_proto_Gameapi_proto_msgTypes[281] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15544,7 +15887,7 @@ func (x *ResActRed) ProtoReflect() protoreflect.Message { // Deprecated: Use ResActRed.ProtoReflect.Descriptor instead. func (*ResActRed) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{275} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{281} } func (x *ResActRed) GetRed() map[int32]int32 { @@ -15566,7 +15909,7 @@ type NotifyActRed struct { func (x *NotifyActRed) Reset() { *x = NotifyActRed{} - mi := &file_proto_Gameapi_proto_msgTypes[276] + mi := &file_proto_Gameapi_proto_msgTypes[282] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15578,7 +15921,7 @@ func (x *NotifyActRed) String() string { func (*NotifyActRed) ProtoMessage() {} func (x *NotifyActRed) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[276] + mi := &file_proto_Gameapi_proto_msgTypes[282] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15591,7 +15934,7 @@ func (x *NotifyActRed) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyActRed.ProtoReflect.Descriptor instead. func (*NotifyActRed) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{276} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{282} } func (x *NotifyActRed) GetId() int32 { @@ -15619,7 +15962,7 @@ type ActivityNotify struct { func (x *ActivityNotify) Reset() { *x = ActivityNotify{} - mi := &file_proto_Gameapi_proto_msgTypes[277] + mi := &file_proto_Gameapi_proto_msgTypes[283] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15631,7 +15974,7 @@ func (x *ActivityNotify) String() string { func (*ActivityNotify) ProtoMessage() {} func (x *ActivityNotify) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[277] + mi := &file_proto_Gameapi_proto_msgTypes[283] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15644,7 +15987,7 @@ func (x *ActivityNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use ActivityNotify.ProtoReflect.Descriptor instead. func (*ActivityNotify) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{277} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{283} } func (x *ActivityNotify) GetInfo() *ActivityInfo { @@ -15664,7 +16007,7 @@ type ResItem struct { func (x *ResItem) Reset() { *x = ResItem{} - mi := &file_proto_Gameapi_proto_msgTypes[278] + mi := &file_proto_Gameapi_proto_msgTypes[284] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15676,7 +16019,7 @@ func (x *ResItem) String() string { func (*ResItem) ProtoMessage() {} func (x *ResItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[278] + mi := &file_proto_Gameapi_proto_msgTypes[284] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15689,7 +16032,7 @@ func (x *ResItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ResItem.ProtoReflect.Descriptor instead. func (*ResItem) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{278} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{284} } func (x *ResItem) GetItem() map[int32]int32 { @@ -15709,7 +16052,7 @@ type ItemNotify struct { func (x *ItemNotify) Reset() { *x = ItemNotify{} - mi := &file_proto_Gameapi_proto_msgTypes[279] + mi := &file_proto_Gameapi_proto_msgTypes[285] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15721,7 +16064,7 @@ func (x *ItemNotify) String() string { func (*ItemNotify) ProtoMessage() {} func (x *ItemNotify) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[279] + mi := &file_proto_Gameapi_proto_msgTypes[285] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15734,7 +16077,7 @@ func (x *ItemNotify) ProtoReflect() protoreflect.Message { // Deprecated: Use ItemNotify.ProtoReflect.Descriptor instead. func (*ItemNotify) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{279} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{285} } func (x *ItemNotify) GetItem() map[int32]int32 { @@ -15753,7 +16096,7 @@ type ReqGuessColor struct { func (x *ReqGuessColor) Reset() { *x = ReqGuessColor{} - mi := &file_proto_Gameapi_proto_msgTypes[280] + mi := &file_proto_Gameapi_proto_msgTypes[286] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15765,7 +16108,7 @@ func (x *ReqGuessColor) String() string { func (*ReqGuessColor) ProtoMessage() {} func (x *ReqGuessColor) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[280] + mi := &file_proto_Gameapi_proto_msgTypes[286] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15778,7 +16121,7 @@ func (x *ReqGuessColor) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGuessColor.ProtoReflect.Descriptor instead. func (*ReqGuessColor) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{280} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{286} } type ResGuessColor struct { @@ -15798,7 +16141,7 @@ type ResGuessColor struct { func (x *ResGuessColor) Reset() { *x = ResGuessColor{} - mi := &file_proto_Gameapi_proto_msgTypes[281] + mi := &file_proto_Gameapi_proto_msgTypes[287] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15810,7 +16153,7 @@ func (x *ResGuessColor) String() string { func (*ResGuessColor) ProtoMessage() {} func (x *ResGuessColor) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[281] + mi := &file_proto_Gameapi_proto_msgTypes[287] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15823,7 +16166,7 @@ func (x *ResGuessColor) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuessColor.ProtoReflect.Descriptor instead. func (*ResGuessColor) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{281} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{287} } func (x *ResGuessColor) GetId() int32 { @@ -15895,7 +16238,7 @@ type Opponent struct { func (x *Opponent) Reset() { *x = Opponent{} - mi := &file_proto_Gameapi_proto_msgTypes[282] + mi := &file_proto_Gameapi_proto_msgTypes[288] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15907,7 +16250,7 @@ func (x *Opponent) String() string { func (*Opponent) ProtoMessage() {} func (x *Opponent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[282] + mi := &file_proto_Gameapi_proto_msgTypes[288] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15920,7 +16263,7 @@ func (x *Opponent) ProtoReflect() protoreflect.Message { // Deprecated: Use Opponent.ProtoReflect.Descriptor instead. func (*Opponent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{282} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{288} } func (x *Opponent) GetName() string { @@ -15961,7 +16304,7 @@ type ReqGuessColorTake struct { func (x *ReqGuessColorTake) Reset() { *x = ReqGuessColorTake{} - mi := &file_proto_Gameapi_proto_msgTypes[283] + mi := &file_proto_Gameapi_proto_msgTypes[289] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15973,7 +16316,7 @@ func (x *ReqGuessColorTake) String() string { func (*ReqGuessColorTake) ProtoMessage() {} func (x *ReqGuessColorTake) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[283] + mi := &file_proto_Gameapi_proto_msgTypes[289] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15986,7 +16329,7 @@ func (x *ReqGuessColorTake) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGuessColorTake.ProtoReflect.Descriptor instead. func (*ReqGuessColorTake) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{283} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{289} } func (x *ReqGuessColorTake) GetMap() map[int32]int32 { @@ -16007,7 +16350,7 @@ type ResGuessColorTake struct { func (x *ResGuessColorTake) Reset() { *x = ResGuessColorTake{} - mi := &file_proto_Gameapi_proto_msgTypes[284] + mi := &file_proto_Gameapi_proto_msgTypes[290] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16019,7 +16362,7 @@ func (x *ResGuessColorTake) String() string { func (*ResGuessColorTake) ProtoMessage() {} func (x *ResGuessColorTake) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[284] + mi := &file_proto_Gameapi_proto_msgTypes[290] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16032,7 +16375,7 @@ func (x *ResGuessColorTake) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuessColorTake.ProtoReflect.Descriptor instead. func (*ResGuessColorTake) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{284} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{290} } func (x *ResGuessColorTake) GetCode() RES_CODE { @@ -16057,7 +16400,7 @@ type ReqGuessColorReward struct { func (x *ReqGuessColorReward) Reset() { *x = ReqGuessColorReward{} - mi := &file_proto_Gameapi_proto_msgTypes[285] + mi := &file_proto_Gameapi_proto_msgTypes[291] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16069,7 +16412,7 @@ func (x *ReqGuessColorReward) String() string { func (*ReqGuessColorReward) ProtoMessage() {} func (x *ReqGuessColorReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[285] + mi := &file_proto_Gameapi_proto_msgTypes[291] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16082,7 +16425,7 @@ func (x *ReqGuessColorReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqGuessColorReward.ProtoReflect.Descriptor instead. func (*ReqGuessColorReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{285} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{291} } type ResGuessColorReward struct { @@ -16096,7 +16439,7 @@ type ResGuessColorReward struct { func (x *ResGuessColorReward) Reset() { *x = ResGuessColorReward{} - mi := &file_proto_Gameapi_proto_msgTypes[286] + mi := &file_proto_Gameapi_proto_msgTypes[292] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16108,7 +16451,7 @@ func (x *ResGuessColorReward) String() string { func (*ResGuessColorReward) ProtoMessage() {} func (x *ResGuessColorReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[286] + mi := &file_proto_Gameapi_proto_msgTypes[292] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16121,7 +16464,7 @@ func (x *ResGuessColorReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResGuessColorReward.ProtoReflect.Descriptor instead. func (*ResGuessColorReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{286} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{292} } func (x *ResGuessColorReward) GetCode() RES_CODE { @@ -16146,7 +16489,7 @@ type ReqRace struct { func (x *ReqRace) Reset() { *x = ReqRace{} - mi := &file_proto_Gameapi_proto_msgTypes[287] + mi := &file_proto_Gameapi_proto_msgTypes[293] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16158,7 +16501,7 @@ func (x *ReqRace) String() string { func (*ReqRace) ProtoMessage() {} func (x *ReqRace) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[287] + mi := &file_proto_Gameapi_proto_msgTypes[293] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16171,7 +16514,7 @@ func (x *ReqRace) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRace.ProtoReflect.Descriptor instead. func (*ReqRace) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{287} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{293} } type ResRace struct { @@ -16192,7 +16535,7 @@ type ResRace struct { func (x *ResRace) Reset() { *x = ResRace{} - mi := &file_proto_Gameapi_proto_msgTypes[288] + mi := &file_proto_Gameapi_proto_msgTypes[294] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16204,7 +16547,7 @@ func (x *ResRace) String() string { func (*ResRace) ProtoMessage() {} func (x *ResRace) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[288] + mi := &file_proto_Gameapi_proto_msgTypes[294] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16217,7 +16560,7 @@ func (x *ResRace) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRace.ProtoReflect.Descriptor instead. func (*ResRace) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{288} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{294} } func (x *ResRace) GetId() int32 { @@ -16295,7 +16638,7 @@ type Raceopponent struct { func (x *Raceopponent) Reset() { *x = Raceopponent{} - mi := &file_proto_Gameapi_proto_msgTypes[289] + mi := &file_proto_Gameapi_proto_msgTypes[295] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16307,7 +16650,7 @@ func (x *Raceopponent) String() string { func (*Raceopponent) ProtoMessage() {} func (x *Raceopponent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[289] + mi := &file_proto_Gameapi_proto_msgTypes[295] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16320,7 +16663,7 @@ func (x *Raceopponent) ProtoReflect() protoreflect.Message { // Deprecated: Use Raceopponent.ProtoReflect.Descriptor instead. func (*Raceopponent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{289} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{295} } func (x *Raceopponent) GetId() int32 { @@ -16352,7 +16695,7 @@ type ReqRaceStart struct { func (x *ReqRaceStart) Reset() { *x = ReqRaceStart{} - mi := &file_proto_Gameapi_proto_msgTypes[290] + mi := &file_proto_Gameapi_proto_msgTypes[296] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16364,7 +16707,7 @@ func (x *ReqRaceStart) String() string { func (*ReqRaceStart) ProtoMessage() {} func (x *ReqRaceStart) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[290] + mi := &file_proto_Gameapi_proto_msgTypes[296] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16377,7 +16720,7 @@ func (x *ReqRaceStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRaceStart.ProtoReflect.Descriptor instead. func (*ReqRaceStart) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{290} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{296} } type ResRaceStart struct { @@ -16391,7 +16734,7 @@ type ResRaceStart struct { func (x *ResRaceStart) Reset() { *x = ResRaceStart{} - mi := &file_proto_Gameapi_proto_msgTypes[291] + mi := &file_proto_Gameapi_proto_msgTypes[297] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16403,7 +16746,7 @@ func (x *ResRaceStart) String() string { func (*ResRaceStart) ProtoMessage() {} func (x *ResRaceStart) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[291] + mi := &file_proto_Gameapi_proto_msgTypes[297] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16416,7 +16759,7 @@ func (x *ResRaceStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRaceStart.ProtoReflect.Descriptor instead. func (*ResRaceStart) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{291} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{297} } func (x *ResRaceStart) GetCode() RES_CODE { @@ -16441,7 +16784,7 @@ type ReqRaceReward struct { func (x *ReqRaceReward) Reset() { *x = ReqRaceReward{} - mi := &file_proto_Gameapi_proto_msgTypes[292] + mi := &file_proto_Gameapi_proto_msgTypes[298] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16453,7 +16796,7 @@ func (x *ReqRaceReward) String() string { func (*ReqRaceReward) ProtoMessage() {} func (x *ReqRaceReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[292] + mi := &file_proto_Gameapi_proto_msgTypes[298] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16466,7 +16809,7 @@ func (x *ReqRaceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqRaceReward.ProtoReflect.Descriptor instead. func (*ReqRaceReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{292} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{298} } type ResRaceReward struct { @@ -16480,7 +16823,7 @@ type ResRaceReward struct { func (x *ResRaceReward) Reset() { *x = ResRaceReward{} - mi := &file_proto_Gameapi_proto_msgTypes[293] + mi := &file_proto_Gameapi_proto_msgTypes[299] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16492,7 +16835,7 @@ func (x *ResRaceReward) String() string { func (*ResRaceReward) ProtoMessage() {} func (x *ResRaceReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[293] + mi := &file_proto_Gameapi_proto_msgTypes[299] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16505,7 +16848,7 @@ func (x *ResRaceReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResRaceReward.ProtoReflect.Descriptor instead. func (*ResRaceReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{293} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{299} } func (x *ResRaceReward) GetCode() RES_CODE { @@ -16531,7 +16874,7 @@ type ReqPlayroom struct { func (x *ReqPlayroom) Reset() { *x = ReqPlayroom{} - mi := &file_proto_Gameapi_proto_msgTypes[294] + mi := &file_proto_Gameapi_proto_msgTypes[300] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16543,7 +16886,7 @@ func (x *ReqPlayroom) String() string { func (*ReqPlayroom) ProtoMessage() {} func (x *ReqPlayroom) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[294] + mi := &file_proto_Gameapi_proto_msgTypes[300] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16556,7 +16899,7 @@ func (x *ReqPlayroom) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroom.ProtoReflect.Descriptor instead. func (*ReqPlayroom) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{294} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{300} } type ResPlayroom struct { @@ -16583,7 +16926,7 @@ type ResPlayroom struct { func (x *ResPlayroom) Reset() { *x = ResPlayroom{} - mi := &file_proto_Gameapi_proto_msgTypes[295] + mi := &file_proto_Gameapi_proto_msgTypes[301] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16595,7 +16938,7 @@ func (x *ResPlayroom) String() string { func (*ResPlayroom) ProtoMessage() {} func (x *ResPlayroom) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[295] + mi := &file_proto_Gameapi_proto_msgTypes[301] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16608,7 +16951,7 @@ func (x *ResPlayroom) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroom.ProtoReflect.Descriptor instead. func (*ResPlayroom) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{295} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{301} } func (x *ResPlayroom) GetStatus() int32 { @@ -16724,7 +17067,7 @@ type ReqPlayroomWrokOutline struct { func (x *ReqPlayroomWrokOutline) Reset() { *x = ReqPlayroomWrokOutline{} - mi := &file_proto_Gameapi_proto_msgTypes[296] + mi := &file_proto_Gameapi_proto_msgTypes[302] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16736,7 +17079,7 @@ func (x *ReqPlayroomWrokOutline) String() string { func (*ReqPlayroomWrokOutline) ProtoMessage() {} func (x *ReqPlayroomWrokOutline) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[296] + mi := &file_proto_Gameapi_proto_msgTypes[302] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16749,7 +17092,7 @@ func (x *ReqPlayroomWrokOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomWrokOutline.ProtoReflect.Descriptor instead. func (*ReqPlayroomWrokOutline) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{296} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{302} } type ResPlayroomWrokOutline struct { @@ -16763,7 +17106,7 @@ type ResPlayroomWrokOutline struct { func (x *ResPlayroomWrokOutline) Reset() { *x = ResPlayroomWrokOutline{} - mi := &file_proto_Gameapi_proto_msgTypes[297] + mi := &file_proto_Gameapi_proto_msgTypes[303] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16775,7 +17118,7 @@ func (x *ResPlayroomWrokOutline) String() string { func (*ResPlayroomWrokOutline) ProtoMessage() {} func (x *ResPlayroomWrokOutline) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[297] + mi := &file_proto_Gameapi_proto_msgTypes[303] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16788,7 +17131,7 @@ func (x *ResPlayroomWrokOutline) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomWrokOutline.ProtoReflect.Descriptor instead. func (*ResPlayroomWrokOutline) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{297} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{303} } func (x *ResPlayroomWrokOutline) GetCode() RES_CODE { @@ -16815,7 +17158,7 @@ type NofiPlayroomStatus struct { func (x *NofiPlayroomStatus) Reset() { *x = NofiPlayroomStatus{} - mi := &file_proto_Gameapi_proto_msgTypes[298] + mi := &file_proto_Gameapi_proto_msgTypes[304] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16827,7 +17170,7 @@ func (x *NofiPlayroomStatus) String() string { func (*NofiPlayroomStatus) ProtoMessage() {} func (x *NofiPlayroomStatus) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[298] + mi := &file_proto_Gameapi_proto_msgTypes[304] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16840,7 +17183,7 @@ func (x *NofiPlayroomStatus) ProtoReflect() protoreflect.Message { // Deprecated: Use NofiPlayroomStatus.ProtoReflect.Descriptor instead. func (*NofiPlayroomStatus) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{298} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{304} } func (x *NofiPlayroomStatus) GetWorkOutline() int32 { @@ -16861,7 +17204,7 @@ type NotifyPlayroomWork struct { func (x *NotifyPlayroomWork) Reset() { *x = NotifyPlayroomWork{} - mi := &file_proto_Gameapi_proto_msgTypes[299] + mi := &file_proto_Gameapi_proto_msgTypes[305] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16873,7 +17216,7 @@ func (x *NotifyPlayroomWork) String() string { func (*NotifyPlayroomWork) ProtoMessage() {} func (x *NotifyPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[299] + mi := &file_proto_Gameapi_proto_msgTypes[305] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16886,7 +17229,7 @@ func (x *NotifyPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomWork.ProtoReflect.Descriptor instead. func (*NotifyPlayroomWork) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{299} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{305} } func (x *NotifyPlayroomWork) GetStartTime() int32 { @@ -16914,7 +17257,7 @@ type NotifyPlayroomLose struct { func (x *NotifyPlayroomLose) Reset() { *x = NotifyPlayroomLose{} - mi := &file_proto_Gameapi_proto_msgTypes[300] + mi := &file_proto_Gameapi_proto_msgTypes[306] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16926,7 +17269,7 @@ func (x *NotifyPlayroomLose) String() string { func (*NotifyPlayroomLose) ProtoMessage() {} func (x *NotifyPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[300] + mi := &file_proto_Gameapi_proto_msgTypes[306] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16939,7 +17282,7 @@ func (x *NotifyPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomLose.ProtoReflect.Descriptor instead. func (*NotifyPlayroomLose) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{300} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{306} } func (x *NotifyPlayroomLose) GetLoseItem() []*ItemInfo { @@ -16968,7 +17311,7 @@ type NotifyPlayroomMood struct { func (x *NotifyPlayroomMood) Reset() { *x = NotifyPlayroomMood{} - mi := &file_proto_Gameapi_proto_msgTypes[301] + mi := &file_proto_Gameapi_proto_msgTypes[307] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16980,7 +17323,7 @@ func (x *NotifyPlayroomMood) String() string { func (*NotifyPlayroomMood) ProtoMessage() {} func (x *NotifyPlayroomMood) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[301] + mi := &file_proto_Gameapi_proto_msgTypes[307] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16993,7 +17336,7 @@ func (x *NotifyPlayroomMood) ProtoReflect() protoreflect.Message { // Deprecated: Use NotifyPlayroomMood.ProtoReflect.Descriptor instead. func (*NotifyPlayroomMood) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{301} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{307} } func (x *NotifyPlayroomMood) GetAllMood() int32 { @@ -17031,7 +17374,7 @@ type FriendRoom struct { func (x *FriendRoom) Reset() { *x = FriendRoom{} - mi := &file_proto_Gameapi_proto_msgTypes[302] + mi := &file_proto_Gameapi_proto_msgTypes[308] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17043,7 +17386,7 @@ func (x *FriendRoom) String() string { func (*FriendRoom) ProtoMessage() {} func (x *FriendRoom) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[302] + mi := &file_proto_Gameapi_proto_msgTypes[308] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17056,7 +17399,7 @@ func (x *FriendRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use FriendRoom.ProtoReflect.Descriptor instead. func (*FriendRoom) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{302} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{308} } func (x *FriendRoom) GetUid() int64 { @@ -17108,7 +17451,7 @@ type RoomOpponent struct { func (x *RoomOpponent) Reset() { *x = RoomOpponent{} - mi := &file_proto_Gameapi_proto_msgTypes[303] + mi := &file_proto_Gameapi_proto_msgTypes[309] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17120,7 +17463,7 @@ func (x *RoomOpponent) String() string { func (*RoomOpponent) ProtoMessage() {} func (x *RoomOpponent) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[303] + mi := &file_proto_Gameapi_proto_msgTypes[309] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17133,7 +17476,7 @@ func (x *RoomOpponent) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomOpponent.ProtoReflect.Descriptor instead. func (*RoomOpponent) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{303} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{309} } func (x *RoomOpponent) GetUid() int64 { @@ -17182,7 +17525,7 @@ type ReqPlayroomInfo struct { func (x *ReqPlayroomInfo) Reset() { *x = ReqPlayroomInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[304] + mi := &file_proto_Gameapi_proto_msgTypes[310] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17194,7 +17537,7 @@ func (x *ReqPlayroomInfo) String() string { func (*ReqPlayroomInfo) ProtoMessage() {} func (x *ReqPlayroomInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[304] + mi := &file_proto_Gameapi_proto_msgTypes[310] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17207,7 +17550,7 @@ func (x *ReqPlayroomInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomInfo.ProtoReflect.Descriptor instead. func (*ReqPlayroomInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{304} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{310} } func (x *ReqPlayroomInfo) GetUid() int64 { @@ -17239,7 +17582,7 @@ type ResPlayroomInfo struct { func (x *ResPlayroomInfo) Reset() { *x = ResPlayroomInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[305] + mi := &file_proto_Gameapi_proto_msgTypes[311] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17251,7 +17594,7 @@ func (x *ResPlayroomInfo) String() string { func (*ResPlayroomInfo) ProtoMessage() {} func (x *ResPlayroomInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[305] + mi := &file_proto_Gameapi_proto_msgTypes[311] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17264,7 +17607,7 @@ func (x *ResPlayroomInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomInfo.ProtoReflect.Descriptor instead. func (*ResPlayroomInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{305} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{311} } func (x *ResPlayroomInfo) GetUid() int64 { @@ -17369,7 +17712,7 @@ type ReqPlayroomFlip struct { func (x *ReqPlayroomFlip) Reset() { *x = ReqPlayroomFlip{} - mi := &file_proto_Gameapi_proto_msgTypes[306] + mi := &file_proto_Gameapi_proto_msgTypes[312] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17381,7 +17724,7 @@ func (x *ReqPlayroomFlip) String() string { func (*ReqPlayroomFlip) ProtoMessage() {} func (x *ReqPlayroomFlip) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[306] + mi := &file_proto_Gameapi_proto_msgTypes[312] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17394,7 +17737,7 @@ func (x *ReqPlayroomFlip) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomFlip.ProtoReflect.Descriptor instead. func (*ReqPlayroomFlip) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{306} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{312} } func (x *ReqPlayroomFlip) GetId() int32 { @@ -17417,7 +17760,7 @@ type ResPlayroomFlip struct { func (x *ResPlayroomFlip) Reset() { *x = ResPlayroomFlip{} - mi := &file_proto_Gameapi_proto_msgTypes[307] + mi := &file_proto_Gameapi_proto_msgTypes[313] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17429,7 +17772,7 @@ func (x *ResPlayroomFlip) String() string { func (*ResPlayroomFlip) ProtoMessage() {} func (x *ResPlayroomFlip) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[307] + mi := &file_proto_Gameapi_proto_msgTypes[313] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17442,7 +17785,7 @@ func (x *ResPlayroomFlip) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomFlip.ProtoReflect.Descriptor instead. func (*ResPlayroomFlip) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{307} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{313} } func (x *ResPlayroomFlip) GetCode() RES_CODE { @@ -17482,7 +17825,7 @@ type ReqPlayroomFlipReward struct { func (x *ReqPlayroomFlipReward) Reset() { *x = ReqPlayroomFlipReward{} - mi := &file_proto_Gameapi_proto_msgTypes[308] + mi := &file_proto_Gameapi_proto_msgTypes[314] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17494,7 +17837,7 @@ func (x *ReqPlayroomFlipReward) String() string { func (*ReqPlayroomFlipReward) ProtoMessage() {} func (x *ReqPlayroomFlipReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[308] + mi := &file_proto_Gameapi_proto_msgTypes[314] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17507,7 +17850,7 @@ func (x *ReqPlayroomFlipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomFlipReward.ProtoReflect.Descriptor instead. func (*ReqPlayroomFlipReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{308} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{314} } type ResPlayroomFlipReward struct { @@ -17521,7 +17864,7 @@ type ResPlayroomFlipReward struct { func (x *ResPlayroomFlipReward) Reset() { *x = ResPlayroomFlipReward{} - mi := &file_proto_Gameapi_proto_msgTypes[309] + mi := &file_proto_Gameapi_proto_msgTypes[315] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17533,7 +17876,7 @@ func (x *ResPlayroomFlipReward) String() string { func (*ResPlayroomFlipReward) ProtoMessage() {} func (x *ResPlayroomFlipReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[309] + mi := &file_proto_Gameapi_proto_msgTypes[315] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17546,7 +17889,7 @@ func (x *ResPlayroomFlipReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomFlipReward.ProtoReflect.Descriptor instead. func (*ResPlayroomFlipReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{309} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{315} } func (x *ResPlayroomFlipReward) GetCode() RES_CODE { @@ -17573,7 +17916,7 @@ type ReqPlayroomGame struct { func (x *ReqPlayroomGame) Reset() { *x = ReqPlayroomGame{} - mi := &file_proto_Gameapi_proto_msgTypes[310] + mi := &file_proto_Gameapi_proto_msgTypes[316] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17585,7 +17928,7 @@ func (x *ReqPlayroomGame) String() string { func (*ReqPlayroomGame) ProtoMessage() {} func (x *ReqPlayroomGame) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[310] + mi := &file_proto_Gameapi_proto_msgTypes[316] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17598,7 +17941,7 @@ func (x *ReqPlayroomGame) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomGame.ProtoReflect.Descriptor instead. func (*ReqPlayroomGame) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{310} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{316} } func (x *ReqPlayroomGame) GetType() int32 { @@ -17621,7 +17964,7 @@ type ResPlayroomGame struct { func (x *ResPlayroomGame) Reset() { *x = ResPlayroomGame{} - mi := &file_proto_Gameapi_proto_msgTypes[311] + mi := &file_proto_Gameapi_proto_msgTypes[317] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17633,7 +17976,7 @@ func (x *ResPlayroomGame) String() string { func (*ResPlayroomGame) ProtoMessage() {} func (x *ResPlayroomGame) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[311] + mi := &file_proto_Gameapi_proto_msgTypes[317] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17646,7 +17989,7 @@ func (x *ResPlayroomGame) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomGame.ProtoReflect.Descriptor instead. func (*ResPlayroomGame) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{311} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{317} } func (x *ResPlayroomGame) GetCode() RES_CODE { @@ -17689,7 +18032,7 @@ type ReqPlayroomInteract struct { func (x *ReqPlayroomInteract) Reset() { *x = ReqPlayroomInteract{} - mi := &file_proto_Gameapi_proto_msgTypes[312] + mi := &file_proto_Gameapi_proto_msgTypes[318] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17701,7 +18044,7 @@ func (x *ReqPlayroomInteract) String() string { func (*ReqPlayroomInteract) ProtoMessage() {} func (x *ReqPlayroomInteract) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[312] + mi := &file_proto_Gameapi_proto_msgTypes[318] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17714,7 +18057,7 @@ func (x *ReqPlayroomInteract) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomInteract.ProtoReflect.Descriptor instead. func (*ReqPlayroomInteract) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{312} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{318} } func (x *ReqPlayroomInteract) GetId() int32 { @@ -17742,7 +18085,7 @@ type ResPlayroomInteract struct { func (x *ResPlayroomInteract) Reset() { *x = ResPlayroomInteract{} - mi := &file_proto_Gameapi_proto_msgTypes[313] + mi := &file_proto_Gameapi_proto_msgTypes[319] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17754,7 +18097,7 @@ func (x *ResPlayroomInteract) String() string { func (*ResPlayroomInteract) ProtoMessage() {} func (x *ResPlayroomInteract) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[313] + mi := &file_proto_Gameapi_proto_msgTypes[319] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17767,7 +18110,7 @@ func (x *ResPlayroomInteract) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomInteract.ProtoReflect.Descriptor instead. func (*ResPlayroomInteract) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{313} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{319} } func (x *ResPlayroomInteract) GetCode() RES_CODE { @@ -17795,7 +18138,7 @@ type ReqPlayroomSetRoom struct { func (x *ReqPlayroomSetRoom) Reset() { *x = ReqPlayroomSetRoom{} - mi := &file_proto_Gameapi_proto_msgTypes[314] + mi := &file_proto_Gameapi_proto_msgTypes[320] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17807,7 +18150,7 @@ func (x *ReqPlayroomSetRoom) String() string { func (*ReqPlayroomSetRoom) ProtoMessage() {} func (x *ReqPlayroomSetRoom) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[314] + mi := &file_proto_Gameapi_proto_msgTypes[320] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17820,7 +18163,7 @@ func (x *ReqPlayroomSetRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomSetRoom.ProtoReflect.Descriptor instead. func (*ReqPlayroomSetRoom) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{314} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{320} } func (x *ReqPlayroomSetRoom) GetPlayroom() map[int32]int32 { @@ -17841,7 +18184,7 @@ type ResPlayroomSetRoom struct { func (x *ResPlayroomSetRoom) Reset() { *x = ResPlayroomSetRoom{} - mi := &file_proto_Gameapi_proto_msgTypes[315] + mi := &file_proto_Gameapi_proto_msgTypes[321] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17853,7 +18196,7 @@ func (x *ResPlayroomSetRoom) String() string { func (*ResPlayroomSetRoom) ProtoMessage() {} func (x *ResPlayroomSetRoom) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[315] + mi := &file_proto_Gameapi_proto_msgTypes[321] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17866,7 +18209,7 @@ func (x *ResPlayroomSetRoom) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomSetRoom.ProtoReflect.Descriptor instead. func (*ResPlayroomSetRoom) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{315} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{321} } func (x *ResPlayroomSetRoom) GetCode() RES_CODE { @@ -17893,7 +18236,7 @@ type ReqPlayroomSelectReward struct { func (x *ReqPlayroomSelectReward) Reset() { *x = ReqPlayroomSelectReward{} - mi := &file_proto_Gameapi_proto_msgTypes[316] + mi := &file_proto_Gameapi_proto_msgTypes[322] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17905,7 +18248,7 @@ func (x *ReqPlayroomSelectReward) String() string { func (*ReqPlayroomSelectReward) ProtoMessage() {} func (x *ReqPlayroomSelectReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[316] + mi := &file_proto_Gameapi_proto_msgTypes[322] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17918,7 +18261,7 @@ func (x *ReqPlayroomSelectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomSelectReward.ProtoReflect.Descriptor instead. func (*ReqPlayroomSelectReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{316} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{322} } func (x *ReqPlayroomSelectReward) GetId() int32 { @@ -17939,7 +18282,7 @@ type ResPlayroomSelectReward struct { func (x *ResPlayroomSelectReward) Reset() { *x = ResPlayroomSelectReward{} - mi := &file_proto_Gameapi_proto_msgTypes[317] + mi := &file_proto_Gameapi_proto_msgTypes[323] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -17951,7 +18294,7 @@ func (x *ResPlayroomSelectReward) String() string { func (*ResPlayroomSelectReward) ProtoMessage() {} func (x *ResPlayroomSelectReward) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[317] + mi := &file_proto_Gameapi_proto_msgTypes[323] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17964,7 +18307,7 @@ func (x *ResPlayroomSelectReward) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomSelectReward.ProtoReflect.Descriptor instead. func (*ResPlayroomSelectReward) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{317} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{323} } func (x *ResPlayroomSelectReward) GetCode() RES_CODE { @@ -17990,7 +18333,7 @@ type ReqPlayroomLose struct { func (x *ReqPlayroomLose) Reset() { *x = ReqPlayroomLose{} - mi := &file_proto_Gameapi_proto_msgTypes[318] + mi := &file_proto_Gameapi_proto_msgTypes[324] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18002,7 +18345,7 @@ func (x *ReqPlayroomLose) String() string { func (*ReqPlayroomLose) ProtoMessage() {} func (x *ReqPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[318] + mi := &file_proto_Gameapi_proto_msgTypes[324] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18015,7 +18358,7 @@ func (x *ReqPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomLose.ProtoReflect.Descriptor instead. func (*ReqPlayroomLose) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{318} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{324} } type ResPlayroomLose struct { @@ -18029,7 +18372,7 @@ type ResPlayroomLose struct { func (x *ResPlayroomLose) Reset() { *x = ResPlayroomLose{} - mi := &file_proto_Gameapi_proto_msgTypes[319] + mi := &file_proto_Gameapi_proto_msgTypes[325] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18041,7 +18384,7 @@ func (x *ResPlayroomLose) String() string { func (*ResPlayroomLose) ProtoMessage() {} func (x *ResPlayroomLose) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[319] + mi := &file_proto_Gameapi_proto_msgTypes[325] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18054,7 +18397,7 @@ func (x *ResPlayroomLose) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomLose.ProtoReflect.Descriptor instead. func (*ResPlayroomLose) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{319} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{325} } func (x *ResPlayroomLose) GetCode() RES_CODE { @@ -18080,7 +18423,7 @@ type ReqPlayroomWork struct { func (x *ReqPlayroomWork) Reset() { *x = ReqPlayroomWork{} - mi := &file_proto_Gameapi_proto_msgTypes[320] + mi := &file_proto_Gameapi_proto_msgTypes[326] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18092,7 +18435,7 @@ func (x *ReqPlayroomWork) String() string { func (*ReqPlayroomWork) ProtoMessage() {} func (x *ReqPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[320] + mi := &file_proto_Gameapi_proto_msgTypes[326] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18105,7 +18448,7 @@ func (x *ReqPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomWork.ProtoReflect.Descriptor instead. func (*ReqPlayroomWork) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{320} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{326} } type ResPlayroomWork struct { @@ -18119,7 +18462,7 @@ type ResPlayroomWork struct { func (x *ResPlayroomWork) Reset() { *x = ResPlayroomWork{} - mi := &file_proto_Gameapi_proto_msgTypes[321] + mi := &file_proto_Gameapi_proto_msgTypes[327] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18131,7 +18474,7 @@ func (x *ResPlayroomWork) String() string { func (*ResPlayroomWork) ProtoMessage() {} func (x *ResPlayroomWork) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[321] + mi := &file_proto_Gameapi_proto_msgTypes[327] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18144,7 +18487,7 @@ func (x *ResPlayroomWork) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomWork.ProtoReflect.Descriptor instead. func (*ResPlayroomWork) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{321} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{327} } func (x *ResPlayroomWork) GetCode() RES_CODE { @@ -18170,7 +18513,7 @@ type ReqPlayroomRest struct { func (x *ReqPlayroomRest) Reset() { *x = ReqPlayroomRest{} - mi := &file_proto_Gameapi_proto_msgTypes[322] + mi := &file_proto_Gameapi_proto_msgTypes[328] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18182,7 +18525,7 @@ func (x *ReqPlayroomRest) String() string { func (*ReqPlayroomRest) ProtoMessage() {} func (x *ReqPlayroomRest) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[322] + mi := &file_proto_Gameapi_proto_msgTypes[328] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18195,7 +18538,7 @@ func (x *ReqPlayroomRest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomRest.ProtoReflect.Descriptor instead. func (*ReqPlayroomRest) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{322} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{328} } type ResPlayroomRest struct { @@ -18209,7 +18552,7 @@ type ResPlayroomRest struct { func (x *ResPlayroomRest) Reset() { *x = ResPlayroomRest{} - mi := &file_proto_Gameapi_proto_msgTypes[323] + mi := &file_proto_Gameapi_proto_msgTypes[329] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18221,7 +18564,7 @@ func (x *ResPlayroomRest) String() string { func (*ResPlayroomRest) ProtoMessage() {} func (x *ResPlayroomRest) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[323] + mi := &file_proto_Gameapi_proto_msgTypes[329] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18234,7 +18577,7 @@ func (x *ResPlayroomRest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomRest.ProtoReflect.Descriptor instead. func (*ResPlayroomRest) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{323} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{329} } func (x *ResPlayroomRest) GetCode() RES_CODE { @@ -18260,7 +18603,7 @@ type ReqPlayroomDraw struct { func (x *ReqPlayroomDraw) Reset() { *x = ReqPlayroomDraw{} - mi := &file_proto_Gameapi_proto_msgTypes[324] + mi := &file_proto_Gameapi_proto_msgTypes[330] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18272,7 +18615,7 @@ func (x *ReqPlayroomDraw) String() string { func (*ReqPlayroomDraw) ProtoMessage() {} func (x *ReqPlayroomDraw) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[324] + mi := &file_proto_Gameapi_proto_msgTypes[330] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18285,7 +18628,7 @@ func (x *ReqPlayroomDraw) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomDraw.ProtoReflect.Descriptor instead. func (*ReqPlayroomDraw) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{324} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{330} } type ResPlayroomDraw struct { @@ -18300,7 +18643,7 @@ type ResPlayroomDraw struct { func (x *ResPlayroomDraw) Reset() { *x = ResPlayroomDraw{} - mi := &file_proto_Gameapi_proto_msgTypes[325] + mi := &file_proto_Gameapi_proto_msgTypes[331] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18312,7 +18655,7 @@ func (x *ResPlayroomDraw) String() string { func (*ResPlayroomDraw) ProtoMessage() {} func (x *ResPlayroomDraw) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[325] + mi := &file_proto_Gameapi_proto_msgTypes[331] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18325,7 +18668,7 @@ func (x *ResPlayroomDraw) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomDraw.ProtoReflect.Descriptor instead. func (*ResPlayroomDraw) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{325} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{331} } func (x *ResPlayroomDraw) GetCode() RES_CODE { @@ -18360,7 +18703,7 @@ type ReqPlayroomChip struct { func (x *ReqPlayroomChip) Reset() { *x = ReqPlayroomChip{} - mi := &file_proto_Gameapi_proto_msgTypes[326] + mi := &file_proto_Gameapi_proto_msgTypes[332] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18372,7 +18715,7 @@ func (x *ReqPlayroomChip) String() string { func (*ReqPlayroomChip) ProtoMessage() {} func (x *ReqPlayroomChip) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[326] + mi := &file_proto_Gameapi_proto_msgTypes[332] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18385,7 +18728,7 @@ func (x *ReqPlayroomChip) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomChip.ProtoReflect.Descriptor instead. func (*ReqPlayroomChip) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{326} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{332} } func (x *ReqPlayroomChip) GetNum() int32 { @@ -18406,7 +18749,7 @@ type ResPlayroomChip struct { func (x *ResPlayroomChip) Reset() { *x = ResPlayroomChip{} - mi := &file_proto_Gameapi_proto_msgTypes[327] + mi := &file_proto_Gameapi_proto_msgTypes[333] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18418,7 +18761,7 @@ func (x *ResPlayroomChip) String() string { func (*ResPlayroomChip) ProtoMessage() {} func (x *ResPlayroomChip) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[327] + mi := &file_proto_Gameapi_proto_msgTypes[333] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18431,7 +18774,7 @@ func (x *ResPlayroomChip) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomChip.ProtoReflect.Descriptor instead. func (*ResPlayroomChip) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{327} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{333} } func (x *ResPlayroomChip) GetCode() RES_CODE { @@ -18458,7 +18801,7 @@ type ReqPlayroomBuyItem struct { func (x *ReqPlayroomBuyItem) Reset() { *x = ReqPlayroomBuyItem{} - mi := &file_proto_Gameapi_proto_msgTypes[328] + mi := &file_proto_Gameapi_proto_msgTypes[334] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18470,7 +18813,7 @@ func (x *ReqPlayroomBuyItem) String() string { func (*ReqPlayroomBuyItem) ProtoMessage() {} func (x *ReqPlayroomBuyItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[328] + mi := &file_proto_Gameapi_proto_msgTypes[334] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18483,7 +18826,7 @@ func (x *ReqPlayroomBuyItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomBuyItem.ProtoReflect.Descriptor instead. func (*ReqPlayroomBuyItem) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{328} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{334} } func (x *ReqPlayroomBuyItem) GetId() int32 { @@ -18504,7 +18847,7 @@ type ResPlayroomBuyItem struct { func (x *ResPlayroomBuyItem) Reset() { *x = ResPlayroomBuyItem{} - mi := &file_proto_Gameapi_proto_msgTypes[329] + mi := &file_proto_Gameapi_proto_msgTypes[335] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18516,7 +18859,7 @@ func (x *ResPlayroomBuyItem) String() string { func (*ResPlayroomBuyItem) ProtoMessage() {} func (x *ResPlayroomBuyItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[329] + mi := &file_proto_Gameapi_proto_msgTypes[335] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18529,7 +18872,7 @@ func (x *ResPlayroomBuyItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomBuyItem.ProtoReflect.Descriptor instead. func (*ResPlayroomBuyItem) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{329} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{335} } func (x *ResPlayroomBuyItem) GetCode() RES_CODE { @@ -18558,7 +18901,7 @@ type ReqPlayroomShop struct { func (x *ReqPlayroomShop) Reset() { *x = ReqPlayroomShop{} - mi := &file_proto_Gameapi_proto_msgTypes[330] + mi := &file_proto_Gameapi_proto_msgTypes[336] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18570,7 +18913,7 @@ func (x *ReqPlayroomShop) String() string { func (*ReqPlayroomShop) ProtoMessage() {} func (x *ReqPlayroomShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[330] + mi := &file_proto_Gameapi_proto_msgTypes[336] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18583,7 +18926,7 @@ func (x *ReqPlayroomShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqPlayroomShop.ProtoReflect.Descriptor instead. func (*ReqPlayroomShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{330} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{336} } func (x *ReqPlayroomShop) GetId() int32 { @@ -18611,7 +18954,7 @@ type ResPlayroomShop struct { func (x *ResPlayroomShop) Reset() { *x = ResPlayroomShop{} - mi := &file_proto_Gameapi_proto_msgTypes[331] + mi := &file_proto_Gameapi_proto_msgTypes[337] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18623,7 +18966,7 @@ func (x *ResPlayroomShop) String() string { func (*ResPlayroomShop) ProtoMessage() {} func (x *ResPlayroomShop) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[331] + mi := &file_proto_Gameapi_proto_msgTypes[337] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18636,7 +18979,7 @@ func (x *ResPlayroomShop) ProtoReflect() protoreflect.Message { // Deprecated: Use ResPlayroomShop.ProtoReflect.Descriptor instead. func (*ResPlayroomShop) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{331} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{337} } func (x *ResPlayroomShop) GetCode() RES_CODE { @@ -18662,7 +19005,7 @@ type ReqFriendTreasure struct { func (x *ReqFriendTreasure) Reset() { *x = ReqFriendTreasure{} - mi := &file_proto_Gameapi_proto_msgTypes[332] + mi := &file_proto_Gameapi_proto_msgTypes[338] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18674,7 +19017,7 @@ func (x *ReqFriendTreasure) String() string { func (*ReqFriendTreasure) ProtoMessage() {} func (x *ReqFriendTreasure) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[332] + mi := &file_proto_Gameapi_proto_msgTypes[338] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18687,7 +19030,7 @@ func (x *ReqFriendTreasure) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasure.ProtoReflect.Descriptor instead. func (*ReqFriendTreasure) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{332} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{338} } type ResFriendTreasure struct { @@ -18704,7 +19047,7 @@ type ResFriendTreasure struct { func (x *ResFriendTreasure) Reset() { *x = ResFriendTreasure{} - mi := &file_proto_Gameapi_proto_msgTypes[333] + mi := &file_proto_Gameapi_proto_msgTypes[339] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18716,7 +19059,7 @@ func (x *ResFriendTreasure) String() string { func (*ResFriendTreasure) ProtoMessage() {} func (x *ResFriendTreasure) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[333] + mi := &file_proto_Gameapi_proto_msgTypes[339] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18729,7 +19072,7 @@ func (x *ResFriendTreasure) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasure.ProtoReflect.Descriptor instead. func (*ResFriendTreasure) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{333} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{339} } func (x *ResFriendTreasure) GetStatus() int32 { @@ -18783,7 +19126,7 @@ type TreasureInfo struct { func (x *TreasureInfo) Reset() { *x = TreasureInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[334] + mi := &file_proto_Gameapi_proto_msgTypes[340] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18795,7 +19138,7 @@ func (x *TreasureInfo) String() string { func (*TreasureInfo) ProtoMessage() {} func (x *TreasureInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[334] + mi := &file_proto_Gameapi_proto_msgTypes[340] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18808,7 +19151,7 @@ func (x *TreasureInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use TreasureInfo.ProtoReflect.Descriptor instead. func (*TreasureInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{334} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{340} } func (x *TreasureInfo) GetPos() int32 { @@ -18871,7 +19214,7 @@ type ReqFriendTreasureStart struct { func (x *ReqFriendTreasureStart) Reset() { *x = ReqFriendTreasureStart{} - mi := &file_proto_Gameapi_proto_msgTypes[335] + mi := &file_proto_Gameapi_proto_msgTypes[341] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18883,7 +19226,7 @@ func (x *ReqFriendTreasureStart) String() string { func (*ReqFriendTreasureStart) ProtoMessage() {} func (x *ReqFriendTreasureStart) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[335] + mi := &file_proto_Gameapi_proto_msgTypes[341] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18896,7 +19239,7 @@ func (x *ReqFriendTreasureStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureStart.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureStart) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{335} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{341} } func (x *ReqFriendTreasureStart) GetList() []*TreasureInfo { @@ -18924,7 +19267,7 @@ type ResFriendTreasureStart struct { func (x *ResFriendTreasureStart) Reset() { *x = ResFriendTreasureStart{} - mi := &file_proto_Gameapi_proto_msgTypes[336] + mi := &file_proto_Gameapi_proto_msgTypes[342] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18936,7 +19279,7 @@ func (x *ResFriendTreasureStart) String() string { func (*ResFriendTreasureStart) ProtoMessage() {} func (x *ResFriendTreasureStart) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[336] + mi := &file_proto_Gameapi_proto_msgTypes[342] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18949,7 +19292,7 @@ func (x *ResFriendTreasureStart) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureStart.ProtoReflect.Descriptor instead. func (*ResFriendTreasureStart) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{336} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{342} } func (x *ResFriendTreasureStart) GetCode() RES_CODE { @@ -18974,7 +19317,7 @@ type ReqFriendTreasureEnd struct { func (x *ReqFriendTreasureEnd) Reset() { *x = ReqFriendTreasureEnd{} - mi := &file_proto_Gameapi_proto_msgTypes[337] + mi := &file_proto_Gameapi_proto_msgTypes[343] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -18986,7 +19329,7 @@ func (x *ReqFriendTreasureEnd) String() string { func (*ReqFriendTreasureEnd) ProtoMessage() {} func (x *ReqFriendTreasureEnd) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[337] + mi := &file_proto_Gameapi_proto_msgTypes[343] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18999,7 +19342,7 @@ func (x *ReqFriendTreasureEnd) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureEnd.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureEnd) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{337} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{343} } type ResFriendTreasureEnd struct { @@ -19013,7 +19356,7 @@ type ResFriendTreasureEnd struct { func (x *ResFriendTreasureEnd) Reset() { *x = ResFriendTreasureEnd{} - mi := &file_proto_Gameapi_proto_msgTypes[338] + mi := &file_proto_Gameapi_proto_msgTypes[344] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19025,7 +19368,7 @@ func (x *ResFriendTreasureEnd) String() string { func (*ResFriendTreasureEnd) ProtoMessage() {} func (x *ResFriendTreasureEnd) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[338] + mi := &file_proto_Gameapi_proto_msgTypes[344] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19038,7 +19381,7 @@ func (x *ResFriendTreasureEnd) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureEnd.ProtoReflect.Descriptor instead. func (*ResFriendTreasureEnd) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{338} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{344} } func (x *ResFriendTreasureEnd) GetCode() RES_CODE { @@ -19065,7 +19408,7 @@ type ReqFriendTreasureFilp struct { func (x *ReqFriendTreasureFilp) Reset() { *x = ReqFriendTreasureFilp{} - mi := &file_proto_Gameapi_proto_msgTypes[339] + mi := &file_proto_Gameapi_proto_msgTypes[345] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19077,7 +19420,7 @@ func (x *ReqFriendTreasureFilp) String() string { func (*ReqFriendTreasureFilp) ProtoMessage() {} func (x *ReqFriendTreasureFilp) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[339] + mi := &file_proto_Gameapi_proto_msgTypes[345] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19090,7 +19433,7 @@ func (x *ReqFriendTreasureFilp) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqFriendTreasureFilp.ProtoReflect.Descriptor instead. func (*ReqFriendTreasureFilp) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{339} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{345} } func (x *ReqFriendTreasureFilp) GetPos() int32 { @@ -19111,7 +19454,7 @@ type ResFriendTreasureFilp struct { func (x *ResFriendTreasureFilp) Reset() { *x = ResFriendTreasureFilp{} - mi := &file_proto_Gameapi_proto_msgTypes[340] + mi := &file_proto_Gameapi_proto_msgTypes[346] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19123,7 +19466,7 @@ func (x *ResFriendTreasureFilp) String() string { func (*ResFriendTreasureFilp) ProtoMessage() {} func (x *ResFriendTreasureFilp) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[340] + mi := &file_proto_Gameapi_proto_msgTypes[346] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19136,7 +19479,7 @@ func (x *ResFriendTreasureFilp) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureFilp.ProtoReflect.Descriptor instead. func (*ResFriendTreasureFilp) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{340} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{346} } func (x *ResFriendTreasureFilp) GetCode() RES_CODE { @@ -19163,7 +19506,7 @@ type ResFriendTreasureStar struct { func (x *ResFriendTreasureStar) Reset() { *x = ResFriendTreasureStar{} - mi := &file_proto_Gameapi_proto_msgTypes[341] + mi := &file_proto_Gameapi_proto_msgTypes[347] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19175,7 +19518,7 @@ func (x *ResFriendTreasureStar) String() string { func (*ResFriendTreasureStar) ProtoMessage() {} func (x *ResFriendTreasureStar) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[341] + mi := &file_proto_Gameapi_proto_msgTypes[347] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19188,7 +19531,7 @@ func (x *ResFriendTreasureStar) ProtoReflect() protoreflect.Message { // Deprecated: Use ResFriendTreasureStar.ProtoReflect.Descriptor instead. func (*ResFriendTreasureStar) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{341} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{347} } func (x *ResFriendTreasureStar) GetStar() int32 { @@ -19209,7 +19552,7 @@ type ReqKafkaLog struct { func (x *ReqKafkaLog) Reset() { *x = ReqKafkaLog{} - mi := &file_proto_Gameapi_proto_msgTypes[342] + mi := &file_proto_Gameapi_proto_msgTypes[348] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19221,7 +19564,7 @@ func (x *ReqKafkaLog) String() string { func (*ReqKafkaLog) ProtoMessage() {} func (x *ReqKafkaLog) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[342] + mi := &file_proto_Gameapi_proto_msgTypes[348] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19234,7 +19577,7 @@ func (x *ReqKafkaLog) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqKafkaLog.ProtoReflect.Descriptor instead. func (*ReqKafkaLog) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{342} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{348} } func (x *ReqKafkaLog) GetEvent() string { @@ -19251,6 +19594,246 @@ func (x *ReqKafkaLog) GetData() string { return "" } +type ReqCollectInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ReqCollectInfo) Reset() { + *x = ReqCollectInfo{} + mi := &file_proto_Gameapi_proto_msgTypes[349] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqCollectInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqCollectInfo) ProtoMessage() {} + +func (x *ReqCollectInfo) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[349] + 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 ReqCollectInfo.ProtoReflect.Descriptor instead. +func (*ReqCollectInfo) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{349} +} + +type ResCollectInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []int32 `protobuf:"varint,1,rep,packed,name=Id,proto3" json:"Id,omitempty"` // [1,10,19] + Items []*CollectItem `protobuf:"bytes,2,rep,name=Items,proto3" json:"Items,omitempty"` // 领奖道具 +} + +func (x *ResCollectInfo) Reset() { + *x = ResCollectInfo{} + mi := &file_proto_Gameapi_proto_msgTypes[350] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResCollectInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResCollectInfo) ProtoMessage() {} + +func (x *ResCollectInfo) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[350] + 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 ResCollectInfo.ProtoReflect.Descriptor instead. +func (*ResCollectInfo) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{350} +} + +func (x *ResCollectInfo) GetId() []int32 { + if x != nil { + return x.Id + } + return nil +} + +func (x *ResCollectInfo) GetItems() []*CollectItem { + if x != nil { + return x.Items + } + return nil +} + +type CollectItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 索引 + Items []*ItemInfo `protobuf:"bytes,2,rep,name=Items,proto3" json:"Items,omitempty"` // 领奖道具 +} + +func (x *CollectItem) Reset() { + *x = CollectItem{} + mi := &file_proto_Gameapi_proto_msgTypes[351] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CollectItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CollectItem) ProtoMessage() {} + +func (x *CollectItem) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[351] + 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 CollectItem.ProtoReflect.Descriptor instead. +func (*CollectItem) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{351} +} + +func (x *CollectItem) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *CollectItem) GetItems() []*ItemInfo { + if x != nil { + return x.Items + } + return nil +} + +type ReqCollect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"` // 领奖id +} + +func (x *ReqCollect) Reset() { + *x = ReqCollect{} + mi := &file_proto_Gameapi_proto_msgTypes[352] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReqCollect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReqCollect) ProtoMessage() {} + +func (x *ReqCollect) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[352] + 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 ReqCollect.ProtoReflect.Descriptor instead. +func (*ReqCollect) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{352} +} + +func (x *ReqCollect) GetId() int32 { + if x != nil { + return x.Id + } + return 0 +} + +type ResCollect 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 *ResCollect) Reset() { + *x = ResCollect{} + mi := &file_proto_Gameapi_proto_msgTypes[353] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResCollect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResCollect) ProtoMessage() {} + +func (x *ResCollect) ProtoReflect() protoreflect.Message { + mi := &file_proto_Gameapi_proto_msgTypes[353] + 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 ResCollect.ProtoReflect.Descriptor instead. +func (*ResCollect) Descriptor() ([]byte, []int) { + return file_proto_Gameapi_proto_rawDescGZIP(), []int{353} +} + +func (x *ResCollect) GetCode() RES_CODE { + if x != nil { + return x.Code + } + return RES_CODE_FAIL +} + +func (x *ResCollect) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + // -------------------后台管理------------------- type AdminReq struct { state protoimpl.MessageState @@ -19263,7 +19846,7 @@ type AdminReq struct { func (x *AdminReq) Reset() { *x = AdminReq{} - mi := &file_proto_Gameapi_proto_msgTypes[343] + mi := &file_proto_Gameapi_proto_msgTypes[354] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19275,7 +19858,7 @@ func (x *AdminReq) String() string { func (*AdminReq) ProtoMessage() {} func (x *AdminReq) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[343] + mi := &file_proto_Gameapi_proto_msgTypes[354] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19288,7 +19871,7 @@ func (x *AdminReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminReq.ProtoReflect.Descriptor instead. func (*AdminReq) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{343} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{354} } func (x *AdminReq) GetFunc() string { @@ -19316,7 +19899,7 @@ type AdminRes struct { func (x *AdminRes) Reset() { *x = AdminRes{} - mi := &file_proto_Gameapi_proto_msgTypes[344] + mi := &file_proto_Gameapi_proto_msgTypes[355] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19328,7 +19911,7 @@ func (x *AdminRes) String() string { func (*AdminRes) ProtoMessage() {} func (x *AdminRes) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[344] + mi := &file_proto_Gameapi_proto_msgTypes[355] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19341,7 +19924,7 @@ func (x *AdminRes) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminRes.ProtoReflect.Descriptor instead. func (*AdminRes) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{344} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{355} } func (x *AdminRes) GetFunc() string { @@ -19368,7 +19951,7 @@ type ReqAdminInfo struct { func (x *ReqAdminInfo) Reset() { *x = ReqAdminInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[345] + mi := &file_proto_Gameapi_proto_msgTypes[356] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19380,7 +19963,7 @@ func (x *ReqAdminInfo) String() string { func (*ReqAdminInfo) ProtoMessage() {} func (x *ReqAdminInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[345] + mi := &file_proto_Gameapi_proto_msgTypes[356] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19393,7 +19976,7 @@ func (x *ReqAdminInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAdminInfo.ProtoReflect.Descriptor instead. func (*ReqAdminInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{345} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{356} } func (x *ReqAdminInfo) GetUid() int64 { @@ -19411,7 +19994,7 @@ type ReqReloadServerMail struct { func (x *ReqReloadServerMail) Reset() { *x = ReqReloadServerMail{} - mi := &file_proto_Gameapi_proto_msgTypes[346] + mi := &file_proto_Gameapi_proto_msgTypes[357] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19423,7 +20006,7 @@ func (x *ReqReloadServerMail) String() string { func (*ReqReloadServerMail) ProtoMessage() {} func (x *ReqReloadServerMail) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[346] + mi := &file_proto_Gameapi_proto_msgTypes[357] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19436,7 +20019,7 @@ func (x *ReqReloadServerMail) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqReloadServerMail.ProtoReflect.Descriptor instead. func (*ReqReloadServerMail) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{346} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{357} } type ReqServerInfo struct { @@ -19447,7 +20030,7 @@ type ReqServerInfo struct { func (x *ReqServerInfo) Reset() { *x = ReqServerInfo{} - mi := &file_proto_Gameapi_proto_msgTypes[347] + mi := &file_proto_Gameapi_proto_msgTypes[358] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19459,7 +20042,7 @@ func (x *ReqServerInfo) String() string { func (*ReqServerInfo) ProtoMessage() {} func (x *ReqServerInfo) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[347] + mi := &file_proto_Gameapi_proto_msgTypes[358] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19472,7 +20055,7 @@ func (x *ReqServerInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqServerInfo.ProtoReflect.Descriptor instead. func (*ReqServerInfo) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{347} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{358} } type ReqReload struct { @@ -19483,7 +20066,7 @@ type ReqReload struct { func (x *ReqReload) Reset() { *x = ReqReload{} - mi := &file_proto_Gameapi_proto_msgTypes[348] + mi := &file_proto_Gameapi_proto_msgTypes[359] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19495,7 +20078,7 @@ func (x *ReqReload) String() string { func (*ReqReload) ProtoMessage() {} func (x *ReqReload) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[348] + mi := &file_proto_Gameapi_proto_msgTypes[359] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19508,7 +20091,7 @@ func (x *ReqReload) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqReload.ProtoReflect.Descriptor instead. func (*ReqReload) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{348} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{359} } type ReqAdminGm struct { @@ -19522,7 +20105,7 @@ type ReqAdminGm struct { func (x *ReqAdminGm) Reset() { *x = ReqAdminGm{} - mi := &file_proto_Gameapi_proto_msgTypes[349] + mi := &file_proto_Gameapi_proto_msgTypes[360] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -19534,7 +20117,7 @@ func (x *ReqAdminGm) String() string { func (*ReqAdminGm) ProtoMessage() {} func (x *ReqAdminGm) ProtoReflect() protoreflect.Message { - mi := &file_proto_Gameapi_proto_msgTypes[349] + mi := &file_proto_Gameapi_proto_msgTypes[360] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -19547,7 +20130,7 @@ func (x *ReqAdminGm) ProtoReflect() protoreflect.Message { // Deprecated: Use ReqAdminGm.ProtoReflect.Descriptor instead. func (*ReqAdminGm) Descriptor() ([]byte, []int) { - return file_proto_Gameapi_proto_rawDescGZIP(), []int{349} + return file_proto_Gameapi_proto_rawDescGZIP(), []int{360} } func (x *ReqAdminGm) GetUid() int64 { @@ -19846,217 +20429,241 @@ var file_proto_Gameapi_proto_rawDesc = []byte{ 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, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xb5, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 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, 0x49, 0x0a, 0x0a, 0x6d, 0x43, 0x68, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, + 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x71, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 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, 0x4b, 0x0a, + 0x0f, 0x52, 0x65, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 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, 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, 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, - 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, 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, 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, + 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, 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, 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, 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, 0xcf, 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, 0x12, 0x31, 0x0a, 0x09, 0x45, 0x6d, 0x6f, 0x6a, - 0x69, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x09, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x20, 0x0a, 0x0a, 0x52, + 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, 0xca, + 0x03, 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, 0x12, 0x31, 0x0a, + 0x09, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, + 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x3c, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x0b, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x1a, 0x3b, + 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, 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, @@ -20088,43 +20695,56 @@ var file_proto_Gameapi_proto_rawDesc = []byte{ 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, + 0x73, 0x49, 0x64, 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, 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, 0x2a, 0x0a, 0x14, 0x52, 0x65, 0x67, + 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x50, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x48, 0x61, 0x6e, 0x64, + 0x62, 0x6f, 0x6f, 0x6b, 0x41, 0x6c, 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, 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, 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, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x27, 0x0a, 0x0b, 0x52, 0x65, 0x71, + 0x44, 0x65, 0x6c, 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, 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x44, 0x65, 0x6c, 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, 0x27, 0x0a, 0x0b, 0x52, - 0x65, 0x71, 0x44, 0x65, 0x6c, 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, 0x22, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x44, 0x65, 0x6c, 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, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x2b, 0x0a, 0x0f, 0x52, + 0x65, 0x71, 0x53, 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4e, 0x75, 0x6d, 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, 0x23, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x53, + 0x65, 0x6c, 0x6c, 0x43, 0x68, 0x65, 0x73, 0x73, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x4e, + 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 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, @@ -20485,1220 +21105,1238 @@ var file_proto_Gameapi_proto_rawDesc = []byte{ 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, 0x45, 0x6d, - 0x6f, 0x6a, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb4, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x45, - 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x09, 0x45, 0x6d, 0x6f, 0x6a, - 0x69, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x74, 0x75, - 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x09, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x05, 0x53, - 0x65, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x75, 0x74, - 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x49, 0x6e, - 0x66, 0x6f, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x53, - 0x65, 0x74, 0x49, 0x64, 0x1a, 0x38, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x49, 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, 0x4f, - 0x0a, 0x09, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x41, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0x31, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, 0x47, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x6f, 0x6a, - 0x69, 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, + 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x4f, 0x0a, 0x09, 0x45, 0x6d, 0x6f, 0x6a, 0x69, + 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, 0x12, 0x18, + 0x0a, 0x07, 0x41, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x07, 0x41, 0x64, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x31, 0x0a, 0x0b, 0x52, 0x65, 0x71, 0x53, + 0x65, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, 0x14, 0x0a, - 0x12, 0x52, 0x65, 0x71, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0x58, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x65, - 0x72, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, - 0x4e, 0x75, 0x6d, 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, 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, 0x7c, 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, 0x12, - 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 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, 0xd9, 0x02, 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, 0x12, 0x3a, 0x0a, 0x05, - 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 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, 0x2e, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x05, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x1a, 0x38, 0x0a, 0x0a, 0x45, 0x6d, 0x6f, 0x6a, - 0x69, 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, 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, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x22, 0x47, 0x0a, 0x0b, 0x52, + 0x65, 0x73, 0x53, 0x65, 0x74, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, 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, + 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, 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, + 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, 0x14, 0x0a, 0x12, 0x52, 0x65, 0x71, 0x46, 0x61, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x58, 0x0a, 0x12, + 0x52, 0x65, 0x73, 0x46, 0x61, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, + 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 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, 0x7c, 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, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x4e, 0x75, 0x6d, 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, + 0xd9, 0x02, 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, 0x12, 0x3a, 0x0a, 0x05, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 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, 0x2e, + 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x45, 0x6d, 0x6f, 0x6a, + 0x69, 0x1a, 0x38, 0x0a, 0x0a, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, 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, 0xa7, 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, 0x12, 0x16, 0x0a, + 0x06, 0x55, 0x70, 0x76, 0x6f, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x55, + 0x70, 0x76, 0x6f, 0x74, 0x65, 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, 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, + 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, 0x23, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x54, 0x4c, 0x55, 0x70, 0x76, 0x6f, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x4c, 0x55, 0x70, 0x76, 0x6f, 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, 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, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 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, 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, + 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, 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, + 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, 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, 0x03, 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, 0x03, 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, 0x29, 0x0a, 0x17, 0x52, 0x65, 0x71, 0x41, 0x75, 0x74, 0x6f, - 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x32, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x22, 0x39, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x32, 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, + 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, 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, + 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, 0x03, 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, 0x03, 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, 0x29, 0x0a, 0x17, 0x52, 0x65, + 0x71, 0x41, 0x75, 0x74, 0x6f, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x39, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x41, 0x75, 0x74, 0x6f, + 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x32, + 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, - 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, + 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, 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, + 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, 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, 0x95, 0x06, 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, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, - 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4a, 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, - 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x0f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x2e, - 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x50, 0x68, 0x79, 0x73, - 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x68, 0x79, - 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 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, 0x1a, 0x3d, 0x0a, - 0x0f, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 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, 0xb0, 0x02, 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, 0x12, 0x4c, 0x0a, - 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2c, 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, - 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 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, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, - 0x67, 0x79, 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, 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, 0xcf, 0x05, 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, 0x12, 0x3a, 0x0a, 0x05, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x18, 0x0d, 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, 0x45, - 0x6d, 0x6f, 0x6a, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x45, 0x6d, 0x6f, 0x6a, 0x69, - 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, 0x1a, 0x38, 0x0a, 0x0a, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, + 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, 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, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, + 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, 0x95, 0x06, 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, 0x12, 0x18, 0x0a, 0x07, 0x4a, + 0x61, 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4a, 0x61, + 0x63, 0x6b, 0x70, 0x6f, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, + 0x6f, 0x67, 0x79, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x75, 0x74, 0x6f, + 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, + 0x2e, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 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, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, + 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, - 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, 0x33, 0x0a, 0x0f, 0x52, 0x65, 0x71, 0x50, 0x6c, 0x61, 0x79, - 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, 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, 0x4b, 0x0a, 0x0f, 0x52, 0x65, - 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x26, 0x0a, + 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, 0xb0, 0x02, 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, 0x12, 0x4c, 0x0a, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 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, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x68, 0x79, 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, + 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, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x68, 0x79, + 0x73, 0x69, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 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, 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, 0xcf, 0x05, 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, 0x12, 0x3a, 0x0a, 0x05, 0x45, 0x6d, 0x6f, + 0x6a, 0x69, 0x18, 0x0d, 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, 0x45, 0x6d, 0x6f, 0x6a, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, + 0x45, 0x6d, 0x6f, 0x6a, 0x69, 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, 0x1a, 0x38, 0x0a, 0x0a, 0x45, 0x6d, 0x6f, + 0x6a, 0x69, 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, 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, + 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, 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, 0x33, 0x0a, 0x0f, 0x52, 0x65, + 0x71, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, 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, + 0x4b, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 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, 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, 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, - 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, + 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, 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, 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, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x71, 0x52, 0x65, - 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x61, 0x69, 0x6c, 0x22, 0x0f, - 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, - 0x0b, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x38, 0x0a, 0x0a, - 0x52, 0x65, 0x71, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2a, 0xa4, 0x08, 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, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x61, 0x72, 0x64, - 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x10, 0x34, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x42, 0x10, 0x35, 0x12, 0x10, 0x0a, 0x0c, 0x50, - 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x10, 0x36, 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, + 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, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4d, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x75, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, + 0x2e, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, + 0x65, 0x6d, 0x73, 0x22, 0x47, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x49, 0x74, + 0x65, 0x6d, 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, 0x22, 0x1c, 0x0a, 0x0a, + 0x52, 0x65, 0x71, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x46, 0x0a, 0x0a, 0x52, 0x65, + 0x73, 0x43, 0x6f, 0x6c, 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, 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, 0x15, 0x0a, 0x13, + 0x52, 0x65, 0x71, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, + 0x61, 0x69, 0x6c, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x52, 0x65, 0x6c, 0x6f, 0x61, + 0x64, 0x22, 0x38, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x6d, 0x12, + 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x55, 0x69, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x2a, 0xe8, 0x08, 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, 0x12, 0x19, 0x0a, + 0x15, 0x43, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, + 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x34, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x6c, 0x6c, 0x43, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x48, 0x42, 0x10, 0x35, + 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x79, 0x72, 0x6f, 0x6f, 0x6d, 0x53, 0x68, 0x6f, 0x70, + 0x10, 0x36, 0x12, 0x15, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x62, 0x6f, 0x6f, 0x6b, 0x41, 0x6c, + 0x6c, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x10, 0x37, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x4c, 0x55, + 0x70, 0x76, 0x6f, 0x74, 0x65, 0x10, 0x38, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x10, 0x39, 0x12, 0x10, 0x0a, 0x0c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, + 0x47, 0x69, 0x66, 0x74, 0x10, 0x3a, 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 ( @@ -21714,7 +22352,7 @@ func file_proto_Gameapi_proto_rawDescGZIP() []byte { } var file_proto_Gameapi_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_proto_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 401) +var file_proto_Gameapi_proto_msgTypes = make([]protoimpl.MessageInfo, 413) var file_proto_Gameapi_proto_goTypes = []any{ (ITEM_POP_LABEL)(0), // 0: tutorial.ITEM_POP_LABEL (HANDLE_TYPE)(0), // 1: tutorial.HANDLE_TYPE @@ -21758,578 +22396,596 @@ var file_proto_Gameapi_proto_goTypes = []any{ (*ResUpdatePlayerChessData)(nil), // 39: tutorial.ResUpdatePlayerChessData (*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 + (*ReqUpgradeChess)(nil), // 42: tutorial.ReqUpgradeChess + (*ResUpgradeChess)(nil), // 43: tutorial.ResUpgradeChess + (*ReqGetChessFromBuff)(nil), // 44: tutorial.ReqGetChessFromBuff + (*ResGetChessFromBuff)(nil), // 45: tutorial.ResGetChessFromBuff + (*ReqChessEx)(nil), // 46: tutorial.ReqChessEx + (*ResChessEx)(nil), // 47: tutorial.ResChessEx + (*ReqSourceChest)(nil), // 48: tutorial.ReqSourceChest + (*ResSourceChest)(nil), // 49: tutorial.ResSourceChest + (*ReqPlayroomOutline)(nil), // 50: tutorial.ReqPlayroomOutline + (*ResPlayroomOutline)(nil), // 51: tutorial.ResPlayroomOutline + (*ChessBag)(nil), // 52: tutorial.ChessBag + (*ChessBagGrid)(nil), // 53: tutorial.ChessBagGrid + (*ReqPutChessInBag)(nil), // 54: tutorial.ReqPutChessInBag + (*ResPutChessInBag)(nil), // 55: tutorial.ResPutChessInBag + (*ReqTakeChessOutBag)(nil), // 56: tutorial.ReqTakeChessOutBag + (*ResTakeChessOutBag)(nil), // 57: tutorial.ResTakeChessOutBag + (*ReqBuyChessBagGrid)(nil), // 58: tutorial.ReqBuyChessBagGrid + (*ResBuyChessBagGrid)(nil), // 59: tutorial.ResBuyChessBagGrid + (*ReqPlayerProfileData)(nil), // 60: tutorial.ReqPlayerProfileData + (*ResPlayerProfileData)(nil), // 61: tutorial.ResPlayerProfileData + (*ReqPlayerBriefProfileData)(nil), // 62: tutorial.ReqPlayerBriefProfileData + (*ResPlayerBriefProfileData)(nil), // 63: tutorial.ResPlayerBriefProfileData + (*ReqSetEnergyMul)(nil), // 64: tutorial.ReqSetEnergyMul + (*ResSetEnergyMul)(nil), // 65: tutorial.ResSetEnergyMul + (*BaseInfo)(nil), // 66: tutorial.BaseInfo + (*ReqUserInfo)(nil), // 67: tutorial.ReqUserInfo + (*UserInfo)(nil), // 68: tutorial.UserInfo + (*ReqSetName)(nil), // 69: tutorial.ReqSetName + (*ResSetName)(nil), // 70: tutorial.ResSetName + (*ReqSetPetName)(nil), // 71: tutorial.ReqSetPetName + (*ResSetPetName)(nil), // 72: tutorial.ResSetPetName + (*ReqBuyEnergy)(nil), // 73: tutorial.ReqBuyEnergy + (*ResBuyEnergy)(nil), // 74: tutorial.ResBuyEnergy + (*ReqGetEnergyByAD)(nil), // 75: tutorial.ReqGetEnergyByAD + (*ResGetEnergyByAD)(nil), // 76: tutorial.ResGetEnergyByAD + (*ReqGetHandbookReward)(nil), // 77: tutorial.ReqGetHandbookReward (*ResGetHandbookReward)(nil), // 78: tutorial.ResGetHandbookReward - (*ReqRewardOrder)(nil), // 79: tutorial.ReqRewardOrder - (*ResRewardOrder)(nil), // 80: tutorial.ResRewardOrder - (*ReqDelOrder)(nil), // 81: tutorial.ReqDelOrder - (*ResDelOrder)(nil), // 82: tutorial.ResDelOrder - (*Order)(nil), // 83: tutorial.Order - (*ResOrderList)(nil), // 84: tutorial.ResOrderList - (*ResDecorateInfo)(nil), // 85: tutorial.ResDecorateInfo - (*ReqDecorate)(nil), // 86: tutorial.ReqDecorate - (*ResDecorate)(nil), // 87: tutorial.ResDecorate - (*ReqDecorateAll)(nil), // 88: tutorial.ReqDecorateAll - (*ResDecorateAll)(nil), // 89: tutorial.ResDecorateAll - (*ReqGmCommand)(nil), // 90: tutorial.ReqGmCommand - (*Card)(nil), // 91: tutorial.Card - (*ReqCardInfo)(nil), // 92: tutorial.ReqCardInfo - (*ResCardInfo)(nil), // 93: tutorial.ResCardInfo - (*ResNotifyCardTimes)(nil), // 94: tutorial.ResNotifyCardTimes - (*ReqCardSeasonFirstReward)(nil), // 95: tutorial.ReqCardSeasonFirstReward - (*ResCardSeasonFirstReward)(nil), // 96: tutorial.ResCardSeasonFirstReward - (*ReqCardHandbookReward)(nil), // 97: tutorial.ReqCardHandbookReward - (*ResCardHandbookReward)(nil), // 98: tutorial.ResCardHandbookReward - (*ReqMasterCard)(nil), // 99: tutorial.ReqMasterCard - (*ResMasterCard)(nil), // 100: tutorial.ResMasterCard - (*ReqCardCollectReward)(nil), // 101: tutorial.ReqCardCollectReward - (*ResCardCollectReward)(nil), // 102: tutorial.ResCardCollectReward - (*ReqExStarReward)(nil), // 103: tutorial.ReqExStarReward - (*ResExStarReward)(nil), // 104: tutorial.ResExStarReward - (*ReqAllCollectReward)(nil), // 105: tutorial.ReqAllCollectReward - (*ResAllCollectReward)(nil), // 106: tutorial.ResAllCollectReward - (*ReqCardGive)(nil), // 107: tutorial.ReqCardGive - (*ResCardGive)(nil), // 108: tutorial.ResCardGive - (*ReqAgreeCardGive)(nil), // 109: tutorial.ReqAgreeCardGive - (*ResAgreeCardGive)(nil), // 110: tutorial.ResAgreeCardGive - (*ReqRefuseCardGive)(nil), // 111: tutorial.ReqRefuseCardGive - (*ResRefuseCardGive)(nil), // 112: tutorial.ResRefuseCardGive - (*ReqCardSend)(nil), // 113: tutorial.ReqCardSend - (*ResCardSend)(nil), // 114: tutorial.ResCardSend - (*ReqCardExchange)(nil), // 115: tutorial.ReqCardExchange - (*ResCardExchange)(nil), // 116: tutorial.ResCardExchange - (*ReqSelectCardExchange)(nil), // 117: tutorial.ReqSelectCardExchange - (*ResSelectCardExchange)(nil), // 118: tutorial.ResSelectCardExchange - (*ReqAgreeCardExchange)(nil), // 119: tutorial.ReqAgreeCardExchange - (*ResAgreeCardExchange)(nil), // 120: tutorial.ResAgreeCardExchange - (*ReqRefuseCardSelect)(nil), // 121: tutorial.ReqRefuseCardSelect - (*ResRefuseCardSelect)(nil), // 122: tutorial.ResRefuseCardSelect - (*ReqRefuseCardExchange)(nil), // 123: tutorial.ReqRefuseCardExchange - (*ResRefuseCardExchange)(nil), // 124: tutorial.ResRefuseCardExchange - (*ReqGetFriendCard)(nil), // 125: tutorial.ReqGetFriendCard - (*ResGetFriendCard)(nil), // 126: tutorial.ResGetFriendCard - (*ReqGetGoldCard)(nil), // 127: tutorial.ReqGetGoldCard - (*ResGetGoldCard)(nil), // 128: tutorial.ResGetGoldCard - (*ReqGuideReward)(nil), // 129: tutorial.ReqGuideReward - (*ResGuideReward)(nil), // 130: tutorial.ResGuideReward - (*ResGuildInfo)(nil), // 131: tutorial.ResGuildInfo - (*ResItemPop)(nil), // 132: tutorial.ResItemPop - (*ItemInfo)(nil), // 133: tutorial.ItemInfo - (*CardPack)(nil), // 134: tutorial.CardPack - (*ResDailyTask)(nil), // 135: tutorial.ResDailyTask - (*DailyWeek)(nil), // 136: tutorial.DailyWeek - (*DailyTask)(nil), // 137: tutorial.DailyTask - (*QuestProgress)(nil), // 138: tutorial.QuestProgress - (*ReqGetDailyTaskReward)(nil), // 139: tutorial.ReqGetDailyTaskReward - (*ResGetDailyTaskReward)(nil), // 140: tutorial.ResGetDailyTaskReward - (*ReqGetDailyWeekReward)(nil), // 141: tutorial.ReqGetDailyWeekReward - (*ResGetDailyWeekReward)(nil), // 142: tutorial.ResGetDailyWeekReward - (*ReqDailyUnlock)(nil), // 143: tutorial.ReqDailyUnlock - (*ResDailyUnlock)(nil), // 144: tutorial.ResDailyUnlock - (*ResFaceInfo)(nil), // 145: tutorial.ResFaceInfo - (*FaceInfo)(nil), // 146: tutorial.FaceInfo - (*ReqSetFace)(nil), // 147: tutorial.ReqSetFace - (*ResSetFace)(nil), // 148: tutorial.ResSetFace - (*ResAvatarInfo)(nil), // 149: tutorial.ResAvatarInfo - (*AvatarInfo)(nil), // 150: tutorial.AvatarInfo - (*ReqSetAvatar)(nil), // 151: tutorial.ReqSetAvatar - (*ResSetAvatar)(nil), // 152: tutorial.ResSetAvatar - (*ReqEmojiInfo)(nil), // 153: tutorial.ReqEmojiInfo - (*ResEmojiInfo)(nil), // 154: tutorial.ResEmojiInfo - (*EmojiInfo)(nil), // 155: tutorial.EmojiInfo - (*ReqSetEmoji)(nil), // 156: tutorial.ReqSetEmoji - (*ResSetEmoji)(nil), // 157: tutorial.ResSetEmoji - (*ResSevenLogin)(nil), // 158: tutorial.ResSevenLogin - (*SevenLoginReward)(nil), // 159: tutorial.SevenLoginReward - (*ReqGetSevenLoginReward)(nil), // 160: tutorial.ReqGetSevenLoginReward - (*ResGetSevenLoginReward)(nil), // 161: tutorial.ResGetSevenLoginReward - (*ReqGetMonthLoginReward)(nil), // 162: tutorial.ReqGetMonthLoginReward - (*ResGetMonthLoginReward)(nil), // 163: tutorial.ResGetMonthLoginReward - (*ResActivity)(nil), // 164: tutorial.ResActivity - (*ActivityInfo)(nil), // 165: tutorial.ActivityInfo - (*ReqLimitEvent)(nil), // 166: tutorial.ReqLimitEvent - (*ResLimitEvent)(nil), // 167: tutorial.ResLimitEvent - (*ResLimitEventProgress)(nil), // 168: tutorial.ResLimitEventProgress - (*ReqLimitEventReward)(nil), // 169: tutorial.ReqLimitEventReward - (*ResLimitEventReward)(nil), // 170: tutorial.ResLimitEventReward - (*ReqSelectLimitEvent)(nil), // 171: tutorial.ReqSelectLimitEvent - (*ResSelectLimitEvent)(nil), // 172: tutorial.ResSelectLimitEvent - (*LimitEvent)(nil), // 173: tutorial.LimitEvent - (*LimitEventNotify)(nil), // 174: tutorial.LimitEventNotify - (*ReqLimitSenceReward)(nil), // 175: tutorial.ReqLimitSenceReward - (*ResLimitSenceReward)(nil), // 176: tutorial.ResLimitSenceReward - (*ResChessRainReward)(nil), // 177: tutorial.ResChessRainReward - (*ReqFastProduceInfo)(nil), // 178: tutorial.ReqFastProduceInfo - (*ResFastProduceInfo)(nil), // 179: tutorial.ResFastProduceInfo - (*ReqFastProduceReward)(nil), // 180: tutorial.ReqFastProduceReward - (*ResFastProduceReward)(nil), // 181: tutorial.ResFastProduceReward - (*ReqSearchPlayer)(nil), // 182: tutorial.ReqSearchPlayer - (*ResSearchPlayer)(nil), // 183: tutorial.ResSearchPlayer - (*ResPlayerSimple)(nil), // 184: tutorial.ResPlayerSimple - (*ResPlayerRank)(nil), // 185: tutorial.ResPlayerRank - (*ResFriendLog)(nil), // 186: tutorial.ResFriendLog - (*NotifyFriendLog)(nil), // 187: tutorial.NotifyFriendLog - (*NotifyFriendCard)(nil), // 188: tutorial.NotifyFriendCard - (*ResFriendCard)(nil), // 189: tutorial.ResFriendCard - (*ReqKv)(nil), // 190: tutorial.ReqKv - (*ResKv)(nil), // 191: tutorial.ResKv - (*ReqFriendRecommend)(nil), // 192: tutorial.ReqFriendRecommend - (*ResFriendRecommend)(nil), // 193: tutorial.ResFriendRecommend - (*ReqFriendIgnore)(nil), // 194: tutorial.ReqFriendIgnore - (*ResFriendIgnore)(nil), // 195: tutorial.ResFriendIgnore - (*ReqFriendList)(nil), // 196: tutorial.ReqFriendList - (*ResFriendList)(nil), // 197: tutorial.ResFriendList - (*ReqFriendApply)(nil), // 198: tutorial.ReqFriendApply - (*ResFriendApply)(nil), // 199: tutorial.ResFriendApply - (*ResFriendApplyInfo)(nil), // 200: tutorial.ResFriendApplyInfo - (*ReqFriendCardMsg)(nil), // 201: tutorial.ReqFriendCardMsg - (*ResFriendCardMsg)(nil), // 202: tutorial.ResFriendCardMsg - (*ReqFriendTimeLine)(nil), // 203: tutorial.ReqFriendTimeLine - (*ResFriendTimeLine)(nil), // 204: tutorial.ResFriendTimeLine - (*ResFriendApplyNotify)(nil), // 205: tutorial.ResFriendApplyNotify - (*ReqApplyFriend)(nil), // 206: tutorial.ReqApplyFriend - (*ResApplyFriend)(nil), // 207: tutorial.ResApplyFriend - (*ReqAgreeFriend)(nil), // 208: tutorial.ReqAgreeFriend - (*ResAgreeFriend)(nil), // 209: tutorial.ResAgreeFriend - (*ReqRefuseFriend)(nil), // 210: tutorial.ReqRefuseFriend - (*ResRefuseFriend)(nil), // 211: tutorial.ResRefuseFriend - (*ReqDelFriend)(nil), // 212: tutorial.ReqDelFriend - (*ResDelFriend)(nil), // 213: tutorial.ResDelFriend - (*ReqRank)(nil), // 214: tutorial.ReqRank - (*ResRank)(nil), // 215: tutorial.ResRank - (*ReqMailList)(nil), // 216: tutorial.ReqMailList - (*ResMailList)(nil), // 217: tutorial.ResMailList - (*MailInfo)(nil), // 218: tutorial.MailInfo - (*MailNotify)(nil), // 219: tutorial.MailNotify - (*ReqReadMail)(nil), // 220: tutorial.ReqReadMail - (*ResReadMail)(nil), // 221: tutorial.ResReadMail - (*ReqGetMailReward)(nil), // 222: tutorial.ReqGetMailReward - (*ResGetMailReward)(nil), // 223: tutorial.ResGetMailReward - (*ReqDeleteMail)(nil), // 224: tutorial.ReqDeleteMail - (*ResDeleteMail)(nil), // 225: tutorial.ResDeleteMail - (*ResCharge)(nil), // 226: tutorial.ResCharge - (*ResSpecialShop)(nil), // 227: tutorial.ResSpecialShop - (*ResChessShop)(nil), // 228: tutorial.ResChessShop - (*ReqFreeShop)(nil), // 229: tutorial.ReqFreeShop - (*ResFreeShop)(nil), // 230: tutorial.ResFreeShop - (*ReqBuyChessShop)(nil), // 231: tutorial.ReqBuyChessShop - (*ResBuyChessShop)(nil), // 232: tutorial.ResBuyChessShop - (*ReqBuyChessShop2)(nil), // 233: tutorial.ReqBuyChessShop2 - (*ResBuyChessShop2)(nil), // 234: tutorial.ResBuyChessShop2 - (*ReqRefreshChessShop)(nil), // 235: tutorial.ReqRefreshChessShop - (*ResRefreshChessShop)(nil), // 236: tutorial.ResRefreshChessShop - (*ReqEndless)(nil), // 237: tutorial.ReqEndless - (*ResEndless)(nil), // 238: tutorial.ResEndless - (*ResEndlessInfo)(nil), // 239: tutorial.ResEndlessInfo - (*ReqEndlessReward)(nil), // 240: tutorial.ReqEndlessReward - (*ResEndlessReward)(nil), // 241: tutorial.ResEndlessReward - (*ResPiggyBank)(nil), // 242: tutorial.ResPiggyBank - (*ReqPiggyBankReward)(nil), // 243: tutorial.ReqPiggyBankReward - (*ResPiggyBankReward)(nil), // 244: tutorial.ResPiggyBankReward - (*ReqCreateOrderSn)(nil), // 245: tutorial.ReqCreateOrderSn - (*ResCreateOrderSn)(nil), // 246: tutorial.ResCreateOrderSn - (*ReqShippingOrder)(nil), // 247: tutorial.ReqShippingOrder - (*ResShippingOrder)(nil), // 248: tutorial.ResShippingOrder - (*ReqChampship)(nil), // 249: tutorial.ReqChampship - (*ResChampship)(nil), // 250: tutorial.ResChampship - (*ReqChampshipReward)(nil), // 251: tutorial.ReqChampshipReward - (*ResChampshipReward)(nil), // 252: tutorial.ResChampshipReward - (*ReqChampshipRankReward)(nil), // 253: tutorial.ReqChampshipRankReward - (*ResChampshipRankReward)(nil), // 254: tutorial.ResChampshipRankReward - (*ReqChampshipRank)(nil), // 255: tutorial.ReqChampshipRank - (*ResChampshipRank)(nil), // 256: tutorial.ResChampshipRank - (*ReqChampshipPreRank)(nil), // 257: tutorial.ReqChampshipPreRank - (*ResChampshipPreRank)(nil), // 258: tutorial.ResChampshipPreRank - (*ResNotifyCard)(nil), // 259: tutorial.ResNotifyCard - (*ReqSetFacebookUrl)(nil), // 260: tutorial.ReqSetFacebookUrl - (*ResSetFacebookUrl)(nil), // 261: tutorial.ResSetFacebookUrl - (*ReqInviteFriendData)(nil), // 262: tutorial.ReqInviteFriendData - (*ResInviteFriendData)(nil), // 263: tutorial.ResInviteFriendData - (*ReqSelfInvited)(nil), // 264: tutorial.ReqSelfInvited - (*ResSelfInvited)(nil), // 265: tutorial.ResSelfInvited - (*NotifyInvitedSuccess)(nil), // 266: tutorial.NotifyInvitedSuccess - (*ReqGetInviteReward)(nil), // 267: tutorial.ReqGetInviteReward - (*ResGetInviteReward)(nil), // 268: tutorial.ResGetInviteReward - (*ReqAutoAddInviteFriend)(nil), // 269: tutorial.ReqAutoAddInviteFriend - (*ResAutoAddInviteFriend)(nil), // 270: tutorial.ResAutoAddInviteFriend - (*ReqAutoAddInviteFriend2)(nil), // 271: tutorial.ReqAutoAddInviteFriend2 - (*ResAutoAddInviteFriend2)(nil), // 272: tutorial.ResAutoAddInviteFriend2 - (*ReqMining)(nil), // 273: tutorial.ReqMining - (*ResMining)(nil), // 274: tutorial.ResMining - (*ReqMiningTake)(nil), // 275: tutorial.ReqMiningTake - (*ResMiningTake)(nil), // 276: tutorial.ResMiningTake - (*ReqMiningReward)(nil), // 277: tutorial.ReqMiningReward - (*ResMiningReward)(nil), // 278: tutorial.ResMiningReward - (*ResActRed)(nil), // 279: tutorial.ResActRed - (*NotifyActRed)(nil), // 280: tutorial.NotifyActRed - (*ActivityNotify)(nil), // 281: tutorial.ActivityNotify - (*ResItem)(nil), // 282: tutorial.ResItem - (*ItemNotify)(nil), // 283: tutorial.ItemNotify - (*ReqGuessColor)(nil), // 284: tutorial.ReqGuessColor - (*ResGuessColor)(nil), // 285: tutorial.ResGuessColor - (*Opponent)(nil), // 286: tutorial.opponent - (*ReqGuessColorTake)(nil), // 287: tutorial.ReqGuessColorTake - (*ResGuessColorTake)(nil), // 288: tutorial.ResGuessColorTake - (*ReqGuessColorReward)(nil), // 289: tutorial.ReqGuessColorReward - (*ResGuessColorReward)(nil), // 290: tutorial.ResGuessColorReward - (*ReqRace)(nil), // 291: tutorial.ReqRace - (*ResRace)(nil), // 292: tutorial.ResRace - (*Raceopponent)(nil), // 293: tutorial.raceopponent - (*ReqRaceStart)(nil), // 294: tutorial.ReqRaceStart - (*ResRaceStart)(nil), // 295: tutorial.ResRaceStart - (*ReqRaceReward)(nil), // 296: tutorial.ReqRaceReward - (*ResRaceReward)(nil), // 297: tutorial.ResRaceReward - (*ReqPlayroom)(nil), // 298: tutorial.ReqPlayroom - (*ResPlayroom)(nil), // 299: tutorial.ResPlayroom - (*ReqPlayroomWrokOutline)(nil), // 300: tutorial.ReqPlayroomWrokOutline - (*ResPlayroomWrokOutline)(nil), // 301: tutorial.ResPlayroomWrokOutline - (*NofiPlayroomStatus)(nil), // 302: tutorial.NofiPlayroomStatus - (*NotifyPlayroomWork)(nil), // 303: tutorial.NotifyPlayroomWork - (*NotifyPlayroomLose)(nil), // 304: tutorial.NotifyPlayroomLose - (*NotifyPlayroomMood)(nil), // 305: tutorial.NotifyPlayroomMood - (*FriendRoom)(nil), // 306: tutorial.FriendRoom - (*RoomOpponent)(nil), // 307: tutorial.RoomOpponent - (*ReqPlayroomInfo)(nil), // 308: tutorial.ReqPlayroomInfo - (*ResPlayroomInfo)(nil), // 309: tutorial.ResPlayroomInfo - (*ReqPlayroomFlip)(nil), // 310: tutorial.ReqPlayroomFlip - (*ResPlayroomFlip)(nil), // 311: tutorial.ResPlayroomFlip - (*ReqPlayroomFlipReward)(nil), // 312: tutorial.ReqPlayroomFlipReward - (*ResPlayroomFlipReward)(nil), // 313: tutorial.ResPlayroomFlipReward - (*ReqPlayroomGame)(nil), // 314: tutorial.ReqPlayroomGame - (*ResPlayroomGame)(nil), // 315: tutorial.ResPlayroomGame - (*ReqPlayroomInteract)(nil), // 316: tutorial.ReqPlayroomInteract - (*ResPlayroomInteract)(nil), // 317: tutorial.ResPlayroomInteract - (*ReqPlayroomSetRoom)(nil), // 318: tutorial.ReqPlayroomSetRoom - (*ResPlayroomSetRoom)(nil), // 319: tutorial.ResPlayroomSetRoom - (*ReqPlayroomSelectReward)(nil), // 320: tutorial.ReqPlayroomSelectReward - (*ResPlayroomSelectReward)(nil), // 321: tutorial.ResPlayroomSelectReward - (*ReqPlayroomLose)(nil), // 322: tutorial.ReqPlayroomLose - (*ResPlayroomLose)(nil), // 323: tutorial.ResPlayroomLose - (*ReqPlayroomWork)(nil), // 324: tutorial.ReqPlayroomWork - (*ResPlayroomWork)(nil), // 325: tutorial.ResPlayroomWork - (*ReqPlayroomRest)(nil), // 326: tutorial.ReqPlayroomRest - (*ResPlayroomRest)(nil), // 327: tutorial.ResPlayroomRest - (*ReqPlayroomDraw)(nil), // 328: tutorial.ReqPlayroomDraw - (*ResPlayroomDraw)(nil), // 329: tutorial.ResPlayroomDraw - (*ReqPlayroomChip)(nil), // 330: tutorial.ReqPlayroomChip - (*ResPlayroomChip)(nil), // 331: tutorial.ResPlayroomChip - (*ReqPlayroomBuyItem)(nil), // 332: tutorial.ReqPlayroomBuyItem - (*ResPlayroomBuyItem)(nil), // 333: tutorial.ResPlayroomBuyItem - (*ReqPlayroomShop)(nil), // 334: tutorial.ReqPlayroomShop - (*ResPlayroomShop)(nil), // 335: tutorial.ResPlayroomShop - (*ReqFriendTreasure)(nil), // 336: tutorial.ReqFriendTreasure - (*ResFriendTreasure)(nil), // 337: tutorial.ResFriendTreasure - (*TreasureInfo)(nil), // 338: tutorial.TreasureInfo - (*ReqFriendTreasureStart)(nil), // 339: tutorial.ReqFriendTreasureStart - (*ResFriendTreasureStart)(nil), // 340: tutorial.ResFriendTreasureStart - (*ReqFriendTreasureEnd)(nil), // 341: tutorial.ReqFriendTreasureEnd - (*ResFriendTreasureEnd)(nil), // 342: tutorial.ResFriendTreasureEnd - (*ReqFriendTreasureFilp)(nil), // 343: tutorial.ReqFriendTreasureFilp - (*ResFriendTreasureFilp)(nil), // 344: tutorial.ResFriendTreasureFilp - (*ResFriendTreasureStar)(nil), // 345: tutorial.ResFriendTreasureStar - (*ReqKafkaLog)(nil), // 346: tutorial.ReqKafkaLog - (*AdminReq)(nil), // 347: tutorial.AdminReq - (*AdminRes)(nil), // 348: tutorial.AdminRes - (*ReqAdminInfo)(nil), // 349: tutorial.ReqAdminInfo - (*ReqReloadServerMail)(nil), // 350: tutorial.ReqReloadServerMail - (*ReqServerInfo)(nil), // 351: tutorial.ReqServerInfo - (*ReqReload)(nil), // 352: tutorial.ReqReload - (*ReqAdminGm)(nil), // 353: tutorial.ReqAdminGm - nil, // 354: tutorial.ResChessColorData.MChessColorDataEntry - nil, // 355: tutorial.UpdateBaseItemInfo.MUpdateItemEntry - nil, // 356: tutorial.ResPlayerChessData.MChessDataEntry - nil, // 357: tutorial.UpdatePlayerChessData.MChessDataEntry - nil, // 358: tutorial.ReqSeparateChess.MChessDataEntry - nil, // 359: tutorial.ReqGetChessFromBuff.MChessDataEntry - nil, // 360: tutorial.ReqChessEx.MChessDataEntry - nil, // 361: tutorial.ReqSourceChest.MChessDataEntry - nil, // 362: tutorial.ReqPlayroomOutline.MChessDataEntry - nil, // 363: tutorial.ReqPutChessInBag.MChessDataEntry - nil, // 364: tutorial.ReqTakeChessOutBag.MChessDataEntry - nil, // 365: tutorial.ReqRewardOrder.MChessDataEntry - nil, // 366: tutorial.ResCardInfo.AllCardEntry - nil, // 367: tutorial.ResCardInfo.HandbookEntry - nil, // 368: tutorial.ResGuildInfo.RewardEntry - nil, // 369: tutorial.ResDailyTask.WeekRewardEntry - nil, // 370: tutorial.ResDailyTask.DailyTaskEntry - nil, // 371: tutorial.ResEmojiInfo.SetIdEntry - nil, // 372: tutorial.ResLimitEvent.LimitEventListEntry - nil, // 373: tutorial.ResLimitEventProgress.ProgressRewardEntry - nil, // 374: tutorial.ResPlayerSimple.EmojiEntry - nil, // 375: tutorial.ResKv.KvEntry - nil, // 376: tutorial.ResRank.RankListEntry - nil, // 377: tutorial.ResMailList.MailListEntry - nil, // 378: tutorial.ResCharge.SpecialShopEntry - nil, // 379: tutorial.ResCharge.ChessShopEntry - nil, // 380: tutorial.ResCharge.GiftEntry - nil, // 381: tutorial.ReqBuyChessShop2.MChessDataEntry - nil, // 382: tutorial.ResEndless.EndlessListEntry - nil, // 383: tutorial.ResChampshipRank.RankListEntry - nil, // 384: tutorial.ResChampshipPreRank.RankListEntry - nil, // 385: tutorial.ResNotifyCard.CardEntry - nil, // 386: tutorial.ResNotifyCard.MasterEntry - nil, // 387: tutorial.ResNotifyCard.HandbookEntry - nil, // 388: tutorial.ResMining.MapEntry - nil, // 389: tutorial.ReqMiningTake.MapEntry - nil, // 390: tutorial.ResActRed.RedEntry - nil, // 391: tutorial.ResItem.ItemEntry - nil, // 392: tutorial.ItemNotify.ItemEntry - nil, // 393: tutorial.ReqGuessColorTake.MapEntry - nil, // 394: tutorial.ResPlayroom.PlayroomEntry - nil, // 395: tutorial.ResPlayroom.MoodEntry - nil, // 396: tutorial.ResPlayroom.PhysiologyEntry - nil, // 397: tutorial.NotifyPlayroomMood.MoodEntry - nil, // 398: tutorial.NotifyPlayroomMood.PhysiologyEntry - nil, // 399: tutorial.ResPlayroomInfo.PlayroomEntry - nil, // 400: tutorial.ResPlayroomInfo.ItemsEntry - nil, // 401: tutorial.ResPlayroomInfo.FlipEntry - nil, // 402: tutorial.ResPlayroomInfo.EmojiEntry - nil, // 403: tutorial.ResPlayroomGame.ItemsEntry - nil, // 404: tutorial.ReqPlayroomSetRoom.PlayroomEntry + (*HandbookInfo)(nil), // 79: tutorial.HandbookInfo + (*Handbook)(nil), // 80: tutorial.Handbook + (*RegHandbookAllReward)(nil), // 81: tutorial.RegHandbookAllReward + (*ResHandbookAllReward)(nil), // 82: tutorial.ResHandbookAllReward + (*ReqRewardOrder)(nil), // 83: tutorial.ReqRewardOrder + (*ResRewardOrder)(nil), // 84: tutorial.ResRewardOrder + (*ReqDelOrder)(nil), // 85: tutorial.ReqDelOrder + (*ResDelOrder)(nil), // 86: tutorial.ResDelOrder + (*ReqSellChessNum)(nil), // 87: tutorial.ReqSellChessNum + (*ResSellChessNum)(nil), // 88: tutorial.ResSellChessNum + (*Order)(nil), // 89: tutorial.Order + (*ResOrderList)(nil), // 90: tutorial.ResOrderList + (*ResDecorateInfo)(nil), // 91: tutorial.ResDecorateInfo + (*ReqDecorate)(nil), // 92: tutorial.ReqDecorate + (*ResDecorate)(nil), // 93: tutorial.ResDecorate + (*ReqDecorateAll)(nil), // 94: tutorial.ReqDecorateAll + (*ResDecorateAll)(nil), // 95: tutorial.ResDecorateAll + (*ReqGmCommand)(nil), // 96: tutorial.ReqGmCommand + (*Card)(nil), // 97: tutorial.Card + (*ReqCardInfo)(nil), // 98: tutorial.ReqCardInfo + (*ResCardInfo)(nil), // 99: tutorial.ResCardInfo + (*ResNotifyCardTimes)(nil), // 100: tutorial.ResNotifyCardTimes + (*ReqCardSeasonFirstReward)(nil), // 101: tutorial.ReqCardSeasonFirstReward + (*ResCardSeasonFirstReward)(nil), // 102: tutorial.ResCardSeasonFirstReward + (*ReqCardHandbookReward)(nil), // 103: tutorial.ReqCardHandbookReward + (*ResCardHandbookReward)(nil), // 104: tutorial.ResCardHandbookReward + (*ReqMasterCard)(nil), // 105: tutorial.ReqMasterCard + (*ResMasterCard)(nil), // 106: tutorial.ResMasterCard + (*ReqCardCollectReward)(nil), // 107: tutorial.ReqCardCollectReward + (*ResCardCollectReward)(nil), // 108: tutorial.ResCardCollectReward + (*ReqExStarReward)(nil), // 109: tutorial.ReqExStarReward + (*ResExStarReward)(nil), // 110: tutorial.ResExStarReward + (*ReqAllCollectReward)(nil), // 111: tutorial.ReqAllCollectReward + (*ResAllCollectReward)(nil), // 112: tutorial.ResAllCollectReward + (*ReqCardGive)(nil), // 113: tutorial.ReqCardGive + (*ResCardGive)(nil), // 114: tutorial.ResCardGive + (*ReqAgreeCardGive)(nil), // 115: tutorial.ReqAgreeCardGive + (*ResAgreeCardGive)(nil), // 116: tutorial.ResAgreeCardGive + (*ReqRefuseCardGive)(nil), // 117: tutorial.ReqRefuseCardGive + (*ResRefuseCardGive)(nil), // 118: tutorial.ResRefuseCardGive + (*ReqCardSend)(nil), // 119: tutorial.ReqCardSend + (*ResCardSend)(nil), // 120: tutorial.ResCardSend + (*ReqCardExchange)(nil), // 121: tutorial.ReqCardExchange + (*ResCardExchange)(nil), // 122: tutorial.ResCardExchange + (*ReqSelectCardExchange)(nil), // 123: tutorial.ReqSelectCardExchange + (*ResSelectCardExchange)(nil), // 124: tutorial.ResSelectCardExchange + (*ReqAgreeCardExchange)(nil), // 125: tutorial.ReqAgreeCardExchange + (*ResAgreeCardExchange)(nil), // 126: tutorial.ResAgreeCardExchange + (*ReqRefuseCardSelect)(nil), // 127: tutorial.ReqRefuseCardSelect + (*ResRefuseCardSelect)(nil), // 128: tutorial.ResRefuseCardSelect + (*ReqRefuseCardExchange)(nil), // 129: tutorial.ReqRefuseCardExchange + (*ResRefuseCardExchange)(nil), // 130: tutorial.ResRefuseCardExchange + (*ReqGetFriendCard)(nil), // 131: tutorial.ReqGetFriendCard + (*ResGetFriendCard)(nil), // 132: tutorial.ResGetFriendCard + (*ReqGetGoldCard)(nil), // 133: tutorial.ReqGetGoldCard + (*ResGetGoldCard)(nil), // 134: tutorial.ResGetGoldCard + (*ReqGuideReward)(nil), // 135: tutorial.ReqGuideReward + (*ResGuideReward)(nil), // 136: tutorial.ResGuideReward + (*ResGuildInfo)(nil), // 137: tutorial.ResGuildInfo + (*ResItemPop)(nil), // 138: tutorial.ResItemPop + (*ItemInfo)(nil), // 139: tutorial.ItemInfo + (*CardPack)(nil), // 140: tutorial.CardPack + (*ResDailyTask)(nil), // 141: tutorial.ResDailyTask + (*DailyWeek)(nil), // 142: tutorial.DailyWeek + (*DailyTask)(nil), // 143: tutorial.DailyTask + (*QuestProgress)(nil), // 144: tutorial.QuestProgress + (*ReqGetDailyTaskReward)(nil), // 145: tutorial.ReqGetDailyTaskReward + (*ResGetDailyTaskReward)(nil), // 146: tutorial.ResGetDailyTaskReward + (*ReqGetDailyWeekReward)(nil), // 147: tutorial.ReqGetDailyWeekReward + (*ResGetDailyWeekReward)(nil), // 148: tutorial.ResGetDailyWeekReward + (*ReqDailyUnlock)(nil), // 149: tutorial.ReqDailyUnlock + (*ResDailyUnlock)(nil), // 150: tutorial.ResDailyUnlock + (*ResFaceInfo)(nil), // 151: tutorial.ResFaceInfo + (*FaceInfo)(nil), // 152: tutorial.FaceInfo + (*ReqSetFace)(nil), // 153: tutorial.ReqSetFace + (*ResSetFace)(nil), // 154: tutorial.ResSetFace + (*ResAvatarInfo)(nil), // 155: tutorial.ResAvatarInfo + (*AvatarInfo)(nil), // 156: tutorial.AvatarInfo + (*ReqSetAvatar)(nil), // 157: tutorial.ReqSetAvatar + (*ResSetAvatar)(nil), // 158: tutorial.ResSetAvatar + (*EmojiInfo)(nil), // 159: tutorial.EmojiInfo + (*ReqSetEmoji)(nil), // 160: tutorial.ReqSetEmoji + (*ResSetEmoji)(nil), // 161: tutorial.ResSetEmoji + (*ResSevenLogin)(nil), // 162: tutorial.ResSevenLogin + (*SevenLoginReward)(nil), // 163: tutorial.SevenLoginReward + (*ReqGetSevenLoginReward)(nil), // 164: tutorial.ReqGetSevenLoginReward + (*ResGetSevenLoginReward)(nil), // 165: tutorial.ResGetSevenLoginReward + (*ReqGetMonthLoginReward)(nil), // 166: tutorial.ReqGetMonthLoginReward + (*ResGetMonthLoginReward)(nil), // 167: tutorial.ResGetMonthLoginReward + (*ResActivity)(nil), // 168: tutorial.ResActivity + (*ActivityInfo)(nil), // 169: tutorial.ActivityInfo + (*ReqLimitEvent)(nil), // 170: tutorial.ReqLimitEvent + (*ResLimitEvent)(nil), // 171: tutorial.ResLimitEvent + (*ResLimitEventProgress)(nil), // 172: tutorial.ResLimitEventProgress + (*ReqLimitEventReward)(nil), // 173: tutorial.ReqLimitEventReward + (*ResLimitEventReward)(nil), // 174: tutorial.ResLimitEventReward + (*ReqSelectLimitEvent)(nil), // 175: tutorial.ReqSelectLimitEvent + (*ResSelectLimitEvent)(nil), // 176: tutorial.ResSelectLimitEvent + (*LimitEvent)(nil), // 177: tutorial.LimitEvent + (*LimitEventNotify)(nil), // 178: tutorial.LimitEventNotify + (*ReqLimitSenceReward)(nil), // 179: tutorial.ReqLimitSenceReward + (*ResLimitSenceReward)(nil), // 180: tutorial.ResLimitSenceReward + (*ResChessRainReward)(nil), // 181: tutorial.ResChessRainReward + (*ReqFastProduceInfo)(nil), // 182: tutorial.ReqFastProduceInfo + (*ResFastProduceInfo)(nil), // 183: tutorial.ResFastProduceInfo + (*ReqFastProduceReward)(nil), // 184: tutorial.ReqFastProduceReward + (*ResFastProduceReward)(nil), // 185: tutorial.ResFastProduceReward + (*ReqSearchPlayer)(nil), // 186: tutorial.ReqSearchPlayer + (*ResSearchPlayer)(nil), // 187: tutorial.ResSearchPlayer + (*ResPlayerSimple)(nil), // 188: tutorial.ResPlayerSimple + (*ResPlayerRank)(nil), // 189: tutorial.ResPlayerRank + (*ResFriendLog)(nil), // 190: tutorial.ResFriendLog + (*NotifyFriendLog)(nil), // 191: tutorial.NotifyFriendLog + (*NotifyFriendCard)(nil), // 192: tutorial.NotifyFriendCard + (*ResFriendCard)(nil), // 193: tutorial.ResFriendCard + (*ReqKv)(nil), // 194: tutorial.ReqKv + (*ResKv)(nil), // 195: tutorial.ResKv + (*ReqFriendRecommend)(nil), // 196: tutorial.ReqFriendRecommend + (*ResFriendRecommend)(nil), // 197: tutorial.ResFriendRecommend + (*ReqFriendIgnore)(nil), // 198: tutorial.ReqFriendIgnore + (*ResFriendIgnore)(nil), // 199: tutorial.ResFriendIgnore + (*ReqFriendList)(nil), // 200: tutorial.ReqFriendList + (*ResFriendList)(nil), // 201: tutorial.ResFriendList + (*ReqFriendApply)(nil), // 202: tutorial.ReqFriendApply + (*ResFriendApply)(nil), // 203: tutorial.ResFriendApply + (*ResFriendApplyInfo)(nil), // 204: tutorial.ResFriendApplyInfo + (*ReqFriendCardMsg)(nil), // 205: tutorial.ReqFriendCardMsg + (*ResFriendCardMsg)(nil), // 206: tutorial.ResFriendCardMsg + (*ReqFriendTimeLine)(nil), // 207: tutorial.ReqFriendTimeLine + (*ResFriendTimeLine)(nil), // 208: tutorial.ResFriendTimeLine + (*ReqFriendTLUpvote)(nil), // 209: tutorial.ReqFriendTLUpvote + (*ResFriendTLUpvote)(nil), // 210: tutorial.ResFriendTLUpvote + (*ResFriendApplyNotify)(nil), // 211: tutorial.ResFriendApplyNotify + (*ReqApplyFriend)(nil), // 212: tutorial.ReqApplyFriend + (*ResApplyFriend)(nil), // 213: tutorial.ResApplyFriend + (*ReqAgreeFriend)(nil), // 214: tutorial.ReqAgreeFriend + (*ResAgreeFriend)(nil), // 215: tutorial.ResAgreeFriend + (*ReqRefuseFriend)(nil), // 216: tutorial.ReqRefuseFriend + (*ResRefuseFriend)(nil), // 217: tutorial.ResRefuseFriend + (*ReqDelFriend)(nil), // 218: tutorial.ReqDelFriend + (*ResDelFriend)(nil), // 219: tutorial.ResDelFriend + (*ReqRank)(nil), // 220: tutorial.ReqRank + (*ResRank)(nil), // 221: tutorial.ResRank + (*ReqMailList)(nil), // 222: tutorial.ReqMailList + (*ResMailList)(nil), // 223: tutorial.ResMailList + (*MailInfo)(nil), // 224: tutorial.MailInfo + (*MailNotify)(nil), // 225: tutorial.MailNotify + (*ReqReadMail)(nil), // 226: tutorial.ReqReadMail + (*ResReadMail)(nil), // 227: tutorial.ResReadMail + (*ReqGetMailReward)(nil), // 228: tutorial.ReqGetMailReward + (*ResGetMailReward)(nil), // 229: tutorial.ResGetMailReward + (*ReqDeleteMail)(nil), // 230: tutorial.ReqDeleteMail + (*ResDeleteMail)(nil), // 231: tutorial.ResDeleteMail + (*ResCharge)(nil), // 232: tutorial.ResCharge + (*ResSpecialShop)(nil), // 233: tutorial.ResSpecialShop + (*ResChessShop)(nil), // 234: tutorial.ResChessShop + (*ReqFreeShop)(nil), // 235: tutorial.ReqFreeShop + (*ResFreeShop)(nil), // 236: tutorial.ResFreeShop + (*ReqBuyChessShop)(nil), // 237: tutorial.ReqBuyChessShop + (*ResBuyChessShop)(nil), // 238: tutorial.ResBuyChessShop + (*ReqBuyChessShop2)(nil), // 239: tutorial.ReqBuyChessShop2 + (*ResBuyChessShop2)(nil), // 240: tutorial.ResBuyChessShop2 + (*ReqRefreshChessShop)(nil), // 241: tutorial.ReqRefreshChessShop + (*ResRefreshChessShop)(nil), // 242: tutorial.ResRefreshChessShop + (*ReqEndless)(nil), // 243: tutorial.ReqEndless + (*ResEndless)(nil), // 244: tutorial.ResEndless + (*ResEndlessInfo)(nil), // 245: tutorial.ResEndlessInfo + (*ReqEndlessReward)(nil), // 246: tutorial.ReqEndlessReward + (*ResEndlessReward)(nil), // 247: tutorial.ResEndlessReward + (*ResPiggyBank)(nil), // 248: tutorial.ResPiggyBank + (*ReqPiggyBankReward)(nil), // 249: tutorial.ReqPiggyBankReward + (*ResPiggyBankReward)(nil), // 250: tutorial.ResPiggyBankReward + (*ReqCreateOrderSn)(nil), // 251: tutorial.ReqCreateOrderSn + (*ResCreateOrderSn)(nil), // 252: tutorial.ResCreateOrderSn + (*ReqShippingOrder)(nil), // 253: tutorial.ReqShippingOrder + (*ResShippingOrder)(nil), // 254: tutorial.ResShippingOrder + (*ReqChampship)(nil), // 255: tutorial.ReqChampship + (*ResChampship)(nil), // 256: tutorial.ResChampship + (*ReqChampshipReward)(nil), // 257: tutorial.ReqChampshipReward + (*ResChampshipReward)(nil), // 258: tutorial.ResChampshipReward + (*ReqChampshipRankReward)(nil), // 259: tutorial.ReqChampshipRankReward + (*ResChampshipRankReward)(nil), // 260: tutorial.ResChampshipRankReward + (*ReqChampshipRank)(nil), // 261: tutorial.ReqChampshipRank + (*ResChampshipRank)(nil), // 262: tutorial.ResChampshipRank + (*ReqChampshipPreRank)(nil), // 263: tutorial.ReqChampshipPreRank + (*ResChampshipPreRank)(nil), // 264: tutorial.ResChampshipPreRank + (*ResNotifyCard)(nil), // 265: tutorial.ResNotifyCard + (*ReqSetFacebookUrl)(nil), // 266: tutorial.ReqSetFacebookUrl + (*ResSetFacebookUrl)(nil), // 267: tutorial.ResSetFacebookUrl + (*ReqInviteFriendData)(nil), // 268: tutorial.ReqInviteFriendData + (*ResInviteFriendData)(nil), // 269: tutorial.ResInviteFriendData + (*ReqSelfInvited)(nil), // 270: tutorial.ReqSelfInvited + (*ResSelfInvited)(nil), // 271: tutorial.ResSelfInvited + (*NotifyInvitedSuccess)(nil), // 272: tutorial.NotifyInvitedSuccess + (*ReqGetInviteReward)(nil), // 273: tutorial.ReqGetInviteReward + (*ResGetInviteReward)(nil), // 274: tutorial.ResGetInviteReward + (*ReqAutoAddInviteFriend)(nil), // 275: tutorial.ReqAutoAddInviteFriend + (*ResAutoAddInviteFriend)(nil), // 276: tutorial.ResAutoAddInviteFriend + (*ReqAutoAddInviteFriend2)(nil), // 277: tutorial.ReqAutoAddInviteFriend2 + (*ResAutoAddInviteFriend2)(nil), // 278: tutorial.ResAutoAddInviteFriend2 + (*ReqMining)(nil), // 279: tutorial.ReqMining + (*ResMining)(nil), // 280: tutorial.ResMining + (*ReqMiningTake)(nil), // 281: tutorial.ReqMiningTake + (*ResMiningTake)(nil), // 282: tutorial.ResMiningTake + (*ReqMiningReward)(nil), // 283: tutorial.ReqMiningReward + (*ResMiningReward)(nil), // 284: tutorial.ResMiningReward + (*ResActRed)(nil), // 285: tutorial.ResActRed + (*NotifyActRed)(nil), // 286: tutorial.NotifyActRed + (*ActivityNotify)(nil), // 287: tutorial.ActivityNotify + (*ResItem)(nil), // 288: tutorial.ResItem + (*ItemNotify)(nil), // 289: tutorial.ItemNotify + (*ReqGuessColor)(nil), // 290: tutorial.ReqGuessColor + (*ResGuessColor)(nil), // 291: tutorial.ResGuessColor + (*Opponent)(nil), // 292: tutorial.opponent + (*ReqGuessColorTake)(nil), // 293: tutorial.ReqGuessColorTake + (*ResGuessColorTake)(nil), // 294: tutorial.ResGuessColorTake + (*ReqGuessColorReward)(nil), // 295: tutorial.ReqGuessColorReward + (*ResGuessColorReward)(nil), // 296: tutorial.ResGuessColorReward + (*ReqRace)(nil), // 297: tutorial.ReqRace + (*ResRace)(nil), // 298: tutorial.ResRace + (*Raceopponent)(nil), // 299: tutorial.raceopponent + (*ReqRaceStart)(nil), // 300: tutorial.ReqRaceStart + (*ResRaceStart)(nil), // 301: tutorial.ResRaceStart + (*ReqRaceReward)(nil), // 302: tutorial.ReqRaceReward + (*ResRaceReward)(nil), // 303: tutorial.ResRaceReward + (*ReqPlayroom)(nil), // 304: tutorial.ReqPlayroom + (*ResPlayroom)(nil), // 305: tutorial.ResPlayroom + (*ReqPlayroomWrokOutline)(nil), // 306: tutorial.ReqPlayroomWrokOutline + (*ResPlayroomWrokOutline)(nil), // 307: tutorial.ResPlayroomWrokOutline + (*NofiPlayroomStatus)(nil), // 308: tutorial.NofiPlayroomStatus + (*NotifyPlayroomWork)(nil), // 309: tutorial.NotifyPlayroomWork + (*NotifyPlayroomLose)(nil), // 310: tutorial.NotifyPlayroomLose + (*NotifyPlayroomMood)(nil), // 311: tutorial.NotifyPlayroomMood + (*FriendRoom)(nil), // 312: tutorial.FriendRoom + (*RoomOpponent)(nil), // 313: tutorial.RoomOpponent + (*ReqPlayroomInfo)(nil), // 314: tutorial.ReqPlayroomInfo + (*ResPlayroomInfo)(nil), // 315: tutorial.ResPlayroomInfo + (*ReqPlayroomFlip)(nil), // 316: tutorial.ReqPlayroomFlip + (*ResPlayroomFlip)(nil), // 317: tutorial.ResPlayroomFlip + (*ReqPlayroomFlipReward)(nil), // 318: tutorial.ReqPlayroomFlipReward + (*ResPlayroomFlipReward)(nil), // 319: tutorial.ResPlayroomFlipReward + (*ReqPlayroomGame)(nil), // 320: tutorial.ReqPlayroomGame + (*ResPlayroomGame)(nil), // 321: tutorial.ResPlayroomGame + (*ReqPlayroomInteract)(nil), // 322: tutorial.ReqPlayroomInteract + (*ResPlayroomInteract)(nil), // 323: tutorial.ResPlayroomInteract + (*ReqPlayroomSetRoom)(nil), // 324: tutorial.ReqPlayroomSetRoom + (*ResPlayroomSetRoom)(nil), // 325: tutorial.ResPlayroomSetRoom + (*ReqPlayroomSelectReward)(nil), // 326: tutorial.ReqPlayroomSelectReward + (*ResPlayroomSelectReward)(nil), // 327: tutorial.ResPlayroomSelectReward + (*ReqPlayroomLose)(nil), // 328: tutorial.ReqPlayroomLose + (*ResPlayroomLose)(nil), // 329: tutorial.ResPlayroomLose + (*ReqPlayroomWork)(nil), // 330: tutorial.ReqPlayroomWork + (*ResPlayroomWork)(nil), // 331: tutorial.ResPlayroomWork + (*ReqPlayroomRest)(nil), // 332: tutorial.ReqPlayroomRest + (*ResPlayroomRest)(nil), // 333: tutorial.ResPlayroomRest + (*ReqPlayroomDraw)(nil), // 334: tutorial.ReqPlayroomDraw + (*ResPlayroomDraw)(nil), // 335: tutorial.ResPlayroomDraw + (*ReqPlayroomChip)(nil), // 336: tutorial.ReqPlayroomChip + (*ResPlayroomChip)(nil), // 337: tutorial.ResPlayroomChip + (*ReqPlayroomBuyItem)(nil), // 338: tutorial.ReqPlayroomBuyItem + (*ResPlayroomBuyItem)(nil), // 339: tutorial.ResPlayroomBuyItem + (*ReqPlayroomShop)(nil), // 340: tutorial.ReqPlayroomShop + (*ResPlayroomShop)(nil), // 341: tutorial.ResPlayroomShop + (*ReqFriendTreasure)(nil), // 342: tutorial.ReqFriendTreasure + (*ResFriendTreasure)(nil), // 343: tutorial.ResFriendTreasure + (*TreasureInfo)(nil), // 344: tutorial.TreasureInfo + (*ReqFriendTreasureStart)(nil), // 345: tutorial.ReqFriendTreasureStart + (*ResFriendTreasureStart)(nil), // 346: tutorial.ResFriendTreasureStart + (*ReqFriendTreasureEnd)(nil), // 347: tutorial.ReqFriendTreasureEnd + (*ResFriendTreasureEnd)(nil), // 348: tutorial.ResFriendTreasureEnd + (*ReqFriendTreasureFilp)(nil), // 349: tutorial.ReqFriendTreasureFilp + (*ResFriendTreasureFilp)(nil), // 350: tutorial.ResFriendTreasureFilp + (*ResFriendTreasureStar)(nil), // 351: tutorial.ResFriendTreasureStar + (*ReqKafkaLog)(nil), // 352: tutorial.ReqKafkaLog + (*ReqCollectInfo)(nil), // 353: tutorial.ReqCollectInfo + (*ResCollectInfo)(nil), // 354: tutorial.ResCollectInfo + (*CollectItem)(nil), // 355: tutorial.CollectItem + (*ReqCollect)(nil), // 356: tutorial.ReqCollect + (*ResCollect)(nil), // 357: tutorial.ResCollect + (*AdminReq)(nil), // 358: tutorial.AdminReq + (*AdminRes)(nil), // 359: tutorial.AdminRes + (*ReqAdminInfo)(nil), // 360: tutorial.ReqAdminInfo + (*ReqReloadServerMail)(nil), // 361: tutorial.ReqReloadServerMail + (*ReqServerInfo)(nil), // 362: tutorial.ReqServerInfo + (*ReqReload)(nil), // 363: tutorial.ReqReload + (*ReqAdminGm)(nil), // 364: tutorial.ReqAdminGm + nil, // 365: tutorial.ResChessColorData.MChessColorDataEntry + nil, // 366: tutorial.UpdateBaseItemInfo.MUpdateItemEntry + nil, // 367: tutorial.ResPlayerChessData.MChessDataEntry + nil, // 368: tutorial.UpdatePlayerChessData.MChessDataEntry + nil, // 369: tutorial.ReqSeparateChess.MChessDataEntry + nil, // 370: tutorial.ReqUpgradeChess.MChessDataEntry + nil, // 371: tutorial.ReqGetChessFromBuff.MChessDataEntry + nil, // 372: tutorial.ReqChessEx.MChessDataEntry + nil, // 373: tutorial.ReqSourceChest.MChessDataEntry + nil, // 374: tutorial.ReqPlayroomOutline.MChessDataEntry + nil, // 375: tutorial.ReqPutChessInBag.MChessDataEntry + nil, // 376: tutorial.ReqTakeChessOutBag.MChessDataEntry + nil, // 377: tutorial.UserInfo.SetEmojiEntry + nil, // 378: tutorial.ReqRewardOrder.MChessDataEntry + nil, // 379: tutorial.ResCardInfo.AllCardEntry + nil, // 380: tutorial.ResCardInfo.HandbookEntry + nil, // 381: tutorial.ResGuildInfo.RewardEntry + nil, // 382: tutorial.ResDailyTask.WeekRewardEntry + nil, // 383: tutorial.ResDailyTask.DailyTaskEntry + nil, // 384: tutorial.ResLimitEvent.LimitEventListEntry + nil, // 385: tutorial.ResLimitEventProgress.ProgressRewardEntry + nil, // 386: tutorial.ResPlayerSimple.EmojiEntry + nil, // 387: tutorial.ResKv.KvEntry + nil, // 388: tutorial.ResRank.RankListEntry + nil, // 389: tutorial.ResMailList.MailListEntry + nil, // 390: tutorial.ResCharge.SpecialShopEntry + nil, // 391: tutorial.ResCharge.ChessShopEntry + nil, // 392: tutorial.ResCharge.GiftEntry + nil, // 393: tutorial.ReqBuyChessShop2.MChessDataEntry + nil, // 394: tutorial.ResEndless.EndlessListEntry + nil, // 395: tutorial.ResChampshipRank.RankListEntry + nil, // 396: tutorial.ResChampshipPreRank.RankListEntry + nil, // 397: tutorial.ResNotifyCard.CardEntry + nil, // 398: tutorial.ResNotifyCard.MasterEntry + nil, // 399: tutorial.ResNotifyCard.HandbookEntry + nil, // 400: tutorial.ResMining.MapEntry + nil, // 401: tutorial.ReqMiningTake.MapEntry + nil, // 402: tutorial.ResActRed.RedEntry + nil, // 403: tutorial.ResItem.ItemEntry + nil, // 404: tutorial.ItemNotify.ItemEntry + nil, // 405: tutorial.ReqGuessColorTake.MapEntry + nil, // 406: tutorial.ResPlayroom.PlayroomEntry + nil, // 407: tutorial.ResPlayroom.MoodEntry + nil, // 408: tutorial.ResPlayroom.PhysiologyEntry + nil, // 409: tutorial.NotifyPlayroomMood.MoodEntry + nil, // 410: tutorial.NotifyPlayroomMood.PhysiologyEntry + nil, // 411: tutorial.ResPlayroomInfo.PlayroomEntry + nil, // 412: tutorial.ResPlayroomInfo.ItemsEntry + nil, // 413: tutorial.ResPlayroomInfo.FlipEntry + nil, // 414: tutorial.ResPlayroomInfo.EmojiEntry + nil, // 415: tutorial.ResPlayroomGame.ItemsEntry + nil, // 416: tutorial.ReqPlayroomSetRoom.PlayroomEntry } var file_proto_Gameapi_proto_depIdxs = []int32{ - 354, // 0: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry - 355, // 1: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry - 356, // 2: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry - 50, // 3: tutorial.ResPlayerChessInfo.ChessBag:type_name -> tutorial.ChessBag + 365, // 0: tutorial.ResChessColorData.mChessColorData:type_name -> tutorial.ResChessColorData.MChessColorDataEntry + 366, // 1: tutorial.UpdateBaseItemInfo.mUpdateItem:type_name -> tutorial.UpdateBaseItemInfo.MUpdateItemEntry + 367, // 2: tutorial.ResPlayerChessData.mChessData:type_name -> tutorial.ResPlayerChessData.MChessDataEntry + 52, // 3: tutorial.ResPlayerChessInfo.ChessBag:type_name -> tutorial.ChessBag 1, // 4: tutorial.ChessHandle.type:type_name -> tutorial.HANDLE_TYPE - 357, // 5: tutorial.UpdatePlayerChessData.mChessData:type_name -> tutorial.UpdatePlayerChessData.MChessDataEntry + 368, // 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 - 358, // 8: tutorial.ReqSeparateChess.mChessData:type_name -> tutorial.ReqSeparateChess.MChessDataEntry + 369, // 8: tutorial.ReqSeparateChess.mChessData:type_name -> tutorial.ReqSeparateChess.MChessDataEntry 2, // 9: tutorial.ResSeparateChess.code:type_name -> tutorial.RES_CODE - 359, // 10: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry - 2, // 11: tutorial.ResGetChessFromBuff.code:type_name -> tutorial.RES_CODE - 360, // 12: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry - 2, // 13: tutorial.ResChessEx.code:type_name -> tutorial.RES_CODE - 361, // 14: tutorial.ReqSourceChest.mChessData:type_name -> tutorial.ReqSourceChest.MChessDataEntry - 2, // 15: tutorial.ResSourceChest.code:type_name -> tutorial.RES_CODE - 362, // 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 - 363, // 19: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry - 2, // 20: tutorial.ResPutChessInBag.code:type_name -> tutorial.RES_CODE - 364, // 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 - 150, // 25: tutorial.UserInfo.AvatarList:type_name -> tutorial.AvatarInfo - 146, // 26: tutorial.UserInfo.FaceList:type_name -> tutorial.FaceInfo - 155, // 27: tutorial.UserInfo.EmojiList:type_name -> tutorial.EmojiInfo - 2, // 28: tutorial.ResSetName.ResultCode:type_name -> tutorial.RES_CODE - 2, // 29: tutorial.ResSetPetName.ResultCode:type_name -> tutorial.RES_CODE - 2, // 30: tutorial.ResBuyEnergy.Code:type_name -> tutorial.RES_CODE - 2, // 31: tutorial.ResGetEnergyByAD.Code:type_name -> tutorial.RES_CODE - 76, // 32: tutorial.Handbook.Handbooks:type_name -> tutorial.HandbookInfo - 2, // 33: tutorial.ResGetHandbookReward.Code:type_name -> tutorial.RES_CODE - 365, // 34: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry - 2, // 35: tutorial.ResRewardOrder.Code:type_name -> tutorial.RES_CODE - 2, // 36: tutorial.ResDelOrder.Code:type_name -> tutorial.RES_CODE - 83, // 37: tutorial.ResOrderList.OrderList:type_name -> tutorial.Order - 2, // 38: tutorial.ResDecorate.Code:type_name -> tutorial.RES_CODE - 2, // 39: tutorial.ResDecorateAll.Code:type_name -> tutorial.RES_CODE - 91, // 40: tutorial.ResCardInfo.CardList:type_name -> tutorial.Card - 366, // 41: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry - 367, // 42: tutorial.ResCardInfo.Handbook:type_name -> tutorial.ResCardInfo.HandbookEntry - 2, // 43: tutorial.ResCardSeasonFirstReward.Code:type_name -> tutorial.RES_CODE - 2, // 44: tutorial.ResCardHandbookReward.Code:type_name -> tutorial.RES_CODE - 2, // 45: tutorial.ResMasterCard.Code:type_name -> tutorial.RES_CODE - 2, // 46: tutorial.ResCardCollectReward.Code:type_name -> tutorial.RES_CODE - 2, // 47: tutorial.ResExStarReward.Code:type_name -> tutorial.RES_CODE - 2, // 48: tutorial.ResAllCollectReward.Code:type_name -> tutorial.RES_CODE - 2, // 49: tutorial.ResCardGive.Code:type_name -> tutorial.RES_CODE - 2, // 50: tutorial.ResAgreeCardGive.Code:type_name -> tutorial.RES_CODE - 2, // 51: tutorial.ResRefuseCardGive.Code:type_name -> tutorial.RES_CODE - 2, // 52: tutorial.ResCardSend.Code:type_name -> tutorial.RES_CODE - 2, // 53: tutorial.ResCardExchange.Code:type_name -> tutorial.RES_CODE - 2, // 54: tutorial.ResSelectCardExchange.Code:type_name -> tutorial.RES_CODE - 2, // 55: tutorial.ResAgreeCardExchange.Code:type_name -> tutorial.RES_CODE - 2, // 56: tutorial.ResRefuseCardSelect.Code:type_name -> tutorial.RES_CODE - 2, // 57: tutorial.ResRefuseCardExchange.Code:type_name -> tutorial.RES_CODE - 2, // 58: tutorial.ResGetFriendCard.Code:type_name -> tutorial.RES_CODE - 2, // 59: tutorial.ResGuideReward.Code:type_name -> tutorial.RES_CODE - 368, // 60: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry - 133, // 61: tutorial.ResItemPop.Items:type_name -> tutorial.ItemInfo - 134, // 62: tutorial.ResItemPop.CardPacks:type_name -> tutorial.CardPack - 369, // 63: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry - 370, // 64: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry - 133, // 65: tutorial.DailyWeek.Items:type_name -> tutorial.ItemInfo - 138, // 66: tutorial.DailyTask.Progress:type_name -> tutorial.QuestProgress - 133, // 67: tutorial.DailyTask.Items:type_name -> tutorial.ItemInfo - 2, // 68: tutorial.ResGetDailyTaskReward.Code:type_name -> tutorial.RES_CODE - 2, // 69: tutorial.ResGetDailyWeekReward.Code:type_name -> tutorial.RES_CODE - 2, // 70: tutorial.ResDailyUnlock.Code:type_name -> tutorial.RES_CODE - 146, // 71: tutorial.ResFaceInfo.FaceList:type_name -> tutorial.FaceInfo - 2, // 72: tutorial.ResSetFace.Code:type_name -> tutorial.RES_CODE - 150, // 73: tutorial.ResAvatarInfo.AvatarList:type_name -> tutorial.AvatarInfo - 2, // 74: tutorial.ResSetAvatar.Code:type_name -> tutorial.RES_CODE - 155, // 75: tutorial.ResEmojiInfo.EmojiList:type_name -> tutorial.EmojiInfo - 371, // 76: tutorial.ResEmojiInfo.SetId:type_name -> tutorial.ResEmojiInfo.SetIdEntry - 2, // 77: tutorial.ResSetEmoji.Code:type_name -> tutorial.RES_CODE - 159, // 78: tutorial.ResSevenLogin.WeekReward:type_name -> tutorial.SevenLoginReward - 159, // 79: tutorial.ResSevenLogin.MonthReward:type_name -> tutorial.SevenLoginReward - 133, // 80: tutorial.SevenLoginReward.Item1:type_name -> tutorial.ItemInfo - 133, // 81: tutorial.SevenLoginReward.Item2:type_name -> tutorial.ItemInfo - 133, // 82: tutorial.SevenLoginReward.Item3:type_name -> tutorial.ItemInfo - 2, // 83: tutorial.ResGetSevenLoginReward.Code:type_name -> tutorial.RES_CODE - 2, // 84: tutorial.ResGetMonthLoginReward.Code:type_name -> tutorial.RES_CODE - 165, // 85: tutorial.ResActivity.ActiveList:type_name -> tutorial.ActivityInfo - 372, // 86: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry - 373, // 87: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry - 2, // 88: tutorial.ResLimitEventReward.Code:type_name -> tutorial.RES_CODE - 2, // 89: tutorial.ResSelectLimitEvent.Code:type_name -> tutorial.RES_CODE - 2, // 90: tutorial.ResLimitSenceReward.Code:type_name -> tutorial.RES_CODE - 133, // 91: tutorial.ResChessRainReward.Items:type_name -> tutorial.ItemInfo - 2, // 92: tutorial.ResFastProduceReward.Code:type_name -> tutorial.RES_CODE - 184, // 93: tutorial.ResSearchPlayer.List:type_name -> tutorial.ResPlayerSimple - 374, // 94: tutorial.ResPlayerSimple.Emoji:type_name -> tutorial.ResPlayerSimple.EmojiEntry - 184, // 95: tutorial.ResFriendLog.Player:type_name -> tutorial.ResPlayerSimple - 186, // 96: tutorial.NotifyFriendLog.info:type_name -> tutorial.ResFriendLog - 189, // 97: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard - 375, // 98: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry - 184, // 99: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple - 2, // 100: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE - 184, // 101: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple - 200, // 102: tutorial.ResFriendApply.ApplyList:type_name -> tutorial.ResFriendApplyInfo - 184, // 103: tutorial.ResFriendApplyInfo.Player:type_name -> tutorial.ResPlayerSimple - 189, // 104: tutorial.ResFriendCardMsg.MsgList:type_name -> tutorial.ResFriendCard - 186, // 105: tutorial.ResFriendTimeLine.Log:type_name -> tutorial.ResFriendLog - 184, // 106: tutorial.ResFriendApplyNotify.Player:type_name -> tutorial.ResPlayerSimple - 2, // 107: tutorial.ResApplyFriend.Code:type_name -> tutorial.RES_CODE - 2, // 108: tutorial.ResAgreeFriend.Code:type_name -> tutorial.RES_CODE - 184, // 109: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple - 2, // 110: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE - 2, // 111: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE - 376, // 112: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry - 377, // 113: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry - 133, // 114: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo - 218, // 115: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo - 2, // 116: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE - 2, // 117: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE - 2, // 118: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE - 378, // 119: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry - 379, // 120: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry - 380, // 121: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry - 2, // 122: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE - 2, // 123: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE - 381, // 124: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry - 2, // 125: tutorial.ResBuyChessShop2.Code:type_name -> tutorial.RES_CODE - 2, // 126: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE - 382, // 127: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry - 133, // 128: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo - 2, // 129: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE - 2, // 130: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE - 2, // 131: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE - 2, // 132: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE - 2, // 133: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE - 383, // 134: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry - 384, // 135: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry - 385, // 136: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry - 386, // 137: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry - 387, // 138: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry - 2, // 139: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE - 388, // 140: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry - 389, // 141: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry - 2, // 142: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE - 2, // 143: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE - 390, // 144: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry - 165, // 145: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo - 391, // 146: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry - 392, // 147: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry - 286, // 148: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent - 393, // 149: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry - 2, // 150: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE - 2, // 151: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE - 293, // 152: tutorial.ResRace.Opponent:type_name -> tutorial.raceopponent - 2, // 153: tutorial.ResRaceStart.Code:type_name -> tutorial.RES_CODE - 2, // 154: tutorial.ResRaceReward.Code:type_name -> tutorial.RES_CODE - 133, // 155: tutorial.ResPlayroom.Items:type_name -> tutorial.ItemInfo - 307, // 156: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent - 306, // 157: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom - 394, // 158: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry - 395, // 159: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry - 133, // 160: tutorial.ResPlayroom.LoseItem:type_name -> tutorial.ItemInfo - 396, // 161: tutorial.ResPlayroom.Physiology:type_name -> tutorial.ResPlayroom.PhysiologyEntry - 2, // 162: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE - 133, // 163: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo - 397, // 164: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry - 398, // 165: tutorial.NotifyPlayroomMood.Physiology:type_name -> tutorial.NotifyPlayroomMood.PhysiologyEntry - 399, // 166: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry - 400, // 167: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry - 401, // 168: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry - 402, // 169: tutorial.ResPlayroomInfo.Emoji:type_name -> tutorial.ResPlayroomInfo.EmojiEntry - 2, // 170: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE - 2, // 171: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE - 2, // 172: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE - 403, // 173: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry - 2, // 174: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE - 404, // 175: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry - 2, // 176: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE - 2, // 177: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE - 2, // 178: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE - 2, // 179: tutorial.ResPlayroomWork.Code:type_name -> tutorial.RES_CODE - 2, // 180: tutorial.ResPlayroomRest.Code:type_name -> tutorial.RES_CODE - 2, // 181: tutorial.ResPlayroomDraw.Code:type_name -> tutorial.RES_CODE - 2, // 182: tutorial.ResPlayroomChip.Code:type_name -> tutorial.RES_CODE - 2, // 183: tutorial.ResPlayroomBuyItem.Code:type_name -> tutorial.RES_CODE - 2, // 184: tutorial.ResPlayroomShop.Code:type_name -> tutorial.RES_CODE - 338, // 185: tutorial.ResFriendTreasure.List:type_name -> tutorial.TreasureInfo - 338, // 186: tutorial.ReqFriendTreasureStart.List:type_name -> tutorial.TreasureInfo - 2, // 187: tutorial.ResFriendTreasureStart.Code:type_name -> tutorial.RES_CODE - 2, // 188: tutorial.ResFriendTreasureEnd.Code:type_name -> tutorial.RES_CODE - 2, // 189: tutorial.ResFriendTreasureFilp.Code:type_name -> tutorial.RES_CODE - 136, // 190: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek - 137, // 191: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask - 173, // 192: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent - 184, // 193: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple - 218, // 194: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo - 227, // 195: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop - 228, // 196: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop - 239, // 197: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo - 185, // 198: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank - 185, // 199: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank - 133, // 200: tutorial.ResPlayroomInfo.ItemsEntry.value:type_name -> tutorial.ItemInfo - 133, // 201: tutorial.ResPlayroomGame.ItemsEntry.value:type_name -> tutorial.ItemInfo - 202, // [202:202] is the sub-list for method output_type - 202, // [202:202] is the sub-list for method input_type - 202, // [202:202] is the sub-list for extension type_name - 202, // [202:202] is the sub-list for extension extendee - 0, // [0:202] is the sub-list for field type_name + 370, // 10: tutorial.ReqUpgradeChess.mChessData:type_name -> tutorial.ReqUpgradeChess.MChessDataEntry + 2, // 11: tutorial.ResUpgradeChess.code:type_name -> tutorial.RES_CODE + 371, // 12: tutorial.ReqGetChessFromBuff.mChessData:type_name -> tutorial.ReqGetChessFromBuff.MChessDataEntry + 2, // 13: tutorial.ResGetChessFromBuff.code:type_name -> tutorial.RES_CODE + 372, // 14: tutorial.ReqChessEx.mChessData:type_name -> tutorial.ReqChessEx.MChessDataEntry + 2, // 15: tutorial.ResChessEx.code:type_name -> tutorial.RES_CODE + 373, // 16: tutorial.ReqSourceChest.mChessData:type_name -> tutorial.ReqSourceChest.MChessDataEntry + 2, // 17: tutorial.ResSourceChest.code:type_name -> tutorial.RES_CODE + 374, // 18: tutorial.ReqPlayroomOutline.mChessData:type_name -> tutorial.ReqPlayroomOutline.MChessDataEntry + 2, // 19: tutorial.ResPlayroomOutline.code:type_name -> tutorial.RES_CODE + 53, // 20: tutorial.ChessBag.ChessBagGrids:type_name -> tutorial.ChessBagGrid + 375, // 21: tutorial.ReqPutChessInBag.mChessData:type_name -> tutorial.ReqPutChessInBag.MChessDataEntry + 2, // 22: tutorial.ResPutChessInBag.code:type_name -> tutorial.RES_CODE + 376, // 23: tutorial.ReqTakeChessOutBag.mChessData:type_name -> tutorial.ReqTakeChessOutBag.MChessDataEntry + 2, // 24: tutorial.ResTakeChessOutBag.code:type_name -> tutorial.RES_CODE + 2, // 25: tutorial.ResBuyChessBagGrid.code:type_name -> tutorial.RES_CODE + 2, // 26: tutorial.ResSetEnergyMul.ResultCode:type_name -> tutorial.RES_CODE + 156, // 27: tutorial.UserInfo.AvatarList:type_name -> tutorial.AvatarInfo + 152, // 28: tutorial.UserInfo.FaceList:type_name -> tutorial.FaceInfo + 159, // 29: tutorial.UserInfo.EmojiList:type_name -> tutorial.EmojiInfo + 377, // 30: tutorial.UserInfo.SetEmoji:type_name -> tutorial.UserInfo.SetEmojiEntry + 2, // 31: tutorial.ResSetName.ResultCode:type_name -> tutorial.RES_CODE + 2, // 32: tutorial.ResSetPetName.ResultCode:type_name -> tutorial.RES_CODE + 2, // 33: tutorial.ResBuyEnergy.Code:type_name -> tutorial.RES_CODE + 2, // 34: tutorial.ResGetEnergyByAD.Code:type_name -> tutorial.RES_CODE + 2, // 35: tutorial.ResGetHandbookReward.Code:type_name -> tutorial.RES_CODE + 79, // 36: tutorial.Handbook.Handbooks:type_name -> tutorial.HandbookInfo + 2, // 37: tutorial.ResHandbookAllReward.Code:type_name -> tutorial.RES_CODE + 378, // 38: tutorial.ReqRewardOrder.mChessData:type_name -> tutorial.ReqRewardOrder.MChessDataEntry + 2, // 39: tutorial.ResRewardOrder.Code:type_name -> tutorial.RES_CODE + 2, // 40: tutorial.ResDelOrder.Code:type_name -> tutorial.RES_CODE + 89, // 41: tutorial.ResOrderList.OrderList:type_name -> tutorial.Order + 2, // 42: tutorial.ResDecorate.Code:type_name -> tutorial.RES_CODE + 2, // 43: tutorial.ResDecorateAll.Code:type_name -> tutorial.RES_CODE + 97, // 44: tutorial.ResCardInfo.CardList:type_name -> tutorial.Card + 379, // 45: tutorial.ResCardInfo.AllCard:type_name -> tutorial.ResCardInfo.AllCardEntry + 380, // 46: tutorial.ResCardInfo.Handbook:type_name -> tutorial.ResCardInfo.HandbookEntry + 2, // 47: tutorial.ResCardSeasonFirstReward.Code:type_name -> tutorial.RES_CODE + 2, // 48: tutorial.ResCardHandbookReward.Code:type_name -> tutorial.RES_CODE + 2, // 49: tutorial.ResMasterCard.Code:type_name -> tutorial.RES_CODE + 2, // 50: tutorial.ResCardCollectReward.Code:type_name -> tutorial.RES_CODE + 2, // 51: tutorial.ResExStarReward.Code:type_name -> tutorial.RES_CODE + 2, // 52: tutorial.ResAllCollectReward.Code:type_name -> tutorial.RES_CODE + 2, // 53: tutorial.ResCardGive.Code:type_name -> tutorial.RES_CODE + 2, // 54: tutorial.ResAgreeCardGive.Code:type_name -> tutorial.RES_CODE + 2, // 55: tutorial.ResRefuseCardGive.Code:type_name -> tutorial.RES_CODE + 2, // 56: tutorial.ResCardSend.Code:type_name -> tutorial.RES_CODE + 2, // 57: tutorial.ResCardExchange.Code:type_name -> tutorial.RES_CODE + 2, // 58: tutorial.ResSelectCardExchange.Code:type_name -> tutorial.RES_CODE + 2, // 59: tutorial.ResAgreeCardExchange.Code:type_name -> tutorial.RES_CODE + 2, // 60: tutorial.ResRefuseCardSelect.Code:type_name -> tutorial.RES_CODE + 2, // 61: tutorial.ResRefuseCardExchange.Code:type_name -> tutorial.RES_CODE + 2, // 62: tutorial.ResGetFriendCard.Code:type_name -> tutorial.RES_CODE + 2, // 63: tutorial.ResGuideReward.Code:type_name -> tutorial.RES_CODE + 381, // 64: tutorial.ResGuildInfo.Reward:type_name -> tutorial.ResGuildInfo.RewardEntry + 139, // 65: tutorial.ResItemPop.Items:type_name -> tutorial.ItemInfo + 140, // 66: tutorial.ResItemPop.CardPacks:type_name -> tutorial.CardPack + 382, // 67: tutorial.ResDailyTask.WeekReward:type_name -> tutorial.ResDailyTask.WeekRewardEntry + 383, // 68: tutorial.ResDailyTask.DailyTask:type_name -> tutorial.ResDailyTask.DailyTaskEntry + 139, // 69: tutorial.DailyWeek.Items:type_name -> tutorial.ItemInfo + 144, // 70: tutorial.DailyTask.Progress:type_name -> tutorial.QuestProgress + 139, // 71: tutorial.DailyTask.Items:type_name -> tutorial.ItemInfo + 2, // 72: tutorial.ResGetDailyTaskReward.Code:type_name -> tutorial.RES_CODE + 2, // 73: tutorial.ResGetDailyWeekReward.Code:type_name -> tutorial.RES_CODE + 2, // 74: tutorial.ResDailyUnlock.Code:type_name -> tutorial.RES_CODE + 152, // 75: tutorial.ResFaceInfo.FaceList:type_name -> tutorial.FaceInfo + 2, // 76: tutorial.ResSetFace.Code:type_name -> tutorial.RES_CODE + 156, // 77: tutorial.ResAvatarInfo.AvatarList:type_name -> tutorial.AvatarInfo + 2, // 78: tutorial.ResSetAvatar.Code:type_name -> tutorial.RES_CODE + 2, // 79: tutorial.ResSetEmoji.Code:type_name -> tutorial.RES_CODE + 163, // 80: tutorial.ResSevenLogin.WeekReward:type_name -> tutorial.SevenLoginReward + 163, // 81: tutorial.ResSevenLogin.MonthReward:type_name -> tutorial.SevenLoginReward + 139, // 82: tutorial.SevenLoginReward.Item1:type_name -> tutorial.ItemInfo + 139, // 83: tutorial.SevenLoginReward.Item2:type_name -> tutorial.ItemInfo + 139, // 84: tutorial.SevenLoginReward.Item3:type_name -> tutorial.ItemInfo + 2, // 85: tutorial.ResGetSevenLoginReward.Code:type_name -> tutorial.RES_CODE + 2, // 86: tutorial.ResGetMonthLoginReward.Code:type_name -> tutorial.RES_CODE + 169, // 87: tutorial.ResActivity.ActiveList:type_name -> tutorial.ActivityInfo + 384, // 88: tutorial.ResLimitEvent.LimitEventList:type_name -> tutorial.ResLimitEvent.LimitEventListEntry + 385, // 89: tutorial.ResLimitEventProgress.ProgressReward:type_name -> tutorial.ResLimitEventProgress.ProgressRewardEntry + 2, // 90: tutorial.ResLimitEventReward.Code:type_name -> tutorial.RES_CODE + 2, // 91: tutorial.ResSelectLimitEvent.Code:type_name -> tutorial.RES_CODE + 2, // 92: tutorial.ResLimitSenceReward.Code:type_name -> tutorial.RES_CODE + 139, // 93: tutorial.ResChessRainReward.Items:type_name -> tutorial.ItemInfo + 2, // 94: tutorial.ResFastProduceReward.Code:type_name -> tutorial.RES_CODE + 188, // 95: tutorial.ResSearchPlayer.List:type_name -> tutorial.ResPlayerSimple + 386, // 96: tutorial.ResPlayerSimple.Emoji:type_name -> tutorial.ResPlayerSimple.EmojiEntry + 188, // 97: tutorial.ResFriendLog.Player:type_name -> tutorial.ResPlayerSimple + 190, // 98: tutorial.NotifyFriendLog.info:type_name -> tutorial.ResFriendLog + 193, // 99: tutorial.NotifyFriendCard.Info:type_name -> tutorial.ResFriendCard + 387, // 100: tutorial.ResKv.kv:type_name -> tutorial.ResKv.KvEntry + 188, // 101: tutorial.ResFriendRecommend.List:type_name -> tutorial.ResPlayerSimple + 2, // 102: tutorial.ResFriendIgnore.Code:type_name -> tutorial.RES_CODE + 188, // 103: tutorial.ResFriendList.FriendList:type_name -> tutorial.ResPlayerSimple + 204, // 104: tutorial.ResFriendApply.ApplyList:type_name -> tutorial.ResFriendApplyInfo + 188, // 105: tutorial.ResFriendApplyInfo.Player:type_name -> tutorial.ResPlayerSimple + 193, // 106: tutorial.ResFriendCardMsg.MsgList:type_name -> tutorial.ResFriendCard + 190, // 107: tutorial.ResFriendTimeLine.Log:type_name -> tutorial.ResFriendLog + 2, // 108: tutorial.ResFriendTLUpvote.Code:type_name -> tutorial.RES_CODE + 188, // 109: tutorial.ResFriendApplyNotify.Player:type_name -> tutorial.ResPlayerSimple + 2, // 110: tutorial.ResApplyFriend.Code:type_name -> tutorial.RES_CODE + 2, // 111: tutorial.ResAgreeFriend.Code:type_name -> tutorial.RES_CODE + 188, // 112: tutorial.ResAgreeFriend.Player:type_name -> tutorial.ResPlayerSimple + 2, // 113: tutorial.ResRefuseFriend.Code:type_name -> tutorial.RES_CODE + 2, // 114: tutorial.ResDelFriend.Code:type_name -> tutorial.RES_CODE + 388, // 115: tutorial.ResRank.RankList:type_name -> tutorial.ResRank.RankListEntry + 389, // 116: tutorial.ResMailList.MailList:type_name -> tutorial.ResMailList.MailListEntry + 139, // 117: tutorial.MailInfo.Items:type_name -> tutorial.ItemInfo + 224, // 118: tutorial.MailNotify.Info:type_name -> tutorial.MailInfo + 2, // 119: tutorial.ResReadMail.Code:type_name -> tutorial.RES_CODE + 2, // 120: tutorial.ResGetMailReward.Code:type_name -> tutorial.RES_CODE + 2, // 121: tutorial.ResDeleteMail.Code:type_name -> tutorial.RES_CODE + 390, // 122: tutorial.ResCharge.SpecialShop:type_name -> tutorial.ResCharge.SpecialShopEntry + 391, // 123: tutorial.ResCharge.ChessShop:type_name -> tutorial.ResCharge.ChessShopEntry + 392, // 124: tutorial.ResCharge.Gift:type_name -> tutorial.ResCharge.GiftEntry + 2, // 125: tutorial.ResFreeShop.Code:type_name -> tutorial.RES_CODE + 2, // 126: tutorial.ResBuyChessShop.Code:type_name -> tutorial.RES_CODE + 393, // 127: tutorial.ReqBuyChessShop2.mChessData:type_name -> tutorial.ReqBuyChessShop2.MChessDataEntry + 2, // 128: tutorial.ResBuyChessShop2.Code:type_name -> tutorial.RES_CODE + 2, // 129: tutorial.ResRefreshChessShop.Code:type_name -> tutorial.RES_CODE + 394, // 130: tutorial.ResEndless.EndlessList:type_name -> tutorial.ResEndless.EndlessListEntry + 139, // 131: tutorial.ResEndlessInfo.Items:type_name -> tutorial.ItemInfo + 2, // 132: tutorial.ResEndlessReward.Code:type_name -> tutorial.RES_CODE + 2, // 133: tutorial.ResPiggyBankReward.Code:type_name -> tutorial.RES_CODE + 2, // 134: tutorial.ResShippingOrder.Code:type_name -> tutorial.RES_CODE + 2, // 135: tutorial.ResChampshipReward.Code:type_name -> tutorial.RES_CODE + 2, // 136: tutorial.ResChampshipRankReward.Code:type_name -> tutorial.RES_CODE + 395, // 137: tutorial.ResChampshipRank.RankList:type_name -> tutorial.ResChampshipRank.RankListEntry + 396, // 138: tutorial.ResChampshipPreRank.RankList:type_name -> tutorial.ResChampshipPreRank.RankListEntry + 397, // 139: tutorial.ResNotifyCard.Card:type_name -> tutorial.ResNotifyCard.CardEntry + 398, // 140: tutorial.ResNotifyCard.Master:type_name -> tutorial.ResNotifyCard.MasterEntry + 399, // 141: tutorial.ResNotifyCard.Handbook:type_name -> tutorial.ResNotifyCard.HandbookEntry + 2, // 142: tutorial.ResSetFacebookUrl.Code:type_name -> tutorial.RES_CODE + 400, // 143: tutorial.ResMining.Map:type_name -> tutorial.ResMining.MapEntry + 401, // 144: tutorial.ReqMiningTake.Map:type_name -> tutorial.ReqMiningTake.MapEntry + 2, // 145: tutorial.ResMiningTake.Code:type_name -> tutorial.RES_CODE + 2, // 146: tutorial.ResMiningReward.Code:type_name -> tutorial.RES_CODE + 402, // 147: tutorial.ResActRed.Red:type_name -> tutorial.ResActRed.RedEntry + 169, // 148: tutorial.ActivityNotify.Info:type_name -> tutorial.ActivityInfo + 403, // 149: tutorial.ResItem.Item:type_name -> tutorial.ResItem.ItemEntry + 404, // 150: tutorial.ItemNotify.Item:type_name -> tutorial.ItemNotify.ItemEntry + 292, // 151: tutorial.ResGuessColor.Opponent:type_name -> tutorial.opponent + 405, // 152: tutorial.ReqGuessColorTake.Map:type_name -> tutorial.ReqGuessColorTake.MapEntry + 2, // 153: tutorial.ResGuessColorTake.Code:type_name -> tutorial.RES_CODE + 2, // 154: tutorial.ResGuessColorReward.Code:type_name -> tutorial.RES_CODE + 299, // 155: tutorial.ResRace.Opponent:type_name -> tutorial.raceopponent + 2, // 156: tutorial.ResRaceStart.Code:type_name -> tutorial.RES_CODE + 2, // 157: tutorial.ResRaceReward.Code:type_name -> tutorial.RES_CODE + 139, // 158: tutorial.ResPlayroom.Items:type_name -> tutorial.ItemInfo + 313, // 159: tutorial.ResPlayroom.Opponent:type_name -> tutorial.RoomOpponent + 312, // 160: tutorial.ResPlayroom.Friend:type_name -> tutorial.FriendRoom + 406, // 161: tutorial.ResPlayroom.Playroom:type_name -> tutorial.ResPlayroom.PlayroomEntry + 407, // 162: tutorial.ResPlayroom.Mood:type_name -> tutorial.ResPlayroom.MoodEntry + 139, // 163: tutorial.ResPlayroom.LoseItem:type_name -> tutorial.ItemInfo + 408, // 164: tutorial.ResPlayroom.Physiology:type_name -> tutorial.ResPlayroom.PhysiologyEntry + 2, // 165: tutorial.ResPlayroomWrokOutline.Code:type_name -> tutorial.RES_CODE + 139, // 166: tutorial.NotifyPlayroomLose.LoseItem:type_name -> tutorial.ItemInfo + 409, // 167: tutorial.NotifyPlayroomMood.Mood:type_name -> tutorial.NotifyPlayroomMood.MoodEntry + 410, // 168: tutorial.NotifyPlayroomMood.Physiology:type_name -> tutorial.NotifyPlayroomMood.PhysiologyEntry + 411, // 169: tutorial.ResPlayroomInfo.Playroom:type_name -> tutorial.ResPlayroomInfo.PlayroomEntry + 412, // 170: tutorial.ResPlayroomInfo.Items:type_name -> tutorial.ResPlayroomInfo.ItemsEntry + 413, // 171: tutorial.ResPlayroomInfo.flip:type_name -> tutorial.ResPlayroomInfo.FlipEntry + 414, // 172: tutorial.ResPlayroomInfo.Emoji:type_name -> tutorial.ResPlayroomInfo.EmojiEntry + 2, // 173: tutorial.ResPlayroomFlip.Code:type_name -> tutorial.RES_CODE + 2, // 174: tutorial.ResPlayroomFlipReward.Code:type_name -> tutorial.RES_CODE + 2, // 175: tutorial.ResPlayroomGame.Code:type_name -> tutorial.RES_CODE + 415, // 176: tutorial.ResPlayroomGame.Items:type_name -> tutorial.ResPlayroomGame.ItemsEntry + 2, // 177: tutorial.ResPlayroomInteract.Code:type_name -> tutorial.RES_CODE + 416, // 178: tutorial.ReqPlayroomSetRoom.Playroom:type_name -> tutorial.ReqPlayroomSetRoom.PlayroomEntry + 2, // 179: tutorial.ResPlayroomSetRoom.Code:type_name -> tutorial.RES_CODE + 2, // 180: tutorial.ResPlayroomSelectReward.Code:type_name -> tutorial.RES_CODE + 2, // 181: tutorial.ResPlayroomLose.Code:type_name -> tutorial.RES_CODE + 2, // 182: tutorial.ResPlayroomWork.Code:type_name -> tutorial.RES_CODE + 2, // 183: tutorial.ResPlayroomRest.Code:type_name -> tutorial.RES_CODE + 2, // 184: tutorial.ResPlayroomDraw.Code:type_name -> tutorial.RES_CODE + 2, // 185: tutorial.ResPlayroomChip.Code:type_name -> tutorial.RES_CODE + 2, // 186: tutorial.ResPlayroomBuyItem.Code:type_name -> tutorial.RES_CODE + 2, // 187: tutorial.ResPlayroomShop.Code:type_name -> tutorial.RES_CODE + 344, // 188: tutorial.ResFriendTreasure.List:type_name -> tutorial.TreasureInfo + 344, // 189: tutorial.ReqFriendTreasureStart.List:type_name -> tutorial.TreasureInfo + 2, // 190: tutorial.ResFriendTreasureStart.Code:type_name -> tutorial.RES_CODE + 2, // 191: tutorial.ResFriendTreasureEnd.Code:type_name -> tutorial.RES_CODE + 2, // 192: tutorial.ResFriendTreasureFilp.Code:type_name -> tutorial.RES_CODE + 355, // 193: tutorial.ResCollectInfo.Items:type_name -> tutorial.CollectItem + 139, // 194: tutorial.CollectItem.Items:type_name -> tutorial.ItemInfo + 2, // 195: tutorial.ResCollect.Code:type_name -> tutorial.RES_CODE + 142, // 196: tutorial.ResDailyTask.WeekRewardEntry.value:type_name -> tutorial.DailyWeek + 143, // 197: tutorial.ResDailyTask.DailyTaskEntry.value:type_name -> tutorial.DailyTask + 177, // 198: tutorial.ResLimitEvent.LimitEventListEntry.value:type_name -> tutorial.LimitEvent + 188, // 199: tutorial.ResRank.RankListEntry.value:type_name -> tutorial.ResPlayerSimple + 224, // 200: tutorial.ResMailList.MailListEntry.value:type_name -> tutorial.MailInfo + 233, // 201: tutorial.ResCharge.SpecialShopEntry.value:type_name -> tutorial.ResSpecialShop + 234, // 202: tutorial.ResCharge.ChessShopEntry.value:type_name -> tutorial.ResChessShop + 245, // 203: tutorial.ResEndless.EndlessListEntry.value:type_name -> tutorial.ResEndlessInfo + 189, // 204: tutorial.ResChampshipRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank + 189, // 205: tutorial.ResChampshipPreRank.RankListEntry.value:type_name -> tutorial.ResPlayerRank + 139, // 206: tutorial.ResPlayroomInfo.ItemsEntry.value:type_name -> tutorial.ItemInfo + 139, // 207: tutorial.ResPlayroomGame.ItemsEntry.value:type_name -> tutorial.ItemInfo + 208, // [208:208] is the sub-list for method output_type + 208, // [208:208] is the sub-list for method input_type + 208, // [208:208] is the sub-list for extension type_name + 208, // [208:208] is the sub-list for extension extendee + 0, // [0:208] is the sub-list for field type_name } func init() { file_proto_Gameapi_proto_init() } @@ -22343,7 +22999,7 @@ func file_proto_Gameapi_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_Gameapi_proto_rawDesc, NumEnums: 4, - NumMessages: 401, + NumMessages: 413, NumExtensions: 0, NumServices: 0, }, diff --git a/src/server/pkg/github.com/name5566/leaf/leaf.go b/src/server/pkg/github.com/name5566/leaf/leaf.go index afc93c41..0244d100 100644 --- a/src/server/pkg/github.com/name5566/leaf/leaf.go +++ b/src/server/pkg/github.com/name5566/leaf/leaf.go @@ -8,6 +8,7 @@ import ( "server/game" "server/gamedata" "server/pkg/github.com/name5566/leaf/cluster" + "server/pkg/github.com/name5566/leaf/conf" "server/pkg/github.com/name5566/leaf/console" "server/pkg/github.com/name5566/leaf/log" "server/pkg/github.com/name5566/leaf/module" @@ -15,18 +16,18 @@ import ( ) func Run(mods ...module.Module) { - // logger - // if conf.LogLevel != "" { - // if _, err := os.Stat(conf.LogPath); os.IsNotExist(err) { - // os.Mkdir(conf.LogPath, os.ModePerm) - // } - // logger, err := log.New(conf.LogLevel, conf.LogPath, conf.LogFlag) - // if err != nil { - // panic(err) - // } - // log.Export(logger) - // defer logger.Close() - // } + //logger + if conf.LogLevel != "" { + if _, err := os.Stat(conf.LogPath); os.IsNotExist(err) { + os.Mkdir(conf.LogPath, os.ModePerm) + } + logger, err := log.New(conf.LogLevel, conf.LogPath, conf.LogFlag) + if err != nil { + panic(err) + } + log.Export(logger) + defer logger.Close() + } log.Release("服务器版本: %s", "1.0.02") log.Release("%s 启动, 节点类型: %s, 区服id: %d", sconf.Server.GameName, sconf.Server.ServerType, sconf.Server.ServerID)