diff --git a/common/transtype.go b/common/transtype.go index a9f849c..69a3c22 100644 --- a/common/transtype.go +++ b/common/transtype.go @@ -5,23 +5,23 @@ import ( ) const ( - TransType_Login transact.TransType = 1000 - TransType_Logout = 1001 - TransType_WebTrascate = 1002 - TransType_AddCoin = 1003 - TransType_ViewData = 1004 - TransType_DayTimeChange = 1005 - TransType_CoinSceneChange = 1006 - TransType_WebApi = 1007 - TransType_WebApi_ForRank = 1101 - TransType_GameSrvWebApi = 1008 - TransType_QueryCoinPool = 1009 - TransType_StopServer = 1010 - TransType_QueryAllCoinPool = 1011 - TransType_ActThrSrvWebApi = 1012 - TransType_MatchSceneChange = 1013 - TransType_MiniGameAddCoin = 1014 - TransType_ServerCtrl = 1015 + TransTypeLogin transact.TransType = 1000 + TransTypeLogout = 1001 + TransTypeWebTransact = 1002 + TransTypeAddCoin = 1003 + TransTypeViewData = 1004 + TransTypeDayTimeChange = 1005 + TransTypeCoinSceneChange = 1006 + TransTypeWebApi = 1007 + TransTypeWebApiForRank = 1101 + TransTypeGameSrvWebApi = 1008 + TransTypeQueryCoinPool = 1009 + TransTypeStopServer = 1010 + TransTypeQueryAllCoinPool = 1011 + TransTypeActThrSrvWebApi = 1012 + TransTypeMatchSceneChange = 1013 + TransTypeMiniGameAddCoin = 1014 + TransTypeServerCtrl = 1015 ) type M2GWebTrascate struct { diff --git a/data/DB_GameItem.dat b/data/DB_GameItem.dat index fa14b5e..336995f 100644 Binary files a/data/DB_GameItem.dat and b/data/DB_GameItem.dat differ diff --git a/data/DB_GameItem.json b/data/DB_GameItem.json index 399a340..9cbb9bc 100644 --- a/data/DB_GameItem.json +++ b/data/DB_GameItem.json @@ -6272,6 +6272,7 @@ "SaleType": 1, "SaleGold": 5000, "CompositionMax": 1, + "Time": 360, "Location": "0", "Describe": "可联系客服兑换实物奖励", "Gain": { @@ -6309,6 +6310,7 @@ "SaleType": 1, "SaleGold": 5000, "CompositionMax": 1, + "Time": 360, "Location": "0", "Describe": "可联系客服兑换实物奖励", "Gain": { diff --git a/data/DB_GiftCard.dat b/data/DB_GiftCard.dat index 96640b0..1560036 100644 Binary files a/data/DB_GiftCard.dat and b/data/DB_GiftCard.dat differ diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index 2922a03..8135d9a 100644 Binary files a/data/DB_PropExchange.dat and b/data/DB_PropExchange.dat differ diff --git a/data/DB_Task.dat b/data/DB_Task.dat index 4bb2256..1fa5a6e 100644 Binary files a/data/DB_Task.dat and b/data/DB_Task.dat differ diff --git a/dbproxy/svc/l_itemlog.go b/dbproxy/svc/l_itemlog.go index 8d0ac5f..c03190b 100644 --- a/dbproxy/svc/l_itemlog.go +++ b/dbproxy/svc/l_itemlog.go @@ -113,14 +113,16 @@ func (svc *ItemLogSvc) UpdateState(req *model.UpdateParam, res *model.UpdateRes) return err } -func (svc *ItemLogSvc) GetClawdollItemLog(args *model.ClawdollItemLogReq, ret *[]model.CoinWAL) (err error) { - cond := bson.M{"snid": args.Snid, "typeid": common.GainWayClawdollCostItem} +func (svc *ItemLogSvc) GetClawdollItemLog(args *model.ClawdollItemLogReq, ret *model.GetClawdollItemLogRet) (err error) { + itemTypeIds := []int32{common.GainWayClawdollCostItem, common.GainWayItemShopChangeDoll, common.GainWayItemBagChangeDoll, common.GainWayClawdollCatch} + cond := bson.M{"snid": args.Snid, "typeid": bson.M{"$in": itemTypeIds}} + c := ItemLogsCollection(args.Platform) if c == nil { return } - err = c.Find(cond).All(&ret) + err = c.Find(cond).All(&ret.Logs) return } diff --git a/gamerule/clawdoll/constants.go b/gamerule/clawdoll/constants.go index 2e4bd08..0d7e9e9 100644 --- a/gamerule/clawdoll/constants.go +++ b/gamerule/clawdoll/constants.go @@ -73,9 +73,3 @@ const ( Zego_ForbidRTCStream = iota + 1 Zego_ResumeRTCStream = iota + 1 ) - -const ( - ClawDollItemID = 40003 - ClawDollGiveItemID = 74004 - ClawDollCostItemCount = 2 -) diff --git a/gamesrv/clawdoll/action_clawdoll.go b/gamesrv/clawdoll/action_clawdoll.go index 58e3ca0..d0c3a66 100644 --- a/gamesrv/clawdoll/action_clawdoll.go +++ b/gamesrv/clawdoll/action_clawdoll.go @@ -84,7 +84,7 @@ func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data if msg.Result == 1 { logger.Logger.Tracef("上分成功!!!!!!!!!!!!snid = %v", msg.Snid) - playerEx.CostPlayCoin(2) + playerEx.CostPlayCoin() sceneEx.playingSnid = p.SnId @@ -107,11 +107,12 @@ func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data if msg.Result == 1 { // 获得娃娃卡 - playerEx.CatchCardClawdoll(1) - + playerEx.CatchCardClawdoll() + playerEx.IsWin = true logger.Logger.Tracef("下抓成功!!!!!!!!!!!!snid = %v", msg.Snid) } else { logger.Logger.Tracef("下抓失败!!!!!!!!!!!!snid = %v", msg.Snid) + playerEx.IsWin = false } logger.Logger.Tracef("ClawDoll StatePlayGame OnPlayerOp Grab response, SnId= %v", msg.Snid) @@ -188,53 +189,6 @@ func (h *CSGetTokenHandler) Process(s *netlib.Session, packetid int, data interf } return nil } - -type CSDollConfigPacketFactory struct { -} - -type CSDollConfigHandler struct { -} - -func (f *CSDollConfigPacketFactory) CreatePacket() interface{} { - pack := &clawdoll.CSCLAWDOLLConfig{} - return pack -} - -func (h *CSDollConfigHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error { - logger.Logger.Tracef("CSDollConfigHandler") - if _, ok := data.(*clawdoll.CSCLAWDOLLConfig); ok { - p := base.PlayerMgrSington.GetPlayer(sid) - if p == nil { - logger.Logger.Warn("CSDollConfigHandler p == nil") - return nil - } - - scene := p.GetScene() - if scene == nil { - return nil - } - sceneEx, ok := scene.ExtraData.(*SceneEx) - if !ok { - return nil - } - - machineId := scene.GetDBGameFree().GetId() % 6080000 - machineInfo := sceneEx.GetMachineServerInfo(machineId, p.Platform) - if machineInfo == nil { - logger.Logger.Warn("CSDollConfigHandler machineId = %v not found", machineId) - return nil - } - pack := &clawdoll.SCCLAWDOLLConfig{ - IconAddr: machineInfo.IconAddr, - CostItemNum: machineInfo.CostItemNum, - ItemId: machineInfo.ItemId, - ItemNum: machineInfo.ItemNum, - GameId: scene.GetDBGameFree().GetId(), - } - p.SendToClient(int(clawdoll.CLAWDOLLPacketID_PACKET_SC_DollConfig), pack) - } - return nil -} func init() { common.RegisterHandler(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_PLAYEROP), &CSPlayerOpHandler{}) netlib.RegisterFactory(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_PLAYEROP), &CSPlayerOpPacketFactory{}) @@ -242,7 +196,4 @@ func init() { //客户端请求token common.RegisterHandler(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_GETTOKEN), &CSGetTokenHandler{}) netlib.RegisterFactory(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_GETTOKEN), &CSGetTokenPacketFactory{}) - //客户端请求配置信息 - common.RegisterHandler(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_DollConfig), &CSDollConfigHandler{}) - netlib.RegisterFactory(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_DollConfig), &CSDollConfigPacketFactory{}) } diff --git a/gamesrv/clawdoll/player_clawdoll.go b/gamesrv/clawdoll/player_clawdoll.go index e3665e3..45f75fd 100644 --- a/gamesrv/clawdoll/player_clawdoll.go +++ b/gamesrv/clawdoll/player_clawdoll.go @@ -2,7 +2,6 @@ package clawdoll import ( "mongo.games.com/game/common" - rule "mongo.games.com/game/gamerule/clawdoll" "mongo.games.com/game/gamesrv/base" "mongo.games.com/game/model" "mongo.games.com/game/srvdata" @@ -15,6 +14,8 @@ type PlayerEx struct { clawDollState int32 // 抓娃娃状态 dollCardsCnt int32 // 娃娃卡数量 + IsWin bool // 是否抓到娃娃 + winDollCardType int32 // 本局赢取娃娃的类型 gainCoin int64 // 本局赢的金币 taxCoin int64 // 本局税收 @@ -29,6 +30,7 @@ func (this *PlayerEx) Clear(baseScore int32) { this.gainCoin = 0 this.taxCoin = 0 this.odds = 0 + this.IsWin = false } func (this *PlayerEx) CanOp(sceneEx *SceneEx) bool { @@ -42,19 +44,31 @@ func (this *PlayerEx) CanOp(sceneEx *SceneEx) bool { // 能否投币 func (this *PlayerEx) CanPayCoin() bool { - itemID := int32(rule.ClawDollItemID) - itemCount := this.GetItemCount(itemID) - if itemCount < rule.ClawDollCostItemCount { - return false - } - + itemID := int32(common.ItemIDClawdoll) itemData := srvdata.GameItemMgr.Get(this.Platform, itemID) if itemData == nil { return false } + s := this.GetScene() + if s == nil { + logger.Logger.Warn("CostPlayCoin p.scene == nil") + return false + } + + machineId := s.GetDBGameFree().GetId() % 6080000 + machineInfo := s.GetMachineServerInfo(machineId, this.Platform) + if machineInfo == nil { + return false + } + + itemCount := this.GetItemCount(itemID) + if itemCount < int64(machineInfo.CostItemNum) { + return false + } + num, ok := this.Items[itemID] - if !ok || num < 1 { + if !ok || num < int64(machineInfo.CostItemNum) { return false } @@ -62,22 +76,12 @@ func (this *PlayerEx) CanPayCoin() bool { } // 投币消耗 -func (this *PlayerEx) CostPlayCoin(count int32) bool { +func (this *PlayerEx) CostPlayCoin() bool { if !this.CanPayCoin() { return false } - var items []*model.Item - - itemData := srvdata.GameItemMgr.Get(this.Platform, rule.ClawDollItemID) - if itemData != nil { - items = append(items, &model.Item{ - ItemId: rule.ClawDollItemID, - ItemNum: int64(count), - }) - } - s := this.GetScene() if s == nil { logger.Logger.Warn("CostPlayCoin p.scene == nil") @@ -89,6 +93,21 @@ func (this *PlayerEx) CostPlayCoin(count int32) bool { return false } + machineId := s.GetDBGameFree().GetId() % 6080000 + machineInfo := s.GetMachineServerInfo(machineId, this.Platform) + if machineInfo == nil { + return false + } + + var items []*model.Item + itemData := srvdata.GameItemMgr.Get(this.Platform, common.ItemIDClawdoll) + if itemData != nil { + items = append(items, &model.Item{ + ItemId: common.ItemIDClawdoll, + ItemNum: int64(-machineInfo.CostItemNum), + }) + } + this.AddItems(&model.AddItemParam{ P: this.PlayerData, Change: items, @@ -103,16 +122,7 @@ func (this *PlayerEx) CostPlayCoin(count int32) bool { } // 抓取到娃娃获得娃娃 -func (this *PlayerEx) CatchCardClawdoll(count int32) bool { - var items []*model.Item - - itemData := srvdata.GameItemMgr.Get(this.Platform, rule.ClawDollGiveItemID) - if itemData != nil { - items = append(items, &model.Item{ - ItemId: rule.ClawDollGiveItemID, - ItemNum: int64(count), - }) - } +func (this *PlayerEx) CatchCardClawdoll() bool { s := this.GetScene() if s == nil { @@ -120,11 +130,26 @@ func (this *PlayerEx) CatchCardClawdoll(count int32) bool { return false } + machineId := s.GetDBGameFree().GetId() % 6080000 + machineInfo := s.GetMachineServerInfo(machineId, this.Platform) + if machineInfo == nil { + return false + } + sceneEx, ok := s.ExtraData.(*SceneEx) if !ok { return false } + var items []*model.Item + itemData := srvdata.GameItemMgr.Get(this.Platform, machineInfo.ItemId) + if itemData != nil { + items = append(items, &model.Item{ + ItemId: machineInfo.ItemId, + ItemNum: int64(machineInfo.ItemNum), + }) + } + this.AddItems(&model.AddItemParam{ P: this.PlayerData, Change: items, @@ -175,6 +200,7 @@ func (this *PlayerEx) ReStartGame() { this.gainCoin = 0 this.taxCoin = 0 this.odds = 0 + this.IsWin = false } // 初始化 diff --git a/gamesrv/clawdoll/scenepolicy_clawdoll.go b/gamesrv/clawdoll/scenepolicy_clawdoll.go index ce10404..e3d78a0 100644 --- a/gamesrv/clawdoll/scenepolicy_clawdoll.go +++ b/gamesrv/clawdoll/scenepolicy_clawdoll.go @@ -3,6 +3,7 @@ package clawdoll import ( "github.com/zegoim/zego_server_assistant/token/go/src/token04" "mongo.games.com/game/gamesrv/action" + "mongo.games.com/game/model" "mongo.games.com/game/protocol/clawdoll" "strconv" "time" @@ -739,6 +740,70 @@ func (this *StateBilled) OnPlayerOp(s *base.Scene, p *base.Player, opcode int, p func (this *StateBilled) OnEnter(s *base.Scene) { logger.Logger.Trace("(this *StateBilled) OnEnter, sceneid=", s.GetSceneId()) this.BaseState.OnEnter(s) + + sceneEx, ok := s.ExtraData.(*SceneEx) + if !ok { + return + } + + playerEx := sceneEx.GetPlayingEx() + if playerEx != nil { + logger.Logger.Trace("ClawdollSaveLog Save Snid : ", playerEx.SnId) + + machineId := s.GetDBGameFree().GetId() % 6080000 + machineInfo := s.GetMachineServerInfo(machineId, playerEx.Platform) + if machineInfo == nil { + return + } + + curClawdollItemNum, ok := playerEx.Items[int32(common.ItemIDClawdoll)] + if !ok { + return + } + + LogBaseResult := model.ClawdollResultType{} + LogBaseResult.RoomId = int32(sceneEx.GetSceneId()) + LogBaseResult.PlayerSnid = playerEx.SnId + LogBaseResult.BeforeClawdollItemNum = curClawdollItemNum + int64(machineInfo.CostItemNum) + LogBaseResult.AfterClawdollItemNum = curClawdollItemNum + LogBaseResult.IsWin = playerEx.IsWin + + if !playerEx.IsRob { + sceneEx.logid, _ = model.AutoIncGameLogId() + info, err := model.MarshalGameNoteByHUNDRED(LogBaseResult) + if err == nil { + sceneEx.SaveGameDetailedLog(sceneEx.logid, info, &base.GameDetailedParam{}) + } + + TotalBetValue := 0 + totalin := int64(TotalBetValue) + totalout := playerEx.gainCoin + validFlow := totalin + totalout + validBet := common.AbsI64(totalin - totalout) + logParam := &base.SaveGamePlayerListLogParam{ + Platform: playerEx.Platform, + Channel: playerEx.Channel, + Promoter: playerEx.BeUnderAgentCode, + PackageTag: playerEx.PackageID, + InviterId: playerEx.InviterId, + LogId: sceneEx.logid, + TotalIn: totalin, + TotalOut: totalout, + TaxCoin: playerEx.taxCoin, + BetAmount: int64(TotalBetValue), + WinAmountNoAnyTax: playerEx.gainCoin, + ValidBet: validBet, + ValidFlow: validFlow, + IsFirstGame: sceneEx.IsPlayerFirst(playerEx.Player), + IsFree: false, + WinSmallGame: 0, + WinTotal: 0, + } + sceneEx.SaveGamePlayerListLog(playerEx.SnId, logParam) + } + + playerEx.ReStartGame() + } } func (this *StateBilled) OnLeave(s *base.Scene) { diff --git a/gamesrv/tienlen/scenepolicy_tienlen.go b/gamesrv/tienlen/scenepolicy_tienlen.go index cc47b8e..cf2d3f1 100644 --- a/gamesrv/tienlen/scenepolicy_tienlen.go +++ b/gamesrv/tienlen/scenepolicy_tienlen.go @@ -970,6 +970,10 @@ func (this *SceneHandCardStateTienLen) OnEnter(s *base.Scene) { playerEx.robotGameTimes-- sceneEx.robotGamingNum++ } + if _, ok := sceneEx.BilledList[playerEx.SnId]; !ok { + arr := make([]*BilledInfo, 0) + sceneEx.BilledList[playerEx.SnId] = &arr + } } } } diff --git a/gamesrv/transact/transact_addcoin.go b/gamesrv/transact/transact_addcoin.go index 461a704..a63361d 100644 --- a/gamesrv/transact/transact_addcoin.go +++ b/gamesrv/transact/transact_addcoin.go @@ -76,5 +76,5 @@ func (this *AddCoinTransactHandler) OnChildTransRep(tNode *transact.TransNode, h } func init() { - transact.RegisteHandler(common.TransType_AddCoin, &AddCoinTransactHandler{}) + transact.RegisteHandler(common.TransTypeAddCoin, &AddCoinTransactHandler{}) } diff --git a/gamesrv/transact/transact_coinscenechange.go b/gamesrv/transact/transact_coinscenechange.go index 4144e45..a9a5732 100644 --- a/gamesrv/transact/transact_coinscenechange.go +++ b/gamesrv/transact/transact_coinscenechange.go @@ -62,5 +62,5 @@ func (this *CoinSceneChangeTransactHandler) OnChildTransRep(tNode *transact.Tran } func init() { - transact.RegisteHandler(common.TransType_CoinSceneChange, &CoinSceneChangeTransactHandler{}) + transact.RegisteHandler(common.TransTypeCoinSceneChange, &CoinSceneChangeTransactHandler{}) } diff --git a/gamesrv/transact/transact_daytimechange.go b/gamesrv/transact/transact_daytimechange.go index 1dee438..e8ff8bc 100644 --- a/gamesrv/transact/transact_daytimechange.go +++ b/gamesrv/transact/transact_daytimechange.go @@ -104,7 +104,7 @@ func (this *DayTimeChangeTransactHandler) OnChildTransRep(tNode *transact.TransN } func init() { - transact.RegisteHandler(common.TransType_DayTimeChange, &DayTimeChangeTransactHandler{}) + transact.RegisteHandler(common.TransTypeDayTimeChange, &DayTimeChangeTransactHandler{}) RegisteDayTimeChangeListener(base.CoinPoolMgr) RegisteDayTimeChangeListener(base.SceneMgrSington) } diff --git a/gamesrv/transact/transact_matchscenechange.go b/gamesrv/transact/transact_matchscenechange.go index b990452..3cd34b6 100644 --- a/gamesrv/transact/transact_matchscenechange.go +++ b/gamesrv/transact/transact_matchscenechange.go @@ -62,5 +62,5 @@ func (this *MatchSceneChangeTransactHandler) OnChildTransRep(tNode *transact.Tra } func init() { - transact.RegisteHandler(common.TransType_MatchSceneChange, &MatchSceneChangeTransactHandler{}) + transact.RegisteHandler(common.TransTypeMatchSceneChange, &MatchSceneChangeTransactHandler{}) } diff --git a/gamesrv/transact/transact_queryallcoinpoolstates.go b/gamesrv/transact/transact_queryallcoinpoolstates.go index a897838..6eda0c1 100644 --- a/gamesrv/transact/transact_queryallcoinpoolstates.go +++ b/gamesrv/transact/transact_queryallcoinpoolstates.go @@ -54,5 +54,5 @@ func (this *QueryAllCoinPoolTransactHandler) OnChildTransRep(tNode *transact.Tra } func init() { - transact.RegisteHandler(common.TransType_QueryAllCoinPool, &QueryAllCoinPoolTransactHandler{}) + transact.RegisteHandler(common.TransTypeQueryAllCoinPool, &QueryAllCoinPoolTransactHandler{}) } diff --git a/gamesrv/transact/transact_querycoinpool.go b/gamesrv/transact/transact_querycoinpool.go index 250ea3d..58e962b 100644 --- a/gamesrv/transact/transact_querycoinpool.go +++ b/gamesrv/transact/transact_querycoinpool.go @@ -47,5 +47,5 @@ func (this *QueryCoinPoolTransactHandler) OnChildTransRep(tNode *transact.TransN } func init() { - transact.RegisteHandler(common.TransType_QueryCoinPool, &QueryCoinPoolTransactHandler{}) + transact.RegisteHandler(common.TransTypeQueryCoinPool, &QueryCoinPoolTransactHandler{}) } diff --git a/gamesrv/transact/trascate_gamesrv.go b/gamesrv/transact/trascate_gamesrv.go index 9c239fc..6d9fb71 100644 --- a/gamesrv/transact/trascate_gamesrv.go +++ b/gamesrv/transact/trascate_gamesrv.go @@ -23,7 +23,7 @@ var ( ) func init() { - transact.RegisteHandler(common.TransType_GameSrvWebApi, &WebAPITranscateHandler{}) + transact.RegisteHandler(common.TransTypeGameSrvWebApi, &WebAPITranscateHandler{}) } var WebAPIHandlerMgrSingleton = &WebAPIHandlerMgr{wshMap: make(map[string]WebAPIHandler)} diff --git a/gamesrv/transact/trascate_stop.go b/gamesrv/transact/trascate_stop.go index bf4aeb8..e1425d8 100644 --- a/gamesrv/transact/trascate_stop.go +++ b/gamesrv/transact/trascate_stop.go @@ -10,35 +10,35 @@ import ( ) func init() { - transact.RegisteHandler(common.TransType_StopServer, &transact.TransHanderWrapper{ + transact.RegisteHandler(common.TransTypeStopServer, &transact.TransHanderWrapper{ OnExecuteWrapper: transact.OnExecuteWrapper(func(tNode *transact.TransNode, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnExecuteWrapper %x", tNode.MyTnp.TId) + logger.Logger.Infof("StopApi start TransTypeStopServer OnExecuteWrapper %x", tNode.MyTnp.TId) base.SceneMgrSington.DestoryAllScene() //通知机器人关闭 npcSess := srvlib.ServerSessionMgrSington.GetSession(common.GetSelfAreaId(), common.RobotServerType, common.RobotServerId) if npcSess != nil { tnp := &transact.TransNodeParam{ - Tt: common.TransType_StopServer, + Tt: common.TransTypeStopServer, Ot: transact.TransOwnerType(common.RobotServerType), Oid: common.RobotServerId, AreaID: common.GetSelfAreaId(), Tct: transact.TransactCommitPolicy_TwoPhase, } tNode.StartChildTrans(tnp, nil, time.Second*5) - logger.Logger.Infof("StopApi start TransType_StopServer StartChildTrans srvid:%v srvtype:%v", common.RobotServerId, common.RobotServerType) + logger.Logger.Infof("StopApi start TransTypeStopServer StartChildTrans srvid:%v srvtype:%v", common.RobotServerId, common.RobotServerType) } return transact.TransExeResult_Success }), OnCommitWrapper: transact.OnCommitWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnCommitWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnCommitWrapper") return transact.TransExeResult_Success }), OnRollBackWrapper: transact.OnRollBackWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnRollBackWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnRollBackWrapper") return transact.TransExeResult_Success }), OnChildRespWrapper: transact.OnChildRespWrapper(func(tNode *transact.TransNode, hChild transact.TransNodeID, retCode int, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) + logger.Logger.Infof("StopApi start TransTypeStopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) return transact.TransExeResult(retCode) }), }) diff --git a/gatesrv/trascate_stop.go b/gatesrv/trascate_stop.go index cb1528a..0969438 100644 --- a/gatesrv/trascate_stop.go +++ b/gatesrv/trascate_stop.go @@ -7,21 +7,21 @@ import ( ) func init() { - transact.RegisteHandler(common.TransType_StopServer, &transact.TransHanderWrapper{ + transact.RegisteHandler(common.TransTypeStopServer, &transact.TransHanderWrapper{ OnExecuteWrapper: transact.OnExecuteWrapper(func(tNode *transact.TransNode, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnExecuteWrapper %x", tNode.MyTnp.TId) + logger.Logger.Infof("StopApi start TransTypeStopServer OnExecuteWrapper %x", tNode.MyTnp.TId) return transact.TransExeResult_Success }), OnCommitWrapper: transact.OnCommitWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnCommitWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnCommitWrapper") return transact.TransExeResult_Success }), OnRollBackWrapper: transact.OnRollBackWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnRollBackWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnRollBackWrapper") return transact.TransExeResult_Success }), OnChildRespWrapper: transact.OnChildRespWrapper(func(tNode *transact.TransNode, hChild transact.TransNodeID, retCode int, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) + logger.Logger.Infof("StopApi start TransTypeStopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) return transact.TransExeResult(retCode) }), }) diff --git a/machine/machinedoll/machinemgr.go b/machine/machinedoll/machinemgr.go index 61f7c51..5b10bc3 100644 --- a/machine/machinedoll/machinemgr.go +++ b/machine/machinedoll/machinemgr.go @@ -5,9 +5,7 @@ import ( "fmt" "net" "os" - "os/signal" "path/filepath" - "syscall" "time" "mongo.games.com/goserver/core/logger" @@ -165,7 +163,7 @@ func init() { module.RegisteModule(MachineMgr, time.Second, 0) } -func listenKeyboardEvents(conn net.Conn) { +/*func listenKeyboardEvents(conn net.Conn) { for { // 读取键盘事件 key := readKeyboardEvent() @@ -242,9 +240,9 @@ func listenKeyboardEvents(conn net.Conn) { queryBaseParam(conn) } } -} +}*/ -func readKeyboardEvent() string { +/*func readKeyboardEvent() string { var b [1]byte var done uint32 err := syscall.ReadFile(syscall.Stdin, b[:], &done, nil) @@ -253,9 +251,9 @@ func readKeyboardEvent() string { } return string(b[:]) -} +}*/ -func waitForUserExit() { +/*func waitForUserExit() { // 创建一个信号通道 signalChan := make(chan os.Signal, 1) @@ -265,4 +263,4 @@ func waitForUserExit() { // 等待用户按下 Ctrl+C 退出 <-signalChan fmt.Println("退出程序...") -} +}*/ diff --git a/mgrsrv/api/webapi_gamesrv.go b/mgrsrv/api/webapi_gamesrv.go index b2c5e78..4a00029 100644 --- a/mgrsrv/api/webapi_gamesrv.go +++ b/mgrsrv/api/webapi_gamesrv.go @@ -80,7 +80,7 @@ func GameSrvWebAPI(rw http.ResponseWriter, req *http.Request) { suc := core.CoreObject().SendCommand(&WebApiEvent{req: req, path: req.URL.Path, h: HandlerWrapper(func(event *WebApiEvent, data []byte) bool { logger.Logger.Trace("GameSrvApi start transcate") tnp := &transact.TransNodeParam{ - Tt: common.TransType_GameSrvWebApi, + Tt: common.TransTypeGameSrvWebApi, Ot: transact.TransOwnerType(common.GetSelfSrvType()), Oid: common.GetSelfSrvId(), AreaID: common.GetSelfAreaId(), @@ -128,14 +128,14 @@ func GameSrvWebAPI(rw http.ResponseWriter, req *http.Request) { // //-------------------------------------------------------------------------------------- func init() { - transact.RegisteHandler(common.TransType_GameSrvWebApi, &transact.TransHanderWrapper{ + transact.RegisteHandler(common.TransTypeGameSrvWebApi, &transact.TransHanderWrapper{ OnExecuteWrapper: transact.OnExecuteWrapper(func(tNode *transact.TransNode, ud interface{}) transact.TransExeResult { - logger.Logger.Trace("GameSrvApi start TransType_GameSrvWebApi OnExecuteWrapper") + logger.Logger.Trace("GameSrvApi start TransTypeGameSrvWebApi OnExecuteWrapper") gameSrvIds := common.GetGameSrvIds() logger.Logger.Trace("Current game id:", gameSrvIds) for _, value := range gameSrvIds { tnp := &transact.TransNodeParam{ - Tt: common.TransType_GameSrvWebApi, + Tt: common.TransTypeGameSrvWebApi, Ot: transact.TransOwnerType(srvlib.GameServerType), Oid: value, AreaID: common.GetSelfAreaId(), @@ -154,7 +154,7 @@ func init() { return transact.TransExeResult_Success }), OnCommitWrapper: transact.OnCommitWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Trace("GameSrvApi start TransType_GameSrvWebApi OnCommitWrapper") + logger.Logger.Trace("GameSrvApi start TransTypeGameSrvWebApi OnCommitWrapper") event := tNode.TransEnv.GetField(GAMESRVAPI_TRANSACTE_EVENT).(*WebApiEvent) resp := tNode.TransEnv.GetField(GAMESRVAPI_TRANSACTE_RESPONSE) if ud, ok := resp.([]byte); ok { @@ -165,7 +165,7 @@ func init() { return transact.TransExeResult_Success }), OnRollBackWrapper: transact.OnRollBackWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Trace("GameSrvApi start TransType_GameSrvWebApi OnRollBackWrapper") + logger.Logger.Trace("GameSrvApi start TransTypeGameSrvWebApi OnRollBackWrapper") event := tNode.TransEnv.GetField(GAMESRVAPI_TRANSACTE_EVENT).(*WebApiEvent) resp := tNode.TransEnv.GetField(GAMESRVAPI_TRANSACTE_RESPONSE) if ud, ok := resp.([]byte); ok { diff --git a/mgrsrv/api/webapi_worldsrv.go b/mgrsrv/api/webapi_worldsrv.go index 1745f1e..dc9b02e 100644 --- a/mgrsrv/api/webapi_worldsrv.go +++ b/mgrsrv/api/webapi_worldsrv.go @@ -89,7 +89,7 @@ func WorldSrvApi(rw http.ResponseWriter, req *http.Request) { suc := core.CoreObject().SendCommand(&WebApiEvent{req: req, path: req.URL.Path, h: HandlerWrapper(func(event *WebApiEvent, data []byte) bool { logger.Logger.Trace("WorldSrvApi start transcate") tnp := &transact.TransNodeParam{ - Tt: common.TransType_WebApi, + Tt: common.TransTypeWebApi, Ot: transact.TransOwnerType(common.GetSelfSrvType()), Oid: common.GetSelfSrvId(), AreaID: common.GetSelfAreaId(), @@ -140,11 +140,11 @@ func WorldSrvApi(rw http.ResponseWriter, req *http.Request) { // -------------------------------------------------------------------------------------- func init() { - transact.RegisteHandler(common.TransType_WebApi, &transact.TransHanderWrapper{ + transact.RegisteHandler(common.TransTypeWebApi, &transact.TransHanderWrapper{ OnExecuteWrapper: transact.OnExecuteWrapper(func(tNode *transact.TransNode, ud interface{}) transact.TransExeResult { - logger.Logger.Trace("WorldSrvApi start TransType_WebApi OnExecuteWrapper ") + logger.Logger.Trace("WorldSrvApi start TransTypeWebApi OnExecuteWrapper ") tnp := &transact.TransNodeParam{ - Tt: common.TransType_WebApi, + Tt: common.TransTypeWebApi, Ot: transact.TransOwnerType(srvlib.WorldServerType), Oid: common.GetWorldSrvId(), AreaID: common.GetSelfAreaId(), @@ -156,13 +156,13 @@ func init() { pid := tNode.MyTnp.TId cid := tnp.TId - logger.Logger.Tracef("WorldSrvApi start TransType_WebApi OnExecuteWrapper tid:%x childid:%x", pid, cid) + logger.Logger.Tracef("WorldSrvApi start TransTypeWebApi OnExecuteWrapper tid:%x childid:%x", pid, cid) return transact.TransExeResult_Success } return transact.TransExeResult_Failed }), OnCommitWrapper: transact.OnCommitWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Trace("WorldSrvApi start TransType_WebApi OnCommitWrapper") + logger.Logger.Trace("WorldSrvApi start TransTypeWebApi OnCommitWrapper") event := tNode.TransEnv.GetField(WEBAPI_TRANSACTE_EVENT).(*WebApiEvent) resp := tNode.TransEnv.GetField(WEBAPI_TRANSACTE_RESPONSE) if ud, ok := resp.([]byte); ok { @@ -173,7 +173,7 @@ func init() { return transact.TransExeResult_Success }), OnRollBackWrapper: transact.OnRollBackWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Trace("WorldSrvApi start TransType_WebApi OnRollBackWrapper") + logger.Logger.Trace("WorldSrvApi start TransTypeWebApi OnRollBackWrapper") event := tNode.TransEnv.GetField(WEBAPI_TRANSACTE_EVENT).(*WebApiEvent) resp := tNode.TransEnv.GetField(WEBAPI_TRANSACTE_RESPONSE) if ud, ok := resp.([]byte); ok { @@ -184,7 +184,7 @@ func init() { return transact.TransExeResult_Success }), OnChildRespWrapper: transact.OnChildRespWrapper(func(tNode *transact.TransNode, hChild transact.TransNodeID, retCode int, ud interface{}) transact.TransExeResult { - logger.Logger.Tracef("WorldSrvApi start TransType_WebApi OnChildRespWrapper ret:%v childid:%x", retCode, hChild) + logger.Logger.Tracef("WorldSrvApi start TransTypeWebApi OnChildRespWrapper ret:%v childid:%x", retCode, hChild) tNode.TransEnv.SetField(WEBAPI_TRANSACTE_RESPONSE, ud) return transact.TransExeResult(retCode) }), diff --git a/mgrsrv/stop.go b/mgrsrv/stop.go index bffe57f..50a4096 100644 --- a/mgrsrv/stop.go +++ b/mgrsrv/stop.go @@ -53,7 +53,7 @@ func StopServer(wait chan struct{}, srvtype int, timeout time.Duration) { core.CoreObject().SendCommand(basic.CommandWrapper(func(o *basic.Object) error { logger.Logger.Infof("StopApi start transcate srvtype(%v) timeout(%v)", srvtype, timeout) tnp := &transact.TransNodeParam{ - Tt: common.TransType_StopServer, + Tt: common.TransTypeStopServer, Ot: transact.TransOwnerType(common.GetSelfSrvType()), Oid: common.GetSelfSrvId(), AreaID: common.GetSelfAreaId(), @@ -121,15 +121,15 @@ func init() { return nil }) - transact.RegisteHandler(common.TransType_StopServer, &transact.TransHanderWrapper{ + transact.RegisteHandler(common.TransTypeStopServer, &transact.TransHanderWrapper{ OnExecuteWrapper: transact.OnExecuteWrapper(func(tNode *transact.TransNode, ud interface{}) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnExecuteWrapper ") + logger.Logger.Info("StopApi start TransTypeStopServer OnExecuteWrapper ") if stopUD, ok := ud.(*StopAPIUserData); ok { tNode.TransEnv.SetField(STOPAPI_TRANSACTE_UD, ud) ids := srvlib.ServerSessionMgrSington.GetServerIds(common.GetSelfAreaId(), stopUD.srvtype) for _, id := range ids { tnp := &transact.TransNodeParam{ - Tt: common.TransType_StopServer, + Tt: common.TransTypeStopServer, Ot: transact.TransOwnerType(stopUD.srvtype), Oid: id, AreaID: common.GetSelfAreaId(), @@ -142,7 +142,7 @@ func init() { return transact.TransExeResult_Failed }), OnCommitWrapper: transact.OnCommitWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnCommitWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnCommitWrapper") field := tNode.TransEnv.GetField(STOPAPI_TRANSACTE_UD) if field != nil { if ud, ok := field.(*StopAPIUserData); ok { @@ -152,7 +152,7 @@ func init() { return transact.TransExeResult_Success }), OnRollBackWrapper: transact.OnRollBackWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnRollBackWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnRollBackWrapper") field := tNode.TransEnv.GetField(STOPAPI_TRANSACTE_UD) if field != nil { if ud, ok := field.(*StopAPIUserData); ok { @@ -162,7 +162,7 @@ func init() { return transact.TransExeResult_Success }), OnChildRespWrapper: transact.OnChildRespWrapper(func(tNode *transact.TransNode, hChild transact.TransNodeID, retCode int, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) + logger.Logger.Infof("StopApi start TransTypeStopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) return transact.TransExeResult(retCode) }), }) diff --git a/model/gamelogtype.go b/model/gamelogtype.go index d24b8cc..7593fd2 100644 --- a/model/gamelogtype.go +++ b/model/gamelogtype.go @@ -1679,3 +1679,13 @@ type SamLocPerson struct { CardInfoEnd []int32 //结算时的牌型 IsTianHu bool //是否天胡 } + +// 娃娃机 每局记录 +type ClawdollResultType struct { + //all + RoomId int32 //房间Id + PlayerSnid int32 //玩家id + BeforeClawdollItemNum int64 //变化前娃娃币 + AfterClawdollItemNum int64 //变化后娃娃币 + IsWin bool //是否成功 +} diff --git a/model/itemdatalog.go b/model/itemdatalog.go index e972fc9..74f76fe 100644 --- a/model/itemdatalog.go +++ b/model/itemdatalog.go @@ -126,6 +126,10 @@ type ClawdollItemLogReq struct { ItemIds []int32 // 道具id } +type GetClawdollItemLogRet struct { + Logs []ItemLog +} + func GetClawdollItemLog(plt string, snid int32) (logs []ItemLog, err error) { if rpcCli == nil { @@ -140,7 +144,7 @@ func GetClawdollItemLog(plt string, snid int32) (logs []ItemLog, err error) { args.ItemIds = append(args.ItemIds, ClawDollItemIds...) - var ret []ItemLog + var ret GetClawdollItemLogRet //var ret ClawdollItemLogRet err = rpcCli.CallWithTimeout("ItemLogSvc.GetClawdollItemLog", args, &ret, time.Second*30) @@ -149,7 +153,7 @@ func GetClawdollItemLog(plt string, snid int32) (logs []ItemLog, err error) { return } - logs = ret + logs = ret.Logs return } diff --git a/protocol/clawdoll/clawdoll.pb.go b/protocol/clawdoll/clawdoll.pb.go index 4114f55..7f6bfba 100644 --- a/protocol/clawdoll/clawdoll.pb.go +++ b/protocol/clawdoll/clawdoll.pb.go @@ -38,8 +38,6 @@ const ( CLAWDOLLPacketID_PACKET_CS_WAITPLAYERS CLAWDOLLPacketID = 5611 // 获取等待玩家信息 (客户->服务) CLAWDOLLPacketID_PACKET_SC_WAITPLAYERS CLAWDOLLPacketID = 5612 // 获取等待玩家信息 (服务->客户) CLAWDOLLPacketID_PACKET_SC_PLAYINGINFO CLAWDOLLPacketID = 5613 // 正在控制娃娃机的玩家信息 (服务->客户) - CLAWDOLLPacketID_PACKET_CS_DollConfig CLAWDOLLPacketID = 5614 //获取娃娃机配置信息 - CLAWDOLLPacketID_PACKET_SC_DollConfig CLAWDOLLPacketID = 5615 //返回娃娃机配置信息 ) // Enum value maps for CLAWDOLLPacketID. @@ -59,8 +57,6 @@ var ( 5611: "PACKET_CS_WAITPLAYERS", 5612: "PACKET_SC_WAITPLAYERS", 5613: "PACKET_SC_PLAYINGINFO", - 5614: "PACKET_CS_DollConfig", - 5615: "PACKET_SC_DollConfig", } CLAWDOLLPacketID_value = map[string]int32{ "PACKET_ZERO": 0, @@ -77,8 +73,6 @@ var ( "PACKET_CS_WAITPLAYERS": 5611, "PACKET_SC_WAITPLAYERS": 5612, "PACKET_SC_PLAYINGINFO": 5613, - "PACKET_CS_DollConfig": 5614, - "PACKET_SC_DollConfig": 5615, } ) @@ -1080,123 +1074,6 @@ func (x *CLAWDOLLPlayerDigestInfo) GetStat() int32 { return 0 } -type CSCLAWDOLLConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *CSCLAWDOLLConfig) Reset() { - *x = CSCLAWDOLLConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_clawdoll_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CSCLAWDOLLConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CSCLAWDOLLConfig) ProtoMessage() {} - -func (x *CSCLAWDOLLConfig) ProtoReflect() protoreflect.Message { - mi := &file_clawdoll_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CSCLAWDOLLConfig.ProtoReflect.Descriptor instead. -func (*CSCLAWDOLLConfig) Descriptor() ([]byte, []int) { - return file_clawdoll_proto_rawDescGZIP(), []int{13} -} - -type SCCLAWDOLLConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IconAddr string `protobuf:"bytes,1,opt,name=IconAddr,proto3" json:"IconAddr,omitempty"` //图片地址 - CostItemNum int32 `protobuf:"varint,2,opt,name=CostItemNum,proto3" json:"CostItemNum,omitempty"` //消耗道具数量 - ItemId int32 `protobuf:"varint,3,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //获得道具ID - ItemNum int32 `protobuf:"varint,4,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` //获得道具数量 - GameId int32 `protobuf:"varint,5,opt,name=GameId,proto3" json:"GameId,omitempty"` -} - -func (x *SCCLAWDOLLConfig) Reset() { - *x = SCCLAWDOLLConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_clawdoll_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SCCLAWDOLLConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SCCLAWDOLLConfig) ProtoMessage() {} - -func (x *SCCLAWDOLLConfig) ProtoReflect() protoreflect.Message { - mi := &file_clawdoll_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SCCLAWDOLLConfig.ProtoReflect.Descriptor instead. -func (*SCCLAWDOLLConfig) Descriptor() ([]byte, []int) { - return file_clawdoll_proto_rawDescGZIP(), []int{14} -} - -func (x *SCCLAWDOLLConfig) GetIconAddr() string { - if x != nil { - return x.IconAddr - } - return "" -} - -func (x *SCCLAWDOLLConfig) GetCostItemNum() int32 { - if x != nil { - return x.CostItemNum - } - return 0 -} - -func (x *SCCLAWDOLLConfig) GetItemId() int32 { - if x != nil { - return x.ItemId - } - return 0 -} - -func (x *SCCLAWDOLLConfig) GetItemNum() int32 { - if x != nil { - return x.ItemNum - } - return 0 -} - -func (x *SCCLAWDOLLConfig) GetGameId() int32 { - if x != nil { - return x.GameId - } - return 0 -} - var File_clawdoll_proto protoreflect.FileDescriptor var file_clawdoll_proto_rawDesc = []byte{ @@ -1306,55 +1183,40 @@ var file_clawdoll_proto_rawDesc = []byte{ 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x48, 0x65, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x53, 0x43, 0x4c, - 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9a, 0x01, 0x0a, - 0x10, 0x53, 0x43, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, - 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, - 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, - 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, - 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x2a, 0xb3, 0x03, 0x0a, 0x10, 0x43, 0x4c, - 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x0f, - 0x0a, 0x0b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, - 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, - 0x4d, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe1, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe2, - 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, - 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe3, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x10, 0xe4, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xe5, 0x2b, 0x12, - 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xe6, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, - 0x65, 0x61, 0x76, 0x65, 0x10, 0xe7, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, - 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x10, - 0xe8, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, - 0x47, 0x45, 0x54, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, - 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x54, 0x4f, 0x4b, - 0x45, 0x4e, 0x10, 0xea, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, - 0x43, 0x53, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xeb, - 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, - 0x41, 0x49, 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xec, 0x2b, 0x12, 0x1a, 0x0a, - 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x49, - 0x4e, 0x47, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xed, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x10, 0xee, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0xef, 0x2b, 0x2a, - 0x64, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, - 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, - 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, - 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, - 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, - 0x43, 0x5f, 0x50, 0x6f, 0x73, 0x41, 0x6c, 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x6c, 0x61, 0x79, - 0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x28, 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, - 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x63, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x28, 0x05, 0x52, 0x04, 0x53, 0x74, 0x61, 0x74, 0x2a, 0xfd, 0x02, 0x0a, 0x10, 0x43, 0x4c, 0x41, + 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x0f, 0x0a, + 0x0b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x17, + 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, + 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe1, 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe2, 0x2b, + 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, + 0x41, 0x59, 0x45, 0x52, 0x4f, 0x50, 0x10, 0xe3, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x53, 0x54, 0x41, 0x54, 0x45, + 0x10, 0xe4, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, + 0x5f, 0x47, 0x41, 0x4d, 0x45, 0x42, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0xe5, 0x2b, 0x12, 0x1a, + 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x10, 0xe6, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x65, + 0x61, 0x76, 0x65, 0x10, 0xe7, 0x2b, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xe8, + 0x2b, 0x12, 0x17, 0x0a, 0x12, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x47, + 0x45, 0x54, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, + 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x54, 0x4f, 0x4b, 0x45, + 0x4e, 0x10, 0xea, 0x2b, 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, + 0x53, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xeb, 0x2b, + 0x12, 0x1a, 0x0a, 0x15, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x57, 0x41, + 0x49, 0x54, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x53, 0x10, 0xec, 0x2b, 0x12, 0x1a, 0x0a, 0x15, + 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x49, 0x4e, + 0x47, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xed, 0x2b, 0x2a, 0x64, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x52, 0x43, + 0x5f, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, + 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x50, 0x6f, 0x73, 0x41, 0x6c, + 0x52, 0x65, 0x61, 0x64, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x69, 0x6e, 0x67, 0x10, 0x03, 0x42, 0x28, + 0x5a, 0x26, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, + 0x63, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1370,7 +1232,7 @@ func file_clawdoll_proto_rawDescGZIP() []byte { } var file_clawdoll_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_clawdoll_proto_msgTypes = make([]protoimpl.MessageInfo, 15) +var file_clawdoll_proto_msgTypes = make([]protoimpl.MessageInfo, 13) var file_clawdoll_proto_goTypes = []interface{}{ (CLAWDOLLPacketID)(0), // 0: clawdoll.CLAWDOLLPacketID (OpResultCode)(0), // 1: clawdoll.OpResultCode @@ -1387,8 +1249,6 @@ var file_clawdoll_proto_goTypes = []interface{}{ (*SCCLAWDOLLSendToken)(nil), // 12: clawdoll.SCCLAWDOLLSendToken (*CLAWDOLLWaitPlayers)(nil), // 13: clawdoll.CLAWDOLLWaitPlayers (*CLAWDOLLPlayerDigestInfo)(nil), // 14: clawdoll.CLAWDOLLPlayerDigestInfo - (*CSCLAWDOLLConfig)(nil), // 15: clawdoll.CSCLAWDOLLConfig - (*SCCLAWDOLLConfig)(nil), // 16: clawdoll.SCCLAWDOLLConfig } var file_clawdoll_proto_depIdxs = []int32{ 2, // 0: clawdoll.SCCLAWDOLLRoomInfo.Players:type_name -> clawdoll.CLAWDOLLPlayerData @@ -1564,30 +1424,6 @@ func file_clawdoll_proto_init() { return nil } } - file_clawdoll_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CSCLAWDOLLConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_clawdoll_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SCCLAWDOLLConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1595,7 +1431,7 @@ func file_clawdoll_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_clawdoll_proto_rawDesc, NumEnums: 2, - NumMessages: 15, + NumMessages: 13, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/clawdoll/clawdoll.proto b/protocol/clawdoll/clawdoll.proto index d1e671b..3c57c6d 100644 --- a/protocol/clawdoll/clawdoll.proto +++ b/protocol/clawdoll/clawdoll.proto @@ -18,8 +18,6 @@ enum CLAWDOLLPacketID { PACKET_CS_WAITPLAYERS = 5611; // 获取等待玩家信息 (客户->服务) PACKET_SC_WAITPLAYERS = 5612; // 获取等待玩家信息 (服务->客户) PACKET_SC_PLAYINGINFO = 5613; // 正在控制娃娃机的玩家信息 (服务->客户) - PACKET_CS_DollConfig = 5614; //获取娃娃机配置信息 - PACKET_SC_DollConfig = 5615; //返回娃娃机配置信息 } //操作结果 @@ -133,13 +131,4 @@ message CLAWDOLLPlayerDigestInfo { string HeadUrl = 3; //头像 string Name = 4; //名字 int32 Stat = 5; //玩家状态 0:排队状态 5:大厅观众状态 -} -message CSCLAWDOLLConfig{ -} -message SCCLAWDOLLConfig{ - string IconAddr =1; //图片地址 - int32 CostItemNum = 2; //消耗道具数量 - int32 ItemId = 3; //获得道具ID - int32 ItemNum = 4;//获得道具数量 - int32 GameId = 5; -} +} \ No newline at end of file diff --git a/protocol/player/player.pb.go b/protocol/player/player.pb.go index 149e37d..1d70b2c 100644 --- a/protocol/player/player.pb.go +++ b/protocol/player/player.pb.go @@ -415,6 +415,8 @@ const ( PlayerPacketID_PACKET_SCDataConfig PlayerPacketID = 2843 //通知配置更新 PlayerPacketID_PACKET_CSClawdollItemLog PlayerPacketID = 2844 //请求娃娃卡道具记录 PlayerPacketID_PACKET_SCClawdollItemLog PlayerPacketID = 2845 //返回娃娃卡道具记录 + PlayerPacketID_PACKET_CSDollConfig PlayerPacketID = 2846 //获取娃娃机配置信息 + PlayerPacketID_PACKET_SCDollConfig PlayerPacketID = 2847 //返回娃娃机配置信息 ) // Enum value maps for PlayerPacketID. @@ -564,6 +566,8 @@ var ( 2843: "PACKET_SCDataConfig", 2844: "PACKET_CSClawdollItemLog", 2845: "PACKET_SCClawdollItemLog", + 2846: "PACKET_CSDollConfig", + 2847: "PACKET_SCDollConfig", } PlayerPacketID_value = map[string]int32{ "PACKET_PLAYERPACKET_ZERO": 0, @@ -710,6 +714,8 @@ var ( "PACKET_SCDataConfig": 2843, "PACKET_CSClawdollItemLog": 2844, "PACKET_SCClawdollItemLog": 2845, + "PACKET_CSDollConfig": 2846, + "PACKET_SCDollConfig": 2847, } ) @@ -11183,10 +11189,11 @@ type ClawdollItemLogData struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemLogType int32 `protobuf:"varint,1,opt,name=ItemLogType,proto3" json:"ItemLogType,omitempty"` //道具记录类型 - ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //道具ID - Num int64 `protobuf:"varint,3,opt,name=Num,proto3" json:"Num,omitempty"` //数量 - Time int64 `protobuf:"varint,4,opt,name=Time,proto3" json:"Time,omitempty"` //时间 + TypeId int32 `protobuf:"varint,1,opt,name=TypeId,proto3" json:"TypeId,omitempty"` //道具记录类型 + ItemId int32 `protobuf:"varint,2,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //道具ID + Num int64 `protobuf:"varint,3,opt,name=Num,proto3" json:"Num,omitempty"` //数量 + Time int64 `protobuf:"varint,4,opt,name=Time,proto3" json:"Time,omitempty"` //时间 + LogType int32 `protobuf:"varint,5,opt,name=LogType,proto3" json:"LogType,omitempty"` //记录类型 0.获取 1.消耗 } func (x *ClawdollItemLogData) Reset() { @@ -11221,9 +11228,9 @@ func (*ClawdollItemLogData) Descriptor() ([]byte, []int) { return file_player_proto_rawDescGZIP(), []int{160} } -func (x *ClawdollItemLogData) GetItemLogType() int32 { +func (x *ClawdollItemLogData) GetTypeId() int32 { if x != nil { - return x.ItemLogType + return x.TypeId } return 0 } @@ -11249,6 +11256,177 @@ func (x *ClawdollItemLogData) GetTime() int64 { return 0 } +func (x *ClawdollItemLogData) GetLogType() int32 { + if x != nil { + return x.LogType + } + return 0 +} + +type CSCLAWDOLLConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CSCLAWDOLLConfig) Reset() { + *x = CSCLAWDOLLConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_player_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CSCLAWDOLLConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CSCLAWDOLLConfig) ProtoMessage() {} + +func (x *CSCLAWDOLLConfig) ProtoReflect() protoreflect.Message { + mi := &file_player_proto_msgTypes[161] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CSCLAWDOLLConfig.ProtoReflect.Descriptor instead. +func (*CSCLAWDOLLConfig) Descriptor() ([]byte, []int) { + return file_player_proto_rawDescGZIP(), []int{161} +} + +type SCCLAWDOLLConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Info []*MachineInfo `protobuf:"bytes,1,rep,name=Info,proto3" json:"Info,omitempty"` +} + +func (x *SCCLAWDOLLConfig) Reset() { + *x = SCCLAWDOLLConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_player_proto_msgTypes[162] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SCCLAWDOLLConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SCCLAWDOLLConfig) ProtoMessage() {} + +func (x *SCCLAWDOLLConfig) ProtoReflect() protoreflect.Message { + mi := &file_player_proto_msgTypes[162] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SCCLAWDOLLConfig.ProtoReflect.Descriptor instead. +func (*SCCLAWDOLLConfig) Descriptor() ([]byte, []int) { + return file_player_proto_rawDescGZIP(), []int{162} +} + +func (x *SCCLAWDOLLConfig) GetInfo() []*MachineInfo { + if x != nil { + return x.Info + } + return nil +} + +type MachineInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IconAddr string `protobuf:"bytes,1,opt,name=IconAddr,proto3" json:"IconAddr,omitempty"` //图片地址 + CostItemNum int32 `protobuf:"varint,2,opt,name=CostItemNum,proto3" json:"CostItemNum,omitempty"` //消耗道具数量 + ItemId int32 `protobuf:"varint,3,opt,name=ItemId,proto3" json:"ItemId,omitempty"` //获得道具ID + ItemNum int32 `protobuf:"varint,4,opt,name=ItemNum,proto3" json:"ItemNum,omitempty"` //获得道具数量 + MachineId int32 `protobuf:"varint,5,opt,name=MachineId,proto3" json:"MachineId,omitempty"` +} + +func (x *MachineInfo) Reset() { + *x = MachineInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_player_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MachineInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MachineInfo) ProtoMessage() {} + +func (x *MachineInfo) ProtoReflect() protoreflect.Message { + mi := &file_player_proto_msgTypes[163] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MachineInfo.ProtoReflect.Descriptor instead. +func (*MachineInfo) Descriptor() ([]byte, []int) { + return file_player_proto_rawDescGZIP(), []int{163} +} + +func (x *MachineInfo) GetIconAddr() string { + if x != nil { + return x.IconAddr + } + return "" +} + +func (x *MachineInfo) GetCostItemNum() int32 { + if x != nil { + return x.CostItemNum + } + return 0 +} + +func (x *MachineInfo) GetItemId() int32 { + if x != nil { + return x.ItemId + } + return 0 +} + +func (x *MachineInfo) GetItemNum() int32 { + if x != nil { + return x.ItemNum + } + return 0 +} + +func (x *MachineInfo) GetMachineId() int32 { + if x != nil { + return x.MachineId + } + return 0 +} + var File_player_proto protoreflect.FileDescriptor var file_player_proto_rawDesc = []byte{ @@ -12400,14 +12578,30 @@ var file_player_proto_rawDesc = []byte{ 0x6d, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x6f, - 0x67, 0x73, 0x22, 0x75, 0x0a, 0x13, 0x43, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x49, 0x74, - 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x74, 0x65, - 0x6d, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x87, 0x0f, 0x0a, 0x0c, 0x4f, 0x70, + 0x67, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x13, 0x43, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x49, + 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, + 0x70, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x07, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x22, 0x12, 0x0a, 0x10, 0x43, 0x53, + 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x3b, + 0x0a, 0x10, 0x53, 0x43, 0x43, 0x4c, 0x41, 0x57, 0x44, 0x4f, 0x4c, 0x4c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x9b, 0x01, 0x0a, 0x0b, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x49, + 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, + 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x49, + 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, + 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x2a, 0x87, 0x0f, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x10, 0x4f, @@ -12528,7 +12722,7 @@ var file_player_proto_rawDesc = []byte{ 0xc4, 0x3e, 0x12, 0x14, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x47, 0x75, 0x69, 0x64, 0x65, 0x5f, 0x53, 0x6b, 0x69, 0x70, 0x10, 0xc5, 0x3e, 0x12, 0x19, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x47, 0x75, 0x69, 0x64, 0x65, 0x5f, 0x53, 0x6b, 0x69, 0x70, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x10, 0xc6, 0x3e, 0x2a, 0x85, 0x21, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x61, + 0x10, 0xc6, 0x3e, 0x2a, 0xb9, 0x21, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x14, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, @@ -12792,10 +12986,13 @@ var file_player_proto_rawDesc = []byte{ 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x43, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x10, 0x9c, 0x16, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x43, 0x6c, 0x61, 0x77, 0x64, 0x6f, 0x6c, - 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x10, 0x9d, 0x16, 0x42, 0x26, 0x5a, 0x24, 0x6d, - 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x70, 0x6c, 0x61, - 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x6f, 0x67, 0x10, 0x9d, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x10, 0x9e, 0x16, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x44, 0x6f, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x10, 0x9f, 0x16, 0x42, + 0x26, 0x5a, 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x2f, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -12811,7 +13008,7 @@ func file_player_proto_rawDescGZIP() []byte { } var file_player_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_player_proto_msgTypes = make([]protoimpl.MessageInfo, 170) +var file_player_proto_msgTypes = make([]protoimpl.MessageInfo, 173) var file_player_proto_goTypes = []interface{}{ (OpResultCode)(0), // 0: player.OpResultCode (PlayerPacketID)(0), // 1: player.PlayerPacketID @@ -12976,26 +13173,29 @@ var file_player_proto_goTypes = []interface{}{ (*CSClawdollItemLog)(nil), // 160: player.CSClawdollItemLog (*SCClawdollItemLog)(nil), // 161: player.SCClawdollItemLog (*ClawdollItemLogData)(nil), // 162: player.ClawdollItemLogData - nil, // 163: player.PlayerData.RankScoreEntry - nil, // 164: player.SCPlayerDataUpdate.RankScoreEntry - nil, // 165: player.SCGameExDropItems.ItemsEntry - nil, // 166: player.SCVIPDraw.AwardEntry - nil, // 167: player.VIPcfg.Privilege1Entry - nil, // 168: player.VIPcfg.Privilege9Entry - nil, // 169: player.SCBindTelInfo.BindTelRewardEntry - nil, // 170: player.Config.MapEntry - nil, // 171: player.Config.MapStrEntry - (*server.DB_GameItem)(nil), // 172: server.DB_GameItem + (*CSCLAWDOLLConfig)(nil), // 163: player.CSCLAWDOLLConfig + (*SCCLAWDOLLConfig)(nil), // 164: player.SCCLAWDOLLConfig + (*MachineInfo)(nil), // 165: player.MachineInfo + nil, // 166: player.PlayerData.RankScoreEntry + nil, // 167: player.SCPlayerDataUpdate.RankScoreEntry + nil, // 168: player.SCGameExDropItems.ItemsEntry + nil, // 169: player.SCVIPDraw.AwardEntry + nil, // 170: player.VIPcfg.Privilege1Entry + nil, // 171: player.VIPcfg.Privilege9Entry + nil, // 172: player.SCBindTelInfo.BindTelRewardEntry + nil, // 173: player.Config.MapEntry + nil, // 174: player.Config.MapStrEntry + (*server.DB_GameItem)(nil), // 175: server.DB_GameItem } var file_player_proto_depIdxs = []int32{ 4, // 0: player.SCBillList.Items:type_name -> player.BillItem 0, // 1: player.SCSavePlayerInfo.OpRetCode:type_name -> player.OpResultCode - 163, // 2: player.PlayerData.RankScore:type_name -> player.PlayerData.RankScoreEntry + 166, // 2: player.PlayerData.RankScore:type_name -> player.PlayerData.RankScoreEntry 9, // 3: player.PlayerData.WeekCard:type_name -> player.WeekInfo 0, // 4: player.SCPlayerData.OpRetCode:type_name -> player.OpResultCode 8, // 5: player.SCPlayerData.Data:type_name -> player.PlayerData 10, // 6: player.SCPlayerData.MiniGameArr:type_name -> player.MiniGameInfo - 164, // 7: player.SCPlayerDataUpdate.RankScore:type_name -> player.SCPlayerDataUpdate.RankScoreEntry + 167, // 7: player.SCPlayerDataUpdate.RankScore:type_name -> player.SCPlayerDataUpdate.RankScoreEntry 8, // 8: player.SCThirdPlayerData.Data:type_name -> player.PlayerData 0, // 9: player.SCChangeNick.OpRetCode:type_name -> player.OpResultCode 0, // 10: player.SCChangePassword.OpRetCode:type_name -> player.OpResultCode @@ -13032,19 +13232,19 @@ var file_player_proto_depIdxs = []int32{ 93, // 41: player.JybInfoAward.ItemId:type_name -> player.ItemInfo 0, // 42: player.SCPlayerSetting.OpRetCode:type_name -> player.OpResultCode 94, // 43: player.SCPlayerSetting.GainItem:type_name -> player.JybInfoAward - 165, // 44: player.SCGameExDropItems.Items:type_name -> player.SCGameExDropItems.ItemsEntry + 168, // 44: player.SCGameExDropItems.Items:type_name -> player.SCGameExDropItems.ItemsEntry 0, // 45: player.SCVIPBuy.OpRetCode:type_name -> player.OpResultCode 0, // 46: player.SCVIPDraw.OpRetCode:type_name -> player.OpResultCode - 166, // 47: player.SCVIPDraw.Award:type_name -> player.SCVIPDraw.AwardEntry + 169, // 47: player.SCVIPDraw.Award:type_name -> player.SCVIPDraw.AwardEntry 93, // 48: player.VIPcfg.Item:type_name -> player.ItemInfo - 167, // 49: player.VIPcfg.Privilege1:type_name -> player.VIPcfg.Privilege1Entry + 170, // 49: player.VIPcfg.Privilege1:type_name -> player.VIPcfg.Privilege1Entry 93, // 50: player.VIPcfg.Privilege7:type_name -> player.ItemInfo - 168, // 51: player.VIPcfg.Privilege9:type_name -> player.VIPcfg.Privilege9Entry + 171, // 51: player.VIPcfg.Privilege9:type_name -> player.VIPcfg.Privilege9Entry 0, // 52: player.SCVIPInfo.OpRetCode:type_name -> player.OpResultCode 103, // 53: player.SCVIPInfo.List:type_name -> player.VIPcfg 108, // 54: player.SCPayGoodsInfo.Item:type_name -> player.PayItem 0, // 55: player.SCClientLog.OpRetCode:type_name -> player.OpResultCode - 169, // 56: player.SCBindTelInfo.BindTelReward:type_name -> player.SCBindTelInfo.BindTelRewardEntry + 172, // 56: player.SCBindTelInfo.BindTelReward:type_name -> player.SCBindTelInfo.BindTelRewardEntry 0, // 57: player.SCPlayerSMSCode.Code:type_name -> player.OpResultCode 0, // 58: player.SCBindTel.Code:type_name -> player.OpResultCode 0, // 59: player.SCHttpPass.OpRetCode:type_name -> player.OpResultCode @@ -13057,21 +13257,22 @@ var file_player_proto_depIdxs = []int32{ 128, // 66: player.SCDiamondLotteryInfo.Item:type_name -> player.LotteryItem 128, // 67: player.SCDiamondLottery.Item:type_name -> player.LotteryItem 128, // 68: player.SCDiamondLotteryLuckyAward.Item:type_name -> player.LotteryItem - 172, // 69: player.SCItem.Items:type_name -> server.DB_GameItem + 175, // 69: player.SCItem.Items:type_name -> server.DB_GameItem 149, // 70: player.SCAwardLog.AwardLog:type_name -> player.AwardLogData 151, // 71: player.SCAwardLog.AnnouncerLog:type_name -> player.AnnouncerLogInfo 150, // 72: player.AwardLogData.AwardLog:type_name -> player.AwardLogInfo 154, // 73: player.SCPopUpWindowsConfig.Info:type_name -> player.WindowsInfo 0, // 74: player.SCUpdateAttribute.OpRetCode:type_name -> player.OpResultCode - 170, // 75: player.Config.Map:type_name -> player.Config.MapEntry - 171, // 76: player.Config.MapStr:type_name -> player.Config.MapStrEntry + 173, // 75: player.Config.Map:type_name -> player.Config.MapEntry + 174, // 76: player.Config.MapStr:type_name -> player.Config.MapStrEntry 158, // 77: player.SCDataConfig.Cfg:type_name -> player.Config 162, // 78: player.SCClawdollItemLog.ItemLogs:type_name -> player.ClawdollItemLogData - 79, // [79:79] is the sub-list for method output_type - 79, // [79:79] is the sub-list for method input_type - 79, // [79:79] is the sub-list for extension type_name - 79, // [79:79] is the sub-list for extension extendee - 0, // [0:79] is the sub-list for field type_name + 165, // 79: player.SCCLAWDOLLConfig.Info:type_name -> player.MachineInfo + 80, // [80:80] is the sub-list for method output_type + 80, // [80:80] is the sub-list for method input_type + 80, // [80:80] is the sub-list for extension type_name + 80, // [80:80] is the sub-list for extension extendee + 0, // [0:80] is the sub-list for field type_name } func init() { file_player_proto_init() } @@ -15012,6 +15213,42 @@ func file_player_proto_init() { return nil } } + file_player_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CSCLAWDOLLConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_player_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SCCLAWDOLLConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_player_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MachineInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -15019,7 +15256,7 @@ func file_player_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_player_proto_rawDesc, NumEnums: 2, - NumMessages: 170, + NumMessages: 173, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/player/player.proto b/protocol/player/player.proto index e065d1d..4047cfe 100644 --- a/protocol/player/player.proto +++ b/protocol/player/player.proto @@ -234,6 +234,8 @@ enum PlayerPacketID { PACKET_SCDataConfig = 2843;//通知配置更新 PACKET_CSClawdollItemLog = 2844;//请求娃娃卡道具记录 PACKET_SCClawdollItemLog = 2845;//返回娃娃卡道具记录 + PACKET_CSDollConfig = 2846; //获取娃娃机配置信息 + PACKET_SCDollConfig = 2847; //返回娃娃机配置信息 } // 账变记录 @@ -1384,9 +1386,21 @@ message SCClawdollItemLog{ } message ClawdollItemLogData{ - int32 ItemLogType = 1; //道具记录类型 + int32 TypeId = 1; //道具记录类型 int32 ItemId = 2; //道具ID int64 Num = 3; //数量 int64 Time = 4; //时间 + int32 LogType = 5; //记录类型 0.获取 1.消耗 } - +message CSCLAWDOLLConfig{ +} +message SCCLAWDOLLConfig{ + repeated MachineInfo Info =1; +} +message MachineInfo{ + string IconAddr =1; //图片地址 + int32 CostItemNum = 2; //消耗道具数量 + int32 ItemId = 3; //获得道具ID + int32 ItemNum = 4;//获得道具数量 + int32 MachineId = 5; +} \ No newline at end of file diff --git a/protocol/shop/shop.pb.go b/protocol/shop/shop.pb.go index ccb5888..4cd8556 100644 --- a/protocol/shop/shop.pb.go +++ b/protocol/shop/shop.pb.go @@ -1683,10 +1683,11 @@ type ShopWeight struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ShopType int32 `protobuf:"varint,1,opt,name=ShopType,proto3" json:"ShopType,omitempty"` - Weight int32 `protobuf:"varint,2,opt,name=Weight,proto3" json:"Weight,omitempty"` - Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` - IsShow int32 `protobuf:"varint,4,opt,name=IsShow,proto3" json:"IsShow,omitempty"` + ShopType int32 `protobuf:"varint,1,opt,name=ShopType,proto3" json:"ShopType,omitempty"` + Weight int32 `protobuf:"varint,2,opt,name=Weight,proto3" json:"Weight,omitempty"` + Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` + IsShow int32 `protobuf:"varint,4,opt,name=IsShow,proto3" json:"IsShow,omitempty"` + Location []int32 `protobuf:"varint,5,rep,packed,name=Location,proto3" json:"Location,omitempty"` // 显示位置 } func (x *ShopWeight) Reset() { @@ -1749,6 +1750,13 @@ func (x *ShopWeight) GetIsShow() int32 { return 0 } +func (x *ShopWeight) GetLocation() []int32 { + if x != nil { + return x.Location + } + return nil +} + type SCShopExchangeList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2669,146 +2677,148 @@ var file_shop_proto_rawDesc = []byte{ 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, - 0x72, 0x6c, 0x22, 0x6c, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, - 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, - 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x53, 0x43, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, - 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65, - 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x53, 0x68, 0x6f, 0x70, - 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x6e, - 0x66, 0x6f, 0x73, 0x12, 0x28, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x57, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xc9, 0x01, - 0x0a, 0x09, 0x43, 0x53, 0x50, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x47, - 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, - 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, - 0x61, 0x79, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x50, 0x61, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x75, 0x79, 0x49, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, 0x75, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, - 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x4b, 0x0a, 0x09, 0x53, 0x43, 0x50, - 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x4f, - 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65, 0x74, - 0x43, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x53, 0x47, 0x65, 0x74, 0x50, - 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x54, 0x79, - 0x70, 0x65, 0x22, 0x3c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, - 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, - 0x22, 0xd3, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, - 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0b, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x53, 0x43, 0x47, 0x65, 0x74, 0x50, - 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x49, 0x6e, - 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, - 0x50, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x4a, 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x06, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x41, 0x64, 0x64, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x64, 0x64, 0x72, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x38, 0x0a, - 0x10, 0x53, 0x43, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x73, 0x12, 0x24, 0x0a, 0x05, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x05, 0x41, 0x64, 0x64, 0x72, 0x73, 0x22, 0x2e, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x72, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x41, 0x64, 0x64, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x22, 0x59, 0x0a, 0x0f, 0x53, 0x43, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x22, 0x0a, - 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x68, - 0x6f, 0x70, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, - 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x2a, 0xae, 0x02, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, - 0x75, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, - 0x56, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, - 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, - 0x67, 0x68, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x74, 0x74, 0x10, 0x05, 0x12, 0x18, - 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, - 0x6f, 0x6c, 0x64, 0x4f, 0x75, 0x74, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x41, 0x63, - 0x63, 0x10, 0x07, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, 0x43, 0x6f, 0x69, - 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, - 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x74, - 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, - 0x5f, 0x4e, 0x6f, 0x74, 0x53, 0x49, 0x4d, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x0a, 0x12, 0x17, 0x0a, - 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x44, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, - 0x6f, 0x75, 0x67, 0x68, 0x10, 0x0b, 0x2a, 0x91, 0x05, 0x0a, 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, - 0x65, 0x74, 0x49, 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x48, 0x4f, 0x50, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x46, - 0x4f, 0x10, 0xc4, 0x13, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, - 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xc5, 0x13, 0x12, 0x1c, - 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, - 0x5f, 0x41, 0x44, 0x4c, 0x4f, 0x4f, 0x4b, 0x45, 0x44, 0x10, 0xc6, 0x13, 0x12, 0x1c, 0x0a, 0x17, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x41, - 0x44, 0x4c, 0x4f, 0x4f, 0x4b, 0x45, 0x44, 0x10, 0xc7, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x56, 0x43, 0x50, - 0x41, 0x59, 0x53, 0x48, 0x4f, 0x50, 0x10, 0xc8, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, - 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x56, 0x43, 0x50, 0x41, - 0x59, 0x53, 0x48, 0x4f, 0x50, 0x10, 0xc9, 0x13, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, - 0x4e, 0x47, 0x45, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x10, 0xca, 0x13, 0x12, 0x22, 0x0a, 0x1d, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x45, - 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x10, 0xcb, 0x13, - 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, - 0x4f, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xcc, 0x13, 0x12, 0x1c, - 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, - 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xcd, 0x13, 0x12, 0x20, 0x0a, 0x1b, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x45, - 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xce, 0x13, 0x12, 0x20, - 0x0a, 0x1b, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, - 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xcf, 0x13, - 0x12, 0x1a, 0x0a, 0x15, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x49, 0x56, 0x45, - 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xd2, 0x13, 0x12, 0x15, 0x0a, 0x10, - 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, - 0x10, 0xd3, 0x13, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, - 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xd4, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x47, 0x45, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, - 0x4f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xd5, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x53, 0x43, 0x47, 0x45, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x4c, - 0x49, 0x53, 0x54, 0x10, 0xd6, 0x13, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, - 0x5f, 0x43, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x41, 0x44, 0x44, 0x52, 0x10, 0xd7, 0x13, - 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x4c, 0x41, - 0x59, 0x45, 0x52, 0x41, 0x44, 0x44, 0x52, 0x10, 0xd8, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x56, - 0x49, 0x50, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0xd9, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, - 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x56, - 0x49, 0x50, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x10, 0xda, 0x13, 0x42, 0x24, 0x5a, 0x22, 0x6d, 0x6f, - 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, - 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x73, 0x68, 0x6f, 0x70, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x6c, 0x22, 0x88, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, + 0x68, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, + 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9a, 0x01, + 0x0a, 0x12, 0x53, 0x43, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x4f, 0x70, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x49, 0x6e, 0x66, 0x6f, 0x73, + 0x12, 0x28, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xc9, 0x01, 0x0a, 0x09, 0x43, + 0x53, 0x50, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x6f, 0x6f, 0x64, + 0x73, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x47, 0x6f, 0x6f, 0x64, 0x73, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x79, 0x49, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, + 0x61, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x75, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, 0x75, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x45, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x45, 0x78, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x4b, 0x0a, 0x09, 0x53, 0x43, 0x50, 0x61, 0x79, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x4f, 0x70, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x52, 0x65, 0x74, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x55, 0x72, 0x6c, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x53, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x49, + 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x22, + 0x3c, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, + 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x22, 0xd3, 0x01, + 0x0a, 0x0b, 0x50, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, + 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, + 0x73, 0x75, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x43, + 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x2a, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, + 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x02, 0x54, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x53, 0x43, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x49, + 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x50, 0x61, 0x79, + 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x4a, + 0x0a, 0x0c, 0x43, 0x53, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x16, + 0x0a, 0x06, 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, + 0x4f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x41, 0x64, 0x64, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x10, 0x53, 0x43, + 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x24, + 0x0a, 0x05, 0x41, 0x64, 0x64, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x73, 0x68, 0x6f, 0x70, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, + 0x64, 0x64, 0x72, 0x73, 0x22, 0x2e, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x72, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x41, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x41, 0x64, 0x64, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x43, 0x53, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x22, 0x59, 0x0a, 0x0f, 0x53, 0x43, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x56, 0x69, 0x70, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x73, 0x68, 0x6f, 0x70, 0x2e, + 0x53, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x22, + 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x2a, 0xae, 0x02, 0x0a, 0x0c, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x53, 0x75, 0x63, 0x65, + 0x73, 0x73, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x56, 0x43, 0x6f, + 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x02, 0x12, 0x16, 0x0a, + 0x12, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, + 0x04, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x74, 0x74, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x4f, + 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x6f, 0x6c, 0x64, + 0x4f, 0x75, 0x74, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x45, 0x78, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x41, 0x63, 0x63, 0x10, 0x07, + 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4a, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, + 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x08, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x50, 0x52, + 0x43, 0x5f, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, + 0x75, 0x67, 0x68, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x50, 0x52, 0x43, 0x5f, 0x4e, 0x6f, + 0x74, 0x53, 0x49, 0x4d, 0x43, 0x6f, 0x64, 0x65, 0x10, 0x0a, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x50, + 0x52, 0x43, 0x5f, 0x44, 0x43, 0x6f, 0x69, 0x6e, 0x4e, 0x6f, 0x74, 0x45, 0x6e, 0x6f, 0x75, 0x67, + 0x68, 0x10, 0x0b, 0x2a, 0x91, 0x05, 0x0a, 0x09, 0x53, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x49, + 0x44, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x48, 0x4f, 0x50, + 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xc4, + 0x13, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, + 0x48, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xc5, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x44, + 0x4c, 0x4f, 0x4f, 0x4b, 0x45, 0x44, 0x10, 0xc6, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x41, 0x44, 0x4c, 0x4f, + 0x4f, 0x4b, 0x45, 0x44, 0x10, 0xc7, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x56, 0x43, 0x50, 0x41, 0x59, 0x53, + 0x48, 0x4f, 0x50, 0x10, 0xc8, 0x13, 0x12, 0x1d, 0x0a, 0x18, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, + 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x56, 0x43, 0x50, 0x41, 0x59, 0x53, 0x48, + 0x4f, 0x50, 0x10, 0xc9, 0x13, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, + 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x10, 0xca, 0x13, 0x12, 0x22, 0x0a, 0x1d, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x48, + 0x41, 0x4e, 0x47, 0x45, 0x52, 0x45, 0x43, 0x4f, 0x52, 0x44, 0x10, 0xcb, 0x13, 0x12, 0x1c, 0x0a, + 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, + 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xcc, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x45, 0x58, + 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0xcd, 0x13, 0x12, 0x20, 0x0a, 0x1b, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x45, 0x58, 0x43, 0x48, + 0x41, 0x4e, 0x47, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xce, 0x13, 0x12, 0x20, 0x0a, 0x1b, 0x50, + 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x45, 0x58, + 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x4c, 0x49, 0x53, 0x54, 0x10, 0xcf, 0x13, 0x12, 0x1a, 0x0a, + 0x15, 0x53, 0x48, 0x4f, 0x50, 0x5f, 0x53, 0x43, 0x5f, 0x47, 0x49, 0x56, 0x45, 0x43, 0x4f, 0x49, + 0x4e, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xd2, 0x13, 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, + 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xd3, 0x13, + 0x12, 0x15, 0x0a, 0x10, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x41, 0x59, + 0x49, 0x4e, 0x46, 0x4f, 0x10, 0xd4, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x47, 0x45, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x4c, 0x49, + 0x53, 0x54, 0x10, 0xd5, 0x13, 0x12, 0x1c, 0x0a, 0x17, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, + 0x53, 0x43, 0x47, 0x45, 0x54, 0x50, 0x41, 0x59, 0x49, 0x4e, 0x46, 0x4f, 0x4c, 0x49, 0x53, 0x54, + 0x10, 0xd6, 0x13, 0x12, 0x18, 0x0a, 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x43, 0x53, + 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, 0x41, 0x44, 0x44, 0x52, 0x10, 0xd7, 0x13, 0x12, 0x18, 0x0a, + 0x13, 0x50, 0x41, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x53, 0x43, 0x50, 0x4c, 0x41, 0x59, 0x45, 0x52, + 0x41, 0x44, 0x44, 0x52, 0x10, 0xd8, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x43, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x49, 0x50, 0x5f, + 0x53, 0x48, 0x4f, 0x50, 0x10, 0xd9, 0x13, 0x12, 0x1e, 0x0a, 0x19, 0x50, 0x41, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x53, 0x43, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x49, 0x50, 0x5f, + 0x53, 0x48, 0x4f, 0x50, 0x10, 0xda, 0x13, 0x42, 0x24, 0x5a, 0x22, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, + 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x73, 0x68, 0x6f, 0x70, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/shop/shop.proto b/protocol/shop/shop.proto index 4234413..16cae1a 100644 --- a/protocol/shop/shop.proto +++ b/protocol/shop/shop.proto @@ -208,6 +208,7 @@ message ShopWeight{ int32 Weight = 2; string Name = 3; int32 IsShow = 4; + repeated int32 Location = 5; // 显示位置 } message SCShopExchangeList{ diff --git a/protocol/webapi/common.pb.go b/protocol/webapi/common.pb.go index d3b38aa..ef1690e 100644 --- a/protocol/webapi/common.pb.go +++ b/protocol/webapi/common.pb.go @@ -3673,10 +3673,11 @@ type ShopWeight struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ShopType int32 `protobuf:"varint,1,opt,name=ShopType,proto3" json:"ShopType,omitempty"` - Weight int32 `protobuf:"varint,2,opt,name=Weight,proto3" json:"Weight,omitempty"` - Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` - IsShow int32 `protobuf:"varint,4,opt,name=IsShow,proto3" json:"IsShow,omitempty"` + ShopType int32 `protobuf:"varint,1,opt,name=ShopType,proto3" json:"ShopType,omitempty"` + Weight int32 `protobuf:"varint,2,opt,name=Weight,proto3" json:"Weight,omitempty"` + Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` + IsShow int32 `protobuf:"varint,4,opt,name=IsShow,proto3" json:"IsShow,omitempty"` + Location []int32 `protobuf:"varint,5,rep,packed,name=Location,proto3" json:"Location,omitempty"` // 显示位置 } func (x *ShopWeight) Reset() { @@ -3739,6 +3740,13 @@ func (x *ShopWeight) GetIsShow() int32 { return 0 } +func (x *ShopWeight) GetLocation() []int32 { + if x != nil { + return x.Location + } + return nil +} + type ItemShop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -9407,725 +9415,727 @@ var file_common_proto_rawDesc = []byte{ 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x2a, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x22, 0x6c, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, - 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, - 0x22, 0x83, 0x05, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x18, 0x0a, 0x07, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x41, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x41, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x41, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, - 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6f, 0x6c, 0x69, - 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, - 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, - 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x41, 0x72, 0x65, 0x61, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x07, 0x41, 0x64, 0x64, 0x41, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x18, 0x11, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x12, 0x31, 0x0a, 0x05, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x62, - 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x2e, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x08, 0x56, 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, - 0x74, 0x69, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, - 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x69, - 0x72, 0x73, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x46, 0x69, 0x72, 0x73, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x1a, 0x38, 0x0a, 0x0a, - 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, - 0x6f, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, - 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x50, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, - 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x0e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, - 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, - 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xb1, 0x07, - 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, - 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, - 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x12, 0x26, 0x0a, - 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, - 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, - 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, - 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x53, - 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, - 0x11, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, - 0x6e, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, - 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x0e, 0x53, - 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, - 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, - 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x0d, 0x20, 0x03, - 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, - 0x6b, 0x12, 0x2c, 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x48, 0x4d, 0x53, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, 0x53, 0x12, - 0x28, 0x0a, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x48, - 0x4d, 0x53, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, - 0x03, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x0a, - 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x52, - 0x75, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, - 0x62, 0x6f, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, - 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x75, 0x64, - 0x69, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, - 0x68, 0x22, 0x5a, 0x0a, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, - 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, - 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, 0x0a, - 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, - 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x0d, 0x47, 0x61, - 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x64, 0x0a, 0x0b, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, - 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, - 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, - 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x57, 0x65, 0x6c, + 0x68, 0x74, 0x22, 0x88, 0x01, 0x0a, 0x0a, 0x53, 0x68, 0x6f, 0x70, 0x57, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x53, 0x68, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x73, 0x53, + 0x68, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, + 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x05, + 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x50, + 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x41, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x41, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6f, 0x6c, 0x69, + 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, + 0x41, 0x64, 0x64, 0x41, 0x72, 0x65, 0x61, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x41, + 0x64, 0x64, 0x41, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x43, 0x6f, 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x18, 0x11, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, + 0x43, 0x6f, 0x73, 0x74, 0x41, 0x72, 0x65, 0x61, 0x12, 0x31, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x56, + 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x56, + 0x69, 0x70, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x18, 0x0a, + 0x07, 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, + 0x45, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x69, 0x72, 0x73, 0x74, + 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x46, 0x69, + 0x72, 0x73, 0x74, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x68, 0x6f, 0x70, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, + 0x68, 0x6f, 0x70, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x50, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, + 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, + 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x44, 0x69, 0x61, 0x6d, + 0x6f, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x44, 0x69, 0x61, 0x6d, 0x6f, + 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x55, 0x70, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x44, 0x6f, 0x77, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xb1, 0x07, 0x0a, 0x0d, 0x47, + 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x4e, 0x75, 0x6d, 0x65, 0x62, 0x72, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x77, + 0x69, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74, + 0x63, 0x68, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x05, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, + 0x43, 0x6f, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, + 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x6f, 0x69, 0x6e, 0x12, 0x2c, 0x0a, 0x11, 0x53, 0x69, + 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, + 0x74, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x12, 0x38, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, + 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x75, 0x70, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x0d, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x57, 0x65, 0x65, 0x6b, 0x12, 0x2c, + 0x0a, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x48, 0x4d, 0x53, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x48, 0x4d, 0x53, 0x12, 0x28, 0x0a, 0x0f, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, + 0x45, 0x6e, 0x64, 0x48, 0x4d, 0x53, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x10, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0e, + 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1a, + 0x0a, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, + 0x72, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x52, 0x6f, 0x62, 0x6f, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x17, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x43, 0x61, 0x72, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x53, 0x68, 0x6f, 0x77, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, + 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, + 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x5a, + 0x0a, 0x11, 0x47, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x6d, 0x65, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, 0x0a, 0x0d, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x22, 0x56, 0x0a, 0x0d, 0x47, 0x61, 0x6d, 0x65, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x64, 0x0a, 0x0b, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, + 0x72, 0x61, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, + 0x49, 0x74, 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0x4f, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, + 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x27, 0x0a, + 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, + 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, + 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, + 0x74, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, + 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x30, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, + 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x38, 0x0a, 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x04, 0x52, 0x61, 0x74, 0x65, 0x22, 0xba, 0x01, 0x0a, 0x18, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, - 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x30, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, - 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, - 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x54, 0x75, 0x72, 0x6e, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x52, 0x61, 0x74, 0x65, 0x52, 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x65, 0x52, 0x08, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, + 0x61, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x79, 0x12, + 0x31, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, + 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, + 0x74, 0x65, 0x22, 0x48, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, + 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0xc9, 0x02, 0x0a, + 0x10, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, + 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x09, + 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, + 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, + 0x65, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, + 0x74, 0x65, 0x52, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x12, 0x44, + 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, + 0x74, 0x65, 0x52, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, + 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, + 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, + 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x22, 0x78, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, + 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x2c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, + 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x22, 0x61, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, - 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, - 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, - 0x61, 0x79, 0x12, 0x31, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, - 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, 0x64, 0x55, - 0x70, 0x44, 0x61, 0x74, 0x65, 0x22, 0x48, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, - 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x44, - 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, - 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, - 0xc9, 0x02, 0x0a, 0x10, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, - 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x36, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, - 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x41, 0x64, - 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, - 0x44, 0x61, 0x74, 0x65, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, - 0x32, 0x12, 0x44, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, - 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, - 0x32, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x55, 0x70, - 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x70, 0x44, 0x61, - 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0e, 0x41, 0x64, 0x64, - 0x55, 0x70, 0x44, 0x61, 0x74, 0x65, 0x32, 0x54, 0x79, 0x70, 0x65, 0x22, 0x78, 0x0a, 0x14, 0x57, - 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, - 0x72, 0x65, 0x37, 0x53, 0x69, 0x67, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, - 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xdb, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, - 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 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, 0x12, 0x0a, 0x04, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, - 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, - 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, - 0x65, 0x6d, 0x5f, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, - 0x6d, 0x49, 0x64, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x42, - 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, + 0x63, 0x68, 0x22, 0xdb, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, + 0x61, 0x74, 0x61, 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, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x47, + 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x5f, + 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, + 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x42, 0x6c, 0x69, 0x6e, + 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, + 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x0c, 0x57, 0x65, 0x6c, 0x66, 0x61, + 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, + 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, + 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74, + 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x73, + 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x73, 0x75, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, + 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x8d, + 0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, 0x73, 0x74, 0x50, + 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, + 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x22, 0xa8, + 0x01, 0x0a, 0x1c, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, + 0x75, 0x6f, 0x75, 0x73, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x42, 0x6f, 0x78, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, + 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, - 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x4d, 0x69, 0x6e, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x0c, 0x57, 0x65, - 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x44, 0x61, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x44, 0x61, 0x79, 0x12, 0x27, 0x0a, 0x04, - 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, - 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x52, - 0x04, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x49, 0x50, 0x45, 0x58, 0x12, 0x18, 0x0a, 0x07, 0x43, - 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x43, 0x6f, - 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x31, 0x12, 0x16, 0x0a, - 0x06, 0x70, 0x72, 0x69, 0x63, 0x65, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x32, 0x12, 0x1a, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x17, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x46, 0x69, 0x72, - 0x73, 0x74, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x0a, - 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x53, 0x70, 0x72, 0x65, - 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x43, - 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x43, 0x79, 0x63, 0x6c, - 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1c, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x50, 0x61, 0x79, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, - 0x65, 0x53, 0x70, 0x72, 0x65, 0x65, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x12, 0x14, 0x0a, 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x05, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x22, 0xa2, 0x07, 0x0a, - 0x06, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x12, 0x2f, 0x0a, - 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, - 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x56, 0x69, 0x70, 0x45, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, - 0x69, 0x70, 0x45, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, - 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, - 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x38, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, - 0x65, 0x67, 0x65, 0x38, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, - 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, - 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x18, - 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, - 0x49, 0x64, 0x37, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, - 0x64, 0x37, 0x12, 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, - 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, - 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, - 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, - 0x65, 0x31, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, - 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, + 0x63, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x42, 0x72, 0x65, 0x61, 0x6b, 0x22, 0xa2, 0x07, 0x0a, 0x06, 0x56, 0x49, + 0x50, 0x63, 0x66, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x05, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x56, + 0x69, 0x70, 0x45, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x69, 0x70, 0x45, + 0x78, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x31, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x32, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x33, 0x18, 0x07, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x33, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x35, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x35, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x36, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x37, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x38, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x38, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, + 0x6e, 0x65, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0f, 0x52, 0x65, 0x77, 0x61, + 0x72, 0x64, 0x4f, 0x75, 0x74, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x53, + 0x68, 0x6f, 0x70, 0x49, 0x64, 0x32, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, + 0x6f, 0x70, 0x49, 0x64, 0x32, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x68, 0x6f, 0x70, 0x49, 0x64, 0x37, 0x12, + 0x26, 0x0a, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x46, 0x72, + 0x65, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x76, 0x69, + 0x6c, 0x65, 0x67, 0x65, 0x39, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x2e, 0x50, 0x72, 0x69, 0x76, + 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x1a, 0x38, 0x0a, 0x0a, 0x41, 0x77, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0x70, 0x0a, 0x0e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, - 0x67, 0x52, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, - 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, - 0x74, 0x69, 0x6f, 0x22, 0x95, 0x01, 0x0a, 0x09, 0x57, 0x62, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x66, - 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, - 0x08, 0x52, 0x65, 0x61, 0x6c, 0x43, 0x74, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x52, 0x65, 0x61, 0x6c, 0x43, 0x74, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x6f, 0x76, - 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, - 0x69, 0x6c, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0a, 0x4b, 0x69, 0x6c, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0b, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x22, 0x64, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, - 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, - 0x65, 0x12, 0x27, 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, - 0x44, 0x61, 0x74, 0x65, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x75, 0x0a, 0x10, 0x43, 0x68, - 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, - 0x0a, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, - 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, - 0x64, 0x22, 0xb4, 0x03, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, - 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, - 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, - 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, - 0x51, 0x75, 0x44, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, - 0x12, 0x1c, 0x0a, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, - 0x0a, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, - 0x61, 0x78, 0x12, 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, - 0x12, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, - 0x73, 0x4d, 0x61, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x12, 0x1c, - 0x0a, 0x09, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, - 0x50, 0x61, 0x79, 0x55, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x79, - 0x55, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, - 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0a, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, - 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, - 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x47, 0x61, 0x6d, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x31, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x37, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x39, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, + 0x0a, 0x0e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x22, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x56, 0x49, 0x50, 0x63, 0x66, 0x67, 0x52, 0x04, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x0a, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x61, 0x74, 0x69, 0x6f, + 0x22, 0x95, 0x01, 0x0a, 0x09, 0x57, 0x62, 0x43, 0x74, 0x72, 0x6c, 0x43, 0x66, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, + 0x61, 0x6c, 0x43, 0x74, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x52, 0x65, + 0x61, 0x6c, 0x43, 0x74, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x4e, 0x6f, 0x76, 0x69, 0x63, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x4b, 0x69, 0x6c, 0x6c, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x4b, 0x69, + 0x6c, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x57, 0x0a, 0x0b, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x54, - 0x69, 0x61, 0x6e, 0x48, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, - 0x6e, 0x48, 0x75, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x65, 0x6e, - 0x43, 0x68, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, - 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, - 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, - 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, - 0x43, 0x68, 0x61, 0x22, 0x4f, 0x0a, 0x19, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, - 0x69, 0x74, 0x63, 0x68, 0x22, 0x4a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, - 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, - 0x22, 0x67, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, - 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x02, 0x54, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x09, 0x52, 0x61, 0x6e, - 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x10, - 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, - 0x22, 0xb2, 0x03, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, + 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x22, 0x64, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x27, + 0x0a, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x44, 0x61, 0x74, + 0x65, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x75, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x73, 0x73, + 0x52, 0x61, 0x6e, 0x6b, 0x63, 0x66, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x05, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x65, 0x73, 0x73, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x05, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x47, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x22, 0xb4, + 0x03, 0x0a, 0x0a, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, + 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x55, 0x70, 0x70, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x55, + 0x70, 0x70, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x77, + 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x4c, + 0x6f, 0x77, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x51, 0x75, 0x44, + 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x51, 0x75, 0x44, 0x75, 0x12, 0x1c, 0x0a, + 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x09, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x55, + 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0c, 0x55, 0x70, 0x70, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x12, + 0x1c, 0x0a, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x09, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x12, 0x22, 0x0a, + 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, 0x78, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x4f, 0x64, 0x64, 0x73, 0x4d, 0x61, + 0x78, 0x12, 0x18, 0x0a, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x07, 0x46, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x46, + 0x69, 0x67, 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x46, 0x69, 0x67, 0x68, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x79, + 0x55, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x50, 0x61, 0x79, 0x55, 0x70, 0x12, + 0x18, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x50, 0x61, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x54, 0x69, 0x61, + 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x54, + 0x69, 0x61, 0x6e, 0x48, 0x75, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x50, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x10, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x53, + 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0xc8, 0x01, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, - 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x12, 0x41, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, - 0x41, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, - 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, - 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x31, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x31, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x32, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, - 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x32, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, - 0x73, 0x33, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x33, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x42, 0x69, 0x6e, 0x64, - 0x54, 0x65, 0x6c, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x53, - 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x52, - 0x61, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, - 0x14, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x12, - 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x22, 0xea, 0x01, 0x0a, 0x14, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x47, 0x61, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, - 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, - 0x12, 0x24, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x64, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, - 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, - 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, - 0x6e, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xec, 0x01, 0x0a, - 0x13, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, - 0x0a, 0x0b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0e, 0x45, - 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x92, 0x01, 0x0a, 0x0f, - 0x41, 0x63, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x44, 0x61, 0x79, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x62, - 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x22, 0x94, 0x01, 0x0a, 0x12, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74, - 0x65, 0x72, 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, 0x12, 0x0a, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, - 0x4f, 0x64, 0x64, 0x72, 0x61, 0x74, 0x65, 0x22, 0x68, 0x0a, 0x15, 0x44, 0x69, 0x61, 0x6d, 0x6f, - 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, - 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, - 0x64, 0x22, 0x3d, 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, - 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x22, 0xd3, 0x01, 0x0a, 0x12, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74, - 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, - 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, - 0x0a, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0a, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x37, 0x0a, - 0x07, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, - 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, - 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x07, 0x50, - 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x70, 0x0a, 0x14, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, - 0x64, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, - 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x3c, 0x0a, 0x0b, 0x4c, 0x6f, - 0x74, 0x74, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, - 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x4c, 0x6f, 0x74, - 0x74, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x53, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, - 0x6d, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x83, 0x01, - 0x0a, 0x0d, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, - 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x52, 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, - 0x04, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, - 0x74, 0x65, 0x6d, 0x22, 0xb3, 0x01, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, - 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x61, - 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x12, 0x2b, 0x0a, 0x05, - 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, - 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x56, 0x0a, 0x0e, 0x52, 0x61, 0x6e, - 0x6b, 0x54, 0x79, 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, - 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0xed, 0x01, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x35, 0x0a, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, - 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, - 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, - 0x6c, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, - 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x70, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xa6, 0x02, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, - 0x0a, 0x0b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, - 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x29, 0x0a, 0x06, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x52, 0x06, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x55, 0x6e, - 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, 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, 0x03, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x0a, 0x53, 0x6b, - 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x26, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, - 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x9c, 0x01, 0x0a, - 0x0e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x30, 0x0a, 0x08, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x3c, 0x0a, - 0x0c, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x6e, 0x6e, - 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x41, - 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x22, 0x70, 0x0a, 0x0c, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, - 0x79, 0x70, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, - 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x41, - 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x22, 0x60, 0x0a, - 0x0c, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, - 0x80, 0x01, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x50, 0x68, 0x6f, - 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, - 0x70, 0x65, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, - 0x49, 0x64, 0x22, 0x4d, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, - 0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x53, 0x6b, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6b, 0x69, - 0x70, 0x22, 0x54, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x27, - 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, - 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xf1, 0x01, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, - 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x43, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, - 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, - 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, - 0x1a, 0x0a, 0x08, 0x49, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x49, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0x4f, 0x0a, 0x0d, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, - 0x54, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x4c, 0x0a, 0x0c, - 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x72, 0x0a, 0x08, 0x52, 0x6f, - 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0xcc, - 0x03, 0x0a, 0x0a, 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, + 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x69, 0x61, 0x6e, + 0x48, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x69, 0x61, 0x6e, 0x48, 0x75, + 0x12, 0x14, 0x0a, 0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x05, 0x50, 0x61, 0x69, 0x4b, 0x75, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x12, 0x20, + 0x0a, 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x6f, 0x6f, 0x64, 0x46, 0x65, 0x6e, 0x43, 0x68, 0x61, + 0x22, 0x4f, 0x0a, 0x19, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x50, 0x68, 0x6f, 0x6e, 0x65, + 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, - 0x74, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, - 0x64, 0x12, 0x24, 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, + 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, + 0x68, 0x22, 0x4a, 0x0a, 0x14, 0x57, 0x65, 0x6c, 0x66, 0x61, 0x72, 0x65, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x67, 0x0a, + 0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x54, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x45, 0x0a, 0x09, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x45, 0x6e, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, + 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0xb2, 0x03, + 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x0a, + 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x42, 0x69, 0x6e, 0x64, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x52, + 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0d, 0x52, 0x65, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x41, 0x0a, 0x08, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x63, 0x74, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x79, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x50, 0x61, 0x79, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x03, 0x52, 0x05, 0x52, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x31, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x31, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x32, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x32, 0x12, 0x2b, 0x0a, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, 0x33, 0x18, + 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, + 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x41, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x33, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x65, 0x6c, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x91, 0x01, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x52, 0x61, 0x6e, 0x6b, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x52, 0x61, 0x6e, 0x6b, 0x12, 0x14, 0x0a, 0x05, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x53, 0x63, 0x6f, + 0x72, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x41, 0x77, 0x61, 0x72, 0x64, 0x31, 0x12, 0x28, 0x0a, 0x06, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, + 0x41, 0x77, 0x61, 0x72, 0x64, 0x32, 0x22, 0xea, 0x01, 0x0a, 0x14, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x74, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, + 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x47, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, + 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x43, + 0x6f, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x49, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x12, + 0x14, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x49, + 0x73, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x49, 0x73, 0x53, + 0x68, 0x6f, 0x77, 0x22, 0x64, 0x0a, 0x10, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, + 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x45, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x45, 0x6e, 0x64, 0x12, + 0x28, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, - 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, - 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, - 0x72, 0x65, 0x65, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, - 0x65, 0x46, 0x72, 0x65, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, - 0x18, 0x0b, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, - 0x52, 0x09, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x4e, - 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x4e, 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, - 0x6f, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x6f, 0x69, 0x63, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x49, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x49, 0x42, 0x26, 0x5a, - 0x24, 0x6d, 0x6f, 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x61, 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, - 0x65, 0x62, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x22, 0xec, 0x01, 0x0a, 0x13, 0x50, 0x65, + 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x4c, + 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x44, 0x0a, 0x0e, 0x45, 0x78, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, + 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, + 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x74, 0x52, 0x61, 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x52, 0x61, + 0x6e, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x92, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x44, 0x61, 0x79, 0x73, 0x12, 0x35, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, + 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0x94, 0x01, + 0x0a, 0x12, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 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, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x47, 0x72, 0x61, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x64, + 0x64, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x4f, 0x64, 0x64, + 0x72, 0x61, 0x74, 0x65, 0x22, 0x68, 0x0a, 0x15, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, + 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x3d, + 0x0a, 0x09, 0x41, 0x77, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x41, + 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xd3, 0x01, + 0x0a, 0x12, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2e, + 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, + 0x74, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, + 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x4d, 0x61, 0x78, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, + 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x37, 0x0a, 0x07, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, + 0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, 0x74, + 0x65, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x52, 0x07, 0x50, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x73, 0x22, 0x70, 0x0a, 0x14, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, + 0x74, 0x74, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x3c, 0x0a, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, + 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x69, 0x61, 0x6d, 0x6f, 0x6e, 0x64, 0x4c, 0x6f, 0x74, + 0x74, 0x65, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x4c, 0x6f, 0x74, 0x74, 0x65, 0x72, + 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0x53, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x29, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x44, 0x42, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x0d, 0x52, + 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x52, 0x61, 0x6e, 0x6b, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x52, + 0x61, 0x6e, 0x6b, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x04, 0x49, 0x74, + 0x65, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x74, 0x65, 0x6d, + 0x22, 0xb3, 0x01, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x54, 0x75, 0x72, 0x6e, 0x4f, 0x66, 0x66, 0x12, 0x2b, 0x0a, 0x05, 0x41, 0x77, 0x61, + 0x72, 0x64, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, + 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, 0x41, 0x77, 0x61, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x05, 0x41, 0x77, 0x61, 0x72, 0x64, 0x22, 0x56, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x6b, 0x54, 0x79, + 0x70, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x28, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x61, 0x6e, 0x6b, + 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xed, + 0x01, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4c, 0x65, 0x76, + 0x65, 0x6c, 0x12, 0x35, 0x0a, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x55, 0x70, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x6b, 0x69, + 0x6c, 0x6c, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x53, 0x6b, 0x69, 0x6c, + 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x55, 0x70, 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, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa6, + 0x02, 0x0a, 0x08, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x55, + 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0a, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x55, + 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x74, + 0x65, 0x6d, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0b, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x49, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x06, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, + 0x06, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x55, 0x6e, 0x6c, 0x6f, 0x63, + 0x6b, 0x50, 0x61, 0x72, 0x61, 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, 0x03, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x0a, 0x53, 0x6b, 0x69, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x26, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x6b, 0x69, 0x6e, 0x49, 0x74, + 0x65, 0x6d, 0x52, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x0e, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x30, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x4c, 0x6f, 0x67, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x12, 0x3c, 0x0a, 0x0c, 0x41, 0x6e, + 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, + 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x41, 0x6e, 0x6e, 0x6f, + 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x22, 0x70, 0x0a, 0x0c, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x4c, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x08, 0x41, 0x77, 0x61, 0x72, + 0x64, 0x4c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x77, 0x65, 0x62, + 0x61, 0x70, 0x69, 0x2e, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x08, 0x41, 0x77, 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x22, 0x60, 0x0a, 0x0c, 0x41, 0x77, + 0x61, 0x72, 0x64, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x22, 0x80, 0x01, 0x0a, + 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x53, 0x6e, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, + 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x22, + 0x4d, 0x0a, 0x0b, 0x47, 0x75, 0x69, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6b, + 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6b, 0x69, 0x70, 0x22, 0x54, + 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x27, 0x0a, 0x04, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xf1, 0x01, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x41, 0x70, 0x70, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x73, 0x74, + 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, + 0x6f, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x49, 0x74, 0x65, 0x6d, + 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x07, 0x49, 0x74, 0x65, 0x6d, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, + 0x49, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x49, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x22, 0x4f, 0x0a, 0x0d, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x75, 0x64, 0x69, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x53, 0x6e, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x54, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x54, 0x73, 0x22, 0x4c, 0x0a, 0x0c, 0x53, 0x70, 0x69, + 0x72, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x22, 0x72, 0x0a, 0x08, 0x52, 0x6f, 0x6f, 0x6d, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0xcc, 0x03, 0x0a, 0x0a, + 0x52, 0x6f, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x6f, + 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x52, 0x6f, + 0x6f, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x4f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x02, 0x4f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x53, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x24, + 0x0a, 0x04, 0x43, 0x6f, 0x73, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, + 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, + 0x43, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x77, 0x65, 0x62, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x74, + 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x24, + 0x0a, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x4f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, 0x65, 0x65, + 0x49, 0x64, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x47, 0x61, 0x6d, 0x65, 0x46, 0x72, + 0x65, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x05, 0x52, 0x05, 0x52, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x6c, + 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x05, 0x52, 0x09, 0x50, + 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x4e, 0x65, 0x65, 0x64, + 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x4e, 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, + 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x43, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x56, 0x6f, 0x69, 0x63, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x49, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x52, 0x49, 0x42, 0x26, 0x5a, 0x24, 0x6d, 0x6f, + 0x6e, 0x67, 0x6f, 0x2e, 0x67, 0x61, 0x6d, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, + 0x6d, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x77, 0x65, 0x62, 0x61, + 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/protocol/webapi/common.proto b/protocol/webapi/common.proto index 59abaef..2edb601 100644 --- a/protocol/webapi/common.proto +++ b/protocol/webapi/common.proto @@ -422,6 +422,7 @@ message ShopWeight{ int32 Weight = 2; string Name = 3; int32 IsShow = 4; + repeated int32 Location = 5; // 显示位置 } diff --git a/robot/base/trascate_stop.go b/robot/base/trascate_stop.go index 2d40333..f6afcf6 100644 --- a/robot/base/trascate_stop.go +++ b/robot/base/trascate_stop.go @@ -10,9 +10,9 @@ import ( ) func init() { - transact.RegisteHandler(common.TransType_StopServer, &transact.TransHanderWrapper{ + transact.RegisteHandler(common.TransTypeStopServer, &transact.TransHanderWrapper{ OnExecuteWrapper: transact.OnExecuteWrapper(func(tNode *transact.TransNode, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnExecuteWrapper %x", tNode.MyTnp.TId) + logger.Logger.Infof("StopApi start TransTypeStopServer OnExecuteWrapper %x", tNode.MyTnp.TId) ClientMgrSingleton.Running = false timer.StartTimer(timer.TimerActionWrapper(func(h timer.TimerHandle, ud interface{}) bool { module.Stop() @@ -21,15 +21,15 @@ func init() { return transact.TransExeResult_Success }), OnCommitWrapper: transact.OnCommitWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnCommitWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnCommitWrapper") return transact.TransExeResult_Success }), OnRollBackWrapper: transact.OnRollBackWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnRollBackWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnRollBackWrapper") return transact.TransExeResult_Success }), OnChildRespWrapper: transact.OnChildRespWrapper(func(tNode *transact.TransNode, hChild transact.TransNodeID, retCode int, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) + logger.Logger.Infof("StopApi start TransTypeStopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) return transact.TransExeResult(retCode) }), }) diff --git a/worldsrv/action_bag.go b/worldsrv/action_bag.go index c2a2063..8244a05 100644 --- a/worldsrv/action_bag.go +++ b/worldsrv/action_bag.go @@ -588,8 +588,7 @@ func CSDollChangeLog(s *netlib.Session, packetid int, data interface{}, sid int6 } p.SendToClient(int(bag.SPacketID_PACKET_SC_DollChangeLog), pack) - }), "CSDollChange").Start() - + }), "CSDollChangeLog").Start() return nil } diff --git a/worldsrv/action_player.go b/worldsrv/action_player.go index 4984c55..f2d15cf 100644 --- a/worldsrv/action_player.go +++ b/worldsrv/action_player.go @@ -2662,8 +2662,8 @@ func CSBindTel(s *netlib.Session, packetId int, data interface{}, sid int64) err SaveInviteScore(&model.InviteScore{ Platform: p.Platform, SnId: p.SnId, - InviteSnId: p.InviterId, - Tp: common.InviteScoreTypeBind, + InviteSnId: p.PSnId, + Tp: common.InviteScoreTypeBindTel, Score: cfg.GetBindTelScore(), Ts: time.Now().Unix(), Money: 0, @@ -3169,6 +3169,25 @@ func CSClawdollItemLog(s *netlib.Session, packetId int, data interface{}, sid in if p == nil { return nil } + + var change []*model.Item + change = append(change, &model.Item{ + ItemId: common.ItemIDClawdoll, + ItemNum: 3, + }) + + BagMgrSingleton.AddItemsV2(&model.AddItemParam{ + P: p.PlayerData, + Change: change, + Add: 0, + GainWay: common.GainWayItemShopChangeDoll, + Operator: "system", + Remark: "商城兑换娃娃", + GameId: 0, + GameFreeId: 0, + NoLog: false, + }) + msg, ok := data.(*player_proto.CSClawdollItemLog) if !ok { return nil @@ -3191,7 +3210,8 @@ func CSClawdollItemLog(s *netlib.Session, packetId int, data interface{}, sid in infoData.ItemId = logInfo.ItemId infoData.Time = logInfo.CreateTs infoData.Num = logInfo.Count - infoData.ItemLogType = logInfo.LogType + infoData.TypeId = logInfo.TypeId + infoData.LogType = logInfo.LogType ret.ItemLogs = append(ret.ItemLogs, infoData) } @@ -3203,6 +3223,34 @@ func CSClawdollItemLog(s *netlib.Session, packetId int, data interface{}, sid in return nil } +func CSCLAWDOLLConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error { + logger.Logger.Tracef("CSDollConfigHandler") + if _, ok := data.(*player_proto.CSCLAWDOLLConfig); ok { + p := PlayerMgrSington.GetPlayer(sid) + if p == nil { + logger.Logger.Warn("CSDollConfigHandler p == nil") + return nil + } + + machineInfo := PlatformMgrSingleton.GetConfig(p.Platform).MachineConfig + if machineInfo == nil { + return nil + } + pack := &player_proto.SCCLAWDOLLConfig{} + for _, value := range machineInfo.Info { + info := &player_proto.MachineInfo{ + IconAddr: value.IconAddr, + CostItemNum: value.CostItemNum, + ItemId: value.ItemId, + ItemNum: value.ItemNum, + MachineId: value.MachineId, + } + pack.Info = append(pack.Info, info) + } + p.SendToClient(int(player_proto.PlayerPacketID_PACKET_SCDollConfig), pack) + } + return nil +} func init() { // 用户信息 common.Register(int(player_proto.PlayerPacketID_PACKET_CS_PLAYERDATA), player_proto.CSPlayerData{}, CSPlayerData) @@ -3238,4 +3286,6 @@ func init() { common.Register(int(player_proto.PlayerPacketID_PACKET_CSUpdateAttribute), player_proto.CSUpdateAttribute{}, CSUpdateAttribute) //娃娃卡道具记录 common.Register(int(player_proto.PlayerPacketID_PACKET_CSClawdollItemLog), player_proto.CSClawdollItemLog{}, CSClawdollItemLog) + //客户端请求配置信息 + common.Register(int(player_proto.PlayerPacketID_PACKET_CSDollConfig), player_proto.CSCLAWDOLLConfig{}, CSCLAWDOLLConfig) } diff --git a/worldsrv/action_server.go b/worldsrv/action_server.go index 183f495..e051e3f 100644 --- a/worldsrv/action_server.go +++ b/worldsrv/action_server.go @@ -192,7 +192,7 @@ func init() { netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_AUDIENCELEAVE), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error { logger.Logger.Trace("receive PACKET_GW_AUDIENCELEAVE GWPlayerLeave:", pack) if msg, ok := pack.(*serverproto.GWPlayerLeave); ok { - scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId())) + scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId()), true) if scene != nil { p := PlayerMgrSington.GetPlayerBySnId(msg.GetPlayerId()) if p != nil { diff --git a/worldsrv/action_welfare.go b/worldsrv/action_welfare.go index bc800d9..d96d9bb 100644 --- a/worldsrv/action_welfare.go +++ b/worldsrv/action_welfare.go @@ -459,6 +459,17 @@ func CSBindInvite(s *netlib.Session, packetid int, data interface{}, sid int64) Ts: now.Unix(), Money: 0, }) + if len(p.Tel) > 0 { + SaveInviteScore(&model.InviteScore{ + Platform: p.Platform, + SnId: p.SnId, + InviteSnId: inviteSnId, + Tp: common.InviteScoreTypeBindTel, + Score: cfg.GetBindTelScore(), + Ts: time.Now().Unix(), + Money: 0, + }) + } } return nil }), task.CompleteNotifyWrapper(func(i interface{}, t task.Task) { diff --git a/worldsrv/coinscenemgr.go b/worldsrv/coinscenemgr.go index 007922f..f0ad3fa 100644 --- a/worldsrv/coinscenemgr.go +++ b/worldsrv/coinscenemgr.go @@ -271,7 +271,7 @@ func (m *CoinSceneMgr) StartChangeCoinSceneTransact(p *Player, id int32, exclude } tnp := &transact.TransNodeParam{ - Tt: common.TransType_CoinSceneChange, + Tt: common.TransTypeCoinSceneChange, Ot: transact.TransOwnerType(common.GetSelfSrvType()), Oid: common.GetSelfSrvId(), AreaID: common.GetSelfAreaId(), diff --git a/worldsrv/etcd.go b/worldsrv/etcd.go index 606899b..b86e111 100644 --- a/worldsrv/etcd.go +++ b/worldsrv/etcd.go @@ -97,6 +97,8 @@ func init() { etcd.Register(etcd.ETCDKEY_RoomConfig, webapi.RoomConfig{}, handlerEvent) // 竞技馆房间类型配置 etcd.Register(etcd.ETCDKEY_RoomType, webapi.RoomType{}, handlerEvent) + //娃娃机配置 + etcd.Register(etcd.ETCDKEY_MACHINE, webapi.MachineConfig{}, platformConfigEvent) } func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) { @@ -324,6 +326,8 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e PlatformMgrSingleton.GetConfig(config.Platform).AwardLogConfig = config case *webapi.GuideConfig: PlatformMgrSingleton.GetConfig(config.Platform).GuideConfig = config + case *webapi.MachineConfig: + PlatformMgrSingleton.GetConfig(config.Platform).MachineConfig = config case *webapi.SpiritConfig: PlatformMgrSingleton.GetConfig(config.Platform).SpiritConfig = config if !isInit { diff --git a/worldsrv/hundredscenemgr.go b/worldsrv/hundredscenemgr.go index caa6f5f..e39066a 100644 --- a/worldsrv/hundredscenemgr.go +++ b/worldsrv/hundredscenemgr.go @@ -215,7 +215,7 @@ func (this *HundredSceneMgr) CreateNewScene(id, groupId int32, limitPlatform *Pl scene.hp = this return scene } else { - logger.Logger.Errorf("Create hundred scene %v-%v failed.", gameId, sceneId) + logger.Logger.Warnf("Create hundred scene %v-%v failed.", gameId, sceneId) } } else { logger.Logger.Errorf("Game rule data %v no found.", dbGameFree.GetGameRule()) diff --git a/worldsrv/playernotify.go b/worldsrv/playernotify.go index 29f2829..961eb79 100644 --- a/worldsrv/playernotify.go +++ b/worldsrv/playernotify.go @@ -84,7 +84,7 @@ func (p *PlayerNotify) SendToClient(tp common.NotifyType, packetId int, pack int if len(d.GetDatas()) == 0 { return } - scene := SceneMgrSingleton.GetScene(int(d.GetDatas()[0].GetRoomId())) + scene := SceneMgrSingleton.GetScene(int(d.GetDatas()[0].GetRoomId()), true) if scene == nil { return } diff --git a/worldsrv/shopmgr.go b/worldsrv/shopmgr.go index 64d4dee..f1ae5de 100644 --- a/worldsrv/shopmgr.go +++ b/worldsrv/shopmgr.go @@ -1052,6 +1052,7 @@ func (this *ShopMgr) ExchangeList(p *Player) (ret bool) { Weight: info.Weight, Name: info.Name, IsShow: info.IsShow, + Location: info.Location, }) } for _, v := range as.List { diff --git a/worldsrv/transact_addcoin.go b/worldsrv/transact_addcoin.go index 2509420..3c18d5e 100644 --- a/worldsrv/transact_addcoin.go +++ b/worldsrv/transact_addcoin.go @@ -3,17 +3,18 @@ package main import ( "time" - "mongo.games.com/game/common" "mongo.games.com/goserver/core" "mongo.games.com/goserver/core/logger" "mongo.games.com/goserver/core/transact" "mongo.games.com/goserver/srvlib" + + "mongo.games.com/game/common" ) var TransAddCoinTimeOut = time.Second * 30 const ( - TRANSACT_ADDCOIN_CTX = iota + TransactAddCoinCTX = iota ) type AsyncAddCoinTransactContext struct { @@ -43,14 +44,14 @@ func (this *AddCoinTransactHandler) OnExcute(tNode *transact.TransNode, ud inter WriteLog: ctx.writeLog, } tnp := &transact.TransNodeParam{ - Tt: common.TransType_AddCoin, + Tt: common.TransTypeAddCoin, Ot: transact.TransOwnerType(srvlib.GameServerType), Oid: int(ctx.p.scene.gameSess.GetSrvId()), AreaID: common.GetSelfAreaId(), Tct: transact.TransactCommitPolicy_TwoPhase, } - tNode.TransEnv.SetField(TRANSACT_ADDCOIN_CTX, ud) + tNode.TransEnv.SetField(TransactAddCoinCTX, ud) tNode.StartChildTrans(tnp, pack, TransAddCoinTimeOut) } } @@ -60,7 +61,7 @@ func (this *AddCoinTransactHandler) OnExcute(tNode *transact.TransNode, ud inter func (this *AddCoinTransactHandler) OnCommit(tNode *transact.TransNode) transact.TransExeResult { logger.Logger.Trace("AddCoinTransactHandler.OnCommit ") - ud := tNode.TransEnv.GetField(TRANSACT_ADDCOIN_CTX) + ud := tNode.TransEnv.GetField(TransactAddCoinCTX) if ctx, ok := ud.(*AsyncAddCoinTransactContext); ok { p := PlayerMgrSington.GetPlayerBySnId(ctx.p.SnId) //重新获得p if p != nil { @@ -73,7 +74,7 @@ func (this *AddCoinTransactHandler) OnCommit(tNode *transact.TransNode) transact func (this *AddCoinTransactHandler) OnRollBack(tNode *transact.TransNode) transact.TransExeResult { logger.Logger.Trace("AddCoinTransactHandler.OnRollBack ") - ud := tNode.TransEnv.GetField(TRANSACT_ADDCOIN_CTX) + ud := tNode.TransEnv.GetField(TransactAddCoinCTX) if ctx, ok := ud.(*AsyncAddCoinTransactContext); ok { p := PlayerMgrSington.GetPlayerBySnId(ctx.p.SnId) //重新获得p if p != nil { @@ -93,7 +94,7 @@ func (this *AddCoinTransactHandler) OnChildTransRep(tNode *transact.TransNode, h func StartAsyncAddCoinTransact(p *Player, num int64, gainWay int32, oper, remark string, broadcast bool, retryCnt int, writeLog bool) bool { tnp := &transact.TransNodeParam{ - Tt: common.TransType_AddCoin, + Tt: common.TransTypeAddCoin, Ot: transact.TransOwnerType(common.GetSelfSrvType()), Oid: common.GetSelfSrvId(), AreaID: common.GetSelfAreaId(), @@ -118,5 +119,5 @@ func StartAsyncAddCoinTransact(p *Player, num int64, gainWay int32, oper, remark } func init() { - transact.RegisteHandler(common.TransType_AddCoin, &AddCoinTransactHandler{}) + transact.RegisteHandler(common.TransTypeAddCoin, &AddCoinTransactHandler{}) } diff --git a/worldsrv/transact_coinscenechange.go b/worldsrv/transact_coinscenechange.go index f0b09af..30aa784 100644 --- a/worldsrv/transact_coinscenechange.go +++ b/worldsrv/transact_coinscenechange.go @@ -34,7 +34,7 @@ func (this *CoinSceneChangeTransactHandler) OnExcute(tNode *transact.TransNode, player := PlayerMgrSington.GetPlayerBySnId(ctx.snid) if player != nil && player.scene != nil { tnp := &transact.TransNodeParam{ - Tt: common.TransType_CoinSceneChange, + Tt: common.TransTypeCoinSceneChange, Ot: transact.TransOwnerType(srvlib.GameServerType), Oid: int(player.scene.gameSess.GetSrvId()), AreaID: common.GetSelfAreaId(), @@ -164,5 +164,5 @@ func (this *CoinSceneChangeTransactHandler) OnChildTransRep(tNode *transact.Tran } func init() { - transact.RegisteHandler(common.TransType_CoinSceneChange, &CoinSceneChangeTransactHandler{}) + transact.RegisteHandler(common.TransTypeCoinSceneChange, &CoinSceneChangeTransactHandler{}) } diff --git a/worldsrv/transact_daytimechange.go b/worldsrv/transact_daytimechange.go index 92563a6..953d44f 100644 --- a/worldsrv/transact_daytimechange.go +++ b/worldsrv/transact_daytimechange.go @@ -20,7 +20,7 @@ func (this *DayTimeChangeTransactHandler) OnExcute(tNode *transact.TransNode, ud common.ClockMgrSingleton.Notifying = true for sid, _ := range GameSessMgrSington.servers { tnp := &transact.TransNodeParam{ - Tt: common.TransType_DayTimeChange, + Tt: common.TransTypeDayTimeChange, Ot: transact.TransOwnerType(srvlib.GameServerType), Oid: sid, AreaID: common.GetSelfAreaId(), @@ -58,7 +58,7 @@ type DayTimeChangeTransactSinker struct { func (this *DayTimeChangeTransactSinker) OnMiniTimer() { tnp := &transact.TransNodeParam{ - Tt: common.TransType_DayTimeChange, + Tt: common.TransTypeDayTimeChange, Ot: transact.TransOwnerType(common.GetSelfSrvType()), Oid: common.GetSelfSrvId(), AreaID: common.GetSelfAreaId(), @@ -71,5 +71,5 @@ func (this *DayTimeChangeTransactSinker) OnMiniTimer() { func init() { common.ClockMgrSingleton.RegisterSinker(&DayTimeChangeTransactSinker{}) - transact.RegisteHandler(common.TransType_DayTimeChange, &DayTimeChangeTransactHandler{}) + transact.RegisteHandler(common.TransTypeDayTimeChange, &DayTimeChangeTransactHandler{}) } diff --git a/worldsrv/transact_matchscenechange.go b/worldsrv/transact_matchscenechange.go index e44d07e..b223896 100644 --- a/worldsrv/transact_matchscenechange.go +++ b/worldsrv/transact_matchscenechange.go @@ -28,7 +28,7 @@ func (this *MatchSceneChangeTransactHandler) OnExcute(tNode *transact.TransNode, player := PlayerMgrSington.GetPlayerBySnId(ctx.snid) if player != nil && player.scene != nil { tnp := &transact.TransNodeParam{ - Tt: common.TransType_MatchSceneChange, + Tt: common.TransTypeMatchSceneChange, Ot: transact.TransOwnerType(srvlib.GameServerType), Oid: int(player.scene.gameSess.GetSrvId()), AreaID: common.GetSelfAreaId(), @@ -87,5 +87,5 @@ func (this *MatchSceneChangeTransactHandler) OnChildTransRep(tNode *transact.Tra } func init() { - transact.RegisteHandler(common.TransType_MatchSceneChange, &MatchSceneChangeTransactHandler{}) + transact.RegisteHandler(common.TransTypeMatchSceneChange, &MatchSceneChangeTransactHandler{}) } diff --git a/worldsrv/transact_queryallcoinpoolstates.go b/worldsrv/transact_queryallcoinpoolstates.go index 5c37477..4963410 100644 --- a/worldsrv/transact_queryallcoinpoolstates.go +++ b/worldsrv/transact_queryallcoinpoolstates.go @@ -28,7 +28,7 @@ func (this *QueryAllCoinPoolTransactHandler) OnExcute(tNode *transact.TransNode, for sid, gs := range GameSessMgrSington.servers { if gs.srvType == srvlib.GameServerType { tnp := &transact.TransNodeParam{ - Tt: common.TransType_QueryAllCoinPool, + Tt: common.TransTypeQueryAllCoinPool, Ot: transact.TransOwnerType(srvlib.GameServerType), Oid: sid, AreaID: common.GetSelfAreaId(), @@ -124,7 +124,7 @@ func (this *QueryAllCoinPoolTransactHandler) OnChildTransRep(tNode *transact.Tra func StartQueryCoinPoolStatesTransact(tParent *transact.TransNode, pageNo, pageSize int32) { tnp := &transact.TransNodeParam{ - Tt: common.TransType_QueryAllCoinPool, + Tt: common.TransTypeQueryAllCoinPool, Ot: transact.TransOwnerType(common.GetSelfSrvType()), Oid: common.GetSelfSrvId(), AreaID: common.GetSelfAreaId(), @@ -188,5 +188,5 @@ func StartQueryCoinPoolStatesTransact(tParent *transact.TransNode, pageNo, pageS } func init() { - transact.RegisteHandler(common.TransType_QueryAllCoinPool, &QueryAllCoinPoolTransactHandler{}) + transact.RegisteHandler(common.TransTypeQueryAllCoinPool, &QueryAllCoinPoolTransactHandler{}) } diff --git a/worldsrv/transact_querycoinpool.go b/worldsrv/transact_querycoinpool.go index d65b936..08e9fa6 100644 --- a/worldsrv/transact_querycoinpool.go +++ b/worldsrv/transact_querycoinpool.go @@ -44,7 +44,7 @@ func (this *QueryCoinPoolTransactHandler) OnExcute(tNode *transact.TransNode, ud gs.DetectCoinPoolSetting(data.Platform, id, data.GroupId) } tnp := &transact.TransNodeParam{ - Tt: common.TransType_QueryCoinPool, + Tt: common.TransTypeQueryCoinPool, Ot: transact.TransOwnerType(srvlib.GameServerType), Oid: sid, AreaID: common.GetSelfAreaId(), @@ -103,7 +103,7 @@ func (this *QueryCoinPoolTransactHandler) OnChildTransRep(tNode *transact.TransN func StartQueryCoinPoolTransact(tParent *transact.TransNode, gameid, gamemode int32, platform string, groupId int32) { tnp := &transact.TransNodeParam{ - Tt: common.TransType_QueryCoinPool, + Tt: common.TransTypeQueryCoinPool, Ot: transact.TransOwnerType(common.GetSelfSrvType()), Oid: common.GetSelfSrvId(), AreaID: common.GetSelfAreaId(), @@ -122,5 +122,5 @@ func StartQueryCoinPoolTransact(tParent *transact.TransNode, gameid, gamemode in } func init() { - transact.RegisteHandler(common.TransType_QueryCoinPool, &QueryCoinPoolTransactHandler{}) + transact.RegisteHandler(common.TransTypeQueryCoinPool, &QueryCoinPoolTransactHandler{}) } diff --git a/worldsrv/trascate_stop.go b/worldsrv/trascate_stop.go index 17b5769..afde46e 100644 --- a/worldsrv/trascate_stop.go +++ b/worldsrv/trascate_stop.go @@ -9,43 +9,43 @@ import ( ) func init() { - transact.RegisteHandler(common.TransType_StopServer, &transact.TransHanderWrapper{ + transact.RegisteHandler(common.TransTypeStopServer, &transact.TransHanderWrapper{ OnExecuteWrapper: transact.OnExecuteWrapper(func(tNode *transact.TransNode, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnExecuteWrapper %x", tNode.MyTnp.TId) + logger.Logger.Infof("StopApi start TransTypeStopServer OnExecuteWrapper %x", tNode.MyTnp.TId) for _, s := range GameSessMgrSington.gates { tnp := &transact.TransNodeParam{ - Tt: common.TransType_StopServer, + Tt: common.TransTypeStopServer, Ot: transact.TransOwnerType(s.srvType), Oid: s.srvId, AreaID: common.GetSelfAreaId(), Tct: transact.TransactCommitPolicy_TwoPhase, } tNode.StartChildTrans(tnp, nil, time.Minute*5) - logger.Logger.Infof("StopApi start TransType_StopServer StartChildTrans srvid:%v srvtype:%v", s.srvId, s.srvType) + logger.Logger.Infof("StopApi start TransTypeStopServer StartChildTrans srvid:%v srvtype:%v", s.srvId, s.srvType) } for _, s := range GameSessMgrSington.servers { tnp := &transact.TransNodeParam{ - Tt: common.TransType_StopServer, + Tt: common.TransTypeStopServer, Ot: transact.TransOwnerType(s.srvType), Oid: s.srvId, AreaID: common.GetSelfAreaId(), Tct: transact.TransactCommitPolicy_TwoPhase, } tNode.StartChildTrans(tnp, nil, time.Minute*5) - logger.Logger.Infof("StopApi start TransType_StopServer StartChildTrans srvid:%v srvtype:%v", s.srvId, s.srvType) + logger.Logger.Infof("StopApi start TransTypeStopServer StartChildTrans srvid:%v srvtype:%v", s.srvId, s.srvType) } return transact.TransExeResult_Success }), OnCommitWrapper: transact.OnCommitWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnCommitWrapper ") + logger.Logger.Infof("StopApi start TransTypeStopServer OnCommitWrapper ") return transact.TransExeResult_Success }), OnRollBackWrapper: transact.OnRollBackWrapper(func(tNode *transact.TransNode) transact.TransExeResult { - logger.Logger.Info("StopApi start TransType_StopServer OnRollBackWrapper") + logger.Logger.Info("StopApi start TransTypeStopServer OnRollBackWrapper") return transact.TransExeResult_Success }), OnChildRespWrapper: transact.OnChildRespWrapper(func(tNode *transact.TransNode, hChild transact.TransNodeID, retCode int, ud interface{}) transact.TransExeResult { - logger.Logger.Infof("StopApi start TransType_StopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) + logger.Logger.Infof("StopApi start TransTypeStopServer OnChildRespWrapper ret:%v childid:%x", retCode, hChild) return transact.TransExeResult(retCode) }), }) diff --git a/worldsrv/trascate_webapi.go b/worldsrv/trascate_webapi.go index d91995d..f4dbb2e 100644 --- a/worldsrv/trascate_webapi.go +++ b/worldsrv/trascate_webapi.go @@ -42,7 +42,7 @@ const ( ) func init() { - transact.RegisteHandler(common.TransType_WebApi, &WebAPITranscateHandler{}) + transact.RegisteHandler(common.TransTypeWebApi, &WebAPITranscateHandler{}) } var WebAPIHandlerMgrSingleton = &WebAPIHandlerMgr{wshMap: make(map[string]WebAPIHandler)} diff --git a/xlsx/DB_GameItem.xlsx b/xlsx/DB_GameItem.xlsx index 3f6e200..260ef28 100644 Binary files a/xlsx/DB_GameItem.xlsx and b/xlsx/DB_GameItem.xlsx differ