diff --git a/.gitignore b/.gitignore index e6c4514..6c7db99 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ yarn-error.log* /cmd/logs/*.log /cmd/runtime/log/*.log +/build/* \ No newline at end of file diff --git a/DockerBuildTest.bat b/DockerBuildTest.bat new file mode 100644 index 0000000..53bd56a --- /dev/null +++ b/DockerBuildTest.bat @@ -0,0 +1,11 @@ +go env -w GOOS=linux +cd ./build +del artistinfo-dev +cd .. +go build -ldflags "-s -w" -o ./build/artistinfo-dev ./cmd/app.go +docker rmi artistinfo-dev +docker rmi 121.229.45.214:9006/artistinfo-dev +docker build . -f .\DockerfileWindowsTest -t artistinfo-dev +docker tag artistinfo-dev 121.229.45.214:9006/artistinfo-dev +docker push 121.229.45.214:9006/artistinfo-dev +pause \ No newline at end of file diff --git a/DockerfileWindowsTest b/DockerfileWindowsTest index f55d397..45e7697 100644 --- a/DockerfileWindowsTest +++ b/DockerfileWindowsTest @@ -3,31 +3,33 @@ FROM golang:alpine AS builder LABEL stage=gobuilder #ENV DUBBO_GO_CONFIG_PATH ./conf/dubbogo.yaml #ENV MODE_ENV test +ENV TZ Asia/Shanghai ENV CGO_ENABLED 0 ENV GOPROXY https://goproxy.cn,direct #RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories #RUN apk update --no-cache && apk add --no-cache tzdata WORKDIR /build -COPY ./utils ../utils -ADD ./fonchain-backup/go.mod . -ADD ./fonchain-backup/go.sum . -RUN go mod download -COPY ./fonchain-backup . +#COPY ./utils ../utils +#ADD ./fonchain-artist/go.mod . +#ADD ./fonchain-artist/go.sum . +#RUN go mod download +#COPY ./fonchain-artist . +# +#RUN go build -ldflags "-s -w" -o /app/artistServer ./cmd/app.go -RUN go build -ldflags "-s -w" -o /app/backup ./cmd/app.go +COPY ./build/artistinfo-dev /app/artistinfo-dev FROM alpine RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories RUN apk update --no-cache RUN apk add --no-cache ca-certificates RUN apk add --no-cache tzdata -COPY ./fonchain-backup/conf /app/conf -COPY ./fonchain-backup/conf /conf - +COPY ./conf /app/conf +COPY ./conf/test /conf ENV TZ Asia/Shanghai -ENV DUBBO_GO_CONFIG_PATH ./conf/dubbogo.yaml +ENV MODE_ENV test WORKDIR /app -COPY --from=builder /app/backup . -EXPOSE 9021 -CMD ["/app/backup"] +COPY --from=builder /app/artistinfo-dev . +EXPOSE 20050 +CMD ["/app/artistinfo-dev"] diff --git a/cmd/internal/controller/artistInfo_user.go b/cmd/internal/controller/artistInfo_user.go index eb8aa33..61f71d9 100644 --- a/cmd/internal/controller/artistInfo_user.go +++ b/cmd/internal/controller/artistInfo_user.go @@ -19,6 +19,10 @@ type ArtistInfoUserProvider struct { artistInfoLogic *logic.ArtistInfoUser } +func (a *ArtistInfoUserProvider) GetInvitedUserList(ctx context.Context, request *artistInfoUser.GetInvitedUserListRequest) (*artistInfoUser.GetInvitedUserListResponse, error) { + return a.artistInfoLogic.GetInvitedUserList(request) +} + func (a *ArtistInfoUserProvider) FindUsersUserView(ctx context.Context, request *artistInfoUser.FindUsersRequest) (*artistInfoUser.FindUsersUserViewResponse, error) { return a.artistInfoLogic.FindUsersUserView(request) } @@ -29,7 +33,10 @@ func (a *ArtistInfoUserProvider) FindUsers(ctx context.Context, request *artistI func (a *ArtistInfoUserProvider) RegisterUser(ctx context.Context, req *artistInfoUser.RegisterUserRequest) (rep *artistInfoUser.RegisterUserRespond, err error) { fmt.Println("第一处") - // backup := &artistinfoUser.GetUserInfoRespond{} + //新增邀请码判断 by JJXu 2023-03-07 + //if req.UserInviteCode == "" { + // return nil, errors.New("邀请码不能为空") + //} if rep, err = a.artistInfoLogic.RegisterUser(req); err != nil { return nil, err } @@ -202,7 +209,7 @@ func (a *ArtistInfoUserProvider) BindArtistId(ctx context.Context, in *artistInf var updateData = map[string]any{ "mgmt_artist_id": in.ArtistId, "mgmt_artist_uid": in.ArtistUid, - "fdd_state": 2, + //"fdd_state": 2, } if err := db.DB.Model(model.User{}).Where("mgmt_acc_id = ?", in.UserId).Updates(&updateData).Error; err != nil { return &artistInfoUser.BindArtistIdResp{Error: err.Error()}, err @@ -221,6 +228,7 @@ func (a *ArtistInfoUserProvider) UpdateUserData(ctx context.Context, in *artistI func (a *ArtistInfoUserProvider) PreSaveArtistInfo(ctx context.Context, in *artistInfoUser.PreSaveArtistInfoData) (res *artistInfoUser.CommonNoParams, er error) { return a.artistInfoLogic.PreSaveArtistInfo(in) } + func (a *ArtistInfoUserProvider) GetPreSaveArtistInfo(ctx context.Context, in *artistInfoUser.GetPreSaveArtistInfoRequest) (res *artistInfoUser.PreSaveArtistInfoData, err error) { return a.artistInfoLogic.GetPreSaveArtistInfo(in) } diff --git a/cmd/internal/controller/artistinfo_artshow.go b/cmd/internal/controller/artistinfo_artshow.go index cdb60e0..818f2cd 100644 --- a/cmd/internal/controller/artistinfo_artshow.go +++ b/cmd/internal/controller/artistinfo_artshow.go @@ -21,6 +21,11 @@ type ArtistInfoArtshowProvider struct { videoLogic logic.ArtshowVideoLogic artistIndexLogic logic.ArtshowArtistIndexLogic artistSupplementLogic logic.ArtshowArtistSupplementLogic + artshowLogic logic.ArtshowLogic +} + +func (a ArtistInfoArtshowProvider) GetArtshowHistroyList(ctx context.Context, request *artistinfoArtshow.GetArtshowHistroyListRequest) (*artistinfoArtshow.GetArtshowHistroyListResponse, error) { + return a.artshowLogic.GetArtshowHistroyList(request) } // ----------------- 画展包-画家补充信息 diff --git a/cmd/internal/dao/artistInfo_user.go b/cmd/internal/dao/artistInfo_user.go index 6db574a..32cdc6b 100644 --- a/cmd/internal/dao/artistInfo_user.go +++ b/cmd/internal/dao/artistInfo_user.go @@ -31,6 +31,7 @@ func RegisterUser(req *artistInfoUser.RegisterUserRequest) (rep *artistInfoUser. InviteCode: req.UserInviteCode, Account: req.Account, } + zap.L().Debug(fmt.Sprintf("RegisterUser--user: %+v", user)) if err = db.DB.Create(&user).Error; err != nil { zap.L().Error("register user err", zap.Error(err)) err = errors.New(m.ERROR_SELECT) @@ -92,6 +93,8 @@ func CreateUserInfo(req *artistInfoUser.CreateUserInfoRequest) (rep *artistInfoU fmt.Println(14) user.ID = req.Id + user.TelNum = req.TelNum + user.InviteCode = req.InvitedCode // todo 下面部分信息需要转存至画家服务和账号服务 //user.Name = req.RealName //user.PenName = req.PenName @@ -187,7 +190,11 @@ func GetUser(req *artistInfoUser.GetUserRequest) (rep *artistInfoUser.GetUserRes var user model.User if err = db.DB.Where("tel_num = ?", req.TelNum).First(&user).Error; err != nil { zap.L().Error("get user info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) + if err == gorm.ErrRecordNotFound { + err = errors.New("没有找到数据") + } else { + err = errors.New(m.ERROR_SELECT) + } return nil, err } // rep. @@ -279,14 +286,16 @@ func ArtistSupplyList(req *artistInfoUser.ArtistSupplyListRequest) (rep *artistI } func UserLock(req *artistInfoUser.UserLockRequest) (rep *artistInfoUser.UserLockRespond, err error) { - var tx = db.DB.Model(model.User{}).Begin() + rep = &artistInfoUser.UserLockRespond{} + var tx = db.DB.Begin() + tx_user := tx.Model(model.User{}) switch { case req.Id != 0: - tx = tx.Where("id = ?", req.Id) + tx_user = tx_user.Where("id = ?", req.Id) case req.AccId != 0: - tx = tx.Where("mgmt_acc_id = ?", req.AccId) + tx_user = tx_user.Where("mgmt_acc_id = ?", req.AccId) case req.ArtistUid != "": - tx = tx.Where("mgmt_artist_uid = ?", req.ArtistUid) + tx_user = tx_user.Where("mgmt_artist_uid = ?", req.ArtistUid) default: err = errors.New(m.ERROR_DATA_NOT_EXISTS) zap.L().Error("get user info err", zap.Error(err)) @@ -296,27 +305,37 @@ func UserLock(req *artistInfoUser.UserLockRequest) (rep *artistInfoUser.UserLock if req.IsLock { now = stime.TimeToString(time.Now(), stime.Format_Normal_YMDhms) } - if err = tx.Update("is_lock", req.IsLock).Update("latest_lock_time", now).Error; err != nil { - zap.L().Error("get user info err", zap.Error(err)) + var thisUser model.User + if err = tx_user.Find(&thisUser).Error; err != nil { + return nil, err + } + if err = tx_user.Update("is_lock", req.IsLock).Error; err != nil { + zap.L().Error("get user info err 11", zap.Error(err)) err = errors.New(m.ERROR_SELECT) return nil, err } rep.LockTime = now - if !req.IsLock { + fmt.Println("122312312312331") // 解锁时与另外4个模块联动 - if err = db.DB.Model(model.ArtworkLockRecord{}).Where("artist_uid = ? AND status =2 ", req.ArtistUid).Update("status", 3).Error; err != nil { + if err = tx.Model(model.ArtworkLockRecord{}).Where("artist_uid = ? AND status =2 ", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil { return nil, err } - if err = db.DB.Model(model.ArtshowArtistSupplement{}).Where("artist_uid = ? AND status =2 ", req.ArtistUid).Update("status", 3).Error; err != nil { + if err = tx.Model(model.ArtshowArtistSupplement{}).Where("artist_uid = ? AND status =2 ", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil { return nil, err } - if err = db.DB.Model(model.ArtshowArtistIndex{}).Where("artist_uid = ? AND status =2 ", req.ArtistUid).Update("status", 3).Error; err != nil { + if err = tx.Model(model.ArtshowArtistIndex{}).Where("artist_uid = ? AND status =2 ", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil { return nil, err } - if err = db.DB.Model(model.ArtshowVideoRecord{}).Where("artist_uid = ? AND status =2 ", req.ArtistUid).Update("status", 3).Error; err != nil { + if err = tx.Model(model.ArtshowVideoRecord{}).Where("artist_uid = ? AND status =2 ", thisUser.MgmtArtistUid).Update("status", 3).Error; err != nil { return nil, err } + } else { + fmt.Println("else 更新最新上锁时间") + if err = tx.Model(model.User{}).Where("mgmt_artist_uid = ?", thisUser.MgmtArtistUid).Update("latest_lock_time", now).Error; err != nil { + return nil, err + } + fmt.Println("更新结束") } tx.Commit() @@ -329,7 +348,6 @@ func CheckInvitedCode(req *artistInfoUser.CheckInvitedCodeRequest) (rep *artistI var user model.User if err = db.DB.First(&user, "invited_code = ?", req.InvitedCode).Error; err != nil { zap.L().Error("get user info err", zap.Error(err)) - err = errors.New(m.ERROR_SELECT) return nil, err } // rep. @@ -350,60 +368,56 @@ func CheckInvitedCode(req *artistInfoUser.CheckInvitedCodeRequest) (rep *artistI func UnFinishList(req *artistInfoUser.UnFinishListRequest) (rep *artistInfoUser.UnFinishListRespond, err error) { rep = &artistInfoUser.UnFinishListRespond{} var user model.User - if err := db.DB.Where("id = ? ", req.Id).First(&user).Error; err != nil { + if err := db.DB.Where("mgmt_acc_id = ? ", req.AccId).First(&user).Error; err != nil { zap.L().Error("get user info err", zap.Error(err)) err = errors.New(m.ERROR_SELECT) return nil, err - + } + var accountStatusList int64 + if user.IsRealName == 0 { + accountStatusList = 1 + return + } + if user.MgmtArtistUid == "" { + accountStatusList = 2 + return } - // todo - //var realName model.RealName - //if err := db.DB.Where("id = ? ", user.RealNameID).First(&realName).Error; err != nil { - // zap.L().Error("get user info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) + //艺术家补充信息完成度统计 + //var unfinishArtistSupplementCount int64 + //if err = db.DB.Model(model.ArtshowArtistSupplement{}).Where("status = 2 AND artist_uid = ? AND audit_status in (3,5)", user.MgmtArtistUid).Count(&unfinishArtistSupplementCount).Error; err != nil { + // zap.L().Error("艺术家补充信息统计错误") // return nil, err //} - //var contract model.Contract - //var contractCount int64 - //if err := db.DB.Model(&contract).Where("state = ? and (user_id = ? or card_id = ?) and (type =1 or type = 2 or type = 3)", "1", user.ID, realName.IDNum).Count(&contractCount).Error; err != nil { - // err = errors.New(m.ERROR_SELECT) - // return nil, err - //} - //rep.ContractList = contractCount - //var accountStateCount int64 - //fmt.Println(realName.IDNum) - //if err := db.DB.Model(&contract).Where("state = ? and (user_id = ? or card_id = ?) and type = 4", "1", user.ID, realName.IDNum).Count(&accountStateCount).Error; err != nil { - // zap.L().Error("get user info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return nil, err - //} - //rep.AccountStateList = accountStateCount - //var supplyInfo model.SupplyInfo - //var supplyInfoCount int64 - //if err := db.DB.Model(&supplyInfo).Where("types = ? and user_id = ? ", "1", user.ID).Count(&supplyInfoCount).Error; err != nil { - // zap.L().Error("get user info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return nil, err - //} - //rep.SupplyInfoList += supplyInfoCount - //var exhVideo model.ExhVideo - //var exhVideoCount int64 - //if err := db.DB.Model(&exhVideo).Where("types = ? and user_id = ? ", "1", user.ID).Count(&exhVideoCount).Error; err != nil { - // zap.L().Error("get user info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return nil, err - //} - //rep.SupplyInfoList += exhVideoCount - //var exhExam model.ExhExam - //var exhExamCount int64 - //if err := db.DB.Model(&exhExam).Where("types = ? and user_id = ? ", "1", user.ID).Count(&exhExamCount).Error; err != nil { - // zap.L().Error("get user info err", zap.Error(err)) - // err = errors.New(m.ERROR_SELECT) - // return nil, err - //} - //rep.SupplyInfoList += exhExamCount + var viewData = struct { + UnfinishedArtworkBaseCount int64 `gorm:"column:unfinished_artwork_base_count;comment:未完成的画作基本信息数量"` + UnfinishedArtworkSupplementCount int64 `gorm:"column:unfinished_artwork_supplement_count;comment:未完成的画作补充信息数量"` + UnfinishedArtistSupplementCount int64 `gorm:"column:unfinished_artist_supplement_count;comment:未完成的画家补充信息数量"` + UnfinishedArtistVideoRecordCount int64 `gorm:"column:unfinished_artist_video_record_count;comment:未完成的画展视频统计"` + UnfinishedArtistIndexCount int64 `gorm:"column:unfinished_artist_index_count;comment:未完成的画家指数"` + }{} + //todo 目前缺少合同列表 + var sql = fmt.Sprintf(` +SELECT + COUNT(1) unfinished_artwork_base_count , + (SELECT COUNT(1) FROM artwork_lock_record WHERE artist_uid = ? AND deleted_at = 0 AND STATUS =2 AND supplement_audit_status IN (3,5) )unfinished_artwork_supplement_count, + (SELECT COUNT(1) FROM artshow_artist_supplement WHERE artist_uid = ? AND deleted_at = 0 AND STATUS =2 AND audit_status IN (3,5) ) unfinished_artist_supplement_count, + (SELECT COUNT(1) FROM artshow_video_record WHERE artist_uid = ? AND deleted_at = 0 AND STATUS =2 AND audit_status IN (3,5)) unfinished_artist_video_record_count, + (SELECT COUNT(1) FROM artshow_artist_index WHERE artist_uid = ? AND deleted_at = 0 AND STATUS =2 AND audit_status IN (3,5)) unfinished_artist_index_count +FROM +artwork_lock_record +WHERE artist_uid = ? AND STATUS = 2 AND base_audit_status IN (1,3,5) +`) + err = db.DB.Raw(sql, user.MgmtArtistUid, user.MgmtArtistUid, user.MgmtArtistUid, user.MgmtArtistUid, user.MgmtArtistUid).Scan(&viewData).Error + if err != nil { + return nil, err + } + rep = &artistInfoUser.UnFinishListRespond{ + ContractList: 0, //todo + SupplyInfoList: viewData.UnfinishedArtworkBaseCount + viewData.UnfinishedArtworkSupplementCount + viewData.UnfinishedArtistIndexCount + viewData.UnfinishedArtistSupplementCount, + AccountStateList: accountStatusList, + } return rep, nil } @@ -496,6 +510,7 @@ func FindUser(req *artistInfoUser.FindUserRequest) (rep *artistInfoUser.UserInfo Account: data.Account, CertificateNum: data.CertificateNum, CertificateImg: data.CertificateImg, + JoinAssoTime: data.JoinAssoTime, Photo: data.Photo, HtmlType: data.Htmltype, EnvType: data.Envtype, @@ -517,6 +532,9 @@ func FindUserList(req *artistInfoUser.FindUsersRequest) (rep []*artistInfoUser.U if req.InvitedCode != "" { tx = tx.Where("invited_code = ?", req.InvitedCode) } + if req.MgmtAccountId != 0 { + tx = tx.Where("mgmt_acc_id = ?", req.MgmtAccountId) + } if req.MgmtArtistUid != "" { tx = tx.Where("mgmt_artist_uid = ?", req.MgmtArtistUid) } @@ -591,6 +609,7 @@ func FindUserList(req *artistInfoUser.FindUsersRequest) (rep []*artistInfoUser.U Account: v.Account, CertificateNum: v.CertificateNum, CertificateImg: v.CertificateImg, + JoinAssoTime: v.JoinAssoTime, Photo: v.Photo, HtmlType: v.Htmltype, EnvType: v.Envtype, @@ -694,6 +713,12 @@ func UpdateUserData(req *artistInfoUser.UserInfo) (rep *artistInfoUser.CommonNoP if req.EnvType != "" { preUpdateData.Envtype = req.EnvType } + if req.JoinAssoTime != "" { + preUpdateData.JoinAssoTime = req.JoinAssoTime + } + if req.WxAccount != "" { + preUpdateData.WxAccount = req.WxAccount + } //var updateData = model.User{ // Model: model.Model{ // ID: req.Id, @@ -863,3 +888,63 @@ func CheckUserLockByArtistUid(artistUid string) (err error) { } return nil } +func GetInvitedUserList(in *artistInfoUser.GetInvitedUserListRequest) (res *artistInfoUser.GetInvitedUserListResponse, err error) { + var inviteUser = model.User{} + var tx = db.DB.Model(model.User{}) + if in.TelNum != "" { + tx.Where("tel_num = ?", in.TelNum) + } else if in.InviterCode != "" { + tx.Where("invited_code = ?", in.InviterCode) + } else { + return nil, errors.New("手机号或个人邀请码不能为空") + } + err = tx.First(&inviteUser).Error + if err != nil { + if err == gorm.ErrRecordNotFound { + err = errors.New("找不到用户") + } + return nil, err + } + + res = &artistInfoUser.GetInvitedUserListResponse{ + Data: []*artistInfoUser.InvitedUser{}, + Page: &artistInfoUser.UserCommonPageInfo{}, + } + var inviteRelationIds []int64 + db.DB.Model(model.Invite{}).Where("user_id = ?", inviteUser.ID).Pluck("invited_id", &inviteRelationIds) + var invitedList []model.User + tx = db.DB.Model(model.User{}).Where("id in ?", inviteRelationIds) + if err = tx.Count(&res.Page.Total).Scopes(db.Pagination(in.Page, in.PageSize)).Find(&invitedList).Error; err != nil { + return nil, err + } + for _, v := range invitedList { + var ( + realName string + sex string + age int64 + ) + if v.RealNameInfo != nil { + realName = v.RealNameInfo.Name + sex = string(v.RealNameInfo.Sex) + age = int64(v.RealNameInfo.Age) + } + res.Data = append(res.Data, &artistInfoUser.InvitedUser{ + UserId: v.ID, + AccId: v.MgmtAccId, + ArtistUid: v.MgmtArtistUid, + TelNum: v.TelNum, + InviteCode: v.InviteCode, + Account: v.Account, + Photo: v.Photo, + IsRealName: v.IsRealName, + FddState: v.FddState, + RealName: realName, + Sex: sex, + Age: age, + CreatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + //PenName: , + //StageName: "", + }) + } + return +} diff --git a/cmd/internal/dao/artistinfo_artshow_artistIndex.go b/cmd/internal/dao/artistinfo_artshow_artistIndex.go index afe4665..9b3d022 100644 --- a/cmd/internal/dao/artistinfo_artshow_artistIndex.go +++ b/cmd/internal/dao/artistinfo_artshow_artistIndex.go @@ -47,8 +47,7 @@ func (a artistinfoArtshowArtistIndex) CreateData(data *model.ArtshowArtistIndex, } func (a artistinfoArtshowArtistIndex) UpdateData(data *model.ArtshowArtistIndex) error { - return db.DB.Updates(&data).Error - + return db.DB.Where("id = ?", data.ID).Updates(&data).Error } func (a artistinfoArtshowArtistIndex) DeletedData(id ...int64) (err error) { @@ -61,7 +60,7 @@ func (a artistinfoArtshowArtistIndex) DeletedData(id ...int64) (err error) { } func (a artistinfoArtshowArtistIndex) GetData(id int64) (data *model.ArtshowArtistIndex, err error) { - err = db.DB.Where("id = ?", id).First(data).Error + err = db.DB.Where("id = ?", id).First(&data).Error return } @@ -89,6 +88,7 @@ func (a artistinfoArtshowArtistIndex) GetDataList(req *artistinfoArtshow.GetArti err = tx.Count(&total).Scopes(db.Pagination(req.Page, req.PageSize)).Find(&datas).Error return } + func (a artistinfoArtshowArtistIndex) Audit(auditStatus model.AuditStatus, mark1, mark2 string, ids ...int64) (err error) { tx := db.DB.Begin() err = tx.Model(model.ArtshowArtistIndex{}).Where("id in ?", ids).Update("audit_status", auditStatus).Error diff --git a/cmd/internal/dao/artistinfo_artwork.go b/cmd/internal/dao/artistinfo_artwork.go index 85b4991..a707cdd 100644 --- a/cmd/internal/dao/artistinfo_artwork.go +++ b/cmd/internal/dao/artistinfo_artwork.go @@ -128,13 +128,15 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) case artistInfoArtwork.ArtworkQueryMode_NowPreSaveAndLocked: //当前暂存和已锁定的画作(也就是用户端画作管理中的数据) tx = tx.Where("status =1 OR status =2") case artistInfoArtwork.ArtworkQueryMode_NowAuditFlowOfBase: //当前处于基本信息审批阶段的画作(包括进入其它流程的画作) - tx = tx.Where("status = 2") // AND audit_flow_index = 2 + tx = tx.Where("status = 2 ") // AND audit_flow_index = 2 case artistInfoArtwork.ArtworkQueryMode_NowAuditFlowOfSupplementing: //当前处于补充信息审批阶段的画作 tx = tx.Where("status =2 AND audit_flow_index = 3") case artistInfoArtwork.ArtworkQueryMode_AllUnlockArtwork: //所有已解锁的画作(历史画作) - tx = tx.Where("status = 3 OR status = 2") + tx = tx.Where("status = 3").Order("lock_time desc") //case artistInfoArtwork.ArtworkQueryMode_AllHistoryArtwork: //所有历史画作 // tx = tx.Where("status > 1") + case artistInfoArtwork.ArtworkQueryMode_AllAuditPassArtwork: //所有审核通过的画作 + tx = tx.Where("supplement_audit_status = 4").Order("lock_time desc") } if req.AuditStatus != 0 { tx = tx.Where("audit_status = ?", req.AuditStatus) diff --git a/cmd/internal/logic/artistInfo_user.go b/cmd/internal/logic/artistInfo_user.go index 6f7c8b3..1198cd7 100644 --- a/cmd/internal/logic/artistInfo_user.go +++ b/cmd/internal/logic/artistInfo_user.go @@ -7,6 +7,8 @@ import ( "github.com/fonchain/fonchain-artistinfo/pb/artist" "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" "github.com/fonchain/fonchain-artistinfo/pkg/service" + "github.com/fonchain/fonchain-artistinfo/pkg/util/stime" + "strings" ) type IArtistInfo interface { @@ -107,30 +109,38 @@ func (a *ArtistInfoUser) FindUsersUserView(req *artistInfoUser.FindUsersRequest) artistUidList = append(artistUidList, v.ArtistUid) } returnData = append(returnData, &artistInfoUser.UserView{ - UserId: v.UserId, - AccId: v.AccId, - ArtistUid: v.ArtistUid, - TelNum: v.TelNum, - InviteCode: v.InviteCode, - Account: v.Account, - Photo: v.Photo, - IsRealName: v.IsRealName, - FddState: v.FddState, - IsRead: v.IsRead, - IsLock: v.IsLock, - RealName: v.RealName, - IdNum: v.IdNum, - Sex: string(v.Sex), - Age: v.Age, - Address: v.RealAddress, + UserId: v.UserId, + AccId: v.AccId, + ArtistUid: v.ArtistUid, + TelNum: v.TelNum, + InviteCode: v.InviteCode, + Account: v.Account, + Photo: v.Photo, + IsRealName: v.IsRealName, + FddState: v.FddState, + IsRead: v.IsRead, + IsLock: v.IsLock, + RealName: v.RealName, + IdNum: v.IdNum, + Sex: string(v.Sex), + Age: v.Age, + //Address: v.RealAddress, IdcardBack: v.IdcardBack, IdcardFront: v.IdcardFront, InviterInviteCode: v.InviterInviteCode, InviterRealName: v.InviterRealName, + JoinAssoTime: v.JoinAssoTime, DeletedAt: v.DeletedAt, - UpdatedAt: v.UpdatedAt.Unix(), - CreatedAt: v.CreatedAt.Unix(), + UpdatedAt: stime.TimeToString(v.UpdatedAt, stime.Format_Normal_YMDhms), + CreatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + CertificateNum: v.CertificateNum, + CertificateImg: v.CertificateImg, LatestLockTime: v.LatestLockTime, + WxAccount: v.WxAccount, + //BankName: v.BankName, + //BankNum: v.BankNum, + //PenName: "", + //StageName: "", }) } if artistUidList != nil { @@ -139,6 +149,7 @@ func (a *ArtistInfoUser) FindUsersUserView(req *artistInfoUser.FindUsersRequest) Page: 1, PageSize: int32(len(artistUidList)), Uids: artistUidList, + Gender: -1, }) if err != nil { fmt.Println("错误:GrpcArtistImpl.GetInfoByUuids ", err.Error()) @@ -148,9 +159,11 @@ func (a *ArtistInfoUser) FindUsersUserView(req *artistInfoUser.FindUsersRequest) for i, user := range returnData { if artistValue.Uid == user.ArtistUid { returnData[i].CertificateNum = artistValue.CaaCertNum - returnData[i].OpenBank = artistValue.BankNum + returnData[i].BankNum = artistValue.BankNum + returnData[i].BankName = artistValue.BankName returnData[i].PenName = artistValue.PenName returnData[i].StageName = artistValue.StageName + returnData[i].Address = strings.Split(artistValue.Address, ",") break } } @@ -176,3 +189,7 @@ func (a *ArtistInfoUser) GetPreSaveArtistInfo(in *artistInfoUser.GetPreSaveArtis res, err = dao.GetPreSaveArtistInfo(in) return } +func (a *ArtistInfoUser) GetInvitedUserList(in *artistInfoUser.GetInvitedUserListRequest) (res *artistInfoUser.GetInvitedUserListResponse, err error) { + res, err = dao.GetInvitedUserList(in) + return +} diff --git a/cmd/internal/logic/artistinfo_artshow.go b/cmd/internal/logic/artistinfo_artshow.go new file mode 100644 index 0000000..d07513f --- /dev/null +++ b/cmd/internal/logic/artistinfo_artshow.go @@ -0,0 +1,205 @@ +// Package logic ----------------------------- +// @file : artistinfo_artshow.go +// @author : JJXu +// @contact : wavingbear@163.com +// @time : 2023/3/7 15:55 +// ------------------------------------------- +package logic + +import ( + "context" + "fmt" + "github.com/fonchain/fonchain-artistinfo/cmd/model" + "github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow" + "github.com/fonchain/fonchain-artistinfo/pb/artwork_query" + db "github.com/fonchain/fonchain-artistinfo/pkg/db" + "github.com/fonchain/fonchain-artistinfo/pkg/service" + "github.com/fonchain/fonchain-artistinfo/pkg/util/stime" + "time" +) + +type ArtshowLogic struct{} + +func (a ArtshowLogic) GetArtshowHistroyList(request *artistinfoArtshow.GetArtshowHistroyListRequest) (data *artistinfoArtshow.GetArtshowHistroyListResponse, err error) { + data = &artistinfoArtshow.GetArtshowHistroyListResponse{} + + //查询数据 + var ( + //画家补充信息 + artistSupplementList = []model.ArtshowArtistSupplement{} + //画家指数 + artistIndexList = []model.ArtshowArtistIndex{} + //画展视频资料 + artshowVideoList = []model.ArtshowVideoRecord{} + //画作补充信息基本列表 + artworBaseList = []model.ArtworkLockRecord{} + //画作补充信息列表 + artworkSupplementList = []*artwork_query.ArtworkPreviewResponse{} + ) + var ( + //画家补充信息 + db_artistSupplement = db.DB.Model(&model.ArtshowArtistSupplement{}).Where("status = 3 AND artist_uid = ?", request.ArtistUid).Order("lock_time desc") + //画家指数 + db_artistIndex = db.DB.Model(&model.ArtshowArtistIndex{}).Where("status = 3 AND artist_uid = ?", request.ArtistUid).Order("lock_time desc") + //画展视频资料 + db_artshowVideo = db.DB.Model(&model.ArtshowVideoRecord{}).Where("status = 3 AND artist_uid = ?", request.ArtistUid).Order("lock_time desc") + //画作补充信息基本列表 + db_artworBase = db.DB.Model(&model.ArtworkLockRecord{}).Where("status = 3 AND artist_uid = ?", request.ArtistUid).Order("lock_time desc") + ) + if request.AuditStatus != 0 { + db_artistSupplement = db_artistSupplement.Where("audit_status = ?", request.AuditStatus) + db_artistIndex = db_artistIndex.Where("audit_status = ?", request.AuditStatus) + db_artshowVideo = db_artshowVideo.Where("audit_status = ?", request.AuditStatus) + db_artworBase = db_artworBase.Where("supplement_audit_status = ?", request.AuditStatus) + } + + err = db_artistSupplement.Find(&artistSupplementList).Error + if err != nil { + return nil, err + } + err = db_artistIndex.Find(&artistIndexList).Error + if err != nil { + return nil, err + } + err = db_artshowVideo.Find(&artshowVideoList).Error + if err != nil { + return nil, err + } + err = db_artworBase.Find(&artworBaseList).Error + if err != nil { + return nil, err + } + // 查询画作补充信息 + artworkUidList := []string{} + for _, v := range artworBaseList { + artworkUidList = append(artworkUidList, v.ArtworkUid) + } + artworkSupplementRes, err := service.ArtworkQueryImpl.ArtworkPreviewList(context.Background(), &artwork_query.ArtworkPreviewListRequest{ + Page: 1, + PageSize: -1, + ArtworkUids: artworkUidList, + }) + if err != nil { + return nil, err + } + artworkSupplementList = artworkSupplementRes.Data + + // 使用画家补充信息的锁定时间进行分组,然后补充剩余数据 + var dataGroups = []*artistinfoArtshow.TimeGroup{} + var thisTime = "" + var thisIndex = -1 + for count, v := range artistSupplementList { + if thisTime == "" || v.LockTime != thisTime { + thisTime = v.LockTime + thisIndex++ + } + var isAdd = true + if request.PageSize > -1 { + if int64(count) >= request.PageSize*(request.Page-1) && int64(count) < request.PageSize*request.Page { + isAdd = true + } else { + isAdd = false + } + } + if isAdd { + dataGroups = append(dataGroups, &artistinfoArtshow.TimeGroup{ + Time: thisTime, + ArtworkSupplementList: []*artistinfoArtshow.ArtworkSupplementData{}, + ArtistSupplementList: []*artistinfoArtshow.ArtistSupplementData{}, + ArtistIndexList: []*artistinfoArtshow.ArtistIndexData{}, + ArtistVideoList: []*artistinfoArtshow.ArtistVideoData{}, + }) + + dataGroups[thisIndex].ArtistSupplementList = append(dataGroups[thisIndex].ArtistSupplementList, &artistinfoArtshow.ArtistSupplementData{ + ArtistUid: v.ArtistUid, + Status: v.Status, + LockTime: v.LockTime, + AuditStatus: int64(v.AuditStatus), + AuditMark1: v.AuditMark1, + AuditMark2: v.AuditMark2, + ArtistName: v.ArtistName, + ArtistProfile: v.ArtistProfile, + CountryArtLevel: v.CountryArtLevel, + ArtistCertPic: v.ArtistCertPic, + BankNum: v.BankNum, + BankName: v.BankName, + Id: v.ID, + CreatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + UpdatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + DeletedAt: stime.TimeToString(time.Unix(v.CreatedAt.Unix(), 0), stime.Format_Normal_YMDhms), + }) + } + } + + for i, group := range dataGroups { + //补充画家指数 + for _, v := range artistIndexList { + if v.LockTime == group.Time { + dataGroups[i].ArtistIndexList = append(dataGroups[i].ArtistIndexList, &artistinfoArtshow.ArtistIndexData{ + ArtistUid: v.ArtistUid, + Title: v.Title, + Class: v.Class, + TitleScore: v.TitleScore, + Score: v.Score, + Types: v.Types, + Status: v.Status, + LockTime: v.LockTime, + AuditMark1: v.AuditMark1, + AuditMark2: v.AuditMark2, + AuditStatus: int64(v.AuditStatus), + Id: v.ID, + CreatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + UpdatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + DeletedAt: fmt.Sprintf("%d", v.DeletedAt), + }) + } + } + //补充视频信息 + for _, v := range artshowVideoList { + if v.LockTime == group.Time { + dataGroups[i].ArtistVideoList = append(dataGroups[i].ArtistVideoList, &artistinfoArtshow.ArtistVideoData{ + Id: v.ID, + ArtistUid: v.ArtistUid, + LockTime: v.LockTime, + VideoUrl: v.VideoUrl, + AuditStatus: int64(v.AuditStatus), + AuditMark1: v.AuditMark1, + AuditMark2: v.AuditMark2, + ArtistName: v.ArtistName, + }) + } + } + + for _, v := range artworBaseList { + if v.LockTime == group.Time { + for _, artowrkSupplement := range artworkSupplementList { + if v.ArtworkUid == artowrkSupplement.ArtworkUid { + dataGroups[i].ArtworkSupplementList = append(dataGroups[i].ArtworkSupplementList, &artistinfoArtshow.ArtworkSupplementData{ + ArtistUid: v.ArtistUid, + Status: v.Status, + LockTime: v.LockTime, + AuditStatus: int64(v.SupplementAuditStatus), + AuditMark1: v.SupplementAuditMark, + AuditMark2: v.SupplementAuditMark2, + ArtworkName: artowrkSupplement.ArtworkName, + CreatedDate: artowrkSupplement.CreateDate, + CreatedAddress: artowrkSupplement.CreatedAddress, + CreatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + UpdatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + DeletedAt: int64(v.DeletedAt), + ArtworkUuid: artowrkSupplement.ArtworkUid, + Length: artowrkSupplement.Length, + Width: artowrkSupplement.Width, + Ruler: artowrkSupplement.Ruler, + HdPic: artowrkSupplement.HdPic, + ArtistPhoto: artowrkSupplement.ArtistPhoto, + }) + } + } + } + } + } + data.Data = dataGroups + fmt.Printf("%+v\n", dataGroups) + return +} diff --git a/cmd/internal/logic/artistinfo_artshowArtistIndex.go b/cmd/internal/logic/artistinfo_artshowArtistIndex.go index 04efa0a..97ea05b 100644 --- a/cmd/internal/logic/artistinfo_artshowArtistIndex.go +++ b/cmd/internal/logic/artistinfo_artshowArtistIndex.go @@ -13,6 +13,7 @@ import ( "github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" "github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow" + "github.com/fonchain/fonchain-artistinfo/pkg/util/stime" "google.golang.org/protobuf/types/known/emptypb" "gorm.io/gorm" ) @@ -75,8 +76,8 @@ func (a ArtshowArtistIndexLogic) GetArtistIndexDetail(request *artistinfoArtshow AuditMark2: data.AuditMark2, AuditStatus: int64(data.AuditStatus), Id: data.ID, - CreatedAt: data.CreatedAt.Unix(), - UpdatedAt: data.UpdatedAt.Unix(), + CreatedAt: stime.TimeToString(data.CreatedAt, stime.Format_Normal_YMDhms), + UpdatedAt: stime.TimeToString(data.UpdatedAt, stime.Format_Normal_YMDhms), DeletedAt: int64(data.DeletedAt), Editable: data.Editable(), } @@ -108,8 +109,8 @@ func (a ArtshowArtistIndexLogic) GetArtistIndexList(request *artistinfoArtshow.G AuditMark2: v.AuditMark2, AuditStatus: int64(v.AuditStatus), Id: v.ID, - CreatedAt: v.CreatedAt.Unix(), - UpdatedAt: v.UpdatedAt.Unix(), + CreatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + UpdatedAt: stime.TimeToString(v.UpdatedAt, stime.Format_Normal_YMDhms), DeletedAt: int64(v.DeletedAt), }) } diff --git a/cmd/internal/logic/artistinfo_artshowArtistSupplement.go b/cmd/internal/logic/artistinfo_artshowArtistSupplement.go index d0aca15..8a3d676 100644 --- a/cmd/internal/logic/artistinfo_artshowArtistSupplement.go +++ b/cmd/internal/logic/artistinfo_artshowArtistSupplement.go @@ -13,6 +13,7 @@ import ( "github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/pb/artistInfoUser" "github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow" + "github.com/fonchain/fonchain-artistinfo/pkg/util/stime" "google.golang.org/protobuf/types/known/emptypb" "gorm.io/gorm" ) @@ -75,8 +76,8 @@ func (a ArtshowArtistSupplementLogic) GetSupplementDetail(request *artistinfoArt BankNum: data.BankNum, BankName: data.BankName, Id: data.ID, - CreatedAt: data.CreatedAt.Unix(), - UpdatedAt: data.UpdatedAt.Unix(), + CreatedAt: stime.TimeToString(data.CreatedAt, stime.Format_Normal_YMDhms), + UpdatedAt: stime.TimeToString(data.UpdatedAt, stime.Format_Normal_YMDhms), DeletedAt: int64(data.DeletedAt), Editable: data.Editable(), } @@ -109,8 +110,8 @@ func (a ArtshowArtistSupplementLogic) GetSupplementList(request *artistinfoArtsh AuditMark2: v.AuditMark2, AuditStatus: int64(v.AuditStatus), Id: v.ID, - CreatedAt: v.CreatedAt.Unix(), - UpdatedAt: v.UpdatedAt.Unix(), + CreatedAt: stime.TimeToString(v.CreatedAt, stime.Format_Normal_YMDhms), + UpdatedAt: stime.TimeToString(v.UpdatedAt, stime.Format_Normal_YMDhms), DeletedAt: int64(v.DeletedAt), }) } diff --git a/cmd/internal/logic/artistinfo_artwork.go b/cmd/internal/logic/artistinfo_artwork.go index f4bfb5d..29a7a55 100644 --- a/cmd/internal/logic/artistinfo_artwork.go +++ b/cmd/internal/logic/artistinfo_artwork.go @@ -9,6 +9,7 @@ package logic import ( "context" "errors" + "fmt" "github.com/fonchain/fonchain-artistinfo/cmd/internal/dao" "github.com/fonchain/fonchain-artistinfo/cmd/model" "github.com/fonchain/fonchain-artistinfo/pb/artistInfoArtwork" @@ -102,6 +103,7 @@ func (a ArtistInfoArtworkLogic) GetArtworkLockHistoryGroup(request *artistInfoAr for _, v := range unlockArtworkList.Data { artworkUidList = append(artworkUidList, v.ArtworkUid) } + fmt.Println("artworkUidList", artworkUidList) //查询画作预览列表 previewListRes, err := service.ArtworkQueryImpl.ArtworkPreviewList(context.Background(), &artwork_query.ArtworkPreviewListRequest{ Page: 1, @@ -111,6 +113,7 @@ func (a ArtistInfoArtworkLogic) GetArtworkLockHistoryGroup(request *artistInfoAr if err != nil { return nil, err } + fmt.Println("previewListRes count", len(previewListRes.Data)) var thisLockTime = "" var groupIndex = -1 for _, v := range unlockArtworkList.Data { @@ -119,6 +122,8 @@ func (a ArtistInfoArtworkLogic) GetArtworkLockHistoryGroup(request *artistInfoAr thisLockTime = v.LockTime newGroup = true groupIndex++ + } else { + continue } if newGroup { res.GroupList = append(res.GroupList, &artistInfoArtwork.ArtworkLockRecord{ @@ -145,13 +150,14 @@ func (a ArtistInfoArtworkLogic) GetArtworkLockHistoryGroup(request *artistInfoAr SupplementAuditStatus: v.SupplementAuditStatus, SupplementAuditMark: v.SupplementAuditMark, SupplementAuditMark2: v.SupplementAuditMark2, - AuditFlowIndex: int32(v.AuditFlowIndex), + AuditFlowIndex: v.AuditFlowIndex, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, DeletedAt: v.DeletedAt, }) } } + fmt.Println("previewListRes count", len(previewListRes.Data)) return } diff --git a/cmd/model/artshow_artistIndex.go b/cmd/model/artshow_artistIndex.go index 715fc01..7fa352d 100644 --- a/cmd/model/artshow_artistIndex.go +++ b/cmd/model/artshow_artistIndex.go @@ -12,7 +12,7 @@ type ArtshowArtistIndex struct { ArtistUid string `gorm:"column:artist_uid;comment:画家uid" json:"artistUid"` Title string `gorm:"column:title;comment:" json:"title"` //艺术家-展览(exhibition) 、 艺术家-资历(seniority) 、艺术家-专业(specialized) 、艺术家-影响力(Influence)、艺术家-收藏(collect) Class string `gorm:"column:class;comment:指数类别" json:"class"` //exhibition 、seniority 、specialized 、Influence 、collect - TitleScore int64 `gorm:"column:title_score;comment:总分" json:"titleScore"` + TitleScore float32 `gorm:"column:title_score;comment:总分" json:"titleScore"` Score string `gorm:"column:score;comment:前端定义的分数列表" json:"score"` // Types string `gorm:"column:types;comment:" json:"types"` Status int64 `json:"status" gorm:"column:status;default:2;comment:2=锁定 3=解锁"` //跟随用户的锁定和解锁状态,用于控制数据的展示 diff --git a/cmd/model/tmpArtistInfo.go b/cmd/model/tmpArtistInfo.go index 944045d..3537bb6 100644 --- a/cmd/model/tmpArtistInfo.go +++ b/cmd/model/tmpArtistInfo.go @@ -16,6 +16,7 @@ type TempArtistInfo struct { CaaCertNum string `gorm:"column:caa_cert_num;comment:"` CaaJoinTime string `gorm:"column:caa_join_time;comment:"` JoinShow int32 `gorm:"column:join_show;comment:"` + WxAccount string `gorm:"column:wx_account;comment:微信账号"` } func (t TempArtistInfo) TableName() string { diff --git a/cmd/model/user.go b/cmd/model/user.go index 5c2e45f..9a00b71 100644 --- a/cmd/model/user.go +++ b/cmd/model/user.go @@ -12,6 +12,7 @@ type User struct { Account string `gorm:"column:account;varchar(191);comment:账号"` CertificateNum string `gorm:"column:certificate_num;type:varchar(16);comment:中美协会证书编号"` CertificateImg string `gorm:"column:certificate_img;type:varchar(512);comment:中美协会证书url"` + JoinAssoTime string `json:"joinAssoTime" gorm:"column:join_asso_time;comment:入会时间"` Photo string `gorm:"column:photo;type:varchar(255);comment:个人近照"` // 实名认证 @@ -27,6 +28,8 @@ type User struct { IsRead int64 `gorm:"column:is_read;not null;comment:条款阅读状态"` IsLock bool `gorm:"column:is_lock;not null;comment:画家锁定状态"` LatestLockTime string `json:"latestLockTime" gorm:"column:latest_lock_time;comment:最新锁定时间"` + //ConAddress string `json:"conAddress" gorm:"column:con_address;comment:"` + WxAccount string `json:"wxAccount" gorm:"column:wx_account;comment:"` //前端参数,提交实名认证后生成 Htmltype string `gorm:"html_type" json:"htmltype"` Envtype string `gorm:"env_type" json:"envtype"` @@ -45,10 +48,8 @@ type User struct { //OpenId string `gorm:"type:varchar(2048) not null"` //Age int32 `gorm:"not null"` //Introduct string `gorm:"type:varchar(2048) not null"` - //ConAddress string `gorm:"type:varchar(2048) not null"` //Photo string `gorm:"type:varchar(2048) not null"` //Video string `gorm:"type:varchar(256) not null"` - //WxAccount string `gorm:"type:varchar(256) not null"` } func (u User) TableName() string { diff --git a/cmd/model/user_view.go b/cmd/model/user_view.go index a5de44c..33d1c9c 100644 --- a/cmd/model/user_view.go +++ b/cmd/model/user_view.go @@ -31,11 +31,17 @@ type UserView struct { RealAddress string `json:"address" gorm:"column:real_address;comment:真实地址"` IdcardBack string `json:"idcardBack" gorm:"column:idcard_back;comment:身份证背面"` IdcardFront string `json:"idcard_front" gorm:"column:idcard_front;comment:身份证反面"` + JoinAssoTime string `json:"joinAssoTime" gorm:"column:join_asso_time;comment:入会时间"` InviterInviteCode string `json:"inviterInviteCode" gorm:"column:inviter_invite_code;comment:邀请人的邀请码"` InviterRealName string `json:"inviterRealName" gorm:"column:inviter_name;comment:邀请人的真实姓名"` CreatedAt time.Time `json:"createdAt" gorm:"column:created_at;comment:"` UpdatedAt time.Time `json:"updatedAt" gorm:"column:updated_at;comment:"` DeletedAt int64 `json:"deletedAt" gorm:"column:deleted_at;comment:"` + CertificateNum string `json:"certificateNum" gorm:"column:certificate_num;comment:"` + CertificateImg string `json:"certificateImg" gorm:"column:certificate_img;comment:"` + BankName string `json:"bank_name" gorm:"column:bank_name;comment:"` + BankNum string `json:"bank_num" gorm:"column:bank_num;comment:"` + WxAccount string `json:"wx_account" gorm:"column:wx_account;comment:企业微信账号"` } func (u UserView) TableName() string { @@ -68,7 +74,12 @@ SELECT su.deleted_at, inviter.invited_code inviter_invite_code, inviter_rn.name inviter_name, - su.latest_lock_time + su.latest_lock_time, + su.join_asso_time, + su.certificate_num, + su.certificate_img, + su.wx_account + FROM sys_user su LEFT JOIN real_name rn ON rn.id = su.real_name_id -- 邀请者信息 diff --git a/conf/conf.ini b/conf/conf.ini index a5ee871..2a5744d 100644 --- a/conf/conf.ini +++ b/conf/conf.ini @@ -10,7 +10,6 @@ DbPassWord = 123456 DbName = artistmgmttest [redis] - RedisDB = 2 RedisAddr = 127.0.0.1:6379 #RedisPW = "nDCTrfTtBu3Pw" diff --git a/conf/dev/conf.ini b/conf/dev/conf.ini index b63902d..ae6759e 100644 --- a/conf/dev/conf.ini +++ b/conf/dev/conf.ini @@ -7,7 +7,7 @@ DbHost = 127.0.0.1 DbPort = 3306 DbUser = dyb DbPassWord = rootdyb -DbArtist = artist +DbArtist = artistmgmtDev [redis] RedisDB = 2 diff --git a/conf/dev/dubbogo.yaml b/conf/dev/dubbogo.yaml index 9783e91..fba8484 100644 --- a/conf/dev/dubbogo.yaml +++ b/conf/dev/dubbogo.yaml @@ -15,18 +15,57 @@ dubbo: port: 20050 provider: services: - ArtistInfoProvider: + ArtistInfoUserProvider: + interface: com.fontree.microservices.common.ArtistInfoUser + retries: 100 + ArtistInfoArtworkProvider: + interface: com.fontree.microservices.common.ArtistInfoArtwork + retries: 100 + ArtistInfoArtshowProvider: + interface: com.fontree.microservices.common.ArtistInfoArtshow + retries: 100 + #ContractProvider: + # interface: com.fontree.microservices.common.Contract + # retries: 0 + #ArtWorkProvider: + # interface: com.fontree.microservices.common.ArtWork + # retries: 0 + #SupplyProvider: + # interface: com.fontree.microservices.common.Supply + # retries: 0 + consumer: + request-timeout: 120s + references: + AccountClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Account + filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + params: + .accessKeyId: "Accountksl" + .secretAccessKey: "BSDY-FDF1-Fontree_account" + ArtistClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Artist + ArtistInfoClientImpl: + protocol: tri interface: com.fontree.microservices.common.ArtistInfo - retries: 0 - ContractProvider: - interface: com.fontree.microservices.common.Contract - retries: 0 - ArtWorkProvider: - interface: com.fontree.microservices.common.ArtWork - retries: 0 - SupplyProvider: + ContractClientImpl: + timeout: 15s + protocol: tri + interface: com.fontree.microservices.common.contract + filter: cshutdown,sign + params: + .accessKeyId: "SYD8-Chain-04" + .secretAccessKey: "Al-Chain-FDF112" + ArtworkClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Artwork + ArtworkQueryClientImpl: + protocol: tri + interface: com.fontree.microservices.common.ArtworkQuery + SupplyClientImpl: + protocol: tri interface: com.fontree.microservices.common.Supply - retries: 0 logger: zap-config: level: info # 日志级别 diff --git a/conf/test/conf.ini b/conf/test/conf.ini index 4c60a3c..312c2ff 100644 --- a/conf/test/conf.ini +++ b/conf/test/conf.ini @@ -3,15 +3,14 @@ mode = dev #正式prod #测试dev [mysql] Db = mysql -DbHost = mysql -DbPort = 3306 -DbUser = root -DbPassWord = 123456 -DbName = artistmgmttest +DbHost = 172.16.100.99 #214 +DbPort = 9007 +DbUser = artuser +DbPassWord = "C250PflXIWv2SQm8" +DbName = artistmgmtDev [redis] - -RedisDB = 2 +RedisDB = 3 RedisAddr = 172.16.100.99:9008 RedisPW = "nDCTrfTtBu3Pw" RedisDBNAme = diff --git a/conf/test/dubbogo.yaml b/conf/test/dubbogo.yaml index fe3ce93..440a7d7 100644 --- a/conf/test/dubbogo.yaml +++ b/conf/test/dubbogo.yaml @@ -8,10 +8,10 @@ dubbo: demoZK: protocol: zookeeper timeout: 120s - # address: 127.0.0.1:2181 +# address: 127.0.0.1:2181 # address: 121.229.45.214:9004 # address: 114.218.158.24:2181 - address: zookeeper:2181 + address: 172.16.100.93:2181 protocols: triple: #triple name: tri @@ -19,18 +19,57 @@ dubbo: port: 20050 provider: services: - ArtistInfoProvider: + ArtistInfoUserProvider: + interface: com.fontree.microservices.common.ArtistInfoUser + retries: 100 + ArtistInfoArtworkProvider: + interface: com.fontree.microservices.common.ArtistInfoArtwork + retries: 100 + ArtistInfoArtshowProvider: + interface: com.fontree.microservices.common.ArtistInfoArtshow + retries: 100 + #ContractProvider: + # interface: com.fontree.microservices.common.Contract + # retries: 0 + #ArtWorkProvider: + # interface: com.fontree.microservices.common.ArtWork + # retries: 0 + #SupplyProvider: + # interface: com.fontree.microservices.common.Supply + # retries: 0 + consumer: + request-timeout: 120s + references: + AccountClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Account + filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + params: + .accessKeyId: "Accountksl" + .secretAccessKey: "BSDY-FDF1-Fontree_account" + ArtistClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Artist + ArtistInfoClientImpl: + protocol: tri interface: com.fontree.microservices.common.ArtistInfo - # retries: 100 - ContractProvider: - interface: com.fontree.microservices.common.Contract - # retries: 0 - ArtWorkProvider: - interface: com.fontree.microservices.common.ArtWork - # retries: 0 - SupplyProvider: + ContractClientImpl: + timeout: 15s + protocol: tri + interface: com.fontree.microservices.common.contract + filter: cshutdown,sign + params: + .accessKeyId: "SYD8-Chain-04" + .secretAccessKey: "Al-Chain-FDF112" + ArtworkClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Artwork + ArtworkQueryClientImpl: + protocol: tri + interface: com.fontree.microservices.common.ArtworkQuery + SupplyClientImpl: + protocol: tri interface: com.fontree.microservices.common.Supply - # retries: 0 logger: zap-config: level: info # 日志级别 diff --git a/conf/xjjdev/conf.ini b/conf/xjjdev/conf.ini index a5ee871..2a5744d 100644 --- a/conf/xjjdev/conf.ini +++ b/conf/xjjdev/conf.ini @@ -10,7 +10,6 @@ DbPassWord = 123456 DbName = artistmgmttest [redis] - RedisDB = 2 RedisAddr = 127.0.0.1:6379 #RedisPW = "nDCTrfTtBu3Pw" diff --git a/conf/xjjdev/dubbogo.yaml b/conf/xjjdev/dubbogo.yaml index 7d7cfea..e1ac224 100644 --- a/conf/xjjdev/dubbogo.yaml +++ b/conf/xjjdev/dubbogo.yaml @@ -19,18 +19,57 @@ dubbo: port: 20050 provider: services: - ArtistInfoProvider: + ArtistInfoUserProvider: + interface: com.fontree.microservices.common.ArtistInfoUser + retries: 100 + ArtistInfoArtworkProvider: + interface: com.fontree.microservices.common.ArtistInfoArtwork + retries: 100 + ArtistInfoArtshowProvider: + interface: com.fontree.microservices.common.ArtistInfoArtshow + retries: 100 + #ContractProvider: + # interface: com.fontree.microservices.common.Contract + # retries: 0 + #ArtWorkProvider: + # interface: com.fontree.microservices.common.ArtWork + # retries: 0 + #SupplyProvider: + # interface: com.fontree.microservices.common.Supply + # retries: 0 + consumer: + request-timeout: 120s + references: + AccountClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Account + filter: cshutdown,sign,fonDomainFilter,fonValidateFilter + params: + .accessKeyId: "Accountksl" + .secretAccessKey: "BSDY-FDF1-Fontree_account" + ArtistClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Artist + ArtistInfoClientImpl: + protocol: tri interface: com.fontree.microservices.common.ArtistInfo - # retries: 100 - ContractProvider: - interface: com.fontree.microservices.common.Contract - # retries: 0 - ArtWorkProvider: - interface: com.fontree.microservices.common.ArtWork - # retries: 0 - SupplyProvider: + ContractClientImpl: + timeout: 15s + protocol: tri + interface: com.fontree.microservices.common.contract + filter: cshutdown,sign + params: + .accessKeyId: "SYD8-Chain-04" + .secretAccessKey: "Al-Chain-FDF112" + ArtworkClientImpl: + protocol: tri + interface: com.fontree.microservices.common.Artwork + ArtworkQueryClientImpl: + protocol: tri + interface: com.fontree.microservices.common.ArtworkQuery + SupplyClientImpl: + protocol: tri interface: com.fontree.microservices.common.Supply - # retries: 0 logger: zap-config: level: info # 日志级别 diff --git a/fonchain-artistinfo.exe b/fonchain-artistinfo.exe deleted file mode 100644 index 9aeb8f7..0000000 Binary files a/fonchain-artistinfo.exe and /dev/null differ diff --git a/fonchain-artistserver.exe b/fonchain-artistserver.exe deleted file mode 100644 index 2b76c34..0000000 Binary files a/fonchain-artistserver.exe and /dev/null differ diff --git a/makefile b/makefile new file mode 100644 index 0000000..61f83ea --- /dev/null +++ b/makefile @@ -0,0 +1,37 @@ +.PHONY: all build run gotool help + +BINARY="artisrService" + +all: gotool build + +build: + go env -w GOOS=linux + go build -ldflags "-s -w" -o ./build/${BINARY} ./cmd/app.go + +pushTest: + DockerBuildTest.bat +pushProd: + DockerBuildProd.bat + +run: + @go run ./cmd/app.go + +gotool: + go fmt ./ + go vet ./ + +#protoc: + #protoc --go_out=./pb/artist --go-triple_out=./pb/artist --validate_out="lang=go:./pb/artist" ./pb/artist/artist.proto +#protoc --go_out=./pb/artist --go-grpc_out=./pb/artist --go-triple_out=./pb/artist --validate_out="lang=go:./pb/artist" ./pb/artist/artist.proto +protoc: + protoc --proto_path=. --go_out=./pb --go-triple_out=./pb --govalidators_out="lang=go:./pb" ./pb/artist.proto + protoc --proto_path=. --go_out=./pb --go-triple_out=./pb --govalidators_out="lang=go:./pb" ./pb/artist_third_party.proto +all_protoc: + protoc --go_out=./pb/artist --go-grpc_out=./pb/artist --go-triple_out=./pb/artist --govalidators_out=./pb/artist ./pb/artist/artist.proto + +help: + @echo "make - 格式化 Go 代码, 并编译生成二进制文件" + @echo "make build - 编译 Go 代码, 生成二进制文件" + @echo "make run - 直接运行 Go 代码" + @echo "make gotool - 运行 Go 工具 'fmt' and 'vet'" + @echo "make protoc - 解析proto文件" diff --git a/pb/artist/artist.pb.go b/pb/artist/artist.pb.go index 52652eb..938675e 100644 --- a/pb/artist/artist.pb.go +++ b/pb/artist/artist.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v4.22.0--rc2 -// source: pb/artist/artist.proto +// protoc-gen-go v1.28.0 +// protoc v3.21.1 +// source: pb/artist.proto package artist @@ -28,16 +28,19 @@ type ArtistListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Keyword string `protobuf:"bytes,1,opt,name=Keyword,json=keyword,proto3" json:"Keyword,omitempty"` - Page int32 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` - PageSize int32 `protobuf:"varint,3,opt,name=PageSize,json=page_size,proto3" json:"PageSize,omitempty"` - Uids []string `protobuf:"bytes,4,rep,name=uids,proto3" json:"uids,omitempty"` + Keyword string `protobuf:"bytes,1,opt,name=Keyword,json=keyword,proto3" json:"Keyword,omitempty"` + Page int32 `protobuf:"varint,2,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=PageSize,json=page_size,proto3" json:"PageSize,omitempty"` + Uids []string `protobuf:"bytes,4,rep,name=uids,proto3" json:"uids,omitempty"` + Age int32 `protobuf:"varint,5,opt,name=Age,json=age,proto3" json:"Age,omitempty"` + Gender int32 `protobuf:"varint,6,opt,name=Gender,json=gender,proto3" json:"Gender,omitempty"` + NativePlace string `protobuf:"bytes,7,opt,name=NativePlace,json=native_place,proto3" json:"NativePlace,omitempty"` } func (x *ArtistListRequest) Reset() { *x = ArtistListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[0] + mi := &file_pb_artist_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -50,7 +53,7 @@ func (x *ArtistListRequest) String() string { func (*ArtistListRequest) ProtoMessage() {} func (x *ArtistListRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[0] + mi := &file_pb_artist_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -63,7 +66,7 @@ func (x *ArtistListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistListRequest.ProtoReflect.Descriptor instead. func (*ArtistListRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{0} + return file_pb_artist_proto_rawDescGZIP(), []int{0} } func (x *ArtistListRequest) GetKeyword() string { @@ -94,6 +97,27 @@ func (x *ArtistListRequest) GetUids() []string { return nil } +func (x *ArtistListRequest) GetAge() int32 { + if x != nil { + return x.Age + } + return 0 +} + +func (x *ArtistListRequest) GetGender() int32 { + if x != nil { + return x.Gender + } + return 0 +} + +func (x *ArtistListRequest) GetNativePlace() string { + if x != nil { + return x.NativePlace + } + return "" +} + // ProfileListResponse type ArtistListResponse struct { state protoimpl.MessageState @@ -109,7 +133,7 @@ type ArtistListResponse struct { func (x *ArtistListResponse) Reset() { *x = ArtistListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[1] + mi := &file_pb_artist_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -122,7 +146,7 @@ func (x *ArtistListResponse) String() string { func (*ArtistListResponse) ProtoMessage() {} func (x *ArtistListResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[1] + mi := &file_pb_artist_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -135,7 +159,7 @@ func (x *ArtistListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistListResponse.ProtoReflect.Descriptor instead. func (*ArtistListResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{1} + return file_pb_artist_proto_rawDescGZIP(), []int{1} } func (x *ArtistListResponse) GetCount() int32 { @@ -172,7 +196,7 @@ type ProfileRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // string Uid = 1 [json_name = "uid",(validator.field) = {string_not_empty: true}]; + // string Uid = 1 [json_name = "uid",(validator.field) = {string_not_empty: true}]; Uid string `protobuf:"bytes,1,opt,name=Uid,json=uid,proto3" json:"Uid,omitempty"` Name string `protobuf:"bytes,2,opt,name=Name,json=name,proto3" json:"Name,omitempty"` PenName string `protobuf:"bytes,3,opt,name=PenName,json=pen_name,proto3" json:"PenName,omitempty"` @@ -199,24 +223,23 @@ type ProfileRequest struct { Belong int32 `protobuf:"varint,24,opt,name=Belong,json=belong,proto3" json:"Belong,omitempty"` //归属 Id int32 `protobuf:"varint,25,opt,name=Id,json=id,proto3" json:"Id,omitempty"` RecentPhotoOne string `protobuf:"bytes,26,opt,name=RecentPhotoOne,json=recent_photo_one,proto3" json:"RecentPhotoOne,omitempty"` - // string Exhibition = 27 [json_name = "exhibition"]; //指数-展览 - // string Collectible = 28 [json_name = "collectible"]; //指数-收藏性 - // string Education = 29 [json_name = "education"]; //指数-资历(教育) - // string Influence = 30 [json_name = "influence"]; //指数-影响力(人气) - // string Professionalism = 31 [json_name = "professionalism"]; //指数-专业度 + // string Exhibition = 27 [json_name = "exhibition"]; //指数-展览 + // string Collectible = 28 [json_name = "collectible"]; //指数-收藏性 + // string Education = 29 [json_name = "education"]; //指数-资历(教育) + // string Influence = 30 [json_name = "influence"]; //指数-影响力(人气) + // string Professionalism = 31 [json_name = "professionalism"]; //指数-专业度 Resume string `protobuf:"bytes,27,opt,name=Resume,json=resume,proto3" json:"Resume,omitempty"` Indexs string `protobuf:"bytes,28,opt,name=Indexs,json=index,proto3" json:"Indexs,omitempty"` ChainHash string `protobuf:"bytes,29,opt,name=ChainHash,json=chain_hash,proto3" json:"ChainHash,omitempty"` StageName string `protobuf:"bytes,30,opt,name=StageName,json=stage_name,proto3" json:"StageName,omitempty"` CaaJoinTime string `protobuf:"bytes,31,opt,name=CaaJoinTime,json=caa_join_time,proto3" json:"CaaJoinTime,omitempty"` JoinShow int32 `protobuf:"varint,32,opt,name=JoinShow,json=join_show,proto3" json:"JoinShow,omitempty"` - } func (x *ProfileRequest) Reset() { *x = ProfileRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[2] + mi := &file_pb_artist_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -229,7 +252,7 @@ func (x *ProfileRequest) String() string { func (*ProfileRequest) ProtoMessage() {} func (x *ProfileRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[2] + mi := &file_pb_artist_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -242,7 +265,7 @@ func (x *ProfileRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProfileRequest.ProtoReflect.Descriptor instead. func (*ProfileRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{2} + return file_pb_artist_proto_rawDescGZIP(), []int{2} } func (x *ProfileRequest) GetUid() string { @@ -481,7 +504,7 @@ type ProfileResponse struct { func (x *ProfileResponse) Reset() { *x = ProfileResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[3] + mi := &file_pb_artist_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -494,7 +517,7 @@ func (x *ProfileResponse) String() string { func (*ProfileResponse) ProtoMessage() {} func (x *ProfileResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[3] + mi := &file_pb_artist_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -507,7 +530,7 @@ func (x *ProfileResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProfileResponse.ProtoReflect.Descriptor instead. func (*ProfileResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{3} + return file_pb_artist_proto_rawDescGZIP(), []int{3} } func (x *ProfileResponse) GetMsg() string { @@ -544,7 +567,7 @@ type MediaRequest struct { func (x *MediaRequest) Reset() { *x = MediaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[4] + mi := &file_pb_artist_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -557,7 +580,7 @@ func (x *MediaRequest) String() string { func (*MediaRequest) ProtoMessage() {} func (x *MediaRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[4] + mi := &file_pb_artist_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -570,7 +593,7 @@ func (x *MediaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaRequest.ProtoReflect.Descriptor instead. func (*MediaRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{4} + return file_pb_artist_proto_rawDescGZIP(), []int{4} } func (x *MediaRequest) GetUid() string { @@ -653,7 +676,7 @@ type IndexRequest struct { func (x *IndexRequest) Reset() { *x = IndexRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[5] + mi := &file_pb_artist_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -666,7 +689,7 @@ func (x *IndexRequest) String() string { func (*IndexRequest) ProtoMessage() {} func (x *IndexRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[5] + mi := &file_pb_artist_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -679,7 +702,7 @@ func (x *IndexRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use IndexRequest.ProtoReflect.Descriptor instead. func (*IndexRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{5} + return file_pb_artist_proto_rawDescGZIP(), []int{5} } func (x *IndexRequest) GetUid() string { @@ -736,7 +759,7 @@ type IndexResponse struct { func (x *IndexResponse) Reset() { *x = IndexResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[6] + mi := &file_pb_artist_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -749,7 +772,7 @@ func (x *IndexResponse) String() string { func (*IndexResponse) ProtoMessage() {} func (x *IndexResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[6] + mi := &file_pb_artist_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -762,7 +785,7 @@ func (x *IndexResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use IndexResponse.ProtoReflect.Descriptor instead. func (*IndexResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{6} + return file_pb_artist_proto_rawDescGZIP(), []int{6} } func (x *IndexResponse) GetMsg() string { @@ -791,7 +814,7 @@ type MediaResponse struct { func (x *MediaResponse) Reset() { *x = MediaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[7] + mi := &file_pb_artist_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -804,7 +827,7 @@ func (x *MediaResponse) String() string { func (*MediaResponse) ProtoMessage() {} func (x *MediaResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[7] + mi := &file_pb_artist_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -817,7 +840,7 @@ func (x *MediaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaResponse.ProtoReflect.Descriptor instead. func (*MediaResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{7} + return file_pb_artist_proto_rawDescGZIP(), []int{7} } func (x *MediaResponse) GetMsg() string { @@ -842,12 +865,12 @@ type HonorRequest struct { Uid string `protobuf:"bytes,1,opt,name=Uid,json=uuid,proto3" json:"Uid,omitempty"` HonorType int32 `protobuf:"varint,2,opt,name=HonorType,json=honor_type,proto3" json:"HonorType,omitempty"` - // string HonorAddDate = 3 [json_name = "honor_add_date"]; - // string HonorBeginDate = 4 [json_name = "honor_begin_date"]; - // string HonorEndDate = 5 [json_name = "honor_end_date"]; - // string HonorDisplayName = 6 [json_name = "honor_display_name"]; - // string HonorArtName = 7 [json_name = "honor_art_name"]; - // string HonorImg = 8 [json_name = "honor_img"]; + // string HonorAddDate = 3 [json_name = "honor_add_date"]; + // string HonorBeginDate = 4 [json_name = "honor_begin_date"]; + // string HonorEndDate = 5 [json_name = "honor_end_date"]; + // string HonorDisplayName = 6 [json_name = "honor_display_name"]; + // string HonorArtName = 7 [json_name = "honor_art_name"]; + // string HonorImg = 8 [json_name = "honor_img"]; HonorDetail string `protobuf:"bytes,3,opt,name=HonorDetail,json=honor_detail,proto3" json:"HonorDetail,omitempty"` Id int32 `protobuf:"varint,4,opt,name=Id,json=id,proto3" json:"Id,omitempty"` } @@ -855,7 +878,7 @@ type HonorRequest struct { func (x *HonorRequest) Reset() { *x = HonorRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[8] + mi := &file_pb_artist_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -868,7 +891,7 @@ func (x *HonorRequest) String() string { func (*HonorRequest) ProtoMessage() {} func (x *HonorRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[8] + mi := &file_pb_artist_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -881,7 +904,7 @@ func (x *HonorRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use HonorRequest.ProtoReflect.Descriptor instead. func (*HonorRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{8} + return file_pb_artist_proto_rawDescGZIP(), []int{8} } func (x *HonorRequest) GetUid() string { @@ -924,7 +947,7 @@ type HonorResponse struct { func (x *HonorResponse) Reset() { *x = HonorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[9] + mi := &file_pb_artist_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -937,7 +960,7 @@ func (x *HonorResponse) String() string { func (*HonorResponse) ProtoMessage() {} func (x *HonorResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[9] + mi := &file_pb_artist_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -950,7 +973,7 @@ func (x *HonorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use HonorResponse.ProtoReflect.Descriptor instead. func (*HonorResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{9} + return file_pb_artist_proto_rawDescGZIP(), []int{9} } func (x *HonorResponse) GetMsg() string { @@ -980,7 +1003,7 @@ type UploadMediaRequest struct { func (x *UploadMediaRequest) Reset() { *x = UploadMediaRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[10] + mi := &file_pb_artist_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -993,7 +1016,7 @@ func (x *UploadMediaRequest) String() string { func (*UploadMediaRequest) ProtoMessage() {} func (x *UploadMediaRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[10] + mi := &file_pb_artist_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1006,7 +1029,7 @@ func (x *UploadMediaRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadMediaRequest.ProtoReflect.Descriptor instead. func (*UploadMediaRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{10} + return file_pb_artist_proto_rawDescGZIP(), []int{10} } func (x *UploadMediaRequest) GetFileType() string { @@ -1035,7 +1058,7 @@ type UploadMediaResponse struct { func (x *UploadMediaResponse) Reset() { *x = UploadMediaResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[11] + mi := &file_pb_artist_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1048,7 +1071,7 @@ func (x *UploadMediaResponse) String() string { func (*UploadMediaResponse) ProtoMessage() {} func (x *UploadMediaResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[11] + mi := &file_pb_artist_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1061,7 +1084,7 @@ func (x *UploadMediaResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadMediaResponse.ProtoReflect.Descriptor instead. func (*UploadMediaResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{11} + return file_pb_artist_proto_rawDescGZIP(), []int{11} } func (x *UploadMediaResponse) GetMsg() string { @@ -1090,7 +1113,7 @@ type DetailRequest struct { func (x *DetailRequest) Reset() { *x = DetailRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[12] + mi := &file_pb_artist_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1103,7 +1126,7 @@ func (x *DetailRequest) String() string { func (*DetailRequest) ProtoMessage() {} func (x *DetailRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[12] + mi := &file_pb_artist_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1116,7 +1139,7 @@ func (x *DetailRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DetailRequest.ProtoReflect.Descriptor instead. func (*DetailRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{12} + return file_pb_artist_proto_rawDescGZIP(), []int{12} } func (x *DetailRequest) GetUid() string { @@ -1126,7 +1149,7 @@ func (x *DetailRequest) GetUid() string { return "" } -// DetailRequest +//DetailRequest // DetailResponse type DetailResponse struct { state protoimpl.MessageState @@ -1142,7 +1165,7 @@ type DetailResponse struct { func (x *DetailResponse) Reset() { *x = DetailResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[13] + mi := &file_pb_artist_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1155,7 +1178,7 @@ func (x *DetailResponse) String() string { func (*DetailResponse) ProtoMessage() {} func (x *DetailResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[13] + mi := &file_pb_artist_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1168,7 +1191,7 @@ func (x *DetailResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DetailResponse.ProtoReflect.Descriptor instead. func (*DetailResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{13} + return file_pb_artist_proto_rawDescGZIP(), []int{13} } func (x *DetailResponse) GetProfileInfo() *ProfileRequest { @@ -1211,7 +1234,7 @@ type DelRequest struct { func (x *DelRequest) Reset() { *x = DelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[14] + mi := &file_pb_artist_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1224,7 +1247,7 @@ func (x *DelRequest) String() string { func (*DelRequest) ProtoMessage() {} func (x *DelRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[14] + mi := &file_pb_artist_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1237,7 +1260,7 @@ func (x *DelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DelRequest.ProtoReflect.Descriptor instead. func (*DelRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{14} + return file_pb_artist_proto_rawDescGZIP(), []int{14} } func (x *DelRequest) GetUid() string { @@ -1259,7 +1282,7 @@ type DelResponse struct { func (x *DelResponse) Reset() { *x = DelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[15] + mi := &file_pb_artist_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1272,7 +1295,7 @@ func (x *DelResponse) String() string { func (*DelResponse) ProtoMessage() {} func (x *DelResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[15] + mi := &file_pb_artist_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1285,7 +1308,7 @@ func (x *DelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DelResponse.ProtoReflect.Descriptor instead. func (*DelResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{15} + return file_pb_artist_proto_rawDescGZIP(), []int{15} } func (x *DelResponse) GetMsg() string { @@ -1307,7 +1330,7 @@ type HonorDelRequest struct { func (x *HonorDelRequest) Reset() { *x = HonorDelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[16] + mi := &file_pb_artist_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1320,7 +1343,7 @@ func (x *HonorDelRequest) String() string { func (*HonorDelRequest) ProtoMessage() {} func (x *HonorDelRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[16] + mi := &file_pb_artist_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1333,7 +1356,7 @@ func (x *HonorDelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use HonorDelRequest.ProtoReflect.Descriptor instead. func (*HonorDelRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{16} + return file_pb_artist_proto_rawDescGZIP(), []int{16} } func (x *HonorDelRequest) GetIds() []int32 { @@ -1354,7 +1377,7 @@ type HonorDelResponse struct { func (x *HonorDelResponse) Reset() { *x = HonorDelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[17] + mi := &file_pb_artist_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1367,7 +1390,7 @@ func (x *HonorDelResponse) String() string { func (*HonorDelResponse) ProtoMessage() {} func (x *HonorDelResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[17] + mi := &file_pb_artist_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1380,7 +1403,7 @@ func (x *HonorDelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use HonorDelResponse.ProtoReflect.Descriptor instead. func (*HonorDelResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{17} + return file_pb_artist_proto_rawDescGZIP(), []int{17} } func (x *HonorDelResponse) GetMsg() string { @@ -1426,7 +1449,7 @@ type ArtistInfo struct { func (x *ArtistInfo) Reset() { *x = ArtistInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[18] + mi := &file_pb_artist_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1439,7 +1462,7 @@ func (x *ArtistInfo) String() string { func (*ArtistInfo) ProtoMessage() {} func (x *ArtistInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[18] + mi := &file_pb_artist_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1452,7 +1475,7 @@ func (x *ArtistInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistInfo.ProtoReflect.Descriptor instead. func (*ArtistInfo) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{18} + return file_pb_artist_proto_rawDescGZIP(), []int{18} } func (x *ArtistInfo) GetUid() string { @@ -1648,7 +1671,7 @@ type CreateArtistBatchRequest struct { func (x *CreateArtistBatchRequest) Reset() { *x = CreateArtistBatchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[19] + mi := &file_pb_artist_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1661,7 +1684,7 @@ func (x *CreateArtistBatchRequest) String() string { func (*CreateArtistBatchRequest) ProtoMessage() {} func (x *CreateArtistBatchRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[19] + mi := &file_pb_artist_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1674,7 +1697,7 @@ func (x *CreateArtistBatchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateArtistBatchRequest.ProtoReflect.Descriptor instead. func (*CreateArtistBatchRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{19} + return file_pb_artist_proto_rawDescGZIP(), []int{19} } func (x *CreateArtistBatchRequest) GetArtistInfoBatch() []*ArtistInfo { @@ -1695,7 +1718,7 @@ type CreateArtistBatchResponse struct { func (x *CreateArtistBatchResponse) Reset() { *x = CreateArtistBatchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[20] + mi := &file_pb_artist_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1708,7 +1731,7 @@ func (x *CreateArtistBatchResponse) String() string { func (*CreateArtistBatchResponse) ProtoMessage() {} func (x *CreateArtistBatchResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[20] + mi := &file_pb_artist_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1721,7 +1744,7 @@ func (x *CreateArtistBatchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateArtistBatchResponse.ProtoReflect.Descriptor instead. func (*CreateArtistBatchResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{20} + return file_pb_artist_proto_rawDescGZIP(), []int{20} } func (x *CreateArtistBatchResponse) GetMsg() string { @@ -1741,7 +1764,7 @@ type ArtIdNameRequest struct { func (x *ArtIdNameRequest) Reset() { *x = ArtIdNameRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[21] + mi := &file_pb_artist_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1754,7 +1777,7 @@ func (x *ArtIdNameRequest) String() string { func (*ArtIdNameRequest) ProtoMessage() {} func (x *ArtIdNameRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[21] + mi := &file_pb_artist_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1767,7 +1790,7 @@ func (x *ArtIdNameRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtIdNameRequest.ProtoReflect.Descriptor instead. func (*ArtIdNameRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{21} + return file_pb_artist_proto_rawDescGZIP(), []int{21} } type ArtIdNameResponse struct { @@ -1782,7 +1805,7 @@ type ArtIdNameResponse struct { func (x *ArtIdNameResponse) Reset() { *x = ArtIdNameResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[22] + mi := &file_pb_artist_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1795,7 +1818,7 @@ func (x *ArtIdNameResponse) String() string { func (*ArtIdNameResponse) ProtoMessage() {} func (x *ArtIdNameResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[22] + mi := &file_pb_artist_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1808,7 +1831,7 @@ func (x *ArtIdNameResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtIdNameResponse.ProtoReflect.Descriptor instead. func (*ArtIdNameResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{22} + return file_pb_artist_proto_rawDescGZIP(), []int{22} } func (x *ArtIdNameResponse) GetItems() []*ArtIdNameResponse_IdKbName { @@ -1837,7 +1860,7 @@ type ArtistInfoRequest struct { func (x *ArtistInfoRequest) Reset() { *x = ArtistInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[23] + mi := &file_pb_artist_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1850,7 +1873,7 @@ func (x *ArtistInfoRequest) String() string { func (*ArtistInfoRequest) ProtoMessage() {} func (x *ArtistInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[23] + mi := &file_pb_artist_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1863,7 +1886,7 @@ func (x *ArtistInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistInfoRequest.ProtoReflect.Descriptor instead. func (*ArtistInfoRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{23} + return file_pb_artist_proto_rawDescGZIP(), []int{23} } func (x *ArtistInfoRequest) GetUid() string { @@ -1887,7 +1910,7 @@ type ArtistInfoResponse struct { func (x *ArtistInfoResponse) Reset() { *x = ArtistInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[24] + mi := &file_pb_artist_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1900,7 +1923,7 @@ func (x *ArtistInfoResponse) String() string { func (*ArtistInfoResponse) ProtoMessage() {} func (x *ArtistInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[24] + mi := &file_pb_artist_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1913,7 +1936,7 @@ func (x *ArtistInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistInfoResponse.ProtoReflect.Descriptor instead. func (*ArtistInfoResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{24} + return file_pb_artist_proto_rawDescGZIP(), []int{24} } func (x *ArtistInfoResponse) GetProfileInfo() *ProfileRequest { @@ -1956,7 +1979,7 @@ type ArtistDataRequest struct { func (x *ArtistDataRequest) Reset() { *x = ArtistDataRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[25] + mi := &file_pb_artist_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1969,7 +1992,7 @@ func (x *ArtistDataRequest) String() string { func (*ArtistDataRequest) ProtoMessage() {} func (x *ArtistDataRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[25] + mi := &file_pb_artist_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1982,7 +2005,7 @@ func (x *ArtistDataRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistDataRequest.ProtoReflect.Descriptor instead. func (*ArtistDataRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{25} + return file_pb_artist_proto_rawDescGZIP(), []int{25} } func (x *ArtistDataRequest) GetUids() []string { @@ -2004,7 +2027,7 @@ type ArtistDataResponse struct { func (x *ArtistDataResponse) Reset() { *x = ArtistDataResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[26] + mi := &file_pb_artist_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2017,7 +2040,7 @@ func (x *ArtistDataResponse) String() string { func (*ArtistDataResponse) ProtoMessage() {} func (x *ArtistDataResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[26] + mi := &file_pb_artist_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2030,7 +2053,7 @@ func (x *ArtistDataResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistDataResponse.ProtoReflect.Descriptor instead. func (*ArtistDataResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{26} + return file_pb_artist_proto_rawDescGZIP(), []int{26} } func (x *ArtistDataResponse) GetData() []*ArtistDataResponseInfo { @@ -2063,7 +2086,7 @@ type InvitationAddRequest struct { func (x *InvitationAddRequest) Reset() { *x = InvitationAddRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[27] + mi := &file_pb_artist_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2076,7 +2099,7 @@ func (x *InvitationAddRequest) String() string { func (*InvitationAddRequest) ProtoMessage() {} func (x *InvitationAddRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[27] + mi := &file_pb_artist_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2089,7 +2112,7 @@ func (x *InvitationAddRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationAddRequest.ProtoReflect.Descriptor instead. func (*InvitationAddRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{27} + return file_pb_artist_proto_rawDescGZIP(), []int{27} } func (x *InvitationAddRequest) GetArtistUuids() []string { @@ -2138,7 +2161,7 @@ type InvitationAddResponse struct { func (x *InvitationAddResponse) Reset() { *x = InvitationAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[28] + mi := &file_pb_artist_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2151,7 +2174,7 @@ func (x *InvitationAddResponse) String() string { func (*InvitationAddResponse) ProtoMessage() {} func (x *InvitationAddResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[28] + mi := &file_pb_artist_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2164,7 +2187,7 @@ func (x *InvitationAddResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationAddResponse.ProtoReflect.Descriptor instead. func (*InvitationAddResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{28} + return file_pb_artist_proto_rawDescGZIP(), []int{28} } func (x *InvitationAddResponse) GetMsg() string { @@ -2192,7 +2215,7 @@ type InvitationUpdateRequest struct { func (x *InvitationUpdateRequest) Reset() { *x = InvitationUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[29] + mi := &file_pb_artist_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2205,7 +2228,7 @@ func (x *InvitationUpdateRequest) String() string { func (*InvitationUpdateRequest) ProtoMessage() {} func (x *InvitationUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[29] + mi := &file_pb_artist_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2218,7 +2241,7 @@ func (x *InvitationUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationUpdateRequest.ProtoReflect.Descriptor instead. func (*InvitationUpdateRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{29} + return file_pb_artist_proto_rawDescGZIP(), []int{29} } func (x *InvitationUpdateRequest) GetUuid() string { @@ -2281,7 +2304,7 @@ type InvitationUpdateResponse struct { func (x *InvitationUpdateResponse) Reset() { *x = InvitationUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[30] + mi := &file_pb_artist_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2294,7 +2317,7 @@ func (x *InvitationUpdateResponse) String() string { func (*InvitationUpdateResponse) ProtoMessage() {} func (x *InvitationUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[30] + mi := &file_pb_artist_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2307,7 +2330,7 @@ func (x *InvitationUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationUpdateResponse.ProtoReflect.Descriptor instead. func (*InvitationUpdateResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{30} + return file_pb_artist_proto_rawDescGZIP(), []int{30} } func (x *InvitationUpdateResponse) GetMsg() string { @@ -2329,7 +2352,7 @@ type InvitationDelRequest struct { func (x *InvitationDelRequest) Reset() { *x = InvitationDelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[31] + mi := &file_pb_artist_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2342,7 +2365,7 @@ func (x *InvitationDelRequest) String() string { func (*InvitationDelRequest) ProtoMessage() {} func (x *InvitationDelRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[31] + mi := &file_pb_artist_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2355,7 +2378,7 @@ func (x *InvitationDelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationDelRequest.ProtoReflect.Descriptor instead. func (*InvitationDelRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{31} + return file_pb_artist_proto_rawDescGZIP(), []int{31} } func (x *InvitationDelRequest) GetUuid() string { @@ -2376,7 +2399,7 @@ type InvitationDelResponse struct { func (x *InvitationDelResponse) Reset() { *x = InvitationDelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[32] + mi := &file_pb_artist_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2389,7 +2412,7 @@ func (x *InvitationDelResponse) String() string { func (*InvitationDelResponse) ProtoMessage() {} func (x *InvitationDelResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[32] + mi := &file_pb_artist_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2402,7 +2425,7 @@ func (x *InvitationDelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationDelResponse.ProtoReflect.Descriptor instead. func (*InvitationDelResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{32} + return file_pb_artist_proto_rawDescGZIP(), []int{32} } func (x *InvitationDelResponse) GetMsg() string { @@ -2424,7 +2447,7 @@ type InvitationListRequest struct { func (x *InvitationListRequest) Reset() { *x = InvitationListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[33] + mi := &file_pb_artist_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2437,7 +2460,7 @@ func (x *InvitationListRequest) String() string { func (*InvitationListRequest) ProtoMessage() {} func (x *InvitationListRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[33] + mi := &file_pb_artist_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2450,7 +2473,7 @@ func (x *InvitationListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationListRequest.ProtoReflect.Descriptor instead. func (*InvitationListRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{33} + return file_pb_artist_proto_rawDescGZIP(), []int{33} } func (x *InvitationListRequest) GetArtistUuid() string { @@ -2472,7 +2495,7 @@ type InvitationListResponse struct { func (x *InvitationListResponse) Reset() { *x = InvitationListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[34] + mi := &file_pb_artist_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2485,7 +2508,7 @@ func (x *InvitationListResponse) String() string { func (*InvitationListResponse) ProtoMessage() {} func (x *InvitationListResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[34] + mi := &file_pb_artist_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2498,7 +2521,7 @@ func (x *InvitationListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationListResponse.ProtoReflect.Descriptor instead. func (*InvitationListResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{34} + return file_pb_artist_proto_rawDescGZIP(), []int{34} } func (x *InvitationListResponse) GetData() []*InvitationUpdateRequest { @@ -2527,7 +2550,7 @@ type InvitationInfoRequest struct { func (x *InvitationInfoRequest) Reset() { *x = InvitationInfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[35] + mi := &file_pb_artist_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2540,7 +2563,7 @@ func (x *InvitationInfoRequest) String() string { func (*InvitationInfoRequest) ProtoMessage() {} func (x *InvitationInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[35] + mi := &file_pb_artist_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2553,7 +2576,7 @@ func (x *InvitationInfoRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationInfoRequest.ProtoReflect.Descriptor instead. func (*InvitationInfoRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{35} + return file_pb_artist_proto_rawDescGZIP(), []int{35} } func (x *InvitationInfoRequest) GetUuid() string { @@ -2575,7 +2598,7 @@ type InvitationInfoResponse struct { func (x *InvitationInfoResponse) Reset() { *x = InvitationInfoResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[36] + mi := &file_pb_artist_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2588,7 +2611,7 @@ func (x *InvitationInfoResponse) String() string { func (*InvitationInfoResponse) ProtoMessage() {} func (x *InvitationInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[36] + mi := &file_pb_artist_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2601,7 +2624,7 @@ func (x *InvitationInfoResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use InvitationInfoResponse.ProtoReflect.Descriptor instead. func (*InvitationInfoResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{36} + return file_pb_artist_proto_rawDescGZIP(), []int{36} } func (x *InvitationInfoResponse) GetInfo() *InvitationUpdateRequest { @@ -2643,7 +2666,7 @@ type ContractAddRequest struct { func (x *ContractAddRequest) Reset() { *x = ContractAddRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[37] + mi := &file_pb_artist_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2656,7 +2679,7 @@ func (x *ContractAddRequest) String() string { func (*ContractAddRequest) ProtoMessage() {} func (x *ContractAddRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[37] + mi := &file_pb_artist_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2669,7 +2692,7 @@ func (x *ContractAddRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractAddRequest.ProtoReflect.Descriptor instead. func (*ContractAddRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{37} + return file_pb_artist_proto_rawDescGZIP(), []int{37} } func (x *ContractAddRequest) GetUid() string { @@ -2781,7 +2804,7 @@ type ContractAddResponse struct { func (x *ContractAddResponse) Reset() { *x = ContractAddResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[38] + mi := &file_pb_artist_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2794,7 +2817,7 @@ func (x *ContractAddResponse) String() string { func (*ContractAddResponse) ProtoMessage() {} func (x *ContractAddResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[38] + mi := &file_pb_artist_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2807,7 +2830,7 @@ func (x *ContractAddResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractAddResponse.ProtoReflect.Descriptor instead. func (*ContractAddResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{38} + return file_pb_artist_proto_rawDescGZIP(), []int{38} } func (x *ContractAddResponse) GetMsg() string { @@ -2829,7 +2852,7 @@ type ContractUpdateResponse struct { func (x *ContractUpdateResponse) Reset() { *x = ContractUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[39] + mi := &file_pb_artist_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2842,7 +2865,7 @@ func (x *ContractUpdateResponse) String() string { func (*ContractUpdateResponse) ProtoMessage() {} func (x *ContractUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[39] + mi := &file_pb_artist_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2855,7 +2878,7 @@ func (x *ContractUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractUpdateResponse.ProtoReflect.Descriptor instead. func (*ContractUpdateResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{39} + return file_pb_artist_proto_rawDescGZIP(), []int{39} } func (x *ContractUpdateResponse) GetMsg() string { @@ -2879,7 +2902,7 @@ type ContractListRequest struct { func (x *ContractListRequest) Reset() { *x = ContractListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[40] + mi := &file_pb_artist_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2892,7 +2915,7 @@ func (x *ContractListRequest) String() string { func (*ContractListRequest) ProtoMessage() {} func (x *ContractListRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[40] + mi := &file_pb_artist_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2905,7 +2928,7 @@ func (x *ContractListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractListRequest.ProtoReflect.Descriptor instead. func (*ContractListRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{40} + return file_pb_artist_proto_rawDescGZIP(), []int{40} } func (x *ContractListRequest) GetUid() string { @@ -2943,7 +2966,7 @@ type ContractListResponse struct { func (x *ContractListResponse) Reset() { *x = ContractListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[41] + mi := &file_pb_artist_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2956,7 +2979,7 @@ func (x *ContractListResponse) String() string { func (*ContractListResponse) ProtoMessage() {} func (x *ContractListResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[41] + mi := &file_pb_artist_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2969,7 +2992,7 @@ func (x *ContractListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ContractListResponse.ProtoReflect.Descriptor instead. func (*ContractListResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{41} + return file_pb_artist_proto_rawDescGZIP(), []int{41} } func (x *ContractListResponse) GetMsg() string { @@ -3024,7 +3047,7 @@ type ArtistChainUpdateRequest struct { func (x *ArtistChainUpdateRequest) Reset() { *x = ArtistChainUpdateRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[42] + mi := &file_pb_artist_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3037,7 +3060,7 @@ func (x *ArtistChainUpdateRequest) String() string { func (*ArtistChainUpdateRequest) ProtoMessage() {} func (x *ArtistChainUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[42] + mi := &file_pb_artist_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3050,7 +3073,7 @@ func (x *ArtistChainUpdateRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistChainUpdateRequest.ProtoReflect.Descriptor instead. func (*ArtistChainUpdateRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{42} + return file_pb_artist_proto_rawDescGZIP(), []int{42} } func (x *ArtistChainUpdateRequest) GetArtistUuid() string { @@ -3155,7 +3178,7 @@ type ArtistChainUpdateResponse struct { func (x *ArtistChainUpdateResponse) Reset() { *x = ArtistChainUpdateResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[43] + mi := &file_pb_artist_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3168,7 +3191,7 @@ func (x *ArtistChainUpdateResponse) String() string { func (*ArtistChainUpdateResponse) ProtoMessage() {} func (x *ArtistChainUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[43] + mi := &file_pb_artist_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3181,7 +3204,7 @@ func (x *ArtistChainUpdateResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistChainUpdateResponse.ProtoReflect.Descriptor instead. func (*ArtistChainUpdateResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{43} + return file_pb_artist_proto_rawDescGZIP(), []int{43} } func (x *ArtistChainUpdateResponse) GetMsg() string { @@ -3208,7 +3231,7 @@ type ExportArtistRequest struct { func (x *ExportArtistRequest) Reset() { *x = ExportArtistRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[44] + mi := &file_pb_artist_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3221,7 +3244,7 @@ func (x *ExportArtistRequest) String() string { func (*ExportArtistRequest) ProtoMessage() {} func (x *ExportArtistRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[44] + mi := &file_pb_artist_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3234,7 +3257,7 @@ func (x *ExportArtistRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportArtistRequest.ProtoReflect.Descriptor instead. func (*ExportArtistRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{44} + return file_pb_artist_proto_rawDescGZIP(), []int{44} } func (x *ExportArtistRequest) GetKeyword() string { @@ -3293,7 +3316,7 @@ type ExportArtistResponse struct { func (x *ExportArtistResponse) Reset() { *x = ExportArtistResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[45] + mi := &file_pb_artist_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3306,7 +3329,7 @@ func (x *ExportArtistResponse) String() string { func (*ExportArtistResponse) ProtoMessage() {} func (x *ExportArtistResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[45] + mi := &file_pb_artist_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3319,7 +3342,7 @@ func (x *ExportArtistResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportArtistResponse.ProtoReflect.Descriptor instead. func (*ExportArtistResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{45} + return file_pb_artist_proto_rawDescGZIP(), []int{45} } func (x *ExportArtistResponse) GetData() []*ExportArtistResponse_Info { @@ -3362,7 +3385,7 @@ type ExportFieldListRequest struct { func (x *ExportFieldListRequest) Reset() { *x = ExportFieldListRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[46] + mi := &file_pb_artist_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3375,7 +3398,7 @@ func (x *ExportFieldListRequest) String() string { func (*ExportFieldListRequest) ProtoMessage() {} func (x *ExportFieldListRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[46] + mi := &file_pb_artist_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3388,7 +3411,7 @@ func (x *ExportFieldListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportFieldListRequest.ProtoReflect.Descriptor instead. func (*ExportFieldListRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{46} + return file_pb_artist_proto_rawDescGZIP(), []int{46} } func (x *ExportFieldListRequest) GetExportType() int32 { @@ -3410,7 +3433,7 @@ type ExportFieldListResponse struct { func (x *ExportFieldListResponse) Reset() { *x = ExportFieldListResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[47] + mi := &file_pb_artist_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3423,7 +3446,7 @@ func (x *ExportFieldListResponse) String() string { func (*ExportFieldListResponse) ProtoMessage() {} func (x *ExportFieldListResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[47] + mi := &file_pb_artist_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3436,7 +3459,7 @@ func (x *ExportFieldListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportFieldListResponse.ProtoReflect.Descriptor instead. func (*ExportFieldListResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{47} + return file_pb_artist_proto_rawDescGZIP(), []int{47} } func (x *ExportFieldListResponse) GetData() []*ExportFieldListResponse_Info { @@ -3465,7 +3488,7 @@ type GetInfoByUuidsRequest struct { func (x *GetInfoByUuidsRequest) Reset() { *x = GetInfoByUuidsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[48] + mi := &file_pb_artist_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3478,7 +3501,7 @@ func (x *GetInfoByUuidsRequest) String() string { func (*GetInfoByUuidsRequest) ProtoMessage() {} func (x *GetInfoByUuidsRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[48] + mi := &file_pb_artist_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3491,7 +3514,7 @@ func (x *GetInfoByUuidsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInfoByUuidsRequest.ProtoReflect.Descriptor instead. func (*GetInfoByUuidsRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{48} + return file_pb_artist_proto_rawDescGZIP(), []int{48} } func (x *GetInfoByUuidsRequest) GetArtistUuids() []string { @@ -3513,7 +3536,7 @@ type GetInfoByUuidsResponse struct { func (x *GetInfoByUuidsResponse) Reset() { *x = GetInfoByUuidsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[49] + mi := &file_pb_artist_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3526,7 +3549,7 @@ func (x *GetInfoByUuidsResponse) String() string { func (*GetInfoByUuidsResponse) ProtoMessage() {} func (x *GetInfoByUuidsResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[49] + mi := &file_pb_artist_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3539,7 +3562,7 @@ func (x *GetInfoByUuidsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInfoByUuidsResponse.ProtoReflect.Descriptor instead. func (*GetInfoByUuidsResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{49} + return file_pb_artist_proto_rawDescGZIP(), []int{49} } func (x *GetInfoByUuidsResponse) GetData() []*GetInfoByUuidsResponse_Info { @@ -3567,7 +3590,7 @@ type GetCardIdWithImgReq struct { func (x *GetCardIdWithImgReq) Reset() { *x = GetCardIdWithImgReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[50] + mi := &file_pb_artist_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3580,7 +3603,7 @@ func (x *GetCardIdWithImgReq) String() string { func (*GetCardIdWithImgReq) ProtoMessage() {} func (x *GetCardIdWithImgReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[50] + mi := &file_pb_artist_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3593,7 +3616,7 @@ func (x *GetCardIdWithImgReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCardIdWithImgReq.ProtoReflect.Descriptor instead. func (*GetCardIdWithImgReq) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{50} + return file_pb_artist_proto_rawDescGZIP(), []int{50} } func (x *GetCardIdWithImgReq) GetCardFace() string { @@ -3620,7 +3643,7 @@ type GetCardIdWithImgResp struct { func (x *GetCardIdWithImgResp) Reset() { *x = GetCardIdWithImgResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[51] + mi := &file_pb_artist_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3633,7 +3656,7 @@ func (x *GetCardIdWithImgResp) String() string { func (*GetCardIdWithImgResp) ProtoMessage() {} func (x *GetCardIdWithImgResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[51] + mi := &file_pb_artist_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3646,7 +3669,7 @@ func (x *GetCardIdWithImgResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCardIdWithImgResp.ProtoReflect.Descriptor instead. func (*GetCardIdWithImgResp) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{51} + return file_pb_artist_proto_rawDescGZIP(), []int{51} } func (x *GetCardIdWithImgResp) GetPath() string { @@ -3698,6 +3721,112 @@ func (x *GetCardIdWithImgResp) GetMsg() string { return "" } +// DetailRequest +type ArtistDetailDataReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uids []string `protobuf:"bytes,1,rep,name=Uids,json=uids,proto3" json:"Uids,omitempty"` +} + +func (x *ArtistDetailDataReq) Reset() { + *x = ArtistDetailDataReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artist_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistDetailDataReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistDetailDataReq) ProtoMessage() {} + +func (x *ArtistDetailDataReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_artist_proto_msgTypes[52] + 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 ArtistDetailDataReq.ProtoReflect.Descriptor instead. +func (*ArtistDetailDataReq) Descriptor() ([]byte, []int) { + return file_pb_artist_proto_rawDescGZIP(), []int{52} +} + +func (x *ArtistDetailDataReq) GetUids() []string { + if x != nil { + return x.Uids + } + return nil +} + +//DetailRequest +// DetailResponse +type ArtistDetailDataResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ArtistDetailDataResp_Info `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` + Msg string `protobuf:"bytes,2,opt,name=Msg,proto3" json:"Msg,omitempty"` +} + +func (x *ArtistDetailDataResp) Reset() { + *x = ArtistDetailDataResp{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artist_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistDetailDataResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistDetailDataResp) ProtoMessage() {} + +func (x *ArtistDetailDataResp) ProtoReflect() protoreflect.Message { + mi := &file_pb_artist_proto_msgTypes[53] + 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 ArtistDetailDataResp.ProtoReflect.Descriptor instead. +func (*ArtistDetailDataResp) Descriptor() ([]byte, []int) { + return file_pb_artist_proto_rawDescGZIP(), []int{53} +} + +func (x *ArtistDetailDataResp) GetData() []*ArtistDetailDataResp_Info { + if x != nil { + return x.Data + } + return nil +} + +func (x *ArtistDetailDataResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +//DetailResponse type IdcardConvertArtistIdRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3709,7 +3838,7 @@ type IdcardConvertArtistIdRequest struct { func (x *IdcardConvertArtistIdRequest) Reset() { *x = IdcardConvertArtistIdRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[52] + mi := &file_pb_artist_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3722,7 +3851,7 @@ func (x *IdcardConvertArtistIdRequest) String() string { func (*IdcardConvertArtistIdRequest) ProtoMessage() {} func (x *IdcardConvertArtistIdRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[52] + mi := &file_pb_artist_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3735,7 +3864,7 @@ func (x *IdcardConvertArtistIdRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use IdcardConvertArtistIdRequest.ProtoReflect.Descriptor instead. func (*IdcardConvertArtistIdRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{52} + return file_pb_artist_proto_rawDescGZIP(), []int{54} } func (x *IdcardConvertArtistIdRequest) GetIdcard() string { @@ -3757,7 +3886,7 @@ type IdcardConvertArtistIdResponse struct { func (x *IdcardConvertArtistIdResponse) Reset() { *x = IdcardConvertArtistIdResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[53] + mi := &file_pb_artist_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3770,7 +3899,7 @@ func (x *IdcardConvertArtistIdResponse) String() string { func (*IdcardConvertArtistIdResponse) ProtoMessage() {} func (x *IdcardConvertArtistIdResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[53] + mi := &file_pb_artist_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3783,7 +3912,7 @@ func (x *IdcardConvertArtistIdResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use IdcardConvertArtistIdResponse.ProtoReflect.Descriptor instead. func (*IdcardConvertArtistIdResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{53} + return file_pb_artist_proto_rawDescGZIP(), []int{55} } func (x *IdcardConvertArtistIdResponse) GetId() int64 { @@ -3812,7 +3941,7 @@ type CheckCaaCertNumRequest struct { func (x *CheckCaaCertNumRequest) Reset() { *x = CheckCaaCertNumRequest{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[54] + mi := &file_pb_artist_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3825,7 +3954,7 @@ func (x *CheckCaaCertNumRequest) String() string { func (*CheckCaaCertNumRequest) ProtoMessage() {} func (x *CheckCaaCertNumRequest) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[54] + mi := &file_pb_artist_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3838,7 +3967,7 @@ func (x *CheckCaaCertNumRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckCaaCertNumRequest.ProtoReflect.Descriptor instead. func (*CheckCaaCertNumRequest) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{54} + return file_pb_artist_proto_rawDescGZIP(), []int{56} } func (x *CheckCaaCertNumRequest) GetCaaCertNum() string { @@ -3864,7 +3993,7 @@ type CheckCaaCertNumResponse struct { func (x *CheckCaaCertNumResponse) Reset() { *x = CheckCaaCertNumResponse{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[55] + mi := &file_pb_artist_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3877,7 +4006,7 @@ func (x *CheckCaaCertNumResponse) String() string { func (*CheckCaaCertNumResponse) ProtoMessage() {} func (x *CheckCaaCertNumResponse) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[55] + mi := &file_pb_artist_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3890,7 +4019,7 @@ func (x *CheckCaaCertNumResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckCaaCertNumResponse.ProtoReflect.Descriptor instead. func (*CheckCaaCertNumResponse) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{55} + return file_pb_artist_proto_rawDescGZIP(), []int{57} } type ProfileResponse_Data struct { @@ -3904,7 +4033,7 @@ type ProfileResponse_Data struct { func (x *ProfileResponse_Data) Reset() { *x = ProfileResponse_Data{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[56] + mi := &file_pb_artist_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3917,7 +4046,7 @@ func (x *ProfileResponse_Data) String() string { func (*ProfileResponse_Data) ProtoMessage() {} func (x *ProfileResponse_Data) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[56] + mi := &file_pb_artist_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3930,7 +4059,7 @@ func (x *ProfileResponse_Data) ProtoReflect() protoreflect.Message { // Deprecated: Use ProfileResponse_Data.ProtoReflect.Descriptor instead. func (*ProfileResponse_Data) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{3, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{3, 0} } func (x *ProfileResponse_Data) GetUid() string { @@ -3952,7 +4081,7 @@ type MediaRequest_VideosMap struct { func (x *MediaRequest_VideosMap) Reset() { *x = MediaRequest_VideosMap{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[57] + mi := &file_pb_artist_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3965,7 +4094,7 @@ func (x *MediaRequest_VideosMap) String() string { func (*MediaRequest_VideosMap) ProtoMessage() {} func (x *MediaRequest_VideosMap) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[57] + mi := &file_pb_artist_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3978,7 +4107,7 @@ func (x *MediaRequest_VideosMap) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaRequest_VideosMap.ProtoReflect.Descriptor instead. func (*MediaRequest_VideosMap) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{4, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{4, 0} } func (x *MediaRequest_VideosMap) GetCoverUrl() string { @@ -4006,7 +4135,7 @@ type IndexResponse_Data struct { func (x *IndexResponse_Data) Reset() { *x = IndexResponse_Data{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[58] + mi := &file_pb_artist_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4019,7 +4148,7 @@ func (x *IndexResponse_Data) String() string { func (*IndexResponse_Data) ProtoMessage() {} func (x *IndexResponse_Data) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[58] + mi := &file_pb_artist_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4032,7 +4161,7 @@ func (x *IndexResponse_Data) ProtoReflect() protoreflect.Message { // Deprecated: Use IndexResponse_Data.ProtoReflect.Descriptor instead. func (*IndexResponse_Data) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{6, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{6, 0} } func (x *IndexResponse_Data) GetUid() string { @@ -4053,7 +4182,7 @@ type MediaResponse_Data struct { func (x *MediaResponse_Data) Reset() { *x = MediaResponse_Data{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[59] + mi := &file_pb_artist_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4066,7 +4195,7 @@ func (x *MediaResponse_Data) String() string { func (*MediaResponse_Data) ProtoMessage() {} func (x *MediaResponse_Data) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[59] + mi := &file_pb_artist_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4079,7 +4208,7 @@ func (x *MediaResponse_Data) ProtoReflect() protoreflect.Message { // Deprecated: Use MediaResponse_Data.ProtoReflect.Descriptor instead. func (*MediaResponse_Data) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{7, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{7, 0} } func (x *MediaResponse_Data) GetUid() string { @@ -4100,7 +4229,7 @@ type HonorResponse_HonorResData struct { func (x *HonorResponse_HonorResData) Reset() { *x = HonorResponse_HonorResData{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[60] + mi := &file_pb_artist_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4113,7 +4242,7 @@ func (x *HonorResponse_HonorResData) String() string { func (*HonorResponse_HonorResData) ProtoMessage() {} func (x *HonorResponse_HonorResData) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[60] + mi := &file_pb_artist_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4126,7 +4255,7 @@ func (x *HonorResponse_HonorResData) ProtoReflect() protoreflect.Message { // Deprecated: Use HonorResponse_HonorResData.ProtoReflect.Descriptor instead. func (*HonorResponse_HonorResData) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{9, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{9, 0} } func (x *HonorResponse_HonorResData) GetId() int32 { @@ -4148,7 +4277,7 @@ type ArtIdNameResponse_IdKbName struct { func (x *ArtIdNameResponse_IdKbName) Reset() { *x = ArtIdNameResponse_IdKbName{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[61] + mi := &file_pb_artist_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4161,7 +4290,7 @@ func (x *ArtIdNameResponse_IdKbName) String() string { func (*ArtIdNameResponse_IdKbName) ProtoMessage() {} func (x *ArtIdNameResponse_IdKbName) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[61] + mi := &file_pb_artist_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4174,7 +4303,7 @@ func (x *ArtIdNameResponse_IdKbName) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtIdNameResponse_IdKbName.ProtoReflect.Descriptor instead. func (*ArtIdNameResponse_IdKbName) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{22, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{22, 0} } func (x *ArtIdNameResponse_IdKbName) GetUuid() string { @@ -4212,7 +4341,7 @@ type ArtistInfoResponse_ArtistChainField struct { func (x *ArtistInfoResponse_ArtistChainField) Reset() { *x = ArtistInfoResponse_ArtistChainField{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[62] + mi := &file_pb_artist_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4225,7 +4354,7 @@ func (x *ArtistInfoResponse_ArtistChainField) String() string { func (*ArtistInfoResponse_ArtistChainField) ProtoMessage() {} func (x *ArtistInfoResponse_ArtistChainField) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[62] + mi := &file_pb_artist_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4238,7 +4367,7 @@ func (x *ArtistInfoResponse_ArtistChainField) ProtoReflect() protoreflect.Messag // Deprecated: Use ArtistInfoResponse_ArtistChainField.ProtoReflect.Descriptor instead. func (*ArtistInfoResponse_ArtistChainField) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{24, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{24, 0} } func (x *ArtistInfoResponse_ArtistChainField) GetArtistId() int32 { @@ -4330,7 +4459,7 @@ type ArtistDataResponseInfo struct { func (x *ArtistDataResponseInfo) Reset() { *x = ArtistDataResponseInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[63] + mi := &file_pb_artist_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4343,7 +4472,7 @@ func (x *ArtistDataResponseInfo) String() string { func (*ArtistDataResponseInfo) ProtoMessage() {} func (x *ArtistDataResponseInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[63] + mi := &file_pb_artist_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4356,7 +4485,7 @@ func (x *ArtistDataResponseInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use ArtistDataResponseInfo.ProtoReflect.Descriptor instead. func (*ArtistDataResponseInfo) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{26, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{26, 0} } func (x *ArtistDataResponseInfo) GetProfileInfo() *ProfileRequest { @@ -4404,7 +4533,7 @@ type ExportArtistResponse_Info struct { Belong int32 `protobuf:"varint,24,opt,name=Belong,json=belong,proto3" json:"Belong,omitempty"` //归属 Resume string `protobuf:"bytes,25,opt,name=Resume,json=resume,proto3" json:"Resume,omitempty"` Indexs string `protobuf:"bytes,26,opt,name=Indexs,json=index,proto3" json:"Indexs,omitempty"` - // string ChainHash = 27 [json_name = "chain_hash"]; + // string ChainHash = 27 [json_name = "chain_hash"]; RecentPhotoOne string `protobuf:"bytes,28,opt,name=RecentPhotoOne,json=recent_photo_one,proto3" json:"RecentPhotoOne,omitempty"` RecentPhotoTwo string `protobuf:"bytes,29,opt,name=RecentPhotoTwo,json=recent_photo_two,proto3" json:"RecentPhotoTwo,omitempty"` CardFace string `protobuf:"bytes,30,opt,name=CardFace,json=card_face,proto3" json:"CardFace,omitempty"` @@ -4428,7 +4557,7 @@ type ExportArtistResponse_Info struct { func (x *ExportArtistResponse_Info) Reset() { *x = ExportArtistResponse_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[64] + mi := &file_pb_artist_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4441,7 +4570,7 @@ func (x *ExportArtistResponse_Info) String() string { func (*ExportArtistResponse_Info) ProtoMessage() {} func (x *ExportArtistResponse_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[64] + mi := &file_pb_artist_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4454,7 +4583,7 @@ func (x *ExportArtistResponse_Info) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportArtistResponse_Info.ProtoReflect.Descriptor instead. func (*ExportArtistResponse_Info) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{45, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{45, 0} } func (x *ExportArtistResponse_Info) GetUid() string { @@ -4777,7 +4906,7 @@ type ExportFieldListResponse_Info struct { func (x *ExportFieldListResponse_Info) Reset() { *x = ExportFieldListResponse_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[65] + mi := &file_pb_artist_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4790,7 +4919,7 @@ func (x *ExportFieldListResponse_Info) String() string { func (*ExportFieldListResponse_Info) ProtoMessage() {} func (x *ExportFieldListResponse_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[65] + mi := &file_pb_artist_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4803,7 +4932,7 @@ func (x *ExportFieldListResponse_Info) ProtoReflect() protoreflect.Message { // Deprecated: Use ExportFieldListResponse_Info.ProtoReflect.Descriptor instead. func (*ExportFieldListResponse_Info) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{47, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{47, 0} } func (x *ExportFieldListResponse_Info) GetId() int32 { @@ -4834,7 +4963,7 @@ type GetInfoByUuidsResponse_Info struct { func (x *GetInfoByUuidsResponse_Info) Reset() { *x = GetInfoByUuidsResponse_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_artist_artist_proto_msgTypes[66] + mi := &file_pb_artist_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4847,7 +4976,7 @@ func (x *GetInfoByUuidsResponse_Info) String() string { func (*GetInfoByUuidsResponse_Info) ProtoMessage() {} func (x *GetInfoByUuidsResponse_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_artist_artist_proto_msgTypes[66] + mi := &file_pb_artist_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4860,7 +4989,7 @@ func (x *GetInfoByUuidsResponse_Info) ProtoReflect() protoreflect.Message { // Deprecated: Use GetInfoByUuidsResponse_Info.ProtoReflect.Descriptor instead. func (*GetInfoByUuidsResponse_Info) Descriptor() ([]byte, []int) { - return file_pb_artist_artist_proto_rawDescGZIP(), []int{49, 0} + return file_pb_artist_proto_rawDescGZIP(), []int{49, 0} } func (x *GetInfoByUuidsResponse_Info) GetUid() string { @@ -4891,188 +5020,748 @@ func (x *GetInfoByUuidsResponse_Info) GetNum() int32 { return 0 } -var File_pb_artist_artist_proto protoreflect.FileDescriptor +type ArtistDetailDataResp_Info struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -var file_pb_artist_artist_proto_rawDesc = []byte{ - 0x0a, 0x16, 0x70, 0x62, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2f, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x19, 0x70, 0x62, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, - 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + ProfileInfo *ProfileRequest `protobuf:"bytes,1,opt,name=ProfileInfo,json=profile_info,proto3" json:"ProfileInfo,omitempty"` + MediaInfo *MediaRequest `protobuf:"bytes,2,opt,name=MediaInfo,json=media_info,proto3" json:"MediaInfo,omitempty"` + HonorInfo []*HonorRequest `protobuf:"bytes,3,rep,name=HonorInfo,json=honor_info,proto3" json:"HonorInfo,omitempty"` +} + +func (x *ArtistDetailDataResp_Info) Reset() { + *x = ArtistDetailDataResp_Info{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artist_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistDetailDataResp_Info) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistDetailDataResp_Info) ProtoMessage() {} + +func (x *ArtistDetailDataResp_Info) ProtoReflect() protoreflect.Message { + mi := &file_pb_artist_proto_msgTypes[69] + 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 ArtistDetailDataResp_Info.ProtoReflect.Descriptor instead. +func (*ArtistDetailDataResp_Info) Descriptor() ([]byte, []int) { + return file_pb_artist_proto_rawDescGZIP(), []int{53, 0} +} + +func (x *ArtistDetailDataResp_Info) GetProfileInfo() *ProfileRequest { + if x != nil { + return x.ProfileInfo + } + return nil +} + +func (x *ArtistDetailDataResp_Info) GetMediaInfo() *MediaRequest { + if x != nil { + return x.MediaInfo + } + return nil +} + +func (x *ArtistDetailDataResp_Info) GetHonorInfo() []*HonorRequest { + if x != nil { + return x.HonorInfo + } + return nil +} + +var File_pb_artist_proto protoreflect.FileDescriptor + +var file_pb_artist_proto_rawDesc = []byte{ + 0x0a, 0x0f, 0x70, 0x62, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x06, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x70, 0x62, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, + 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69, 0x64, 0x73, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x69, 0x64, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x41, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, + 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0b, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, + 0x6c, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa4, 0x07, 0x0a, 0x0e, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x12, 0x34, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, + 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0xe5, 0x90, 0x8d, 0xe5, + 0xad, 0x97, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x4e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, + 0x5f, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x07, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, + 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0a, 0x43, 0x61, 0x61, + 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, + 0x61, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x23, 0x0a, 0x0c, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x6f, 0x6f, 0x70, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, + 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, + 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x6e, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, + 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, + 0x09, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0b, + 0x43, 0x61, 0x61, 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x63, 0x61, 0x61, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x40, 0x0a, 0x08, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x20, 0x20, 0x01, + 0x28, 0x05, 0x42, 0x23, 0xe2, 0xdf, 0x1f, 0x1f, 0x10, 0x00, 0x2a, 0x1b, 0xe8, 0xaf, 0xb7, 0xe9, + 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe6, 0x98, 0xaf, 0xe5, 0x90, 0xa6, 0xe5, 0x8f, 0x82, 0xe5, 0x8a, + 0xa0, 0xe7, 0x94, 0xbb, 0xe5, 0xb1, 0x95, 0x52, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x73, 0x68, + 0x6f, 0x77, 0x22, 0x78, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x39, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x49, + 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x1a, 0x18, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xe4, 0x03, 0x0a, + 0x0c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, + 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, + 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, + 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, + 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x6e, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x68, + 0x6f, 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, + 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x54, 0x77, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x74, 0x77, + 0x6f, 0x12, 0x1b, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x12, 0x23, + 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6d, 0x67, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x49, + 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, + 0x65, 0x77, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x4c, 0x0a, 0x10, 0x54, 0x68, 0x69, + 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, + 0x4d, 0x61, 0x70, 0x52, 0x12, 0x74, 0x68, 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, + 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x61, 0x61, 0x49, 0x6d, + 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x61, 0x5f, 0x69, 0x6d, 0x67, + 0x1a, 0x41, 0x0a, 0x09, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, + 0x08, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x17, 0x0a, 0x06, 0x4f, 0x72, + 0x69, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x5f, + 0x75, 0x72, 0x6c, 0x22, 0xe6, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, + 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, + 0x03, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x65, 0x64, 0x75, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x72, 0x6f, + 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x73, 0x6d, 0x22, 0x74, 0x0a, 0x0d, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x37, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x18, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x69, 0x64, 0x22, 0x74, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x37, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x18, + 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x91, 0x01, 0x0a, 0x0c, 0x48, 0x6f, 0x6e, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x03, 0x55, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, + 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, + 0xa9, 0xba, 0x58, 0x01, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x48, 0x6f, + 0x6e, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x68, + 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x48, 0x6f, 0x6e, + 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x0d, + 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, + 0x3a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, + 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x1e, 0x0a, 0x0c, 0x48, + 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x52, 0x0a, 0x12, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1b, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, + 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x22, + 0x3b, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3f, 0x0a, 0x0d, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, + 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, + 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, + 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xc7, 0x01, + 0x0a, 0x0e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x39, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x09, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, + 0x12, 0x33, 0x0a, 0x09, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x68, 0x6f, 0x6e, 0x6f, 0x72, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x3c, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, + 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x1f, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x23, 0x0a, 0x0f, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, + 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x24, 0x0a, 0x10, 0x48, + 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0xab, 0x05, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x4e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, + 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, + 0x5f, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x07, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, + 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, + 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0a, 0x43, 0x61, 0x61, + 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, + 0x61, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, + 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, + 0x75, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x23, 0x0a, 0x0c, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x18, 0x15, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, + 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x6f, 0x6f, 0x70, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, + 0x06, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, + 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, + 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x6e, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, + 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, 0x22, + 0x5a, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x11, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x22, 0x2d, 0x0a, 0x19, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x72, + 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x93, + 0x01, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, + 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, + 0x64, 0x4b, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x10, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x1a, 0x32, 0x0a, 0x08, 0x49, 0x64, 0x4b, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x43, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x55, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, + 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, + 0xa9, 0xba, 0x58, 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x9e, 0x05, 0x0a, 0x12, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x39, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x0c, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x57, + 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x52, 0x11, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0xae, 0x03, 0x0a, 0x10, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, + 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x57, 0x74, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x77, 0x74, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x26, 0x0a, 0x0e, 0x42, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x2c, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, + 0x74, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, + 0x11, 0x42, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, + 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, + 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, + 0x32, 0x0a, 0x14, 0x42, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, + 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, + 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, + 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x44, 0x0a, 0x11, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2f, 0x0a, 0x04, 0x55, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1c, 0xe2, + 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, + 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x22, 0xd1, 0x01, 0x0a, 0x12, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, + 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0x74, + 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, + 0x6f, 0x12, 0x31, 0x0a, 0x0c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x22, 0xcd, 0x02, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, + 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, + 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, + 0x12, 0xe5, 0x9c, 0xb0, 0xe5, 0x9d, 0x80, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, + 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4c, + 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe2, 0xdf, 0x1f, 0x1f, 0x2a, 0x1b, 0xe9, 0x82, + 0x80, 0xe8, 0xaf, 0xb7, 0xe5, 0x87, 0xbd, 0xe4, 0xb8, 0xbb, 0xe9, 0xa2, 0x98, 0xe4, 0xb8, 0x8d, + 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x76, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x3d, 0x0a, 0x08, + 0x53, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, + 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, 0x94, 0xbb, 0xe5, 0xb1, 0x95, 0xe4, 0xb8, 0xbb, 0xe9, + 0xa2, 0x98, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, + 0x52, 0x09, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x53, + 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, + 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0xe6, 0x97, 0xb6, 0xe9, 0x97, 0xb4, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, + 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x77, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, + 0x9a, 0x03, 0x0a, 0x17, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x55, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, + 0x0c, 0xe6, 0xa0, 0x87, 0xe8, 0xaf, 0x86, 0xe9, 0x94, 0x99, 0xe8, 0xaf, 0xaf, 0x58, 0x01, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, + 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, + 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, + 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x34, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0xe5, 0x9c, 0xb0, 0xe5, 0x9d, 0x80, 0xe4, 0xb8, + 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe2, + 0xdf, 0x1f, 0x1f, 0x2a, 0x1b, 0xe9, 0x82, 0x80, 0xe8, 0xaf, 0xb7, 0xe5, 0x87, 0xbd, 0xe4, 0xb8, + 0xbb, 0xe9, 0xa2, 0x98, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, + 0x58, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x12, 0x3d, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x73, 0x63, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, 0x94, 0xbb, + 0xe5, 0xb1, 0x95, 0xe4, 0xb8, 0xbb, 0xe9, 0xa2, 0x98, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, + 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0xe6, 0x97, 0xb6, 0xe9, + 0x97, 0xb4, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, + 0x52, 0x09, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x18, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x14, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x29, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, + 0x67, 0x22, 0x51, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, + 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, + 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, + 0x75, 0x75, 0x69, 0x64, 0x22, 0x5f, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, + 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x44, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, + 0x0a, 0x04, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, + 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe6, 0x95, 0xb0, + 0xe6, 0x8d, 0xae, 0x58, 0x01, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x5f, 0x0a, 0x16, 0x49, + 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9c, 0x05, 0x0a, + 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x13, 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x53, 0x61, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x17, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, + 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x34, 0x0a, 0x13, 0x43, + 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x61, 0x6c, 0x65, 0x49, + 0x6d, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6d, + 0x67, 0x12, 0x34, 0x0a, 0x13, 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x70, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, + 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x6c, + 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2b, 0x0a, 0x0f, 0x43, 0x74, 0x4f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, + 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2d, 0x0a, 0x10, 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x53, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, + 0x6f, 0x70, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, + 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x43, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, + 0x61, 0x6c, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x74, + 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6d, + 0x67, 0x12, 0x36, 0x0a, 0x14, 0x43, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x61, + 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x18, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x36, 0x0a, 0x14, 0x43, 0x74, 0x4f, + 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x53, 0x61, 0x6c, 0x65, 0x49, 0x6d, + 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, + 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6d, + 0x67, 0x12, 0x36, 0x0a, 0x14, 0x43, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, + 0x70, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x18, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2f, 0x0a, 0x11, 0x43, 0x74, 0x4f, + 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, + 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x43, 0x74, + 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, + 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x27, 0x0a, 0x13, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, + 0x22, 0x71, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, + 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, 0x52, 0x03, 0x75, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x04, 0x0a, 0x18, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, + 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, + 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x17, 0x0a, 0x06, 0x57, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x77, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x78, 0x48, 0x61, + 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x78, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x61, 0x69, 0x64, 0x75, 0x48, 0x61, 0x73, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x69, 0x64, 0x75, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x61, 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, + 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x42, 0x61, 0x69, 0x64, + 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, + 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x69, 0x64, 0x75, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, + 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, + 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, + 0x12, 0x32, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, + 0x72, 0x74, 0x4f, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, + 0x73, 0x75, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0e, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, + 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6e, + 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, + 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x09, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x2d, 0x0a, 0x19, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xda, 0x01, 0x0a, 0x13, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x75, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x69, 0x64, - 0x73, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, - 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x22, 0xa4, 0x07, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, - 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0xe5, 0x90, 0x8d, 0xe5, 0xad, 0x97, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, - 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, - 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, - 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x42, 0x61, 0x6e, - 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, - 0x54, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, - 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, - 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0a, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, - 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x65, - 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, - 0x63, 0x68, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x53, 0x74, 0x79, 0x6c, - 0x65, 0x46, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, - 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, - 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x6e, 0x65, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, - 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, - 0x12, 0x15, 0x0a, 0x06, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x48, 0x61, 0x73, 0x68, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x67, 0x65, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x67, 0x65, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0b, 0x43, 0x61, 0x61, 0x4a, 0x6f, 0x69, 0x6e, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x61, 0x5f, - 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x4a, 0x6f, 0x69, - 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x18, 0x20, 0x20, 0x01, 0x28, 0x05, 0x42, 0x23, 0xe2, 0xdf, 0x1f, - 0x1f, 0x10, 0x00, 0x2a, 0x1b, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe6, 0x98, - 0xaf, 0xe5, 0x90, 0xa6, 0xe5, 0x8f, 0x82, 0xe5, 0x8a, 0xa0, 0xe7, 0x94, 0xbb, 0xe5, 0xb1, 0x95, - 0x52, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x22, 0x78, 0x0a, 0x0f, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, - 0x12, 0x39, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, - 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x18, 0x0a, 0x04, 0x44, - 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xe4, 0x03, 0x0a, 0x0c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, - 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, - 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, - 0x12, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x54, - 0x77, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, - 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x74, 0x77, 0x6f, 0x12, 0x1b, 0x0a, 0x08, 0x43, 0x61, - 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, - 0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x4e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, - 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x07, - 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6d, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x49, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x76, 0x69, 0x65, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x4d, 0x61, 0x70, - 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x76, 0x69, 0x64, 0x65, - 0x6f, 0x73, 0x12, 0x4c, 0x0a, 0x10, 0x54, 0x68, 0x69, 0x72, 0x64, 0x50, 0x61, 0x72, 0x74, 0x79, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x52, 0x12, 0x74, 0x68, - 0x69, 0x72, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x79, 0x5f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x73, - 0x12, 0x17, 0x0a, 0x06, 0x43, 0x61, 0x61, 0x49, 0x6d, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x63, 0x61, 0x61, 0x5f, 0x69, 0x6d, 0x67, 0x1a, 0x41, 0x0a, 0x09, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x08, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x55, - 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x5f, - 0x75, 0x72, 0x6c, 0x12, 0x17, 0x0a, 0x06, 0x4f, 0x72, 0x69, 0x55, 0x72, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0xe6, 0x01, 0x0a, - 0x0c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, - 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, - 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, - 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x52, 0x0a, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x45, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x02, 0x52, 0x09, 0x65, 0x64, 0x75, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, - 0x09, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, - 0x52, 0x09, 0x69, 0x6e, 0x66, 0x6c, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x50, - 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x73, 0x6d, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x66, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x69, 0x73, 0x6d, 0x22, 0x74, 0x0a, 0x0d, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x37, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x1a, 0x18, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x74, 0x0a, 0x0d, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x37, - 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x1a, 0x18, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, + 0x08, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, + 0xe5, 0xad, 0x97, 0xe6, 0xae, 0xb5, 0x58, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, + 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x73, 0x22, 0xdc, 0x0b, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x35, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0xb8, 0x0a, 0x0a, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x50, 0x65, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x41, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, + 0x21, 0x0a, 0x0b, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, + 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x17, + 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x12, + 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x73, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x6e, 0x75, 0x6d, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x4e, + 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x20, 0x0a, + 0x0a, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x63, 0x61, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x12, + 0x14, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x5f, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x6f, + 0x6f, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, + 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, + 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x17, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, + 0x75, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6d, + 0x65, 0x12, 0x15, 0x0a, 0x06, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x6e, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x6f, + 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x68, 0x6f, 0x74, + 0x6f, 0x54, 0x77, 0x6f, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, + 0x6e, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x74, 0x77, 0x6f, 0x12, 0x1b, 0x0a, 0x08, + 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x61, 0x72, + 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x19, + 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6d, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x06, 0x57, 0x74, + 0x48, 0x61, 0x73, 0x68, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x23, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x09, + 0x42, 0x61, 0x69, 0x64, 0x75, 0x48, 0x61, 0x73, 0x68, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x62, 0x61, 0x69, 0x64, 0x75, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x42, + 0x61, 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x25, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, + 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x42, 0x61, 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, + 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, + 0x65, 0x72, 0x74, 0x4f, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, + 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, + 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x55, + 0x72, 0x6c, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x73, 0x73, + 0x55, 0x72, 0x6c, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, + 0x27, 0x0a, 0x0e, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x50, 0x68, 0x72, 0x61, 0x73, + 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, + 0x63, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x48, 0x61, 0x73, 0x68, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x22, 0x5c, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x42, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x21, 0xe2, 0xdf, 0x1f, 0x1d, 0x10, 0x00, 0x2a, 0x19, 0xe5, 0xaf, + 0xbc, 0xe5, 0x87, 0xba, 0xe7, 0xb1, 0xbb, 0xe5, 0x9e, 0x8b, 0xe5, 0xbf, 0x85, 0xe9, 0xa1, 0xbb, + 0xe5, 0xa4, 0xa7, 0xe4, 0xba, 0x8e, 0x30, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x38, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0x37, 0x0a, 0x04, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, + 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x22, 0x3a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, + 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, + 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, + 0x75, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, + 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0x56, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, - 0x64, 0x22, 0x91, 0x01, 0x0a, 0x0c, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, - 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x04, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x64, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x0d, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3a, 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x1a, 0x1e, 0x0a, 0x0c, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x69, 0x64, 0x22, 0x52, 0x0a, 0x12, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, - 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x08, 0x46, 0x69, - 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x42, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x22, 0x3b, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, - 0x67, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x3f, 0x0a, 0x0d, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, - 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, - 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x50, 0x72, 0x6f, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x6e, 0x75, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, + 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, + 0x57, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, + 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x12, 0x40, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe2, 0xdf, 0x1f, 0x1f, 0x2a, 0x1b, + 0xe8, 0xba, 0xab, 0xe4, 0xbb, 0xbd, 0xe8, 0xaf, 0x81, 0xe7, 0x85, 0xa7, 0xe7, 0x89, 0x87, 0xe4, + 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x09, 0x63, + 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, + 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, + 0x64, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x41, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, + 0x78, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x4d, 0x73, 0x67, 0x22, 0x29, 0x0a, 0x13, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x69, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, 0x69, 0x64, 0x73, 0x22, 0x8d, + 0x02, 0x0a, 0x14, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x12, 0x35, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, + 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, + 0x1a, 0xab, 0x01, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x39, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, @@ -5082,651 +5771,184 @@ var file_pb_artist_artist_proto_rawDesc = []byte{ 0x65, 0x64, 0x69, 0x61, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x09, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x52, 0x0a, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x10, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, - 0x22, 0x3c, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, - 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, - 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, - 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x1f, - 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, - 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, - 0x23, 0x0a, 0x0f, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, - 0x03, 0x69, 0x64, 0x73, 0x22, 0x24, 0x0a, 0x10, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xab, 0x05, 0x0a, 0x0a, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x19, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x70, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x47, 0x65, - 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x03, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, - 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x08, - 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x42, 0x61, 0x6e, - 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, - 0x54, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, - 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, - 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0a, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, - 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x65, - 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x65, 0x61, - 0x63, 0x68, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x53, 0x74, 0x79, 0x6c, - 0x65, 0x46, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, - 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6f, 0x70, 0x5f, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, 0x6c, 0x6f, 0x6e, 0x67, - 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, - 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x4f, 0x6e, 0x65, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, - 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, 0x22, 0x5a, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x11, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x22, 0x2d, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0x12, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x93, 0x01, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x49, - 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, - 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x64, 0x4b, 0x62, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0x32, 0x0a, 0x08, 0x49, 0x64, 0x4b, - 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x43, 0x0a, - 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, - 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x03, 0x75, - 0x69, 0x64, 0x22, 0x9e, 0x05, 0x0a, 0x12, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x0c, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x57, 0x0a, 0x0f, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x11, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, - 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, - 0x73, 0x67, 0x1a, 0xae, 0x03, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1d, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x57, 0x74, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x77, 0x74, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x61, 0x69, 0x64, - 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, - 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, - 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x42, 0x61, 0x69, 0x64, 0x75, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, - 0x74, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, - 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x69, 0x64, - 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x22, 0x44, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x55, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1c, 0xe2, 0xdf, 0x1f, 0x18, 0x2a, 0x14, 0xe7, 0x94, - 0xbb, 0xe5, 0xae, 0xb6, 0x49, 0x64, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, - 0xa9, 0xba, 0x58, 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0xd1, 0x01, 0x0a, 0x12, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x33, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x69, 0x6e, 0x66, 0x6f, 0x52, - 0x04, 0x44, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0x74, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, - 0x39, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x31, 0x0a, 0x0c, 0x4d, 0x65, - 0x64, 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x05, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x22, 0xcd, 0x02, - 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, - 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, - 0xae, 0xb6, 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, - 0x64, 0x12, 0x34, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0xe5, 0x9c, 0xb0, 0xe5, 0x9d, 0x80, - 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x23, 0xe2, 0xdf, 0x1f, 0x1f, 0x2a, 0x1b, 0xe9, 0x82, 0x80, 0xe8, 0xaf, 0xb7, 0xe5, 0x87, 0xbd, - 0xe4, 0xb8, 0xbb, 0xe9, 0xa2, 0x98, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, - 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x3d, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x73, - 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, - 0x94, 0xbb, 0xe5, 0xb1, 0x95, 0xe4, 0xb8, 0xbb, 0xe9, 0xa2, 0x98, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, - 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x77, 0x5f, - 0x64, 0x65, 0x73, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x53, 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0xe6, 0x97, - 0xb6, 0xe9, 0x97, 0xb4, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, - 0x58, 0x01, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x29, 0x0a, - 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9a, 0x03, 0x0a, 0x17, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe6, 0xa0, 0x87, 0xe8, 0xaf, 0x86, - 0xe9, 0x94, 0x99, 0xe8, 0xaf, 0xaf, 0x58, 0x01, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x38, - 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, - 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, 0xdf, 0x1f, 0x16, 0x2a, - 0x12, 0xe5, 0x9c, 0xb0, 0xe5, 0x9d, 0x80, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, - 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4c, - 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x63, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xe2, 0xdf, 0x1f, 0x1f, 0x2a, 0x1b, 0xe9, 0x82, - 0x80, 0xe8, 0xaf, 0xb7, 0xe5, 0x87, 0xbd, 0xe4, 0xb8, 0xbb, 0xe9, 0xa2, 0x98, 0xe4, 0xb8, 0x8d, - 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x3d, 0x0a, 0x08, - 0x53, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x73, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, - 0xe2, 0xdf, 0x1f, 0x1c, 0x2a, 0x18, 0xe7, 0x94, 0xbb, 0xe5, 0xb1, 0x95, 0xe4, 0xb8, 0xbb, 0xe9, - 0xa2, 0x98, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, - 0x52, 0x09, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x37, 0x0a, 0x08, 0x53, - 0x68, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xe2, - 0xdf, 0x1f, 0x16, 0x2a, 0x12, 0xe6, 0x97, 0xb6, 0xe9, 0x97, 0xb4, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, - 0xbd, 0xe4, 0xb8, 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x09, 0x73, 0x68, 0x6f, 0x77, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x18, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, 0x14, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x55, - 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, - 0x29, 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x51, 0x0a, 0x15, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, - 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, - 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x5f, 0x0a, - 0x16, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, - 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x44, - 0x0a, 0x15, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x55, 0x75, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, - 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe6, 0x95, 0xb0, 0xe6, 0x8d, 0xae, 0x58, 0x01, 0x52, 0x04, - 0x75, 0x75, 0x69, 0x64, 0x22, 0x5f, 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, - 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x69, - 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x9c, 0x05, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x0e, - 0x0a, 0x02, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x34, - 0x0a, 0x13, 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x63, 0x74, 0x5f, - 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, - 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x34, 0x0a, 0x13, 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x43, 0x6f, 0x70, 0x79, 0x53, 0x61, 0x6c, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x17, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, - 0x79, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x34, 0x0a, 0x13, 0x43, 0x74, - 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6d, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x67, - 0x12, 0x2b, 0x0a, 0x0f, 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x61, 0x6c, 0x65, - 0x49, 0x6d, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x74, 0x5f, 0x6f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x2d, 0x0a, - 0x10, 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x10, - 0x43, 0x74, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x54, 0x69, 0x6d, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x74, 0x5f, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x43, - 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x49, 0x6d, 0x67, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, - 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x36, 0x0a, 0x14, 0x43, 0x74, - 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x61, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x6d, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, - 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, - 0x6d, 0x67, 0x12, 0x36, 0x0a, 0x14, 0x43, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x43, - 0x6f, 0x70, 0x79, 0x53, 0x61, 0x6c, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x18, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, - 0x79, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x69, 0x6d, 0x67, 0x12, 0x36, 0x0a, 0x14, 0x43, 0x74, - 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x70, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x6d, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, - 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, - 0x6d, 0x67, 0x12, 0x2f, 0x0a, 0x11, 0x43, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x53, - 0x61, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, - 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x61, 0x6c, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x11, 0x43, 0x74, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, - 0x43, 0x6f, 0x70, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, - 0x63, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x70, 0x79, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x22, 0x27, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, - 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2a, 0x0a, - 0x16, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x71, 0x0a, 0x13, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x29, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, - 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe7, 0x94, - 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x82, 0x01, 0x0a, - 0x14, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, - 0x61, 0x22, 0xa0, 0x04, 0x0a, 0x18, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, - 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, - 0xe6, 0x8b, 0xa9, 0xe7, 0x94, 0xbb, 0xe5, 0xae, 0xb6, 0x58, 0x01, 0x52, 0x0b, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x06, 0x57, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x74, 0x5f, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x61, - 0x69, 0x64, 0x75, 0x48, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, - 0x61, 0x69, 0x64, 0x75, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x61, 0x69, - 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, - 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x42, 0x61, 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, - 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x61, - 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, - 0x32, 0x0a, 0x14, 0x42, 0x61, 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, - 0x74, 0x4f, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, - 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, - 0x75, 0x72, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x43, 0x68, 0x61, - 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x73, 0x73, 0x55, 0x72, - 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, 0x27, 0x0a, - 0x0e, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x5f, - 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x4b, 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, - 0x73, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x22, 0x2d, 0x0a, 0x19, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6d, 0x73, 0x67, 0x22, 0xda, 0x01, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x4b, - 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, - 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xe2, 0xdf, 0x1f, 0x13, 0x2a, 0x0f, - 0xe8, 0xaf, 0xb7, 0xe9, 0x80, 0x89, 0xe6, 0x8b, 0xa9, 0xe5, 0xad, 0x97, 0xe6, 0xae, 0xb5, 0x58, - 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, - 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x73, - 0x22, 0xdc, 0x0b, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x1f, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6d, 0x73, 0x67, 0x1a, 0xb8, 0x0a, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, - 0x03, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x50, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x65, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, - 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x4e, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x50, - 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a, 0x06, 0x43, 0x61, 0x72, 0x64, 0x49, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, - 0x12, 0x1b, 0x0a, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x07, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, 0x71, 0x6e, - 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, 0x6e, 0x75, 0x6d, - 0x12, 0x12, 0x0a, 0x04, 0x54, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0a, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, - 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x61, 0x5f, - 0x63, 0x65, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x54, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x74, 0x65, 0x61, 0x63, 0x68, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x74, 0x75, 0x64, - 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x74, 0x75, 0x64, 0x65, - 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0c, - 0x53, 0x74, 0x79, 0x6c, 0x65, 0x46, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x63, 0x68, 0x6f, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x6f, 0x6f, 0x70, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6f, - 0x70, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x42, 0x65, - 0x6c, 0x6f, 0x6e, 0x67, 0x18, 0x18, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62, 0x65, 0x6c, 0x6f, - 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x28, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, - 0x4f, 0x6e, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, - 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, 0x12, 0x28, 0x0a, 0x0e, 0x52, - 0x65, 0x63, 0x65, 0x6e, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x54, 0x77, 0x6f, 0x18, 0x1d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x68, 0x6f, 0x74, - 0x6f, 0x5f, 0x74, 0x77, 0x6f, 0x12, 0x1b, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, - 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, - 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x43, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x49, - 0x6d, 0x67, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x69, - 0x6d, 0x67, 0x12, 0x1f, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x75, 0x69, 0x64, - 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, - 0x75, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x06, 0x57, 0x74, 0x48, 0x61, 0x73, 0x68, 0x18, 0x22, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x06, - 0x43, 0x78, 0x48, 0x61, 0x73, 0x68, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x78, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x09, 0x42, 0x61, 0x69, 0x64, 0x75, 0x48, 0x61, - 0x73, 0x68, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x61, 0x69, 0x64, 0x75, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x42, 0x61, 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x61, - 0x69, 0x64, 0x75, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, - 0x42, 0x61, 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, - 0x6c, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x42, 0x61, - 0x69, 0x64, 0x75, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x73, 0x73, 0x55, - 0x72, 0x6c, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x62, 0x61, 0x69, 0x64, 0x75, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, 0x26, - 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, - 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x68, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x11, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x29, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, 0x72, - 0x74, 0x75, 0x72, 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x43, 0x65, 0x72, 0x74, 0x4f, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x2a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x63, 0x65, - 0x72, 0x74, 0x6f, 0x73, 0x73, 0x75, 0x72, 0x6c, 0x12, 0x27, 0x0a, 0x0e, 0x4d, 0x6e, 0x65, 0x6d, - 0x6f, 0x6e, 0x69, 0x63, 0x50, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x5f, 0x70, 0x68, 0x72, 0x61, 0x73, - 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x2c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, - 0x12, 0x1d, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x2d, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x22, - 0x5c, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x21, 0xe2, - 0xdf, 0x1f, 0x1d, 0x10, 0x00, 0x2a, 0x19, 0xe5, 0xaf, 0xbc, 0xe5, 0x87, 0xba, 0xe7, 0xb1, 0xbb, - 0xe5, 0x9e, 0x8b, 0xe5, 0xbf, 0x85, 0xe9, 0xa1, 0xbb, 0xe5, 0xa4, 0xa7, 0xe4, 0xba, 0x8e, 0x30, - 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x9e, 0x01, - 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6d, 0x73, 0x67, 0x1a, 0x37, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, - 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, - 0x0a, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x22, 0x3a, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x75, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x16, 0x47, - 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, - 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, - 0x1a, 0x56, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x65, - 0x71, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x65, 0x71, 0x6e, - 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x57, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, - 0x61, 0x72, 0x64, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x12, - 0x40, 0x0a, 0x08, 0x43, 0x61, 0x72, 0x64, 0x46, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x23, 0xe2, 0xdf, 0x1f, 0x1f, 0x2a, 0x1b, 0xe8, 0xba, 0xab, 0xe4, 0xbb, 0xbd, 0xe8, - 0xaf, 0x81, 0xe7, 0x85, 0xa7, 0xe7, 0x89, 0x87, 0xe4, 0xb8, 0x8d, 0xe8, 0x83, 0xbd, 0xe4, 0xb8, - 0xba, 0xe7, 0xa9, 0xba, 0x58, 0x01, 0x52, 0x09, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, 0x63, - 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x57, - 0x69, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, - 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x41, 0x67, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x41, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x4d, 0x73, - 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x4d, 0x73, 0x67, 0x22, 0x36, 0x0a, 0x1c, - 0x49, 0x64, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, - 0x63, 0x61, 0x72, 0x64, 0x22, 0x41, 0x0a, 0x1d, 0x49, 0x64, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x54, 0x0a, 0x16, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, - 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x19, 0x0a, - 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xad, 0x11, 0x0a, 0x06, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, - 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, - 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x12, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, + 0x73, 0x74, 0x52, 0x0a, 0x68, 0x6f, 0x6e, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x36, + 0x0a, 0x1c, 0x49, 0x64, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x22, 0x41, 0x0a, 0x1d, 0x49, 0x64, 0x63, 0x61, 0x72, 0x64, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x22, 0x54, 0x0a, 0x16, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, + 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x19, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, + 0x75, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xfe, 0x11, 0x0a, 0x06, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x42, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, + 0x64, 0x69, 0x61, 0x12, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x12, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x3c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, - 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x12, 0x14, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, - 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0b, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x1a, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x15, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x12, 0x12, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x44, 0x65, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x3f, 0x0a, 0x08, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x12, 0x17, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, - 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5a, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x3c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x12, + 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, + 0x6f, 0x6e, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, + 0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x12, 0x1a, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x15, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x44, 0x65, 0x6c, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x12, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, + 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x12, 0x17, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, + 0x48, 0x6f, 0x6e, 0x6f, 0x72, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, - 0x41, 0x72, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x4e, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, - 0x64, 0x64, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x57, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, - 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0d, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x12, 0x1c, 0x2e, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, + 0x0a, 0x0c, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x2e, 0x41, 0x72, 0x74, 0x49, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0a, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x19, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0d, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x64, 0x64, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0d, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, 0x12, 0x1c, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x49, 0x6e, - 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, - 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x48, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x12, - 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0e, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x51, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, + 0x64, 0x12, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, + 0x64, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0e, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1a, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, + 0x41, 0x64, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x11, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x54, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, - 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x47, 0x65, 0x74, - 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x12, 0x1b, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, - 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x57, 0x69, 0x74, - 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x15, 0x49, 0x64, - 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x49, 0x64, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x64, 0x63, - 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x2e, 0x49, 0x64, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x61, 0x43, 0x65, - 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x3b, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x55, 0x75, 0x69, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x12, + 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x64, 0x49, 0x64, 0x57, + 0x69, 0x74, 0x68, 0x49, 0x6d, 0x67, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x15, + 0x49, 0x64, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, + 0x64, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x2e, 0x49, 0x64, 0x63, 0x61, 0x72, 0x64, 0x43, 0x6f, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x61, + 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x43, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x11, 0x5a, 0x0f, 0x2e, + 0x2f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( - file_pb_artist_artist_proto_rawDescOnce sync.Once - file_pb_artist_artist_proto_rawDescData = file_pb_artist_artist_proto_rawDesc + file_pb_artist_proto_rawDescOnce sync.Once + file_pb_artist_proto_rawDescData = file_pb_artist_proto_rawDesc ) -func file_pb_artist_artist_proto_rawDescGZIP() []byte { - file_pb_artist_artist_proto_rawDescOnce.Do(func() { - file_pb_artist_artist_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_artist_artist_proto_rawDescData) +func file_pb_artist_proto_rawDescGZIP() []byte { + file_pb_artist_proto_rawDescOnce.Do(func() { + file_pb_artist_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_artist_proto_rawDescData) }) - return file_pb_artist_artist_proto_rawDescData + return file_pb_artist_proto_rawDescData } -var file_pb_artist_artist_proto_msgTypes = make([]protoimpl.MessageInfo, 67) -var file_pb_artist_artist_proto_goTypes = []interface{}{ +var file_pb_artist_proto_msgTypes = make([]protoimpl.MessageInfo, 70) +var file_pb_artist_proto_goTypes = []interface{}{ (*ArtistListRequest)(nil), // 0: artist.ArtistListRequest (*ArtistListResponse)(nil), // 1: artist.ArtistListResponse (*ProfileRequest)(nil), // 2: artist.ProfileRequest @@ -5779,119 +6001,128 @@ var file_pb_artist_artist_proto_goTypes = []interface{}{ (*GetInfoByUuidsResponse)(nil), // 49: artist.GetInfoByUuidsResponse (*GetCardIdWithImgReq)(nil), // 50: artist.GetCardIdWithImgReq (*GetCardIdWithImgResp)(nil), // 51: artist.GetCardIdWithImgResp - (*IdcardConvertArtistIdRequest)(nil), // 52: artist.IdcardConvertArtistIdRequest - (*IdcardConvertArtistIdResponse)(nil), // 53: artist.IdcardConvertArtistIdResponse - (*CheckCaaCertNumRequest)(nil), // 54: artist.CheckCaaCertNumRequest - (*CheckCaaCertNumResponse)(nil), // 55: artist.CheckCaaCertNumResponse - (*ProfileResponse_Data)(nil), // 56: artist.ProfileResponse.Data - (*MediaRequest_VideosMap)(nil), // 57: artist.MediaRequest.VideosMap - (*IndexResponse_Data)(nil), // 58: artist.IndexResponse.Data - (*MediaResponse_Data)(nil), // 59: artist.MediaResponse.Data - (*HonorResponse_HonorResData)(nil), // 60: artist.HonorResponse.HonorResData - (*ArtIdNameResponse_IdKbName)(nil), // 61: artist.ArtIdNameResponse.IdKbName - (*ArtistInfoResponse_ArtistChainField)(nil), // 62: artist.ArtistInfoResponse.ArtistChainField - (*ArtistDataResponseInfo)(nil), // 63: artist.ArtistDataResponse.info - (*ExportArtistResponse_Info)(nil), // 64: artist.ExportArtistResponse.Info - (*ExportFieldListResponse_Info)(nil), // 65: artist.ExportFieldListResponse.Info - (*GetInfoByUuidsResponse_Info)(nil), // 66: artist.GetInfoByUuidsResponse.Info + (*ArtistDetailDataReq)(nil), // 52: artist.ArtistDetailDataReq + (*ArtistDetailDataResp)(nil), // 53: artist.ArtistDetailDataResp + (*IdcardConvertArtistIdRequest)(nil), // 54: artist.IdcardConvertArtistIdRequest + (*IdcardConvertArtistIdResponse)(nil), // 55: artist.IdcardConvertArtistIdResponse + (*CheckCaaCertNumRequest)(nil), // 56: artist.CheckCaaCertNumRequest + (*CheckCaaCertNumResponse)(nil), // 57: artist.CheckCaaCertNumResponse + (*ProfileResponse_Data)(nil), // 58: artist.ProfileResponse.Data + (*MediaRequest_VideosMap)(nil), // 59: artist.MediaRequest.VideosMap + (*IndexResponse_Data)(nil), // 60: artist.IndexResponse.Data + (*MediaResponse_Data)(nil), // 61: artist.MediaResponse.Data + (*HonorResponse_HonorResData)(nil), // 62: artist.HonorResponse.HonorResData + (*ArtIdNameResponse_IdKbName)(nil), // 63: artist.ArtIdNameResponse.IdKbName + (*ArtistInfoResponse_ArtistChainField)(nil), // 64: artist.ArtistInfoResponse.ArtistChainField + (*ArtistDataResponseInfo)(nil), // 65: artist.ArtistDataResponse.info + (*ExportArtistResponse_Info)(nil), // 66: artist.ExportArtistResponse.Info + (*ExportFieldListResponse_Info)(nil), // 67: artist.ExportFieldListResponse.Info + (*GetInfoByUuidsResponse_Info)(nil), // 68: artist.GetInfoByUuidsResponse.Info + (*ArtistDetailDataResp_Info)(nil), // 69: artist.ArtistDetailDataResp.Info } -var file_pb_artist_artist_proto_depIdxs = []int32{ +var file_pb_artist_proto_depIdxs = []int32{ 2, // 0: artist.ArtistListResponse.Data:type_name -> artist.ProfileRequest - 56, // 1: artist.ProfileResponse.DataInfo:type_name -> artist.ProfileResponse.Data - 57, // 2: artist.MediaRequest.InterviewVideos:type_name -> artist.MediaRequest.VideosMap - 57, // 3: artist.MediaRequest.ThirdPartyVideos:type_name -> artist.MediaRequest.VideosMap - 58, // 4: artist.IndexResponse.DataInfo:type_name -> artist.IndexResponse.Data - 59, // 5: artist.MediaResponse.DataInfo:type_name -> artist.MediaResponse.Data - 60, // 6: artist.HonorResponse.DataInfo:type_name -> artist.HonorResponse.HonorResData + 58, // 1: artist.ProfileResponse.DataInfo:type_name -> artist.ProfileResponse.Data + 59, // 2: artist.MediaRequest.InterviewVideos:type_name -> artist.MediaRequest.VideosMap + 59, // 3: artist.MediaRequest.ThirdPartyVideos:type_name -> artist.MediaRequest.VideosMap + 60, // 4: artist.IndexResponse.DataInfo:type_name -> artist.IndexResponse.Data + 61, // 5: artist.MediaResponse.DataInfo:type_name -> artist.MediaResponse.Data + 62, // 6: artist.HonorResponse.DataInfo:type_name -> artist.HonorResponse.HonorResData 2, // 7: artist.DetailResponse.ProfileInfo:type_name -> artist.ProfileRequest 4, // 8: artist.DetailResponse.MediaInfo:type_name -> artist.MediaRequest 8, // 9: artist.DetailResponse.HonorInfo:type_name -> artist.HonorRequest 18, // 10: artist.CreateArtistBatchRequest.ArtistInfoBatch:type_name -> artist.ArtistInfo - 61, // 11: artist.ArtIdNameResponse.Items:type_name -> artist.ArtIdNameResponse.IdKbName + 63, // 11: artist.ArtIdNameResponse.Items:type_name -> artist.ArtIdNameResponse.IdKbName 2, // 12: artist.ArtistInfoResponse.ProfileInfo:type_name -> artist.ProfileRequest 4, // 13: artist.ArtistInfoResponse.MediaRequest:type_name -> artist.MediaRequest - 62, // 14: artist.ArtistInfoResponse.ArtistChainInfo:type_name -> artist.ArtistInfoResponse.ArtistChainField - 63, // 15: artist.ArtistDataResponse.Data:type_name -> artist.ArtistDataResponse.info + 64, // 14: artist.ArtistInfoResponse.ArtistChainInfo:type_name -> artist.ArtistInfoResponse.ArtistChainField + 65, // 15: artist.ArtistDataResponse.Data:type_name -> artist.ArtistDataResponse.info 29, // 16: artist.InvitationListResponse.Data:type_name -> artist.InvitationUpdateRequest 29, // 17: artist.InvitationInfoResponse.Info:type_name -> artist.InvitationUpdateRequest 37, // 18: artist.ContractListResponse.Data:type_name -> artist.ContractAddRequest - 64, // 19: artist.ExportArtistResponse.Data:type_name -> artist.ExportArtistResponse.Info - 65, // 20: artist.ExportFieldListResponse.Data:type_name -> artist.ExportFieldListResponse.Info - 66, // 21: artist.GetInfoByUuidsResponse.Data:type_name -> artist.GetInfoByUuidsResponse.Info - 2, // 22: artist.ArtistDataResponse.info.ProfileInfo:type_name -> artist.ProfileRequest - 4, // 23: artist.ArtistDataResponse.info.MediaRequest:type_name -> artist.MediaRequest - 0, // 24: artist.Artist.ArtistList:input_type -> artist.ArtistListRequest - 2, // 25: artist.Artist.CreateProfile:input_type -> artist.ProfileRequest - 2, // 26: artist.Artist.UpdateProfile:input_type -> artist.ProfileRequest - 4, // 27: artist.Artist.UpdateMedia:input_type -> artist.MediaRequest - 5, // 28: artist.Artist.UpdateIndex:input_type -> artist.IndexRequest - 8, // 29: artist.Artist.UpdateHonor:input_type -> artist.HonorRequest - 10, // 30: artist.Artist.UploadMedia:input_type -> artist.UploadMediaRequest - 12, // 31: artist.Artist.ArtistDetail:input_type -> artist.DetailRequest - 14, // 32: artist.Artist.DelArtist:input_type -> artist.DelRequest - 16, // 33: artist.Artist.HonorDel:input_type -> artist.HonorDelRequest - 19, // 34: artist.Artist.CreateArtistBatch:input_type -> artist.CreateArtistBatchRequest - 21, // 35: artist.Artist.ArtistIdName:input_type -> artist.ArtIdNameRequest - 23, // 36: artist.Artist.ArtistInfo:input_type -> artist.ArtistInfoRequest - 25, // 37: artist.Artist.ArtistData:input_type -> artist.ArtistDataRequest - 27, // 38: artist.Artist.InvitationAdd:input_type -> artist.InvitationAddRequest - 29, // 39: artist.Artist.InvitationUpdate:input_type -> artist.InvitationUpdateRequest - 31, // 40: artist.Artist.InvitationDel:input_type -> artist.InvitationDelRequest - 33, // 41: artist.Artist.InvitationList:input_type -> artist.InvitationListRequest - 35, // 42: artist.Artist.InvitationInfo:input_type -> artist.InvitationInfoRequest - 37, // 43: artist.Artist.ContractAdd:input_type -> artist.ContractAddRequest - 37, // 44: artist.Artist.ContractUpdate:input_type -> artist.ContractAddRequest - 40, // 45: artist.Artist.ContractList:input_type -> artist.ContractListRequest - 42, // 46: artist.Artist.ArtistChainUpdate:input_type -> artist.ArtistChainUpdateRequest - 44, // 47: artist.Artist.ExportArtist:input_type -> artist.ExportArtistRequest - 46, // 48: artist.Artist.ExportFieldList:input_type -> artist.ExportFieldListRequest - 48, // 49: artist.Artist.GetInfoByUuids:input_type -> artist.GetInfoByUuidsRequest - 50, // 50: artist.Artist.GetCardIdWithImg:input_type -> artist.GetCardIdWithImgReq - 52, // 51: artist.Artist.IdcardConvertArtistId:input_type -> artist.IdcardConvertArtistIdRequest - 54, // 52: artist.Artist.CheckCaaCertNum:input_type -> artist.CheckCaaCertNumRequest - 1, // 53: artist.Artist.ArtistList:output_type -> artist.ArtistListResponse - 3, // 54: artist.Artist.CreateProfile:output_type -> artist.ProfileResponse - 3, // 55: artist.Artist.UpdateProfile:output_type -> artist.ProfileResponse - 7, // 56: artist.Artist.UpdateMedia:output_type -> artist.MediaResponse - 6, // 57: artist.Artist.UpdateIndex:output_type -> artist.IndexResponse - 9, // 58: artist.Artist.UpdateHonor:output_type -> artist.HonorResponse - 11, // 59: artist.Artist.UploadMedia:output_type -> artist.UploadMediaResponse - 13, // 60: artist.Artist.ArtistDetail:output_type -> artist.DetailResponse - 15, // 61: artist.Artist.DelArtist:output_type -> artist.DelResponse - 17, // 62: artist.Artist.HonorDel:output_type -> artist.HonorDelResponse - 20, // 63: artist.Artist.CreateArtistBatch:output_type -> artist.CreateArtistBatchResponse - 22, // 64: artist.Artist.ArtistIdName:output_type -> artist.ArtIdNameResponse - 24, // 65: artist.Artist.ArtistInfo:output_type -> artist.ArtistInfoResponse - 26, // 66: artist.Artist.ArtistData:output_type -> artist.ArtistDataResponse - 28, // 67: artist.Artist.InvitationAdd:output_type -> artist.InvitationAddResponse - 30, // 68: artist.Artist.InvitationUpdate:output_type -> artist.InvitationUpdateResponse - 32, // 69: artist.Artist.InvitationDel:output_type -> artist.InvitationDelResponse - 34, // 70: artist.Artist.InvitationList:output_type -> artist.InvitationListResponse - 36, // 71: artist.Artist.InvitationInfo:output_type -> artist.InvitationInfoResponse - 38, // 72: artist.Artist.ContractAdd:output_type -> artist.ContractAddResponse - 39, // 73: artist.Artist.ContractUpdate:output_type -> artist.ContractUpdateResponse - 41, // 74: artist.Artist.ContractList:output_type -> artist.ContractListResponse - 43, // 75: artist.Artist.ArtistChainUpdate:output_type -> artist.ArtistChainUpdateResponse - 45, // 76: artist.Artist.ExportArtist:output_type -> artist.ExportArtistResponse - 47, // 77: artist.Artist.ExportFieldList:output_type -> artist.ExportFieldListResponse - 49, // 78: artist.Artist.GetInfoByUuids:output_type -> artist.GetInfoByUuidsResponse - 51, // 79: artist.Artist.GetCardIdWithImg:output_type -> artist.GetCardIdWithImgResp - 53, // 80: artist.Artist.IdcardConvertArtistId:output_type -> artist.IdcardConvertArtistIdResponse - 55, // 81: artist.Artist.CheckCaaCertNum:output_type -> artist.CheckCaaCertNumResponse - 53, // [53:82] is the sub-list for method output_type - 24, // [24:53] is the sub-list for method input_type - 24, // [24:24] is the sub-list for extension type_name - 24, // [24:24] is the sub-list for extension extendee - 0, // [0:24] is the sub-list for field type_name + 66, // 19: artist.ExportArtistResponse.Data:type_name -> artist.ExportArtistResponse.Info + 67, // 20: artist.ExportFieldListResponse.Data:type_name -> artist.ExportFieldListResponse.Info + 68, // 21: artist.GetInfoByUuidsResponse.Data:type_name -> artist.GetInfoByUuidsResponse.Info + 69, // 22: artist.ArtistDetailDataResp.Data:type_name -> artist.ArtistDetailDataResp.Info + 2, // 23: artist.ArtistDataResponse.info.ProfileInfo:type_name -> artist.ProfileRequest + 4, // 24: artist.ArtistDataResponse.info.MediaRequest:type_name -> artist.MediaRequest + 2, // 25: artist.ArtistDetailDataResp.Info.ProfileInfo:type_name -> artist.ProfileRequest + 4, // 26: artist.ArtistDetailDataResp.Info.MediaInfo:type_name -> artist.MediaRequest + 8, // 27: artist.ArtistDetailDataResp.Info.HonorInfo:type_name -> artist.HonorRequest + 0, // 28: artist.Artist.ArtistList:input_type -> artist.ArtistListRequest + 2, // 29: artist.Artist.CreateProfile:input_type -> artist.ProfileRequest + 2, // 30: artist.Artist.UpdateProfile:input_type -> artist.ProfileRequest + 4, // 31: artist.Artist.UpdateMedia:input_type -> artist.MediaRequest + 5, // 32: artist.Artist.UpdateIndex:input_type -> artist.IndexRequest + 8, // 33: artist.Artist.UpdateHonor:input_type -> artist.HonorRequest + 10, // 34: artist.Artist.UploadMedia:input_type -> artist.UploadMediaRequest + 12, // 35: artist.Artist.ArtistDetail:input_type -> artist.DetailRequest + 14, // 36: artist.Artist.DelArtist:input_type -> artist.DelRequest + 16, // 37: artist.Artist.HonorDel:input_type -> artist.HonorDelRequest + 19, // 38: artist.Artist.CreateArtistBatch:input_type -> artist.CreateArtistBatchRequest + 21, // 39: artist.Artist.ArtistIdName:input_type -> artist.ArtIdNameRequest + 23, // 40: artist.Artist.ArtistInfo:input_type -> artist.ArtistInfoRequest + 25, // 41: artist.Artist.ArtistData:input_type -> artist.ArtistDataRequest + 27, // 42: artist.Artist.InvitationAdd:input_type -> artist.InvitationAddRequest + 29, // 43: artist.Artist.InvitationUpdate:input_type -> artist.InvitationUpdateRequest + 31, // 44: artist.Artist.InvitationDel:input_type -> artist.InvitationDelRequest + 33, // 45: artist.Artist.InvitationList:input_type -> artist.InvitationListRequest + 35, // 46: artist.Artist.InvitationInfo:input_type -> artist.InvitationInfoRequest + 37, // 47: artist.Artist.ContractAdd:input_type -> artist.ContractAddRequest + 37, // 48: artist.Artist.ContractUpdate:input_type -> artist.ContractAddRequest + 40, // 49: artist.Artist.ContractList:input_type -> artist.ContractListRequest + 42, // 50: artist.Artist.ArtistChainUpdate:input_type -> artist.ArtistChainUpdateRequest + 44, // 51: artist.Artist.ExportArtist:input_type -> artist.ExportArtistRequest + 46, // 52: artist.Artist.ExportFieldList:input_type -> artist.ExportFieldListRequest + 48, // 53: artist.Artist.GetInfoByUuids:input_type -> artist.GetInfoByUuidsRequest + 50, // 54: artist.Artist.GetCardIdWithImg:input_type -> artist.GetCardIdWithImgReq + 54, // 55: artist.Artist.IdcardConvertArtistId:input_type -> artist.IdcardConvertArtistIdRequest + 56, // 56: artist.Artist.CheckCaaCertNum:input_type -> artist.CheckCaaCertNumRequest + 52, // 57: artist.Artist.ArtistDetailData:input_type -> artist.ArtistDetailDataReq + 1, // 58: artist.Artist.ArtistList:output_type -> artist.ArtistListResponse + 3, // 59: artist.Artist.CreateProfile:output_type -> artist.ProfileResponse + 3, // 60: artist.Artist.UpdateProfile:output_type -> artist.ProfileResponse + 7, // 61: artist.Artist.UpdateMedia:output_type -> artist.MediaResponse + 6, // 62: artist.Artist.UpdateIndex:output_type -> artist.IndexResponse + 9, // 63: artist.Artist.UpdateHonor:output_type -> artist.HonorResponse + 11, // 64: artist.Artist.UploadMedia:output_type -> artist.UploadMediaResponse + 13, // 65: artist.Artist.ArtistDetail:output_type -> artist.DetailResponse + 15, // 66: artist.Artist.DelArtist:output_type -> artist.DelResponse + 17, // 67: artist.Artist.HonorDel:output_type -> artist.HonorDelResponse + 20, // 68: artist.Artist.CreateArtistBatch:output_type -> artist.CreateArtistBatchResponse + 22, // 69: artist.Artist.ArtistIdName:output_type -> artist.ArtIdNameResponse + 24, // 70: artist.Artist.ArtistInfo:output_type -> artist.ArtistInfoResponse + 26, // 71: artist.Artist.ArtistData:output_type -> artist.ArtistDataResponse + 28, // 72: artist.Artist.InvitationAdd:output_type -> artist.InvitationAddResponse + 30, // 73: artist.Artist.InvitationUpdate:output_type -> artist.InvitationUpdateResponse + 32, // 74: artist.Artist.InvitationDel:output_type -> artist.InvitationDelResponse + 34, // 75: artist.Artist.InvitationList:output_type -> artist.InvitationListResponse + 36, // 76: artist.Artist.InvitationInfo:output_type -> artist.InvitationInfoResponse + 38, // 77: artist.Artist.ContractAdd:output_type -> artist.ContractAddResponse + 39, // 78: artist.Artist.ContractUpdate:output_type -> artist.ContractUpdateResponse + 41, // 79: artist.Artist.ContractList:output_type -> artist.ContractListResponse + 43, // 80: artist.Artist.ArtistChainUpdate:output_type -> artist.ArtistChainUpdateResponse + 45, // 81: artist.Artist.ExportArtist:output_type -> artist.ExportArtistResponse + 47, // 82: artist.Artist.ExportFieldList:output_type -> artist.ExportFieldListResponse + 49, // 83: artist.Artist.GetInfoByUuids:output_type -> artist.GetInfoByUuidsResponse + 51, // 84: artist.Artist.GetCardIdWithImg:output_type -> artist.GetCardIdWithImgResp + 55, // 85: artist.Artist.IdcardConvertArtistId:output_type -> artist.IdcardConvertArtistIdResponse + 57, // 86: artist.Artist.CheckCaaCertNum:output_type -> artist.CheckCaaCertNumResponse + 53, // 87: artist.Artist.ArtistDetailData:output_type -> artist.ArtistDetailDataResp + 58, // [58:88] is the sub-list for method output_type + 28, // [28:58] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } -func init() { file_pb_artist_artist_proto_init() } -func file_pb_artist_artist_proto_init() { - if File_pb_artist_artist_proto != nil { +func init() { file_pb_artist_proto_init() } +func file_pb_artist_proto_init() { + if File_pb_artist_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_pb_artist_artist_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistListRequest); i { case 0: return &v.state @@ -5903,7 +6134,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistListResponse); i { case 0: return &v.state @@ -5915,7 +6146,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProfileRequest); i { case 0: return &v.state @@ -5927,7 +6158,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProfileResponse); i { case 0: return &v.state @@ -5939,7 +6170,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MediaRequest); i { case 0: return &v.state @@ -5951,7 +6182,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IndexRequest); i { case 0: return &v.state @@ -5963,7 +6194,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IndexResponse); i { case 0: return &v.state @@ -5975,7 +6206,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MediaResponse); i { case 0: return &v.state @@ -5987,7 +6218,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HonorRequest); i { case 0: return &v.state @@ -5999,7 +6230,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HonorResponse); i { case 0: return &v.state @@ -6011,7 +6242,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadMediaRequest); i { case 0: return &v.state @@ -6023,7 +6254,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UploadMediaResponse); i { case 0: return &v.state @@ -6035,7 +6266,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DetailRequest); i { case 0: return &v.state @@ -6047,7 +6278,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DetailResponse); i { case 0: return &v.state @@ -6059,7 +6290,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DelRequest); i { case 0: return &v.state @@ -6071,7 +6302,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DelResponse); i { case 0: return &v.state @@ -6083,7 +6314,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HonorDelRequest); i { case 0: return &v.state @@ -6095,7 +6326,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HonorDelResponse); i { case 0: return &v.state @@ -6107,7 +6338,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistInfo); i { case 0: return &v.state @@ -6119,7 +6350,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateArtistBatchRequest); i { case 0: return &v.state @@ -6131,7 +6362,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateArtistBatchResponse); i { case 0: return &v.state @@ -6143,7 +6374,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtIdNameRequest); i { case 0: return &v.state @@ -6155,7 +6386,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtIdNameResponse); i { case 0: return &v.state @@ -6167,7 +6398,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistInfoRequest); i { case 0: return &v.state @@ -6179,7 +6410,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistInfoResponse); i { case 0: return &v.state @@ -6191,7 +6422,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistDataRequest); i { case 0: return &v.state @@ -6203,7 +6434,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistDataResponse); i { case 0: return &v.state @@ -6215,7 +6446,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationAddRequest); i { case 0: return &v.state @@ -6227,7 +6458,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationAddResponse); i { case 0: return &v.state @@ -6239,7 +6470,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationUpdateRequest); i { case 0: return &v.state @@ -6251,7 +6482,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationUpdateResponse); i { case 0: return &v.state @@ -6263,7 +6494,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationDelRequest); i { case 0: return &v.state @@ -6275,7 +6506,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationDelResponse); i { case 0: return &v.state @@ -6287,7 +6518,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationListRequest); i { case 0: return &v.state @@ -6299,7 +6530,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationListResponse); i { case 0: return &v.state @@ -6311,7 +6542,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationInfoRequest); i { case 0: return &v.state @@ -6323,7 +6554,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InvitationInfoResponse); i { case 0: return &v.state @@ -6335,7 +6566,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractAddRequest); i { case 0: return &v.state @@ -6347,7 +6578,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractAddResponse); i { case 0: return &v.state @@ -6359,7 +6590,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractUpdateResponse); i { case 0: return &v.state @@ -6371,7 +6602,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractListRequest); i { case 0: return &v.state @@ -6383,7 +6614,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContractListResponse); i { case 0: return &v.state @@ -6395,7 +6626,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistChainUpdateRequest); i { case 0: return &v.state @@ -6407,7 +6638,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistChainUpdateResponse); i { case 0: return &v.state @@ -6419,7 +6650,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExportArtistRequest); i { case 0: return &v.state @@ -6431,7 +6662,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExportArtistResponse); i { case 0: return &v.state @@ -6443,7 +6674,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExportFieldListRequest); i { case 0: return &v.state @@ -6455,7 +6686,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExportFieldListResponse); i { case 0: return &v.state @@ -6467,7 +6698,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInfoByUuidsRequest); i { case 0: return &v.state @@ -6479,7 +6710,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInfoByUuidsResponse); i { case 0: return &v.state @@ -6491,7 +6722,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetCardIdWithImgReq); i { case 0: return &v.state @@ -6503,7 +6734,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetCardIdWithImgResp); i { case 0: return &v.state @@ -6515,7 +6746,31 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtistDetailDataReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artist_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtistDetailDataResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artist_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IdcardConvertArtistIdRequest); i { case 0: return &v.state @@ -6527,7 +6782,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IdcardConvertArtistIdResponse); i { case 0: return &v.state @@ -6539,7 +6794,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckCaaCertNumRequest); i { case 0: return &v.state @@ -6551,7 +6806,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CheckCaaCertNumResponse); i { case 0: return &v.state @@ -6563,7 +6818,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProfileResponse_Data); i { case 0: return &v.state @@ -6575,7 +6830,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MediaRequest_VideosMap); i { case 0: return &v.state @@ -6587,7 +6842,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IndexResponse_Data); i { case 0: return &v.state @@ -6599,7 +6854,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MediaResponse_Data); i { case 0: return &v.state @@ -6611,7 +6866,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HonorResponse_HonorResData); i { case 0: return &v.state @@ -6623,7 +6878,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtIdNameResponse_IdKbName); i { case 0: return &v.state @@ -6635,7 +6890,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistInfoResponse_ArtistChainField); i { case 0: return &v.state @@ -6647,7 +6902,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArtistDataResponseInfo); i { case 0: return &v.state @@ -6659,7 +6914,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExportArtistResponse_Info); i { case 0: return &v.state @@ -6671,7 +6926,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExportFieldListResponse_Info); i { case 0: return &v.state @@ -6683,7 +6938,7 @@ func file_pb_artist_artist_proto_init() { return nil } } - file_pb_artist_artist_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_pb_artist_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetInfoByUuidsResponse_Info); i { case 0: return &v.state @@ -6695,23 +6950,35 @@ func file_pb_artist_artist_proto_init() { return nil } } + file_pb_artist_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtistDetailDataResp_Info); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_pb_artist_artist_proto_rawDesc, + RawDescriptor: file_pb_artist_proto_rawDesc, NumEnums: 0, - NumMessages: 67, + NumMessages: 70, NumExtensions: 0, NumServices: 1, }, - GoTypes: file_pb_artist_artist_proto_goTypes, - DependencyIndexes: file_pb_artist_artist_proto_depIdxs, - MessageInfos: file_pb_artist_artist_proto_msgTypes, + GoTypes: file_pb_artist_proto_goTypes, + DependencyIndexes: file_pb_artist_proto_depIdxs, + MessageInfos: file_pb_artist_proto_msgTypes, }.Build() - File_pb_artist_artist_proto = out.File - file_pb_artist_artist_proto_rawDesc = nil - file_pb_artist_artist_proto_goTypes = nil - file_pb_artist_artist_proto_depIdxs = nil + File_pb_artist_proto = out.File + file_pb_artist_proto_rawDesc = nil + file_pb_artist_proto_goTypes = nil + file_pb_artist_proto_depIdxs = nil } diff --git a/pb/artist/artist.validator.pb.go b/pb/artist/artist.validator.pb.go index da58b67..bcaa632 100644 --- a/pb/artist/artist.validator.pb.go +++ b/pb/artist/artist.validator.pb.go @@ -1,5 +1,5 @@ // Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: pb/artist/artist.proto +// source: pb/artist.proto package artist @@ -7,8 +7,8 @@ import ( fmt "fmt" math "math" proto "github.com/golang/protobuf/proto" - _ "github.com/mwitkow/go-proto-validators" _ "google.golang.org/protobuf/types/descriptorpb" + _ "github.com/mwitkow/go-proto-validators" github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" ) @@ -435,3 +435,48 @@ func (this *GetCardIdWithImgReq) Validate() error { func (this *GetCardIdWithImgResp) Validate() error { return nil } +func (this *ArtistDetailDataReq) Validate() error { + return nil +} +func (this *ArtistDetailDataResp) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *ArtistDetailDataResp_Info) Validate() error { + if this.ProfileInfo != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.ProfileInfo); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("ProfileInfo", err) + } + } + if this.MediaInfo != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.MediaInfo); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("MediaInfo", err) + } + } + for _, item := range this.HonorInfo { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("HonorInfo", err) + } + } + } + return nil +} +func (this *IdcardConvertArtistIdRequest) Validate() error { + return nil +} +func (this *IdcardConvertArtistIdResponse) Validate() error { + return nil +} +func (this *CheckCaaCertNumRequest) Validate() error { + return nil +} +func (this *CheckCaaCertNumResponse) Validate() error { + return nil +} diff --git a/pb/artist/artist_triple.pb.go b/pb/artist/artist_triple.pb.go index e1a9ffc..dce9a87 100644 --- a/pb/artist/artist_triple.pb.go +++ b/pb/artist/artist_triple.pb.go @@ -1,8 +1,8 @@ // Code generated by protoc-gen-go-triple. DO NOT EDIT. // versions: // - protoc-gen-go-triple v1.0.8 -// - protoc v4.22.0--rc2 -// source: pb/artist/artist.proto +// - protoc v3.21.1 +// source: pb/artist.proto package artist @@ -57,6 +57,7 @@ type ArtistClient interface { GetCardIdWithImg(ctx context.Context, in *GetCardIdWithImgReq, opts ...grpc_go.CallOption) (*GetCardIdWithImgResp, common.ErrorWithAttachment) IdcardConvertArtistId(ctx context.Context, in *IdcardConvertArtistIdRequest, opts ...grpc_go.CallOption) (*IdcardConvertArtistIdResponse, common.ErrorWithAttachment) CheckCaaCertNum(ctx context.Context, in *CheckCaaCertNumRequest, opts ...grpc_go.CallOption) (*CheckCaaCertNumResponse, common.ErrorWithAttachment) + ArtistDetailData(ctx context.Context, in *ArtistDetailDataReq, opts ...grpc_go.CallOption) (*ArtistDetailDataResp, common.ErrorWithAttachment) } type artistClient struct { @@ -93,6 +94,7 @@ type ArtistClientImpl struct { GetCardIdWithImg func(ctx context.Context, in *GetCardIdWithImgReq) (*GetCardIdWithImgResp, error) IdcardConvertArtistId func(ctx context.Context, in *IdcardConvertArtistIdRequest) (*IdcardConvertArtistIdResponse, error) CheckCaaCertNum func(ctx context.Context, in *CheckCaaCertNumRequest) (*CheckCaaCertNumResponse, error) + ArtistDetailData func(ctx context.Context, in *ArtistDetailDataReq) (*ArtistDetailDataResp, error) } func (c *ArtistClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistClient { @@ -281,6 +283,12 @@ func (c *artistClient) CheckCaaCertNum(ctx context.Context, in *CheckCaaCertNumR return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckCaaCertNum", in, out) } +func (c *artistClient) ArtistDetailData(ctx context.Context, in *ArtistDetailDataReq, opts ...grpc_go.CallOption) (*ArtistDetailDataResp, common.ErrorWithAttachment) { + out := new(ArtistDetailDataResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ArtistDetailData", in, out) +} + // ArtistServer is the server API for Artist service. // All implementations must embed UnimplementedArtistServer // for forward compatibility @@ -314,6 +322,7 @@ type ArtistServer interface { GetCardIdWithImg(context.Context, *GetCardIdWithImgReq) (*GetCardIdWithImgResp, error) IdcardConvertArtistId(context.Context, *IdcardConvertArtistIdRequest) (*IdcardConvertArtistIdResponse, error) CheckCaaCertNum(context.Context, *CheckCaaCertNumRequest) (*CheckCaaCertNumResponse, error) + ArtistDetailData(context.Context, *ArtistDetailDataReq) (*ArtistDetailDataResp, error) mustEmbedUnimplementedArtistServer() } @@ -409,6 +418,9 @@ func (UnimplementedArtistServer) IdcardConvertArtistId(context.Context, *IdcardC func (UnimplementedArtistServer) CheckCaaCertNum(context.Context, *CheckCaaCertNumRequest) (*CheckCaaCertNumResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckCaaCertNum not implemented") } +func (UnimplementedArtistServer) ArtistDetailData(context.Context, *ArtistDetailDataReq) (*ArtistDetailDataResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method ArtistDetailData not implemented") +} func (s *UnimplementedArtistServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -1278,6 +1290,35 @@ func _Artist_CheckCaaCertNum_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } +func _Artist_ArtistDetailData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtistDetailDataReq) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ArtistDetailData", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + // Artist_ServiceDesc is the grpc_go.ServiceDesc for Artist service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1401,7 +1442,11 @@ var Artist_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "CheckCaaCertNum", Handler: _Artist_CheckCaaCertNum_Handler, }, + { + MethodName: "ArtistDetailData", + Handler: _Artist_ArtistDetailData_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, - Metadata: "pb/artist/artist.proto", + Metadata: "pb/artist.proto", } diff --git a/pb/artistInfoArtwork/artistinfoArtwork.pb.go b/pb/artistInfoArtwork/artistinfoArtwork.pb.go index 77842d3..2168d84 100644 --- a/pb/artistInfoArtwork/artistinfoArtwork.pb.go +++ b/pb/artistInfoArtwork/artistinfoArtwork.pb.go @@ -36,6 +36,7 @@ const ( ArtworkQueryMode_NowAuditFlowOfBase ArtworkQueryMode = 3 //当前处于基本数据审核流程中的画作 ArtworkQueryMode_NowAuditFlowOfSupplementing ArtworkQueryMode = 4 //当前处于数据补充流程中的画作 ArtworkQueryMode_AllUnlockArtwork ArtworkQueryMode = 5 //所有已解锁的画作(历史画作) + ArtworkQueryMode_AllAuditPassArtwork ArtworkQueryMode = 6 //所有审批已通过的画作 ) // Enum value maps for ArtworkQueryMode. @@ -47,6 +48,7 @@ var ( 3: "NowAuditFlowOfBase", 4: "NowAuditFlowOfSupplementing", 5: "AllUnlockArtwork", + 6: "AllAuditPassArtwork", } ArtworkQueryMode_value = map[string]int32{ "NowPreSaveArtwork": 0, @@ -55,6 +57,7 @@ var ( "NowAuditFlowOfBase": 3, "NowAuditFlowOfSupplementing": 4, "AllUnlockArtwork": 5, + "AllAuditPassArtwork": 6, } ) @@ -1452,7 +1455,7 @@ var file_pb_artistinfoArtwork_proto_rawDesc = []byte{ 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x2a, 0xa7, 0x01, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x65, + 0x65, 0x2a, 0xc0, 0x01, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, @@ -1462,75 +1465,77 @@ var file_pb_artistinfoArtwork_proto_rawDesc = []byte{ 0x73, 0x65, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x4e, 0x6f, 0x77, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x4f, 0x66, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x05, 0x32, 0x9a, 0x08, 0x0a, 0x11, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x12, 0x66, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, - 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x11, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, - 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1a, 0x47, - 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x62, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x27, 0x2e, 0x61, + 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x41, + 0x6c, 0x6c, 0x41, 0x75, 0x64, 0x69, 0x74, 0x50, 0x61, 0x73, 0x73, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x10, 0x06, 0x32, 0x9a, 0x08, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x66, 0x0a, 0x17, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, + 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x22, 0x00, 0x12, 0x60, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, + 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, - 0x6f, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, - 0x00, 0x12, 0x69, 0x0a, 0x1c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x22, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, - 0x1d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f, 0x3b, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x5d, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, + 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x18, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, + 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x1c, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, + 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x22, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x55, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x1d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x00, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/pb/artistInfoUser/artistinfoUser.pb.go b/pb/artistInfoUser/artistinfoUser.pb.go index 3811315..8538f96 100644 --- a/pb/artistInfoUser/artistinfoUser.pb.go +++ b/pb/artistInfoUser/artistinfoUser.pb.go @@ -659,7 +659,7 @@ type UnFinishListRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + AccId int64 `protobuf:"varint,1,opt,name=accId,proto3" json:"accId,omitempty"` } func (x *UnFinishListRequest) Reset() { @@ -694,9 +694,9 @@ func (*UnFinishListRequest) Descriptor() ([]byte, []int) { return file_pb_artistinfoUser_proto_rawDescGZIP(), []int{8} } -func (x *UnFinishListRequest) GetId() int64 { +func (x *UnFinishListRequest) GetAccId() int64 { if x != nil { - return x.Id + return x.AccId } return 0 } @@ -3303,6 +3303,7 @@ type FindUsersRequest struct { IsArtist bool `protobuf:"varint,9,opt,name=isArtist,proto3" json:"isArtist,omitempty"` //查询有艺术家uid的数据 MgmtArtistUids []string `protobuf:"bytes,10,rep,name=mgmtArtistUids,proto3" json:"mgmtArtistUids,omitempty"` IsLock bool `protobuf:"varint,11,opt,name=isLock,proto3" json:"isLock,omitempty"` + MgmtAccountId int64 `protobuf:"varint,12,opt,name=mgmtAccountId,proto3" json:"mgmtAccountId,omitempty"` } func (x *FindUsersRequest) Reset() { @@ -3400,6 +3401,13 @@ func (x *FindUsersRequest) GetIsLock() bool { return false } +func (x *FindUsersRequest) GetMgmtAccountId() int64 { + if x != nil { + return x.MgmtAccountId + } + return 0 +} + type FindUsersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -3608,6 +3616,8 @@ type UserInfo struct { InviteCode string `protobuf:"bytes,27,opt,name=inviteCode,proto3" json:"inviteCode,omitempty"` MgmtArtistId int64 `protobuf:"varint,28,opt,name=mgmtArtistId,proto3" json:"mgmtArtistId,omitempty"` //艺术家id LatestLockTime string `protobuf:"bytes,29,opt,name=latestLockTime,proto3" json:"latestLockTime,omitempty"` //最近一次上锁时间 + JoinAssoTime string `protobuf:"bytes,32,opt,name=joinAssoTime,proto3" json:"joinAssoTime,omitempty"` + WxAccount string `protobuf:"bytes,33,opt,name=wxAccount,proto3" json:"wxAccount,omitempty"` // 手机号更新用 Domain string `protobuf:"bytes,30,opt,name=domain,proto3" json:"domain,omitempty"` VerCode string `protobuf:"bytes,31,opt,name=verCode,proto3" json:"verCode,omitempty"` @@ -3827,6 +3837,20 @@ func (x *UserInfo) GetLatestLockTime() string { return "" } +func (x *UserInfo) GetJoinAssoTime() string { + if x != nil { + return x.JoinAssoTime + } + return "" +} + +func (x *UserInfo) GetWxAccount() string { + if x != nil { + return x.WxAccount + } + return "" +} + func (x *UserInfo) GetDomain() string { if x != nil { return x.Domain @@ -3859,6 +3883,7 @@ type PreSaveArtistInfoData struct { CaaCertNum string `protobuf:"bytes,11,opt,name=caaCertNum,proto3" json:"caaCertNum,omitempty"` CaaJoinTime string `protobuf:"bytes,12,opt,name=caaJoinTime,proto3" json:"caaJoinTime,omitempty"` JoinShow int32 `protobuf:"varint,13,opt,name=joinShow,proto3" json:"joinShow,omitempty"` + WxAccount string `protobuf:"bytes,33,opt,name=wxAccount,proto3" json:"wxAccount,omitempty"` } func (x *PreSaveArtistInfoData) Reset() { @@ -3984,6 +4009,13 @@ func (x *PreSaveArtistInfoData) GetJoinShow() int32 { return 0 } +func (x *PreSaveArtistInfoData) GetWxAccount() string { + if x != nil { + return x.WxAccount + } + return "" +} + type GetPreSaveArtistInfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4036,34 +4068,38 @@ type UserView struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` - AccId int64 `protobuf:"varint,2,opt,name=accId,proto3" json:"accId,omitempty"` - ArtistUid string `protobuf:"bytes,3,opt,name=artistUid,proto3" json:"artistUid,omitempty"` - TelNum string `protobuf:"bytes,4,opt,name=telNum,proto3" json:"telNum,omitempty"` - InviteCode string `protobuf:"bytes,5,opt,name=inviteCode,proto3" json:"inviteCode,omitempty"` - Account string `protobuf:"bytes,6,opt,name=account,proto3" json:"account,omitempty"` - Photo string `protobuf:"bytes,7,opt,name=photo,proto3" json:"photo,omitempty"` - IsRealName int64 `protobuf:"varint,8,opt,name=isRealName,proto3" json:"isRealName,omitempty"` - FddState int64 `protobuf:"varint,9,opt,name=fddState,proto3" json:"fddState,omitempty"` - IsRead int64 `protobuf:"varint,10,opt,name=is_read,json=isRead,proto3" json:"is_read,omitempty"` - IsLock bool `protobuf:"varint,11,opt,name=isLock,proto3" json:"isLock,omitempty"` - RealName string `protobuf:"bytes,12,opt,name=realName,proto3" json:"realName,omitempty"` - IdNum string `protobuf:"bytes,13,opt,name=idNum,proto3" json:"idNum,omitempty"` - Sex string `protobuf:"bytes,14,opt,name=sex,proto3" json:"sex,omitempty"` - Age int64 `protobuf:"varint,15,opt,name=age,proto3" json:"age,omitempty"` - Address string `protobuf:"bytes,16,opt,name=address,proto3" json:"address,omitempty"` - IdcardBack string `protobuf:"bytes,17,opt,name=idcardBack,proto3" json:"idcardBack,omitempty"` - IdcardFront string `protobuf:"bytes,18,opt,name=idcard_front,json=idcardFront,proto3" json:"idcard_front,omitempty"` - InviterInviteCode string `protobuf:"bytes,19,opt,name=inviterInviteCode,proto3" json:"inviterInviteCode,omitempty"` - InviterRealName string `protobuf:"bytes,20,opt,name=inviterRealName,proto3" json:"inviterRealName,omitempty"` - DeletedAt int64 `protobuf:"varint,21,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` - UpdatedAt int64 `protobuf:"varint,22,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` - CreatedAt int64 `protobuf:"varint,23,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - PenName string `protobuf:"bytes,24,opt,name=penName,proto3" json:"penName,omitempty"` - StageName string `protobuf:"bytes,25,opt,name=stageName,proto3" json:"stageName,omitempty"` - CertificateNum string `protobuf:"bytes,26,opt,name=certificateNum,proto3" json:"certificateNum,omitempty"` - OpenBank string `protobuf:"bytes,27,opt,name=openBank,proto3" json:"openBank,omitempty"` - LatestLockTime string `protobuf:"bytes,28,opt,name=latestLockTime,proto3" json:"latestLockTime,omitempty"` + UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + AccId int64 `protobuf:"varint,2,opt,name=accId,proto3" json:"accId,omitempty"` + ArtistUid string `protobuf:"bytes,3,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + TelNum string `protobuf:"bytes,4,opt,name=telNum,proto3" json:"telNum,omitempty"` + InviteCode string `protobuf:"bytes,5,opt,name=inviteCode,proto3" json:"inviteCode,omitempty"` + Account string `protobuf:"bytes,6,opt,name=account,proto3" json:"account,omitempty"` + Photo string `protobuf:"bytes,7,opt,name=photo,proto3" json:"photo,omitempty"` + IsRealName int64 `protobuf:"varint,8,opt,name=isRealName,proto3" json:"isRealName,omitempty"` + FddState int64 `protobuf:"varint,9,opt,name=fddState,proto3" json:"fddState,omitempty"` + IsRead int64 `protobuf:"varint,10,opt,name=isRead,proto3" json:"isRead,omitempty"` + IsLock bool `protobuf:"varint,11,opt,name=isLock,proto3" json:"isLock,omitempty"` + RealName string `protobuf:"bytes,12,opt,name=realName,proto3" json:"realName,omitempty"` + IdNum string `protobuf:"bytes,13,opt,name=idNum,proto3" json:"idNum,omitempty"` + Sex string `protobuf:"bytes,14,opt,name=sex,proto3" json:"sex,omitempty"` + Age int64 `protobuf:"varint,15,opt,name=age,proto3" json:"age,omitempty"` + Address []string `protobuf:"bytes,16,rep,name=address,proto3" json:"address,omitempty"` + IdcardBack string `protobuf:"bytes,17,opt,name=idcardBack,proto3" json:"idcardBack,omitempty"` + IdcardFront string `protobuf:"bytes,18,opt,name=idcardFront,proto3" json:"idcardFront,omitempty"` + InviterInviteCode string `protobuf:"bytes,19,opt,name=inviterInviteCode,proto3" json:"inviterInviteCode,omitempty"` + InviterRealName string `protobuf:"bytes,20,opt,name=inviterRealName,proto3" json:"inviterRealName,omitempty"` + JoinAssoTime string `protobuf:"bytes,29,opt,name=joinAssoTime,proto3" json:"joinAssoTime,omitempty"` + DeletedAt int64 `protobuf:"varint,21,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` + UpdatedAt string `protobuf:"bytes,22,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + CreatedAt string `protobuf:"bytes,23,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + PenName string `protobuf:"bytes,24,opt,name=penName,proto3" json:"penName,omitempty"` + StageName string `protobuf:"bytes,25,opt,name=stageName,proto3" json:"stageName,omitempty"` + CertificateNum string `protobuf:"bytes,26,opt,name=certificateNum,proto3" json:"certificateNum,omitempty"` + CertificateImg string `protobuf:"bytes,30,opt,name=certificateImg,proto3" json:"certificateImg,omitempty"` + BankName string `protobuf:"bytes,27,opt,name=bankName,proto3" json:"bankName,omitempty"` + BankNum string `protobuf:"bytes,28,opt,name=bankNum,proto3" json:"bankNum,omitempty"` + LatestLockTime string `protobuf:"bytes,31,opt,name=latestLockTime,proto3" json:"latestLockTime,omitempty"` + WxAccount string `protobuf:"bytes,32,opt,name=wxAccount,proto3" json:"wxAccount,omitempty"` } func (x *UserView) Reset() { @@ -4203,11 +4239,11 @@ func (x *UserView) GetAge() int64 { return 0 } -func (x *UserView) GetAddress() string { +func (x *UserView) GetAddress() []string { if x != nil { return x.Address } - return "" + return nil } func (x *UserView) GetIdcardBack() string { @@ -4238,6 +4274,13 @@ func (x *UserView) GetInviterRealName() string { return "" } +func (x *UserView) GetJoinAssoTime() string { + if x != nil { + return x.JoinAssoTime + } + return "" +} + func (x *UserView) GetDeletedAt() int64 { if x != nil { return x.DeletedAt @@ -4245,18 +4288,18 @@ func (x *UserView) GetDeletedAt() int64 { return 0 } -func (x *UserView) GetUpdatedAt() int64 { +func (x *UserView) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } - return 0 + return "" } -func (x *UserView) GetCreatedAt() int64 { +func (x *UserView) GetCreatedAt() string { if x != nil { return x.CreatedAt } - return 0 + return "" } func (x *UserView) GetPenName() string { @@ -4280,9 +4323,23 @@ func (x *UserView) GetCertificateNum() string { return "" } -func (x *UserView) GetOpenBank() string { +func (x *UserView) GetCertificateImg() string { if x != nil { - return x.OpenBank + return x.CertificateImg + } + return "" +} + +func (x *UserView) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *UserView) GetBankNum() string { + if x != nil { + return x.BankNum } return "" } @@ -4294,6 +4351,13 @@ func (x *UserView) GetLatestLockTime() string { return "" } +func (x *UserView) GetWxAccount() string { + if x != nil { + return x.WxAccount + } + return "" +} + type FindUsersUserViewResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4349,6 +4413,291 @@ func (x *FindUsersUserViewResponse) GetPage() *UserCommonPageInfo { return nil } +type GetInvitedUserListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TelNum string `protobuf:"bytes,1,opt,name=telNum,proto3" json:"telNum,omitempty"` //可选 邀请者的电话号码 + InviterCode string `protobuf:"bytes,2,opt,name=inviterCode,proto3" json:"inviterCode,omitempty"` //可选 邀请者的二维码 + Page int64 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` + PageSize int64 `protobuf:"varint,4,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *GetInvitedUserListRequest) Reset() { + *x = GetInvitedUserListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoUser_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetInvitedUserListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInvitedUserListRequest) ProtoMessage() {} + +func (x *GetInvitedUserListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoUser_proto_msgTypes[50] + 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 GetInvitedUserListRequest.ProtoReflect.Descriptor instead. +func (*GetInvitedUserListRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoUser_proto_rawDescGZIP(), []int{50} +} + +func (x *GetInvitedUserListRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *GetInvitedUserListRequest) GetInviterCode() string { + if x != nil { + return x.InviterCode + } + return "" +} + +func (x *GetInvitedUserListRequest) GetPage() int64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetInvitedUserListRequest) GetPageSize() int64 { + if x != nil { + return x.PageSize + } + return 0 +} + +type InvitedUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + AccId int64 `protobuf:"varint,2,opt,name=accId,proto3" json:"accId,omitempty"` + ArtistUid string `protobuf:"bytes,3,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + TelNum string `protobuf:"bytes,4,opt,name=telNum,proto3" json:"telNum,omitempty"` + InviteCode string `protobuf:"bytes,5,opt,name=inviteCode,proto3" json:"inviteCode,omitempty"` + Account string `protobuf:"bytes,6,opt,name=account,proto3" json:"account,omitempty"` + Photo string `protobuf:"bytes,7,opt,name=photo,proto3" json:"photo,omitempty"` + IsRealName int64 `protobuf:"varint,8,opt,name=isRealName,proto3" json:"isRealName,omitempty"` + FddState int64 `protobuf:"varint,9,opt,name=fddState,proto3" json:"fddState,omitempty"` + RealName string `protobuf:"bytes,12,opt,name=realName,proto3" json:"realName,omitempty"` + Sex string `protobuf:"bytes,14,opt,name=sex,proto3" json:"sex,omitempty"` + Age int64 `protobuf:"varint,15,opt,name=age,proto3" json:"age,omitempty"` + CreatedAt string `protobuf:"bytes,23,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + PenName string `protobuf:"bytes,24,opt,name=penName,proto3" json:"penName,omitempty"` + StageName string `protobuf:"bytes,25,opt,name=stageName,proto3" json:"stageName,omitempty"` +} + +func (x *InvitedUser) Reset() { + *x = InvitedUser{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoUser_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InvitedUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InvitedUser) ProtoMessage() {} + +func (x *InvitedUser) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoUser_proto_msgTypes[51] + 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 InvitedUser.ProtoReflect.Descriptor instead. +func (*InvitedUser) Descriptor() ([]byte, []int) { + return file_pb_artistinfoUser_proto_rawDescGZIP(), []int{51} +} + +func (x *InvitedUser) GetUserId() int64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *InvitedUser) GetAccId() int64 { + if x != nil { + return x.AccId + } + return 0 +} + +func (x *InvitedUser) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *InvitedUser) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *InvitedUser) GetInviteCode() string { + if x != nil { + return x.InviteCode + } + return "" +} + +func (x *InvitedUser) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *InvitedUser) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *InvitedUser) GetIsRealName() int64 { + if x != nil { + return x.IsRealName + } + return 0 +} + +func (x *InvitedUser) GetFddState() int64 { + if x != nil { + return x.FddState + } + return 0 +} + +func (x *InvitedUser) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *InvitedUser) GetSex() string { + if x != nil { + return x.Sex + } + return "" +} + +func (x *InvitedUser) GetAge() int64 { + if x != nil { + return x.Age + } + return 0 +} + +func (x *InvitedUser) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *InvitedUser) GetPenName() string { + if x != nil { + return x.PenName + } + return "" +} + +func (x *InvitedUser) GetStageName() string { + if x != nil { + return x.StageName + } + return "" +} + +type GetInvitedUserListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*InvitedUser `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + Page *UserCommonPageInfo `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"` +} + +func (x *GetInvitedUserListResponse) Reset() { + *x = GetInvitedUserListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoUser_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetInvitedUserListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetInvitedUserListResponse) ProtoMessage() {} + +func (x *GetInvitedUserListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoUser_proto_msgTypes[52] + 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 GetInvitedUserListResponse.ProtoReflect.Descriptor instead. +func (*GetInvitedUserListResponse) Descriptor() ([]byte, []int) { + return file_pb_artistinfoUser_proto_rawDescGZIP(), []int{52} +} + +func (x *GetInvitedUserListResponse) GetData() []*InvitedUser { + if x != nil { + return x.Data + } + return nil +} + +func (x *GetInvitedUserListResponse) GetPage() *UserCommonPageInfo { + if x != nil { + return x.Page + } + return nil +} + var File_pb_artistinfoUser_proto protoreflect.FileDescriptor var file_pb_artistinfoUser_proto_rawDesc = []byte{ @@ -4434,152 +4783,100 @@ var file_pb_artistinfoUser_proto_rawDesc = []byte{ 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x22, 0x25, 0x0a, 0x13, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x55, - 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, - 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, - 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, - 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, - 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x12, - 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x64, 0x22, 0x9b, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x43, - 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, - 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, - 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x64, 0x4e, 0x75, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, - 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, - 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, - 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, - 0x6c, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, - 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, - 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, - 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, - 0x15, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x28, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, - 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, - 0x22, 0xf2, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x6f, 0x6e, 0x64, 0x22, 0x2b, 0x0a, 0x13, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, + 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, + 0x22, 0x8d, 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, + 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x22, 0x12, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, 0x63, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x69, + 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x9b, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, + 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, + 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, + 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x69, + 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x69, + 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, + 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x13, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, - 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, - 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, - 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, - 0x72, 0x75, 0x6c, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0xb8, 0x02, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, - 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, - 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, - 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, - 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xeb, 0x05, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, - 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, - 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, - 0x6d, 0x67, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, - 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, - 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, - 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, - 0x43, 0x61, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, - 0x6f, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, - 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, - 0x42, 0x61, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x43, 0x61, - 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, - 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x1e, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, - 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, - 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x78, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, - 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x09, 0x71, 0x72, 0x43, 0x6f, - 0x64, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x71, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6d, 0x67, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, - 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, - 0x0a, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, - 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, - 0x54, 0x79, 0x70, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, - 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, - 0x6d, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x81, 0x06, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, + 0x26, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x28, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0xf2, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, + 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, + 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x22, 0x0a, + 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x22, 0x24, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, + 0x64, 0x22, 0xb8, 0x02, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, + 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, + 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, + 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0c, + 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xeb, 0x05, 0x0a, + 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, @@ -4625,458 +4922,575 @@ var file_pb_artistinfoUser_proto_rawDesc = []byte{ 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, - 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, - 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, - 0x25, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x26, 0x0a, - 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, - 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x73, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x74, 0x0a, 0x17, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0xfb, 0x07, 0x0a, 0x23, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x52, - 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x6e, 0x65, - 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x61, 0x73, 0x73, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x10, 0x70, 0x61, 0x73, 0x73, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x73, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, - 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x20, 0x0a, - 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, - 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x69, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, - 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, - 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, - 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, - 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, - 0x61, 0x63, 0x6b, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, - 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1f, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, - 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6d, 0x0a, - 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x22, 0x2d, 0x0a, 0x0f, - 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, - 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x1f, - 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x22, - 0x21, 0x0a, 0x1f, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x64, 0x22, 0x67, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x22, 0x28, 0x0a, 0x10, 0x42, - 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb7, 0x01, 0x0a, 0x0f, 0x46, - 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, - 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, - 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, - 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x22, 0xb0, 0x02, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, - 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, - 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x22, 0x71, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x52, - 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 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, - 0x14, 0x0a, 0x05, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, - 0x0b, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, - 0x1e, 0x0a, 0x0a, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, - 0x10, 0x0a, 0x03, 0x41, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x41, 0x67, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x53, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, - 0x18, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x22, 0xe2, 0x06, 0x0a, 0x08, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x24, - 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, - 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, - 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x65, - 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, + 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3b, 0x0a, 0x11, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x13, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x81, 0x06, 0x0a, + 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, + 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x12, 0x22, + 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x43, 0x61, + 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, + 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, + 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, + 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x03, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x0d, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, + 0x6f, 0x74, 0x6f, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, - 0x52, 0x65, 0x61, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, - 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x13, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, - 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x17, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x49, 0x6d, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x18, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x74, - 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x78, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x78, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x09, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6d, + 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x29, 0x0a, 0x11, 0x71, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x49, 0x6d, 0x67, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x71, 0x72, 0x43, 0x6f, + 0x64, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x74, + 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1b, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, - 0x18, 0x1c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, - 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, - 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xf3, - 0x02, 0x0a, 0x15, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, - 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, - 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, - 0x72, 0x64, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, - 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, - 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, - 0x74, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x61, 0x43, - 0x65, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x61, 0x4a, 0x6f, 0x69, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x61, - 0x4a, 0x6f, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, - 0x53, 0x68, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, - 0x53, 0x68, 0x6f, 0x77, 0x22, 0x3b, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, - 0x64, 0x22, 0xb4, 0x06, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x16, - 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x18, + 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, + 0x22, 0x17, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x51, 0x0a, 0x15, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17, 0x0a, 0x15, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x25, 0x0a, 0x13, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x26, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, + 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x14, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, + 0xed, 0x01, 0x0a, 0x17, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x69, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x69, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, + 0x74, 0x0a, 0x17, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x43, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xfb, 0x07, 0x0a, 0x23, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x73, 0x73, 0x52, + 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0e, 0x70, 0x61, 0x73, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, + 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, + 0x10, 0x70, 0x61, 0x73, 0x73, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x70, 0x61, 0x73, 0x73, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, + 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, + 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x69, + 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, + 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, + 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x69, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x1a, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x69, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x62, + 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, + 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x61, 0x6e, 0x6b, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x61, + 0x6e, 0x6b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x21, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x75, 0x6c, 0x65, 0x72, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x6d, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, - 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, - 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, - 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, - 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, - 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, - 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, - 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, - 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, - 0x21, 0x0a, 0x0c, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, - 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, - 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, - 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, - 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6e, 0x6b, + 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, + 0x63, 0x6b, 0x22, 0x2d, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x1f, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, + 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, + 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, + 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x64, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x21, 0x0a, 0x1f, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x67, 0x0a, 0x13, 0x42, 0x69, 0x6e, 0x64, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, + 0x64, 0x22, 0x28, 0x0a, 0x10, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0xb7, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, + 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, + 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x69, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x22, 0xd6, 0x02, 0x0a, 0x10, 0x46, + 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, + 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x55, 0x69, 0x64, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x24, 0x0a, + 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x64, 0x22, 0x71, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x61, 0x6c, 0x4e, + 0x61, 0x6d, 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, 0x14, 0x0a, 0x05, 0x49, + 0x64, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x49, 0x64, 0x4e, 0x75, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x49, 0x64, 0x43, + 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x49, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x41, + 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x41, 0x67, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x53, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x53, 0x65, 0x78, 0x12, + 0x1a, 0x0a, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x02, 0x49, 0x64, 0x22, 0xa4, 0x07, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x6d, 0x67, + 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, + 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x08, + 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x61, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, + 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, + 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x74, 0x6d, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x76, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0c, + 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x18, 0x1c, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, - 0x6d, 0x65, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x79, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x32, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x70, - 0x61, 0x67, 0x65, 0x32, 0xbc, 0x0e, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, - 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, - 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x07, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, - 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, - 0x4c, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x58, 0x0a, - 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, - 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, - 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0d, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, - 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, - 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x22, 0x00, 0x12, 0x46, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1b, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x10, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, - 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, - 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, + 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x77, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x77, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x91, 0x03, 0x0a, + 0x15, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, + 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, + 0x63, 0x63, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, + 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, 0x74, 0x4e, + 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x61, 0x43, 0x65, 0x72, + 0x74, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x61, 0x61, 0x4a, 0x6f, 0x69, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x61, 0x4a, 0x6f, + 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x68, + 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x68, + 0x6f, 0x77, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x78, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x22, 0x3b, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1c, 0x0a, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x09, 0x6d, 0x67, 0x6d, 0x74, 0x41, 0x63, 0x63, 0x49, 0x64, 0x22, 0xb6, 0x07, + 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, + 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, + 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, + 0x0a, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, + 0x52, 0x65, 0x61, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, + 0x61, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x10, 0x0a, 0x03, + 0x73, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, + 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, + 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, + 0x63, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x69, 0x64, 0x63, 0x61, 0x72, 0x64, 0x46, 0x72, 0x6f, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x11, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, + 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, 0x41, 0x73, 0x73, 0x6f, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6a, 0x6f, 0x69, 0x6e, + 0x41, 0x73, 0x73, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, + 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x4e, + 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x49, 0x6d, 0x67, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x49, 0x6d, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, + 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, + 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x75, + 0x6d, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, + 0x12, 0x26, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, + 0x4c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x77, 0x78, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x77, 0x78, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x79, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, + 0x65, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x22, 0x85, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x93, 0x03, 0x0a, 0x0b, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x05, 0x61, 0x63, 0x63, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, + 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, + 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x08, 0x66, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x7d, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x50, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x32, 0xa3, + 0x0f, 0x0a, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x64, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, - 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x76, - 0x0a, 0x18, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, - 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, - 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x46, 0x69, 0x6e, 0x64, 0x55, - 0x73, 0x65, 0x72, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, - 0x65, 0x72, 0x56, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x44, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x14, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, - 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x1a, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, - 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, + 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x58, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, + 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, + 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, + 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x5e, 0x0a, + 0x10, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x46, 0x0a, + 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, + 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x6e, 0x46, 0x69, 0x6e, 0x69, + 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x6e, 0x46, 0x69, 0x6e, + 0x69, 0x73, 0x68, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, + 0x12, 0x4c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x1d, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x49, + 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x1c, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x18, 0x42, 0x69, 0x6e, + 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, + 0x69, 0x74, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x42, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, + 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x22, + 0x00, 0x12, 0x4f, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x64, 0x12, 0x1f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, + 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x42, 0x69, 0x6e, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1b, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x09, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, + 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, + 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x5a, 0x0a, 0x11, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, + 0x56, 0x69, 0x65, 0x77, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x46, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, 0x73, 0x55, 0x73, 0x65, 0x72, 0x56, 0x69, 0x65, + 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x0e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x66, 0x6f, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0x00, 0x12, 0x54, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x50, 0x72, + 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x22, 0x00, 0x12, 0x65, 0x0a, + 0x12, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x69, 0x74, + 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x42, 0x13, 0x5a, 0x11, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -5091,7 +5505,7 @@ func file_pb_artistinfoUser_proto_rawDescGZIP() []byte { return file_pb_artistinfoUser_proto_rawDescData } -var file_pb_artistinfoUser_proto_msgTypes = make([]protoimpl.MessageInfo, 50) +var file_pb_artistinfoUser_proto_msgTypes = make([]protoimpl.MessageInfo, 53) var file_pb_artistinfoUser_proto_goTypes = []interface{}{ (*CommonNoParams)(nil), // 0: artistinfo.CommonNoParams (*UserCommonPageInfo)(nil), // 1: artistinfo.UserCommonPageInfo @@ -5143,6 +5557,9 @@ var file_pb_artistinfoUser_proto_goTypes = []interface{}{ (*GetPreSaveArtistInfoRequest)(nil), // 47: artistinfo.GetPreSaveArtistInfoRequest (*UserView)(nil), // 48: artistinfo.UserView (*FindUsersUserViewResponse)(nil), // 49: artistinfo.FindUsersUserViewResponse + (*GetInvitedUserListRequest)(nil), // 50: artistinfo.GetInvitedUserListRequest + (*InvitedUser)(nil), // 51: artistinfo.InvitedUser + (*GetInvitedUserListResponse)(nil), // 52: artistinfo.GetInvitedUserListResponse } var file_pb_artistinfoUser_proto_depIdxs = []int32{ 33, // 0: artistinfo.ArtistSupplyListRespond.data:type_name -> artistinfo.ArtistArtworkSupplyListResponseData @@ -5151,55 +5568,59 @@ var file_pb_artistinfoUser_proto_depIdxs = []int32{ 44, // 3: artistinfo.UserInfo.realName:type_name -> artistinfo.RealNameInfo 48, // 4: artistinfo.FindUsersUserViewResponse.data:type_name -> artistinfo.UserView 1, // 5: artistinfo.FindUsersUserViewResponse.page:type_name -> artistinfo.UserCommonPageInfo - 14, // 6: artistinfo.ArtistInfoUser.RegisterUser:input_type -> artistinfo.RegisterUserRequest - 12, // 7: artistinfo.ArtistInfoUser.UpdateIdCard:input_type -> artistinfo.UpdateIdCardRequest - 16, // 8: artistinfo.ArtistInfoUser.GetUser:input_type -> artistinfo.GetUserRequest - 18, // 9: artistinfo.ArtistInfoUser.GetUserById:input_type -> artistinfo.GetUserByIdRequest - 21, // 10: artistinfo.ArtistInfoUser.CreateUser:input_type -> artistinfo.CreateUserRequest - 23, // 11: artistinfo.ArtistInfoUser.CreateUserInfo:input_type -> artistinfo.CreateUserInfoRequest - 27, // 12: artistinfo.ArtistInfoUser.FinishVerify:input_type -> artistinfo.FinishVerifyRequest - 29, // 13: artistinfo.ArtistInfoUser.CheckUserLock:input_type -> artistinfo.CheckUserLockRequest - 31, // 14: artistinfo.ArtistInfoUser.ArtistSupplyList:input_type -> artistinfo.ArtistSupplyListRequest - 34, // 15: artistinfo.ArtistInfoUser.UserLock:input_type -> artistinfo.UserLockRequest - 6, // 16: artistinfo.ArtistInfoUser.CheckInvitedCode:input_type -> artistinfo.CheckInvitedCodeRequest - 8, // 17: artistinfo.ArtistInfoUser.UnFinishList:input_type -> artistinfo.UnFinishListRequest - 4, // 18: artistinfo.ArtistInfoUser.GetUserMsg:input_type -> artistinfo.GetUserMsgRequest - 2, // 19: artistinfo.ArtistInfoUser.UpdateMsg:input_type -> artistinfo.UpdateMsgRequest - 36, // 20: artistinfo.ArtistInfoUser.BindInviteInvitedAccount:input_type -> artistinfo.BindInviteInvitedAccountRequest - 38, // 21: artistinfo.ArtistInfoUser.BindArtistId:input_type -> artistinfo.BindArtistIdRequest - 41, // 22: artistinfo.ArtistInfoUser.FindUser:input_type -> artistinfo.FindUserRequest - 42, // 23: artistinfo.ArtistInfoUser.FindUsers:input_type -> artistinfo.FindUsersRequest - 42, // 24: artistinfo.ArtistInfoUser.FindUsersUserView:input_type -> artistinfo.FindUsersRequest - 45, // 25: artistinfo.ArtistInfoUser.UpdateUserData:input_type -> artistinfo.UserInfo - 46, // 26: artistinfo.ArtistInfoUser.PreSaveArtistInfo:input_type -> artistinfo.PreSaveArtistInfoData - 47, // 27: artistinfo.ArtistInfoUser.GetPreSaveArtistInfo:input_type -> artistinfo.GetPreSaveArtistInfoRequest - 15, // 28: artistinfo.ArtistInfoUser.RegisterUser:output_type -> artistinfo.RegisterUserRespond - 0, // 29: artistinfo.ArtistInfoUser.UpdateIdCard:output_type -> artistinfo.CommonNoParams - 17, // 30: artistinfo.ArtistInfoUser.GetUser:output_type -> artistinfo.GetUserRespond - 19, // 31: artistinfo.ArtistInfoUser.GetUserById:output_type -> artistinfo.GetUserByIdRespond - 22, // 32: artistinfo.ArtistInfoUser.CreateUser:output_type -> artistinfo.CreateUserRespond - 24, // 33: artistinfo.ArtistInfoUser.CreateUserInfo:output_type -> artistinfo.CreateUserInfoRespond - 28, // 34: artistinfo.ArtistInfoUser.FinishVerify:output_type -> artistinfo.FinishVerifyRespond - 30, // 35: artistinfo.ArtistInfoUser.CheckUserLock:output_type -> artistinfo.CheckUserLockRespond - 32, // 36: artistinfo.ArtistInfoUser.ArtistSupplyList:output_type -> artistinfo.ArtistSupplyListRespond - 35, // 37: artistinfo.ArtistInfoUser.UserLock:output_type -> artistinfo.UserLockRespond - 17, // 38: artistinfo.ArtistInfoUser.CheckInvitedCode:output_type -> artistinfo.GetUserRespond - 9, // 39: artistinfo.ArtistInfoUser.UnFinishList:output_type -> artistinfo.UnFinishListRespond - 5, // 40: artistinfo.ArtistInfoUser.GetUserMsg:output_type -> artistinfo.GetUserMsgRespond - 3, // 41: artistinfo.ArtistInfoUser.UpdateMsg:output_type -> artistinfo.UpdateMsgRespond - 37, // 42: artistinfo.ArtistInfoUser.BindInviteInvitedAccount:output_type -> artistinfo.BindInviteInvitedAccountRespond - 39, // 43: artistinfo.ArtistInfoUser.BindArtistId:output_type -> artistinfo.BindArtistIdResp - 45, // 44: artistinfo.ArtistInfoUser.FindUser:output_type -> artistinfo.UserInfo - 43, // 45: artistinfo.ArtistInfoUser.FindUsers:output_type -> artistinfo.FindUsersResponse - 49, // 46: artistinfo.ArtistInfoUser.FindUsersUserView:output_type -> artistinfo.FindUsersUserViewResponse - 0, // 47: artistinfo.ArtistInfoUser.UpdateUserData:output_type -> artistinfo.CommonNoParams - 0, // 48: artistinfo.ArtistInfoUser.PreSaveArtistInfo:output_type -> artistinfo.CommonNoParams - 46, // 49: artistinfo.ArtistInfoUser.GetPreSaveArtistInfo:output_type -> artistinfo.PreSaveArtistInfoData - 28, // [28:50] is the sub-list for method output_type - 6, // [6:28] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 51, // 6: artistinfo.GetInvitedUserListResponse.data:type_name -> artistinfo.InvitedUser + 1, // 7: artistinfo.GetInvitedUserListResponse.page:type_name -> artistinfo.UserCommonPageInfo + 14, // 8: artistinfo.ArtistInfoUser.RegisterUser:input_type -> artistinfo.RegisterUserRequest + 12, // 9: artistinfo.ArtistInfoUser.UpdateIdCard:input_type -> artistinfo.UpdateIdCardRequest + 16, // 10: artistinfo.ArtistInfoUser.GetUser:input_type -> artistinfo.GetUserRequest + 18, // 11: artistinfo.ArtistInfoUser.GetUserById:input_type -> artistinfo.GetUserByIdRequest + 21, // 12: artistinfo.ArtistInfoUser.CreateUser:input_type -> artistinfo.CreateUserRequest + 23, // 13: artistinfo.ArtistInfoUser.CreateUserInfo:input_type -> artistinfo.CreateUserInfoRequest + 27, // 14: artistinfo.ArtistInfoUser.FinishVerify:input_type -> artistinfo.FinishVerifyRequest + 29, // 15: artistinfo.ArtistInfoUser.CheckUserLock:input_type -> artistinfo.CheckUserLockRequest + 31, // 16: artistinfo.ArtistInfoUser.ArtistSupplyList:input_type -> artistinfo.ArtistSupplyListRequest + 34, // 17: artistinfo.ArtistInfoUser.UserLock:input_type -> artistinfo.UserLockRequest + 6, // 18: artistinfo.ArtistInfoUser.CheckInvitedCode:input_type -> artistinfo.CheckInvitedCodeRequest + 8, // 19: artistinfo.ArtistInfoUser.UnFinishList:input_type -> artistinfo.UnFinishListRequest + 4, // 20: artistinfo.ArtistInfoUser.GetUserMsg:input_type -> artistinfo.GetUserMsgRequest + 2, // 21: artistinfo.ArtistInfoUser.UpdateMsg:input_type -> artistinfo.UpdateMsgRequest + 36, // 22: artistinfo.ArtistInfoUser.BindInviteInvitedAccount:input_type -> artistinfo.BindInviteInvitedAccountRequest + 38, // 23: artistinfo.ArtistInfoUser.BindArtistId:input_type -> artistinfo.BindArtistIdRequest + 41, // 24: artistinfo.ArtistInfoUser.FindUser:input_type -> artistinfo.FindUserRequest + 42, // 25: artistinfo.ArtistInfoUser.FindUsers:input_type -> artistinfo.FindUsersRequest + 42, // 26: artistinfo.ArtistInfoUser.FindUsersUserView:input_type -> artistinfo.FindUsersRequest + 45, // 27: artistinfo.ArtistInfoUser.UpdateUserData:input_type -> artistinfo.UserInfo + 46, // 28: artistinfo.ArtistInfoUser.PreSaveArtistInfo:input_type -> artistinfo.PreSaveArtistInfoData + 47, // 29: artistinfo.ArtistInfoUser.GetPreSaveArtistInfo:input_type -> artistinfo.GetPreSaveArtistInfoRequest + 50, // 30: artistinfo.ArtistInfoUser.GetInvitedUserList:input_type -> artistinfo.GetInvitedUserListRequest + 15, // 31: artistinfo.ArtistInfoUser.RegisterUser:output_type -> artistinfo.RegisterUserRespond + 0, // 32: artistinfo.ArtistInfoUser.UpdateIdCard:output_type -> artistinfo.CommonNoParams + 17, // 33: artistinfo.ArtistInfoUser.GetUser:output_type -> artistinfo.GetUserRespond + 19, // 34: artistinfo.ArtistInfoUser.GetUserById:output_type -> artistinfo.GetUserByIdRespond + 22, // 35: artistinfo.ArtistInfoUser.CreateUser:output_type -> artistinfo.CreateUserRespond + 24, // 36: artistinfo.ArtistInfoUser.CreateUserInfo:output_type -> artistinfo.CreateUserInfoRespond + 28, // 37: artistinfo.ArtistInfoUser.FinishVerify:output_type -> artistinfo.FinishVerifyRespond + 30, // 38: artistinfo.ArtistInfoUser.CheckUserLock:output_type -> artistinfo.CheckUserLockRespond + 32, // 39: artistinfo.ArtistInfoUser.ArtistSupplyList:output_type -> artistinfo.ArtistSupplyListRespond + 35, // 40: artistinfo.ArtistInfoUser.UserLock:output_type -> artistinfo.UserLockRespond + 17, // 41: artistinfo.ArtistInfoUser.CheckInvitedCode:output_type -> artistinfo.GetUserRespond + 9, // 42: artistinfo.ArtistInfoUser.UnFinishList:output_type -> artistinfo.UnFinishListRespond + 5, // 43: artistinfo.ArtistInfoUser.GetUserMsg:output_type -> artistinfo.GetUserMsgRespond + 3, // 44: artistinfo.ArtistInfoUser.UpdateMsg:output_type -> artistinfo.UpdateMsgRespond + 37, // 45: artistinfo.ArtistInfoUser.BindInviteInvitedAccount:output_type -> artistinfo.BindInviteInvitedAccountRespond + 39, // 46: artistinfo.ArtistInfoUser.BindArtistId:output_type -> artistinfo.BindArtistIdResp + 45, // 47: artistinfo.ArtistInfoUser.FindUser:output_type -> artistinfo.UserInfo + 43, // 48: artistinfo.ArtistInfoUser.FindUsers:output_type -> artistinfo.FindUsersResponse + 49, // 49: artistinfo.ArtistInfoUser.FindUsersUserView:output_type -> artistinfo.FindUsersUserViewResponse + 0, // 50: artistinfo.ArtistInfoUser.UpdateUserData:output_type -> artistinfo.CommonNoParams + 0, // 51: artistinfo.ArtistInfoUser.PreSaveArtistInfo:output_type -> artistinfo.CommonNoParams + 46, // 52: artistinfo.ArtistInfoUser.GetPreSaveArtistInfo:output_type -> artistinfo.PreSaveArtistInfoData + 52, // 53: artistinfo.ArtistInfoUser.GetInvitedUserList:output_type -> artistinfo.GetInvitedUserListResponse + 31, // [31:54] is the sub-list for method output_type + 8, // [8:31] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_pb_artistinfoUser_proto_init() } @@ -5808,6 +6229,42 @@ func file_pb_artistinfoUser_proto_init() { return nil } } + file_pb_artistinfoUser_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetInvitedUserListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoUser_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InvitedUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoUser_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetInvitedUserListResponse); 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{ @@ -5815,7 +6272,7 @@ func file_pb_artistinfoUser_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_artistinfoUser_proto_rawDesc, NumEnums: 0, - NumMessages: 50, + NumMessages: 53, NumExtensions: 0, NumServices: 1, }, diff --git a/pb/artistInfoUser/artistinfoUser_triple.pb.go b/pb/artistInfoUser/artistinfoUser_triple.pb.go index 1ddf790..f9c7229 100644 --- a/pb/artistInfoUser/artistinfoUser_triple.pb.go +++ b/pb/artistInfoUser/artistinfoUser_triple.pb.go @@ -52,6 +52,7 @@ type ArtistInfoUserClient interface { UpdateUserData(ctx context.Context, in *UserInfo, opts ...grpc_go.CallOption) (*CommonNoParams, common.ErrorWithAttachment) PreSaveArtistInfo(ctx context.Context, in *PreSaveArtistInfoData, opts ...grpc_go.CallOption) (*CommonNoParams, common.ErrorWithAttachment) GetPreSaveArtistInfo(ctx context.Context, in *GetPreSaveArtistInfoRequest, opts ...grpc_go.CallOption) (*PreSaveArtistInfoData, common.ErrorWithAttachment) + GetInvitedUserList(ctx context.Context, in *GetInvitedUserListRequest, opts ...grpc_go.CallOption) (*GetInvitedUserListResponse, common.ErrorWithAttachment) } type artistInfoUserClient struct { @@ -81,6 +82,7 @@ type ArtistInfoUserClientImpl struct { UpdateUserData func(ctx context.Context, in *UserInfo) (*CommonNoParams, error) PreSaveArtistInfo func(ctx context.Context, in *PreSaveArtistInfoData) (*CommonNoParams, error) GetPreSaveArtistInfo func(ctx context.Context, in *GetPreSaveArtistInfoRequest) (*PreSaveArtistInfoData, error) + GetInvitedUserList func(ctx context.Context, in *GetInvitedUserListRequest) (*GetInvitedUserListResponse, error) } func (c *ArtistInfoUserClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistInfoUserClient { @@ -227,6 +229,12 @@ func (c *artistInfoUserClient) GetPreSaveArtistInfo(ctx context.Context, in *Get return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPreSaveArtistInfo", in, out) } +func (c *artistInfoUserClient) GetInvitedUserList(ctx context.Context, in *GetInvitedUserListRequest, opts ...grpc_go.CallOption) (*GetInvitedUserListResponse, common.ErrorWithAttachment) { + out := new(GetInvitedUserListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetInvitedUserList", in, out) +} + // ArtistInfoUserServer is the server API for ArtistInfoUser service. // All implementations must embed UnimplementedArtistInfoUserServer // for forward compatibility @@ -255,6 +263,7 @@ type ArtistInfoUserServer interface { UpdateUserData(context.Context, *UserInfo) (*CommonNoParams, error) PreSaveArtistInfo(context.Context, *PreSaveArtistInfoData) (*CommonNoParams, error) GetPreSaveArtistInfo(context.Context, *GetPreSaveArtistInfoRequest) (*PreSaveArtistInfoData, error) + GetInvitedUserList(context.Context, *GetInvitedUserListRequest) (*GetInvitedUserListResponse, error) mustEmbedUnimplementedArtistInfoUserServer() } @@ -329,6 +338,9 @@ func (UnimplementedArtistInfoUserServer) PreSaveArtistInfo(context.Context, *Pre func (UnimplementedArtistInfoUserServer) GetPreSaveArtistInfo(context.Context, *GetPreSaveArtistInfoRequest) (*PreSaveArtistInfoData, error) { return nil, status.Errorf(codes.Unimplemented, "method GetPreSaveArtistInfo not implemented") } +func (UnimplementedArtistInfoUserServer) GetInvitedUserList(context.Context, *GetInvitedUserListRequest) (*GetInvitedUserListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetInvitedUserList not implemented") +} func (s *UnimplementedArtistInfoUserServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -995,6 +1007,35 @@ func _ArtistInfoUser_GetPreSaveArtistInfo_Handler(srv interface{}, ctx context.C return interceptor(ctx, in, info, handler) } +func _ArtistInfoUser_GetInvitedUserList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetInvitedUserListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetInvitedUserList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + // ArtistInfoUser_ServiceDesc is the grpc_go.ServiceDesc for ArtistInfoUser service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1090,6 +1131,10 @@ var ArtistInfoUser_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "GetPreSaveArtistInfo", Handler: _ArtistInfoUser_GetPreSaveArtistInfo_Handler, }, + { + MethodName: "GetInvitedUserList", + Handler: _ArtistInfoUser_GetInvitedUserList_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "pb/artistinfoUser.proto", diff --git a/pb/artistinfoArtshow.proto b/pb/artistinfoArtshow.proto index e604937..3e95e9f 100644 --- a/pb/artistinfoArtshow.proto +++ b/pb/artistinfoArtshow.proto @@ -18,6 +18,7 @@ service ArtistInfoArtshow { rpc DeletedArtshowVideo(DeletedArtshowVideoRequest)returns(google.protobuf.Empty){} //删除画展视频 // rpc CheckeExists(CheckeExistsRequest)returns(google.protobuf.Empty){} //删除画展视频 // rpc GetArtistListOfVideo(ArtistListRequest)returns(){}//获取后台画家指数审批的画家列表 + rpc GetArtshowHistroyList(GetArtshowHistroyListRequest)returns(GetArtshowHistroyListResponse){}//获取画展补充信息的历史记录(按锁定时间端分组) //画家指数 rpc GetArtistIndexDetail(GetArtistIndexDetailRequest)returns(ArtistIndexInfo){} //获取视频详情 @@ -122,7 +123,7 @@ message ArtistIndexInfo{ string artistUid=1; string title=2; string class=3; - int64 titleScore=4; + float titleScore=4; string score=5; string types=6; int64 status=7; @@ -131,8 +132,8 @@ message ArtistIndexInfo{ string auditMark2=10; int64 auditStatus=11; int64 id=12; - int64 createdAt=13; - int64 updatedAt=14; + string createdAt=13; + string updatedAt=14; int64 deletedAt=15; bool editable=16; } @@ -166,7 +167,7 @@ message AuditArtistIndexRequest{ } message UpdateArtistIndexRequest{ int64 id=12; - int64 titleScore=4; + float titleScore=4; string score=5; int64 status=7; } @@ -192,8 +193,8 @@ message ArtistSupplementInfo{ string BankNum=11; string BankName=12; int64 id=13; - int64 createdAt=14; - int64 updatedAt=15; + string createdAt=14; + string updatedAt=15; int64 deletedAt=16; bool editable=17;//是否用户可编辑 } @@ -237,4 +238,104 @@ message UpdateArtistSupplementRequest{ message DeletedArtistSupplementRequest{ int64 Id=1; //单个删除 repeated int64 Ids =2; //批量删除 +} + +message GetArtshowHistroyListRequest{ + int64 page =1; + int64 pageSize=2; + string artistUid=3; + int64 auditStatus=4; +} +// 历史记录查询 +message artworkSupplementData{ + string artistUid=1; + int64 status=2; + string lockTime=3; + int64 auditStatus=4; + string auditMark1=5; + string auditMark2=6; + string artworkName=7; + string createdDate=8; + string createdAddress=9; + string createdAt=14; + string updatedAt=15; + int64 deletedAt=16; + string ArtworkUuid=17; +// string ArtistName=18; + int32 Length=19; + int32 Width=20; + int32 Ruler=21; +// string InscribeDate=22; +// string Abstract=23; + string HdPic=24; + string ArtistPhoto=25; +// float PriceRun=26; +// string FirstPublish=27; +// bool IsFirstPublish=34; + // 画作荣誉 +// string ArtistMarketDetail=28; +// string ArtistMarketUrl1=29; +// string ArtistMarketUrl2=30; +// string ArtistMarketId1=31; +// string ArtistMarketId2=32; +// string ArtistMarketId3=33; +} + +message artistSupplementData{ + string artistUid=1; + int64 status=2; + string lockTime=3; + int64 auditStatus=4; + string auditMark1=5; + string auditMark2=6; + string artistName=7; + string artistProfile=8; + int64 countryArtLevel=9; + string artistCertPic=10; + string bankNum=11; + string bankName=12; + int64 id=13; + string createdAt=14; + string updatedAt=15; + string deletedAt=16; + +} +message artistIndexData{ + string artistUid=1; + string title=2; + string class=3; + float titleScore=4; + string score=5; + string types=6; + int64 status=7; + string lockTime=8; + string auditMark1=9; + string auditMark2=10; + int64 auditStatus=11; + int64 id=12; + string createdAt=13; + string updatedAt=14; + string deletedAt=15; + +} +message artistVideoData{ + int64 id =1; + string artistUid =2; + string lockTime =3; + string videoUrl =4; + int64 auditStatus =5; + string auditMark1 =6; + string auditMark2 =7; + string artistName =8; +} +message timeGroup { + string time =1; + repeated artworkSupplementData artworkSupplementList =2; + repeated artistSupplementData artistSupplementList =3; + repeated artistIndexData artistIndexList =4; + repeated artistVideoData artistVideoList =5; +} +message GetArtshowHistroyListResponse{ + videoPagination page=1; + repeated timeGroup Data =2; } \ No newline at end of file diff --git a/pb/artistinfoArtshow/artistinfoArtshow.pb.go b/pb/artistinfoArtshow/artistinfoArtshow.pb.go index 8584cf2..acc1169 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow.pb.go +++ b/pb/artistinfoArtshow/artistinfoArtshow.pb.go @@ -861,22 +861,22 @@ type ArtistIndexInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` - Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` - Class string `protobuf:"bytes,3,opt,name=class,proto3" json:"class,omitempty"` - TitleScore int64 `protobuf:"varint,4,opt,name=titleScore,proto3" json:"titleScore,omitempty"` - Score string `protobuf:"bytes,5,opt,name=score,proto3" json:"score,omitempty"` - Types string `protobuf:"bytes,6,opt,name=types,proto3" json:"types,omitempty"` - Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` - LockTime string `protobuf:"bytes,8,opt,name=lockTime,proto3" json:"lockTime,omitempty"` - AuditMark1 string `protobuf:"bytes,9,opt,name=auditMark1,proto3" json:"auditMark1,omitempty"` - AuditMark2 string `protobuf:"bytes,10,opt,name=auditMark2,proto3" json:"auditMark2,omitempty"` - AuditStatus int64 `protobuf:"varint,11,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` - Id int64 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"` - CreatedAt int64 `protobuf:"varint,13,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - UpdatedAt int64 `protobuf:"varint,14,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` - DeletedAt int64 `protobuf:"varint,15,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` - Editable bool `protobuf:"varint,16,opt,name=editable,proto3" json:"editable,omitempty"` + ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + Class string `protobuf:"bytes,3,opt,name=class,proto3" json:"class,omitempty"` + TitleScore float32 `protobuf:"fixed32,4,opt,name=titleScore,proto3" json:"titleScore,omitempty"` + Score string `protobuf:"bytes,5,opt,name=score,proto3" json:"score,omitempty"` + Types string `protobuf:"bytes,6,opt,name=types,proto3" json:"types,omitempty"` + Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` + LockTime string `protobuf:"bytes,8,opt,name=lockTime,proto3" json:"lockTime,omitempty"` + AuditMark1 string `protobuf:"bytes,9,opt,name=auditMark1,proto3" json:"auditMark1,omitempty"` + AuditMark2 string `protobuf:"bytes,10,opt,name=auditMark2,proto3" json:"auditMark2,omitempty"` + AuditStatus int64 `protobuf:"varint,11,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + Id int64 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt string `protobuf:"bytes,13,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt string `protobuf:"bytes,14,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt int64 `protobuf:"varint,15,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` + Editable bool `protobuf:"varint,16,opt,name=editable,proto3" json:"editable,omitempty"` } func (x *ArtistIndexInfo) Reset() { @@ -932,7 +932,7 @@ func (x *ArtistIndexInfo) GetClass() string { return "" } -func (x *ArtistIndexInfo) GetTitleScore() int64 { +func (x *ArtistIndexInfo) GetTitleScore() float32 { if x != nil { return x.TitleScore } @@ -995,18 +995,18 @@ func (x *ArtistIndexInfo) GetId() int64 { return 0 } -func (x *ArtistIndexInfo) GetCreatedAt() int64 { +func (x *ArtistIndexInfo) GetCreatedAt() string { if x != nil { return x.CreatedAt } - return 0 + return "" } -func (x *ArtistIndexInfo) GetUpdatedAt() int64 { +func (x *ArtistIndexInfo) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } - return 0 + return "" } func (x *ArtistIndexInfo) GetDeletedAt() int64 { @@ -1343,10 +1343,10 @@ type UpdateArtistIndexRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int64 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"` - TitleScore int64 `protobuf:"varint,4,opt,name=titleScore,proto3" json:"titleScore,omitempty"` - Score string `protobuf:"bytes,5,opt,name=score,proto3" json:"score,omitempty"` - Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` + Id int64 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"` + TitleScore float32 `protobuf:"fixed32,4,opt,name=titleScore,proto3" json:"titleScore,omitempty"` + Score string `protobuf:"bytes,5,opt,name=score,proto3" json:"score,omitempty"` + Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` } func (x *UpdateArtistIndexRequest) Reset() { @@ -1388,7 +1388,7 @@ func (x *UpdateArtistIndexRequest) GetId() int64 { return 0 } -func (x *UpdateArtistIndexRequest) GetTitleScore() int64 { +func (x *UpdateArtistIndexRequest) GetTitleScore() float32 { if x != nil { return x.TitleScore } @@ -1483,8 +1483,8 @@ type ArtistSupplementInfo struct { BankNum string `protobuf:"bytes,11,opt,name=BankNum,proto3" json:"BankNum,omitempty"` BankName string `protobuf:"bytes,12,opt,name=BankName,proto3" json:"BankName,omitempty"` Id int64 `protobuf:"varint,13,opt,name=id,proto3" json:"id,omitempty"` - CreatedAt int64 `protobuf:"varint,14,opt,name=createdAt,proto3" json:"createdAt,omitempty"` - UpdatedAt int64 `protobuf:"varint,15,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + CreatedAt string `protobuf:"bytes,14,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt string `protobuf:"bytes,15,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` DeletedAt int64 `protobuf:"varint,16,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` Editable bool `protobuf:"varint,17,opt,name=editable,proto3" json:"editable,omitempty"` //是否用户可编辑 } @@ -1612,18 +1612,18 @@ func (x *ArtistSupplementInfo) GetId() int64 { return 0 } -func (x *ArtistSupplementInfo) GetCreatedAt() int64 { +func (x *ArtistSupplementInfo) GetCreatedAt() string { if x != nil { return x.CreatedAt } - return 0 + return "" } -func (x *ArtistSupplementInfo) GetUpdatedAt() int64 { +func (x *ArtistSupplementInfo) GetUpdatedAt() string { if x != nil { return x.UpdatedAt } - return 0 + return "" } func (x *ArtistSupplementInfo) GetDeletedAt() int64 { @@ -2097,6 +2097,827 @@ func (x *DeletedArtistSupplementRequest) GetIds() []int64 { return nil } +type GetArtshowHistroyListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + PageSize int64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + ArtistUid string `protobuf:"bytes,3,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + AuditStatus int64 `protobuf:"varint,4,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` +} + +func (x *GetArtshowHistroyListRequest) Reset() { + *x = GetArtshowHistroyListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtshowHistroyListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtshowHistroyListRequest) ProtoMessage() {} + +func (x *GetArtshowHistroyListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtshowHistroyListRequest.ProtoReflect.Descriptor instead. +func (*GetArtshowHistroyListRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{27} +} + +func (x *GetArtshowHistroyListRequest) GetPage() int64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetArtshowHistroyListRequest) GetPageSize() int64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetArtshowHistroyListRequest) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *GetArtshowHistroyListRequest) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +// 历史记录查询 +type ArtworkSupplementData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + Status int64 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` + LockTime string `protobuf:"bytes,3,opt,name=lockTime,proto3" json:"lockTime,omitempty"` + AuditStatus int64 `protobuf:"varint,4,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + AuditMark1 string `protobuf:"bytes,5,opt,name=auditMark1,proto3" json:"auditMark1,omitempty"` + AuditMark2 string `protobuf:"bytes,6,opt,name=auditMark2,proto3" json:"auditMark2,omitempty"` + ArtworkName string `protobuf:"bytes,7,opt,name=artworkName,proto3" json:"artworkName,omitempty"` + CreatedDate string `protobuf:"bytes,8,opt,name=createdDate,proto3" json:"createdDate,omitempty"` + CreatedAddress string `protobuf:"bytes,9,opt,name=createdAddress,proto3" json:"createdAddress,omitempty"` + CreatedAt string `protobuf:"bytes,14,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt string `protobuf:"bytes,15,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt int64 `protobuf:"varint,16,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` + ArtworkUuid string `protobuf:"bytes,17,opt,name=ArtworkUuid,proto3" json:"ArtworkUuid,omitempty"` + // string ArtistName=18; + Length int32 `protobuf:"varint,19,opt,name=Length,proto3" json:"Length,omitempty"` + Width int32 `protobuf:"varint,20,opt,name=Width,proto3" json:"Width,omitempty"` + Ruler int32 `protobuf:"varint,21,opt,name=Ruler,proto3" json:"Ruler,omitempty"` + // string InscribeDate=22; + // string Abstract=23; + HdPic string `protobuf:"bytes,24,opt,name=HdPic,proto3" json:"HdPic,omitempty"` + ArtistPhoto string `protobuf:"bytes,25,opt,name=ArtistPhoto,proto3" json:"ArtistPhoto,omitempty"` +} + +func (x *ArtworkSupplementData) Reset() { + *x = ArtworkSupplementData{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtworkSupplementData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtworkSupplementData) ProtoMessage() {} + +func (x *ArtworkSupplementData) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtworkSupplementData.ProtoReflect.Descriptor instead. +func (*ArtworkSupplementData) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{28} +} + +func (x *ArtworkSupplementData) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *ArtworkSupplementData) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ArtworkSupplementData) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *ArtworkSupplementData) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *ArtworkSupplementData) GetAuditMark1() string { + if x != nil { + return x.AuditMark1 + } + return "" +} + +func (x *ArtworkSupplementData) GetAuditMark2() string { + if x != nil { + return x.AuditMark2 + } + return "" +} + +func (x *ArtworkSupplementData) GetArtworkName() string { + if x != nil { + return x.ArtworkName + } + return "" +} + +func (x *ArtworkSupplementData) GetCreatedDate() string { + if x != nil { + return x.CreatedDate + } + return "" +} + +func (x *ArtworkSupplementData) GetCreatedAddress() string { + if x != nil { + return x.CreatedAddress + } + return "" +} + +func (x *ArtworkSupplementData) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *ArtworkSupplementData) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *ArtworkSupplementData) GetDeletedAt() int64 { + if x != nil { + return x.DeletedAt + } + return 0 +} + +func (x *ArtworkSupplementData) GetArtworkUuid() string { + if x != nil { + return x.ArtworkUuid + } + return "" +} + +func (x *ArtworkSupplementData) GetLength() int32 { + if x != nil { + return x.Length + } + return 0 +} + +func (x *ArtworkSupplementData) GetWidth() int32 { + if x != nil { + return x.Width + } + return 0 +} + +func (x *ArtworkSupplementData) GetRuler() int32 { + if x != nil { + return x.Ruler + } + return 0 +} + +func (x *ArtworkSupplementData) GetHdPic() string { + if x != nil { + return x.HdPic + } + return "" +} + +func (x *ArtworkSupplementData) GetArtistPhoto() string { + if x != nil { + return x.ArtistPhoto + } + return "" +} + +type ArtistSupplementData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + Status int64 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` + LockTime string `protobuf:"bytes,3,opt,name=lockTime,proto3" json:"lockTime,omitempty"` + AuditStatus int64 `protobuf:"varint,4,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + AuditMark1 string `protobuf:"bytes,5,opt,name=auditMark1,proto3" json:"auditMark1,omitempty"` + AuditMark2 string `protobuf:"bytes,6,opt,name=auditMark2,proto3" json:"auditMark2,omitempty"` + ArtistName string `protobuf:"bytes,7,opt,name=artistName,proto3" json:"artistName,omitempty"` + ArtistProfile string `protobuf:"bytes,8,opt,name=artistProfile,proto3" json:"artistProfile,omitempty"` + CountryArtLevel int64 `protobuf:"varint,9,opt,name=countryArtLevel,proto3" json:"countryArtLevel,omitempty"` + ArtistCertPic string `protobuf:"bytes,10,opt,name=artistCertPic,proto3" json:"artistCertPic,omitempty"` + BankNum string `protobuf:"bytes,11,opt,name=bankNum,proto3" json:"bankNum,omitempty"` + BankName string `protobuf:"bytes,12,opt,name=bankName,proto3" json:"bankName,omitempty"` + Id int64 `protobuf:"varint,13,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt string `protobuf:"bytes,14,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt string `protobuf:"bytes,15,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt string `protobuf:"bytes,16,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` +} + +func (x *ArtistSupplementData) Reset() { + *x = ArtistSupplementData{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistSupplementData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistSupplementData) ProtoMessage() {} + +func (x *ArtistSupplementData) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistSupplementData.ProtoReflect.Descriptor instead. +func (*ArtistSupplementData) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{29} +} + +func (x *ArtistSupplementData) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *ArtistSupplementData) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ArtistSupplementData) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *ArtistSupplementData) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *ArtistSupplementData) GetAuditMark1() string { + if x != nil { + return x.AuditMark1 + } + return "" +} + +func (x *ArtistSupplementData) GetAuditMark2() string { + if x != nil { + return x.AuditMark2 + } + return "" +} + +func (x *ArtistSupplementData) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +func (x *ArtistSupplementData) GetArtistProfile() string { + if x != nil { + return x.ArtistProfile + } + return "" +} + +func (x *ArtistSupplementData) GetCountryArtLevel() int64 { + if x != nil { + return x.CountryArtLevel + } + return 0 +} + +func (x *ArtistSupplementData) GetArtistCertPic() string { + if x != nil { + return x.ArtistCertPic + } + return "" +} + +func (x *ArtistSupplementData) GetBankNum() string { + if x != nil { + return x.BankNum + } + return "" +} + +func (x *ArtistSupplementData) GetBankName() string { + if x != nil { + return x.BankName + } + return "" +} + +func (x *ArtistSupplementData) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ArtistSupplementData) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *ArtistSupplementData) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *ArtistSupplementData) GetDeletedAt() string { + if x != nil { + return x.DeletedAt + } + return "" +} + +type ArtistIndexData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + Class string `protobuf:"bytes,3,opt,name=class,proto3" json:"class,omitempty"` + TitleScore float32 `protobuf:"fixed32,4,opt,name=titleScore,proto3" json:"titleScore,omitempty"` + Score string `protobuf:"bytes,5,opt,name=score,proto3" json:"score,omitempty"` + Types string `protobuf:"bytes,6,opt,name=types,proto3" json:"types,omitempty"` + Status int64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` + LockTime string `protobuf:"bytes,8,opt,name=lockTime,proto3" json:"lockTime,omitempty"` + AuditMark1 string `protobuf:"bytes,9,opt,name=auditMark1,proto3" json:"auditMark1,omitempty"` + AuditMark2 string `protobuf:"bytes,10,opt,name=auditMark2,proto3" json:"auditMark2,omitempty"` + AuditStatus int64 `protobuf:"varint,11,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + Id int64 `protobuf:"varint,12,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt string `protobuf:"bytes,13,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt string `protobuf:"bytes,14,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt string `protobuf:"bytes,15,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` +} + +func (x *ArtistIndexData) Reset() { + *x = ArtistIndexData{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistIndexData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistIndexData) ProtoMessage() {} + +func (x *ArtistIndexData) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistIndexData.ProtoReflect.Descriptor instead. +func (*ArtistIndexData) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{30} +} + +func (x *ArtistIndexData) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *ArtistIndexData) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ArtistIndexData) GetClass() string { + if x != nil { + return x.Class + } + return "" +} + +func (x *ArtistIndexData) GetTitleScore() float32 { + if x != nil { + return x.TitleScore + } + return 0 +} + +func (x *ArtistIndexData) GetScore() string { + if x != nil { + return x.Score + } + return "" +} + +func (x *ArtistIndexData) GetTypes() string { + if x != nil { + return x.Types + } + return "" +} + +func (x *ArtistIndexData) GetStatus() int64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ArtistIndexData) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *ArtistIndexData) GetAuditMark1() string { + if x != nil { + return x.AuditMark1 + } + return "" +} + +func (x *ArtistIndexData) GetAuditMark2() string { + if x != nil { + return x.AuditMark2 + } + return "" +} + +func (x *ArtistIndexData) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *ArtistIndexData) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ArtistIndexData) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *ArtistIndexData) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *ArtistIndexData) GetDeletedAt() string { + if x != nil { + return x.DeletedAt + } + return "" +} + +type ArtistVideoData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + ArtistUid string `protobuf:"bytes,2,opt,name=artistUid,proto3" json:"artistUid,omitempty"` + LockTime string `protobuf:"bytes,3,opt,name=lockTime,proto3" json:"lockTime,omitempty"` + VideoUrl string `protobuf:"bytes,4,opt,name=videoUrl,proto3" json:"videoUrl,omitempty"` + AuditStatus int64 `protobuf:"varint,5,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + AuditMark1 string `protobuf:"bytes,6,opt,name=auditMark1,proto3" json:"auditMark1,omitempty"` + AuditMark2 string `protobuf:"bytes,7,opt,name=auditMark2,proto3" json:"auditMark2,omitempty"` + ArtistName string `protobuf:"bytes,8,opt,name=artistName,proto3" json:"artistName,omitempty"` +} + +func (x *ArtistVideoData) Reset() { + *x = ArtistVideoData{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtistVideoData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtistVideoData) ProtoMessage() {} + +func (x *ArtistVideoData) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtistVideoData.ProtoReflect.Descriptor instead. +func (*ArtistVideoData) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{31} +} + +func (x *ArtistVideoData) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ArtistVideoData) GetArtistUid() string { + if x != nil { + return x.ArtistUid + } + return "" +} + +func (x *ArtistVideoData) GetLockTime() string { + if x != nil { + return x.LockTime + } + return "" +} + +func (x *ArtistVideoData) GetVideoUrl() string { + if x != nil { + return x.VideoUrl + } + return "" +} + +func (x *ArtistVideoData) GetAuditStatus() int64 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *ArtistVideoData) GetAuditMark1() string { + if x != nil { + return x.AuditMark1 + } + return "" +} + +func (x *ArtistVideoData) GetAuditMark2() string { + if x != nil { + return x.AuditMark2 + } + return "" +} + +func (x *ArtistVideoData) GetArtistName() string { + if x != nil { + return x.ArtistName + } + return "" +} + +type TimeGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Time string `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"` + ArtworkSupplementList []*ArtworkSupplementData `protobuf:"bytes,2,rep,name=artworkSupplementList,proto3" json:"artworkSupplementList,omitempty"` + ArtistSupplementList []*ArtistSupplementData `protobuf:"bytes,3,rep,name=artistSupplementList,proto3" json:"artistSupplementList,omitempty"` + ArtistIndexList []*ArtistIndexData `protobuf:"bytes,4,rep,name=artistIndexList,proto3" json:"artistIndexList,omitempty"` + ArtistVideoList []*ArtistVideoData `protobuf:"bytes,5,rep,name=artistVideoList,proto3" json:"artistVideoList,omitempty"` +} + +func (x *TimeGroup) Reset() { + *x = TimeGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimeGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeGroup) ProtoMessage() {} + +func (x *TimeGroup) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimeGroup.ProtoReflect.Descriptor instead. +func (*TimeGroup) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{32} +} + +func (x *TimeGroup) GetTime() string { + if x != nil { + return x.Time + } + return "" +} + +func (x *TimeGroup) GetArtworkSupplementList() []*ArtworkSupplementData { + if x != nil { + return x.ArtworkSupplementList + } + return nil +} + +func (x *TimeGroup) GetArtistSupplementList() []*ArtistSupplementData { + if x != nil { + return x.ArtistSupplementList + } + return nil +} + +func (x *TimeGroup) GetArtistIndexList() []*ArtistIndexData { + if x != nil { + return x.ArtistIndexList + } + return nil +} + +func (x *TimeGroup) GetArtistVideoList() []*ArtistVideoData { + if x != nil { + return x.ArtistVideoList + } + return nil +} + +type GetArtshowHistroyListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page *VideoPagination `protobuf:"bytes,1,opt,name=page,proto3" json:"page,omitempty"` + Data []*TimeGroup `protobuf:"bytes,2,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *GetArtshowHistroyListResponse) Reset() { + *x = GetArtshowHistroyListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtshowHistroyListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtshowHistroyListResponse) ProtoMessage() {} + +func (x *GetArtshowHistroyListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtshow_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetArtshowHistroyListResponse.ProtoReflect.Descriptor instead. +func (*GetArtshowHistroyListResponse) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtshow_proto_rawDescGZIP(), []int{33} +} + +func (x *GetArtshowHistroyListResponse) GetPage() *VideoPagination { + if x != nil { + return x.Page + } + return nil +} + +func (x *GetArtshowHistroyListResponse) GetData() []*TimeGroup { + if x != nil { + return x.Data + } + return nil +} + var File_pb_artistinfoArtshow_proto protoreflect.FileDescriptor var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ @@ -2223,7 +3044,7 @@ var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, + 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, @@ -2238,9 +3059,9 @@ var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, @@ -2288,7 +3109,7 @@ var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, + 0x02, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x19, 0x44, @@ -2323,9 +3144,9 @@ var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x42, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, @@ -2389,134 +3210,289 @@ var file_pb_artistinfoArtshow_proto_rawDesc = []byte{ 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x49, 0x64, 0x73, 0x32, 0xc5, 0x0f, 0x0a, - 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x73, 0x68, - 0x6f, 0x77, 0x12, 0x61, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, - 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, - 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, - 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, - 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x49, 0x64, 0x73, 0x22, 0x8e, 0x01, 0x0a, + 0x1c, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x48, 0x69, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xaf, 0x04, + 0x0a, 0x15, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x61, + 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x20, 0x0a, 0x0b, 0x61, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x26, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x75, 0x69, 0x64, + 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, + 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x06, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x57, + 0x69, 0x64, 0x74, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x57, 0x69, 0x64, 0x74, + 0x68, 0x12, 0x14, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x48, 0x64, 0x50, 0x69, 0x63, + 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x48, 0x64, 0x50, 0x69, 0x63, 0x12, 0x20, 0x0a, + 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x22, + 0x80, 0x04, 0x0a, 0x14, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x72, 0x74, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x79, 0x41, 0x72, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x0d, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x50, 0x69, 0x63, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x43, 0x65, 0x72, 0x74, 0x50, + 0x69, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, + 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x62, 0x61, 0x6e, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x41, 0x74, 0x22, 0xa7, 0x03, 0x0a, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x55, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, + 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, + 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xf9, 0x01, 0x0a, + 0x0f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x55, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x55, 0x72, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x31, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x75, 0x64, 0x69, + 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x4d, 0x61, 0x72, 0x6b, 0x32, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xdc, 0x02, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x15, 0x61, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, + 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x15, 0x61, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x14, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, + 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x14, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0f, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x0f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x45, 0x0a, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, + 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7b, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x73, 0x68, 0x6f, 0x77, 0x48, 0x69, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x44, 0x61, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, + 0x44, 0x61, 0x74, 0x61, 0x32, 0xb5, 0x10, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x61, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, - 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, - 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x17, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, - 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x2a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x53, 0x0a, - 0x11, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, - 0x65, 0x6f, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, - 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, - 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x13, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, - 0x22, 0x00, 0x12, 0x65, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x11, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x29, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x73, 0x68, + 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x67, 0x0a, + 0x13, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, + 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, + 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x74, 0x79, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, + 0x2a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x53, 0x0a, 0x11, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, + 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, + 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, + 0x00, 0x12, 0x57, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x73, + 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, + 0x73, 0x68, 0x6f, 0x77, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x6e, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x48, 0x69, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x48, 0x69, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, + 0x74, 0x73, 0x68, 0x6f, 0x77, 0x48, 0x69, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x12, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x4a, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x49, + 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, + 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x29, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x12, 0x2c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, + 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x23, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x75, + 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, + 0x53, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x22, 0x00, 0x12, 0x55, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x25, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2c, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, + 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x74, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x22, 0x00, 0x12, 0x74, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, - 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x67, - 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x15, 0x41, 0x75, 0x64, 0x69, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x75, - 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x73, 0x68, 0x6f, 0x77, 0x50, 0x00, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x54, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, + 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x67, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, + 0x5b, 0x0a, 0x15, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, + 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x16, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x17, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x53, 0x75, 0x70, 0x70, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, + 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, + 0x73, 0x68, 0x6f, 0x77, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2531,7 +3507,7 @@ func file_pb_artistinfoArtshow_proto_rawDescGZIP() []byte { return file_pb_artistinfoArtshow_proto_rawDescData } -var file_pb_artistinfoArtshow_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_pb_artistinfoArtshow_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_pb_artistinfoArtshow_proto_goTypes = []interface{}{ (*ArtistListRequest)(nil), // 0: artistinfo.ArtistListRequest (*VideoPagination)(nil), // 1: artistinfo.videoPagination @@ -2560,7 +3536,14 @@ var file_pb_artistinfoArtshow_proto_goTypes = []interface{}{ (*AuditArtistSupplementRequest)(nil), // 24: artistinfo.AuditArtistSupplementRequest (*UpdateArtistSupplementRequest)(nil), // 25: artistinfo.UpdateArtistSupplementRequest (*DeletedArtistSupplementRequest)(nil), // 26: artistinfo.DeletedArtistSupplementRequest - (*emptypb.Empty)(nil), // 27: google.protobuf.Empty + (*GetArtshowHistroyListRequest)(nil), // 27: artistinfo.GetArtshowHistroyListRequest + (*ArtworkSupplementData)(nil), // 28: artistinfo.artworkSupplementData + (*ArtistSupplementData)(nil), // 29: artistinfo.artistSupplementData + (*ArtistIndexData)(nil), // 30: artistinfo.artistIndexData + (*ArtistVideoData)(nil), // 31: artistinfo.artistVideoData + (*TimeGroup)(nil), // 32: artistinfo.timeGroup + (*GetArtshowHistroyListResponse)(nil), // 33: artistinfo.GetArtshowHistroyListResponse + (*emptypb.Empty)(nil), // 34: google.protobuf.Empty } var file_pb_artistinfoArtshow_proto_depIdxs = []int32{ 3, // 0: artistinfo.GetArtshowVideoListResponse.data:type_name -> artistinfo.ArtshowVideoInfo @@ -2570,53 +3553,61 @@ var file_pb_artistinfoArtshow_proto_depIdxs = []int32{ 1, // 4: artistinfo.GetArtistIndexListResponse.page:type_name -> artistinfo.videoPagination 19, // 5: artistinfo.GetArtistSupplementListResponse.Data:type_name -> artistinfo.ArtistSupplementInfo 1, // 6: artistinfo.GetArtistSupplementListResponse.page:type_name -> artistinfo.videoPagination - 10, // 7: artistinfo.ArtistInfoArtshow.GetArtshowVideoDetail:input_type -> artistinfo.GetArtshowVideoDetailRequest - 2, // 8: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:input_type -> artistinfo.GetArtshowVideoListRequst - 3, // 9: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:input_type -> artistinfo.ArtshowVideoInfo - 8, // 10: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:input_type -> artistinfo.BatchCreateArtshowVideoRequest - 5, // 11: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:input_type -> artistinfo.AuditArtshowVideoRequest - 6, // 12: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:input_type -> artistinfo.UpdateArtshowVideoRequest - 7, // 13: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:input_type -> artistinfo.DeletedArtshowVideoRequest - 13, // 14: artistinfo.ArtistInfoArtshow.GetArtistIndexDetail:input_type -> artistinfo.GetArtistIndexDetailRequest - 14, // 15: artistinfo.ArtistInfoArtshow.GetArtistIndexList:input_type -> artistinfo.GetArtistIndexListRequest - 11, // 16: artistinfo.ArtistInfoArtshow.CreateArtistIndex:input_type -> artistinfo.ArtistIndexInfo - 15, // 17: artistinfo.ArtistInfoArtshow.BatchCreateArtistIndex:input_type -> artistinfo.BatchCreateArtistIndexRequest - 16, // 18: artistinfo.ArtistInfoArtshow.AuditArtistIndex:input_type -> artistinfo.AuditArtistIndexRequest - 17, // 19: artistinfo.ArtistInfoArtshow.UpdateArtistIndex:input_type -> artistinfo.UpdateArtistIndexRequest - 18, // 20: artistinfo.ArtistInfoArtshow.DeletedArtistIndex:input_type -> artistinfo.DeletedArtistIndexRequest - 21, // 21: artistinfo.ArtistInfoArtshow.GetArtistSupplementDetail:input_type -> artistinfo.GetArtistSupplementDetailRequest - 22, // 22: artistinfo.ArtistInfoArtshow.GetArtistSupplementList:input_type -> artistinfo.GetArtistSupplementListRequest - 19, // 23: artistinfo.ArtistInfoArtshow.CreateArtistSupplement:input_type -> artistinfo.ArtistSupplementInfo - 23, // 24: artistinfo.ArtistInfoArtshow.BatchCreateArtistSupplement:input_type -> artistinfo.BatchCreateArtistSupplementRequest - 24, // 25: artistinfo.ArtistInfoArtshow.AuditArtistSupplement:input_type -> artistinfo.AuditArtistSupplementRequest - 25, // 26: artistinfo.ArtistInfoArtshow.UpdateArtistSupplement:input_type -> artistinfo.UpdateArtistSupplementRequest - 26, // 27: artistinfo.ArtistInfoArtshow.DeletedArtistSupplement:input_type -> artistinfo.DeletedArtistSupplementRequest - 3, // 28: artistinfo.ArtistInfoArtshow.GetArtshowVideoDetail:output_type -> artistinfo.ArtshowVideoInfo - 4, // 29: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:output_type -> artistinfo.GetArtshowVideoListResponse - 27, // 30: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:output_type -> google.protobuf.Empty - 27, // 31: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:output_type -> google.protobuf.Empty - 27, // 32: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:output_type -> google.protobuf.Empty - 27, // 33: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:output_type -> google.protobuf.Empty - 27, // 34: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:output_type -> google.protobuf.Empty - 11, // 35: artistinfo.ArtistInfoArtshow.GetArtistIndexDetail:output_type -> artistinfo.ArtistIndexInfo - 12, // 36: artistinfo.ArtistInfoArtshow.GetArtistIndexList:output_type -> artistinfo.GetArtistIndexListResponse - 27, // 37: artistinfo.ArtistInfoArtshow.CreateArtistIndex:output_type -> google.protobuf.Empty - 27, // 38: artistinfo.ArtistInfoArtshow.BatchCreateArtistIndex:output_type -> google.protobuf.Empty - 27, // 39: artistinfo.ArtistInfoArtshow.AuditArtistIndex:output_type -> google.protobuf.Empty - 27, // 40: artistinfo.ArtistInfoArtshow.UpdateArtistIndex:output_type -> google.protobuf.Empty - 27, // 41: artistinfo.ArtistInfoArtshow.DeletedArtistIndex:output_type -> google.protobuf.Empty - 19, // 42: artistinfo.ArtistInfoArtshow.GetArtistSupplementDetail:output_type -> artistinfo.ArtistSupplementInfo - 20, // 43: artistinfo.ArtistInfoArtshow.GetArtistSupplementList:output_type -> artistinfo.GetArtistSupplementListResponse - 27, // 44: artistinfo.ArtistInfoArtshow.CreateArtistSupplement:output_type -> google.protobuf.Empty - 27, // 45: artistinfo.ArtistInfoArtshow.BatchCreateArtistSupplement:output_type -> google.protobuf.Empty - 27, // 46: artistinfo.ArtistInfoArtshow.AuditArtistSupplement:output_type -> google.protobuf.Empty - 27, // 47: artistinfo.ArtistInfoArtshow.UpdateArtistSupplement:output_type -> google.protobuf.Empty - 27, // 48: artistinfo.ArtistInfoArtshow.DeletedArtistSupplement:output_type -> google.protobuf.Empty - 28, // [28:49] is the sub-list for method output_type - 7, // [7:28] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 28, // 7: artistinfo.timeGroup.artworkSupplementList:type_name -> artistinfo.artworkSupplementData + 29, // 8: artistinfo.timeGroup.artistSupplementList:type_name -> artistinfo.artistSupplementData + 30, // 9: artistinfo.timeGroup.artistIndexList:type_name -> artistinfo.artistIndexData + 31, // 10: artistinfo.timeGroup.artistVideoList:type_name -> artistinfo.artistVideoData + 1, // 11: artistinfo.GetArtshowHistroyListResponse.page:type_name -> artistinfo.videoPagination + 32, // 12: artistinfo.GetArtshowHistroyListResponse.Data:type_name -> artistinfo.timeGroup + 10, // 13: artistinfo.ArtistInfoArtshow.GetArtshowVideoDetail:input_type -> artistinfo.GetArtshowVideoDetailRequest + 2, // 14: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:input_type -> artistinfo.GetArtshowVideoListRequst + 3, // 15: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:input_type -> artistinfo.ArtshowVideoInfo + 8, // 16: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:input_type -> artistinfo.BatchCreateArtshowVideoRequest + 5, // 17: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:input_type -> artistinfo.AuditArtshowVideoRequest + 6, // 18: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:input_type -> artistinfo.UpdateArtshowVideoRequest + 7, // 19: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:input_type -> artistinfo.DeletedArtshowVideoRequest + 27, // 20: artistinfo.ArtistInfoArtshow.GetArtshowHistroyList:input_type -> artistinfo.GetArtshowHistroyListRequest + 13, // 21: artistinfo.ArtistInfoArtshow.GetArtistIndexDetail:input_type -> artistinfo.GetArtistIndexDetailRequest + 14, // 22: artistinfo.ArtistInfoArtshow.GetArtistIndexList:input_type -> artistinfo.GetArtistIndexListRequest + 11, // 23: artistinfo.ArtistInfoArtshow.CreateArtistIndex:input_type -> artistinfo.ArtistIndexInfo + 15, // 24: artistinfo.ArtistInfoArtshow.BatchCreateArtistIndex:input_type -> artistinfo.BatchCreateArtistIndexRequest + 16, // 25: artistinfo.ArtistInfoArtshow.AuditArtistIndex:input_type -> artistinfo.AuditArtistIndexRequest + 17, // 26: artistinfo.ArtistInfoArtshow.UpdateArtistIndex:input_type -> artistinfo.UpdateArtistIndexRequest + 18, // 27: artistinfo.ArtistInfoArtshow.DeletedArtistIndex:input_type -> artistinfo.DeletedArtistIndexRequest + 21, // 28: artistinfo.ArtistInfoArtshow.GetArtistSupplementDetail:input_type -> artistinfo.GetArtistSupplementDetailRequest + 22, // 29: artistinfo.ArtistInfoArtshow.GetArtistSupplementList:input_type -> artistinfo.GetArtistSupplementListRequest + 19, // 30: artistinfo.ArtistInfoArtshow.CreateArtistSupplement:input_type -> artistinfo.ArtistSupplementInfo + 23, // 31: artistinfo.ArtistInfoArtshow.BatchCreateArtistSupplement:input_type -> artistinfo.BatchCreateArtistSupplementRequest + 24, // 32: artistinfo.ArtistInfoArtshow.AuditArtistSupplement:input_type -> artistinfo.AuditArtistSupplementRequest + 25, // 33: artistinfo.ArtistInfoArtshow.UpdateArtistSupplement:input_type -> artistinfo.UpdateArtistSupplementRequest + 26, // 34: artistinfo.ArtistInfoArtshow.DeletedArtistSupplement:input_type -> artistinfo.DeletedArtistSupplementRequest + 3, // 35: artistinfo.ArtistInfoArtshow.GetArtshowVideoDetail:output_type -> artistinfo.ArtshowVideoInfo + 4, // 36: artistinfo.ArtistInfoArtshow.GetArtshowVideoList:output_type -> artistinfo.GetArtshowVideoListResponse + 34, // 37: artistinfo.ArtistInfoArtshow.CreateArtshowVideo:output_type -> google.protobuf.Empty + 34, // 38: artistinfo.ArtistInfoArtshow.BatchCreateArtshowVideo:output_type -> google.protobuf.Empty + 34, // 39: artistinfo.ArtistInfoArtshow.AuditArtshowVideo:output_type -> google.protobuf.Empty + 34, // 40: artistinfo.ArtistInfoArtshow.UpdateArtshowVideo:output_type -> google.protobuf.Empty + 34, // 41: artistinfo.ArtistInfoArtshow.DeletedArtshowVideo:output_type -> google.protobuf.Empty + 33, // 42: artistinfo.ArtistInfoArtshow.GetArtshowHistroyList:output_type -> artistinfo.GetArtshowHistroyListResponse + 11, // 43: artistinfo.ArtistInfoArtshow.GetArtistIndexDetail:output_type -> artistinfo.ArtistIndexInfo + 12, // 44: artistinfo.ArtistInfoArtshow.GetArtistIndexList:output_type -> artistinfo.GetArtistIndexListResponse + 34, // 45: artistinfo.ArtistInfoArtshow.CreateArtistIndex:output_type -> google.protobuf.Empty + 34, // 46: artistinfo.ArtistInfoArtshow.BatchCreateArtistIndex:output_type -> google.protobuf.Empty + 34, // 47: artistinfo.ArtistInfoArtshow.AuditArtistIndex:output_type -> google.protobuf.Empty + 34, // 48: artistinfo.ArtistInfoArtshow.UpdateArtistIndex:output_type -> google.protobuf.Empty + 34, // 49: artistinfo.ArtistInfoArtshow.DeletedArtistIndex:output_type -> google.protobuf.Empty + 19, // 50: artistinfo.ArtistInfoArtshow.GetArtistSupplementDetail:output_type -> artistinfo.ArtistSupplementInfo + 20, // 51: artistinfo.ArtistInfoArtshow.GetArtistSupplementList:output_type -> artistinfo.GetArtistSupplementListResponse + 34, // 52: artistinfo.ArtistInfoArtshow.CreateArtistSupplement:output_type -> google.protobuf.Empty + 34, // 53: artistinfo.ArtistInfoArtshow.BatchCreateArtistSupplement:output_type -> google.protobuf.Empty + 34, // 54: artistinfo.ArtistInfoArtshow.AuditArtistSupplement:output_type -> google.protobuf.Empty + 34, // 55: artistinfo.ArtistInfoArtshow.UpdateArtistSupplement:output_type -> google.protobuf.Empty + 34, // 56: artistinfo.ArtistInfoArtshow.DeletedArtistSupplement:output_type -> google.protobuf.Empty + 35, // [35:57] is the sub-list for method output_type + 13, // [13:35] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_pb_artistinfoArtshow_proto_init() } @@ -2949,6 +3940,90 @@ func file_pb_artistinfoArtshow_proto_init() { return nil } } + file_pb_artistinfoArtshow_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtshowHistroyListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtworkSupplementData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtistSupplementData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtistIndexData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtistVideoData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimeGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtshow_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtshowHistroyListResponse); 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{ @@ -2956,7 +4031,7 @@ func file_pb_artistinfoArtshow_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_artistinfoArtshow_proto_rawDesc, NumEnums: 0, - NumMessages: 27, + NumMessages: 34, NumExtensions: 0, NumServices: 1, }, diff --git a/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go b/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go index 65db1ce..2d8445c 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go +++ b/pb/artistinfoArtshow/artistinfoArtshow.pb.validate.go @@ -3245,3 +3245,1035 @@ var _ interface { Cause() error ErrorName() string } = DeletedArtistSupplementRequestValidationError{} + +// Validate checks the field values on GetArtshowHistroyListRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetArtshowHistroyListRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtshowHistroyListRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetArtshowHistroyListRequestMultiError, or nil if none found. +func (m *GetArtshowHistroyListRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtshowHistroyListRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Page + + // no validation rules for PageSize + + // no validation rules for ArtistUid + + // no validation rules for AuditStatus + + if len(errors) > 0 { + return GetArtshowHistroyListRequestMultiError(errors) + } + + return nil +} + +// GetArtshowHistroyListRequestMultiError is an error wrapping multiple +// validation errors returned by GetArtshowHistroyListRequest.ValidateAll() if +// the designated constraints aren't met. +type GetArtshowHistroyListRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtshowHistroyListRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtshowHistroyListRequestMultiError) AllErrors() []error { return m } + +// GetArtshowHistroyListRequestValidationError is the validation error returned +// by GetArtshowHistroyListRequest.Validate if the designated constraints +// aren't met. +type GetArtshowHistroyListRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtshowHistroyListRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtshowHistroyListRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtshowHistroyListRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtshowHistroyListRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtshowHistroyListRequestValidationError) ErrorName() string { + return "GetArtshowHistroyListRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtshowHistroyListRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetArtshowHistroyListRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtshowHistroyListRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtshowHistroyListRequestValidationError{} + +// Validate checks the field values on ArtworkSupplementData with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ArtworkSupplementData) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtworkSupplementData with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ArtworkSupplementDataMultiError, or nil if none found. +func (m *ArtworkSupplementData) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtworkSupplementData) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUid + + // no validation rules for Status + + // no validation rules for LockTime + + // no validation rules for AuditStatus + + // no validation rules for AuditMark1 + + // no validation rules for AuditMark2 + + // no validation rules for ArtworkName + + // no validation rules for CreatedDate + + // no validation rules for CreatedAddress + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + // no validation rules for DeletedAt + + // no validation rules for ArtworkUuid + + // no validation rules for Length + + // no validation rules for Width + + // no validation rules for Ruler + + // no validation rules for HdPic + + // no validation rules for ArtistPhoto + + if len(errors) > 0 { + return ArtworkSupplementDataMultiError(errors) + } + + return nil +} + +// ArtworkSupplementDataMultiError is an error wrapping multiple validation +// errors returned by ArtworkSupplementData.ValidateAll() if the designated +// constraints aren't met. +type ArtworkSupplementDataMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtworkSupplementDataMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtworkSupplementDataMultiError) AllErrors() []error { return m } + +// ArtworkSupplementDataValidationError is the validation error returned by +// ArtworkSupplementData.Validate if the designated constraints aren't met. +type ArtworkSupplementDataValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtworkSupplementDataValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtworkSupplementDataValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtworkSupplementDataValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtworkSupplementDataValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtworkSupplementDataValidationError) ErrorName() string { + return "ArtworkSupplementDataValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtworkSupplementDataValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sArtworkSupplementData.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtworkSupplementDataValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtworkSupplementDataValidationError{} + +// Validate checks the field values on ArtistSupplementData with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *ArtistSupplementData) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistSupplementData with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ArtistSupplementDataMultiError, or nil if none found. +func (m *ArtistSupplementData) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistSupplementData) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUid + + // no validation rules for Status + + // no validation rules for LockTime + + // no validation rules for AuditStatus + + // no validation rules for AuditMark1 + + // no validation rules for AuditMark2 + + // no validation rules for ArtistName + + // no validation rules for ArtistProfile + + // no validation rules for CountryArtLevel + + // no validation rules for ArtistCertPic + + // no validation rules for BankNum + + // no validation rules for BankName + + // no validation rules for Id + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + // no validation rules for DeletedAt + + if len(errors) > 0 { + return ArtistSupplementDataMultiError(errors) + } + + return nil +} + +// ArtistSupplementDataMultiError is an error wrapping multiple validation +// errors returned by ArtistSupplementData.ValidateAll() if the designated +// constraints aren't met. +type ArtistSupplementDataMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistSupplementDataMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistSupplementDataMultiError) AllErrors() []error { return m } + +// ArtistSupplementDataValidationError is the validation error returned by +// ArtistSupplementData.Validate if the designated constraints aren't met. +type ArtistSupplementDataValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistSupplementDataValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistSupplementDataValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistSupplementDataValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistSupplementDataValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistSupplementDataValidationError) ErrorName() string { + return "ArtistSupplementDataValidationError" +} + +// Error satisfies the builtin error interface +func (e ArtistSupplementDataValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sArtistSupplementData.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistSupplementDataValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistSupplementDataValidationError{} + +// Validate checks the field values on ArtistIndexData with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *ArtistIndexData) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistIndexData with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ArtistIndexDataMultiError, or nil if none found. +func (m *ArtistIndexData) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistIndexData) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtistUid + + // no validation rules for Title + + // no validation rules for Class + + // no validation rules for TitleScore + + // no validation rules for Score + + // no validation rules for Types + + // no validation rules for Status + + // no validation rules for LockTime + + // no validation rules for AuditMark1 + + // no validation rules for AuditMark2 + + // no validation rules for AuditStatus + + // no validation rules for Id + + // no validation rules for CreatedAt + + // no validation rules for UpdatedAt + + // no validation rules for DeletedAt + + if len(errors) > 0 { + return ArtistIndexDataMultiError(errors) + } + + return nil +} + +// ArtistIndexDataMultiError is an error wrapping multiple validation errors +// returned by ArtistIndexData.ValidateAll() if the designated constraints +// aren't met. +type ArtistIndexDataMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistIndexDataMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistIndexDataMultiError) AllErrors() []error { return m } + +// ArtistIndexDataValidationError is the validation error returned by +// ArtistIndexData.Validate if the designated constraints aren't met. +type ArtistIndexDataValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistIndexDataValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistIndexDataValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistIndexDataValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistIndexDataValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistIndexDataValidationError) ErrorName() string { return "ArtistIndexDataValidationError" } + +// Error satisfies the builtin error interface +func (e ArtistIndexDataValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sArtistIndexData.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistIndexDataValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistIndexDataValidationError{} + +// Validate checks the field values on ArtistVideoData with the rules defined +// in the proto definition for this message. If any rules are violated, the +// first error encountered is returned, or nil if there are no violations. +func (m *ArtistVideoData) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtistVideoData with the rules +// defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// ArtistVideoDataMultiError, or nil if none found. +func (m *ArtistVideoData) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtistVideoData) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Id + + // no validation rules for ArtistUid + + // no validation rules for LockTime + + // no validation rules for VideoUrl + + // no validation rules for AuditStatus + + // no validation rules for AuditMark1 + + // no validation rules for AuditMark2 + + // no validation rules for ArtistName + + if len(errors) > 0 { + return ArtistVideoDataMultiError(errors) + } + + return nil +} + +// ArtistVideoDataMultiError is an error wrapping multiple validation errors +// returned by ArtistVideoData.ValidateAll() if the designated constraints +// aren't met. +type ArtistVideoDataMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtistVideoDataMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtistVideoDataMultiError) AllErrors() []error { return m } + +// ArtistVideoDataValidationError is the validation error returned by +// ArtistVideoData.Validate if the designated constraints aren't met. +type ArtistVideoDataValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtistVideoDataValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtistVideoDataValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtistVideoDataValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtistVideoDataValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtistVideoDataValidationError) ErrorName() string { return "ArtistVideoDataValidationError" } + +// Error satisfies the builtin error interface +func (e ArtistVideoDataValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sArtistVideoData.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtistVideoDataValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtistVideoDataValidationError{} + +// Validate checks the field values on TimeGroup with the rules defined in the +// proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *TimeGroup) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on TimeGroup with the rules defined in +// the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in TimeGroupMultiError, or nil +// if none found. +func (m *TimeGroup) ValidateAll() error { + return m.validate(true) +} + +func (m *TimeGroup) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for Time + + for idx, item := range m.GetArtworkSupplementList() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimeGroupValidationError{ + field: fmt.Sprintf("ArtworkSupplementList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimeGroupValidationError{ + field: fmt.Sprintf("ArtworkSupplementList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimeGroupValidationError{ + field: fmt.Sprintf("ArtworkSupplementList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetArtistSupplementList() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimeGroupValidationError{ + field: fmt.Sprintf("ArtistSupplementList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimeGroupValidationError{ + field: fmt.Sprintf("ArtistSupplementList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimeGroupValidationError{ + field: fmt.Sprintf("ArtistSupplementList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetArtistIndexList() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimeGroupValidationError{ + field: fmt.Sprintf("ArtistIndexList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimeGroupValidationError{ + field: fmt.Sprintf("ArtistIndexList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimeGroupValidationError{ + field: fmt.Sprintf("ArtistIndexList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + for idx, item := range m.GetArtistVideoList() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, TimeGroupValidationError{ + field: fmt.Sprintf("ArtistVideoList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, TimeGroupValidationError{ + field: fmt.Sprintf("ArtistVideoList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return TimeGroupValidationError{ + field: fmt.Sprintf("ArtistVideoList[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return TimeGroupMultiError(errors) + } + + return nil +} + +// TimeGroupMultiError is an error wrapping multiple validation errors returned +// by TimeGroup.ValidateAll() if the designated constraints aren't met. +type TimeGroupMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m TimeGroupMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m TimeGroupMultiError) AllErrors() []error { return m } + +// TimeGroupValidationError is the validation error returned by +// TimeGroup.Validate if the designated constraints aren't met. +type TimeGroupValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e TimeGroupValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e TimeGroupValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e TimeGroupValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e TimeGroupValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e TimeGroupValidationError) ErrorName() string { return "TimeGroupValidationError" } + +// Error satisfies the builtin error interface +func (e TimeGroupValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sTimeGroup.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = TimeGroupValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = TimeGroupValidationError{} + +// Validate checks the field values on GetArtshowHistroyListResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetArtshowHistroyListResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtshowHistroyListResponse with +// the rules defined in the proto definition for this message. If any rules +// are violated, the result is a list of violation errors wrapped in +// GetArtshowHistroyListResponseMultiError, or nil if none found. +func (m *GetArtshowHistroyListResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtshowHistroyListResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + if all { + switch v := interface{}(m.GetPage()).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetArtshowHistroyListResponseValidationError{ + field: "Page", + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetArtshowHistroyListResponseValidationError{ + field: "Page", + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(m.GetPage()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetArtshowHistroyListResponseValidationError{ + field: "Page", + reason: "embedded message failed validation", + cause: err, + } + } + } + + for idx, item := range m.GetData() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetArtshowHistroyListResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetArtshowHistroyListResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetArtshowHistroyListResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return GetArtshowHistroyListResponseMultiError(errors) + } + + return nil +} + +// GetArtshowHistroyListResponseMultiError is an error wrapping multiple +// validation errors returned by GetArtshowHistroyListResponse.ValidateAll() +// if the designated constraints aren't met. +type GetArtshowHistroyListResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtshowHistroyListResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtshowHistroyListResponseMultiError) AllErrors() []error { return m } + +// GetArtshowHistroyListResponseValidationError is the validation error +// returned by GetArtshowHistroyListResponse.Validate if the designated +// constraints aren't met. +type GetArtshowHistroyListResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtshowHistroyListResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtshowHistroyListResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtshowHistroyListResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtshowHistroyListResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtshowHistroyListResponseValidationError) ErrorName() string { + return "GetArtshowHistroyListResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtshowHistroyListResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetArtshowHistroyListResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtshowHistroyListResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtshowHistroyListResponseValidationError{} diff --git a/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go b/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go index e94a2f4..297c800 100644 --- a/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go +++ b/pb/artistinfoArtshow/artistinfoArtshow_triple.pb.go @@ -37,6 +37,9 @@ type ArtistInfoArtshowClient interface { AuditArtshowVideo(ctx context.Context, in *AuditArtshowVideoRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) UpdateArtshowVideo(ctx context.Context, in *UpdateArtshowVideoRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) DeletedArtshowVideo(ctx context.Context, in *DeletedArtshowVideoRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + // rpc CheckeExists(CheckeExistsRequest)returns(google.protobuf.Empty){} //删除画展视频 + // rpc GetArtistListOfVideo(ArtistListRequest)returns(){}//获取后台画家指数审批的画家列表 + GetArtshowHistroyList(ctx context.Context, in *GetArtshowHistroyListRequest, opts ...grpc_go.CallOption) (*GetArtshowHistroyListResponse, common.ErrorWithAttachment) // 画家指数 GetArtistIndexDetail(ctx context.Context, in *GetArtistIndexDetailRequest, opts ...grpc_go.CallOption) (*ArtistIndexInfo, common.ErrorWithAttachment) GetArtistIndexList(ctx context.Context, in *GetArtistIndexListRequest, opts ...grpc_go.CallOption) (*GetArtistIndexListResponse, common.ErrorWithAttachment) @@ -67,6 +70,7 @@ type ArtistInfoArtshowClientImpl struct { AuditArtshowVideo func(ctx context.Context, in *AuditArtshowVideoRequest) (*emptypb.Empty, error) UpdateArtshowVideo func(ctx context.Context, in *UpdateArtshowVideoRequest) (*emptypb.Empty, error) DeletedArtshowVideo func(ctx context.Context, in *DeletedArtshowVideoRequest) (*emptypb.Empty, error) + GetArtshowHistroyList func(ctx context.Context, in *GetArtshowHistroyListRequest) (*GetArtshowHistroyListResponse, error) GetArtistIndexDetail func(ctx context.Context, in *GetArtistIndexDetailRequest) (*ArtistIndexInfo, error) GetArtistIndexList func(ctx context.Context, in *GetArtistIndexListRequest) (*GetArtistIndexListResponse, error) CreateArtistIndex func(ctx context.Context, in *ArtistIndexInfo) (*emptypb.Empty, error) @@ -137,6 +141,12 @@ func (c *artistInfoArtshowClient) DeletedArtshowVideo(ctx context.Context, in *D return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeletedArtshowVideo", in, out) } +func (c *artistInfoArtshowClient) GetArtshowHistroyList(ctx context.Context, in *GetArtshowHistroyListRequest, opts ...grpc_go.CallOption) (*GetArtshowHistroyListResponse, common.ErrorWithAttachment) { + out := new(GetArtshowHistroyListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtshowHistroyList", in, out) +} + func (c *artistInfoArtshowClient) GetArtistIndexDetail(ctx context.Context, in *GetArtistIndexDetailRequest, opts ...grpc_go.CallOption) (*ArtistIndexInfo, common.ErrorWithAttachment) { out := new(ArtistIndexInfo) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -233,6 +243,9 @@ type ArtistInfoArtshowServer interface { AuditArtshowVideo(context.Context, *AuditArtshowVideoRequest) (*emptypb.Empty, error) UpdateArtshowVideo(context.Context, *UpdateArtshowVideoRequest) (*emptypb.Empty, error) DeletedArtshowVideo(context.Context, *DeletedArtshowVideoRequest) (*emptypb.Empty, error) + // rpc CheckeExists(CheckeExistsRequest)returns(google.protobuf.Empty){} //删除画展视频 + // rpc GetArtistListOfVideo(ArtistListRequest)returns(){}//获取后台画家指数审批的画家列表 + GetArtshowHistroyList(context.Context, *GetArtshowHistroyListRequest) (*GetArtshowHistroyListResponse, error) // 画家指数 GetArtistIndexDetail(context.Context, *GetArtistIndexDetailRequest) (*ArtistIndexInfo, error) GetArtistIndexList(context.Context, *GetArtistIndexListRequest) (*GetArtistIndexListResponse, error) @@ -278,6 +291,9 @@ func (UnimplementedArtistInfoArtshowServer) UpdateArtshowVideo(context.Context, func (UnimplementedArtistInfoArtshowServer) DeletedArtshowVideo(context.Context, *DeletedArtshowVideoRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletedArtshowVideo not implemented") } +func (UnimplementedArtistInfoArtshowServer) GetArtshowHistroyList(context.Context, *GetArtshowHistroyListRequest) (*GetArtshowHistroyListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtshowHistroyList not implemented") +} func (UnimplementedArtistInfoArtshowServer) GetArtistIndexDetail(context.Context, *GetArtistIndexDetailRequest) (*ArtistIndexInfo, error) { return nil, status.Errorf(codes.Unimplemented, "method GetArtistIndexDetail not implemented") } @@ -551,6 +567,35 @@ func _ArtistInfoArtshow_DeletedArtshowVideo_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } +func _ArtistInfoArtshow_GetArtshowHistroyList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtshowHistroyListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetArtshowHistroyList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + func _ArtistInfoArtshow_GetArtistIndexDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(GetArtistIndexDetailRequest) if err := dec(in); err != nil { @@ -992,6 +1037,10 @@ var ArtistInfoArtshow_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "DeletedArtshowVideo", Handler: _ArtistInfoArtshow_DeletedArtshowVideo_Handler, }, + { + MethodName: "GetArtshowHistroyList", + Handler: _ArtistInfoArtshow_GetArtshowHistroyList_Handler, + }, { MethodName: "GetArtistIndexDetail", Handler: _ArtistInfoArtshow_GetArtistIndexDetail_Handler, diff --git a/pb/artistinfoArtwork.proto b/pb/artistinfoArtwork.proto index 392833c..a38f5c8 100644 --- a/pb/artistinfoArtwork.proto +++ b/pb/artistinfoArtwork.proto @@ -47,6 +47,7 @@ enum ArtworkQueryMode { NowAuditFlowOfBase= 3; //当前处于基本数据审核流程中的画作 NowAuditFlowOfSupplementing = 4; //当前处于数据补充流程中的画作 AllUnlockArtwork = 5; //所有已解锁的画作(历史画作) + AllAuditPassArtwork=6; //所有审批已通过的画作 } message GetArtworkLockRecordsRequest{ string artistUid =1 [(validate.rules).message.required = true];//画家uid diff --git a/pb/artistinfoUser.proto b/pb/artistinfoUser.proto index 0106cc7..86ceebb 100644 --- a/pb/artistinfoUser.proto +++ b/pb/artistinfoUser.proto @@ -28,6 +28,7 @@ service ArtistInfoUser { rpc UpdateUserData(UserInfo)returns(CommonNoParams){} //更新用户信息 rpc PreSaveArtistInfo(PreSaveArtistInfoData)returns(CommonNoParams){}//暂存艺术家信息 rpc GetPreSaveArtistInfo(GetPreSaveArtistInfoRequest)returns(PreSaveArtistInfoData){}//获取暂存的艺术家信息 + rpc GetInvitedUserList(GetInvitedUserListRequest)returns(GetInvitedUserListResponse){}//获取接受邀请的人员列表 } message CommonNoParams{ } @@ -92,7 +93,7 @@ message CheckInvitedCodeRespond { } message UnFinishListRequest { - int64 id = 1; + int64 accId = 1; } message UnFinishListRespond { @@ -392,6 +393,7 @@ message FindUsersRequest{ bool isArtist=9; //查询有艺术家uid的数据 repeated string mgmtArtistUids =10; bool isLock =11; + int64 mgmtAccountId = 12; // string Account = 3; // string TelNum = 4; // bool IsLock = 5; @@ -446,6 +448,8 @@ message UserInfo{ string inviteCode = 27; int64 mgmtArtistId = 28; //艺术家id string latestLockTime=29; //最近一次上锁时间 + string joinAssoTime =32; + string wxAccount=33; //手机号更新用 string domain =30; string verCode=31; @@ -465,6 +469,7 @@ message PreSaveArtistInfoData{ string caaCertNum = 11; string caaJoinTime = 12; int32 joinShow = 13; + string wxAccount=33; } message GetPreSaveArtistInfoRequest{ @@ -481,27 +486,58 @@ message UserView{ string photo=7; int64 isRealName=8; int64 fddState=9; - int64 is_read=10; + int64 isRead=10; bool isLock=11; string realName=12; string idNum=13; string sex=14; int64 age=15; - string address=16; + repeated string address=16; string idcardBack=17; - string idcard_front=18; + string idcardFront=18; string inviterInviteCode=19; string inviterRealName=20; + string joinAssoTime=29; int64 deletedAt = 21; - int64 updatedAt = 22; - int64 createdAt = 23; + string updatedAt = 22; + string createdAt = 23; string penName =24; string stageName=25; string certificateNum=26; - string openBank=27; - string latestLockTime=28; + string certificateImg=30; + string bankName=27; + string bankNum=28; + string latestLockTime=31; + string wxAccount=32; } message FindUsersUserViewResponse{ repeated UserView data=1; UserCommonPageInfo page =2; +} +message GetInvitedUserListRequest{ + string telNum =1;//可选 邀请者的电话号码 + string inviterCode=2;//可选 邀请者的二维码 + int64 page=3; + int64 pageSize=4; +} +message InvitedUser{ + int64 userId=1; + int64 accId=2; + string artistUid=3; + string telNum=4; + string inviteCode=5; + string account=6; + string photo=7; + int64 isRealName=8; + int64 fddState=9; + string realName=12; + string sex=14; + int64 age=15; + string createdAt = 23; + string penName =24; + string stageName=25; +} +message GetInvitedUserListResponse{ + repeated InvitedUser data =1; + UserCommonPageInfo page =2; } \ No newline at end of file diff --git a/pkg/db/init.go b/pkg/db/init.go index 398fa81..699c7d1 100644 --- a/pkg/db/init.go +++ b/pkg/db/init.go @@ -59,6 +59,13 @@ func LoadMysqlData(file *ini.File) { DbUser = file.Section("mysql").Key("DbUser").String() DbPassWord = file.Section("mysql").Key("DbPassWord").String() DbLogName = file.Section("mysql").Key("DbName").String() + fmt.Println("数据库配置=====================================================") + fmt.Println("\tDb:", Db) + fmt.Println("\tDbHost:", DbHost) + fmt.Println("\tDbPort:", DbPort) + fmt.Println("\tDbUser:", DbUser) + fmt.Println("\tDbPassWord:", DbPassWord) + fmt.Println("\tDbLogName:", DbLogName) } func Database(conn string) { @@ -95,7 +102,7 @@ func Database(conn string) { func migration() { //自迁移模式 err := DB.AutoMigrate( - &old.Bank{}, + //&old.Bank{}, &model.RealName{}, &model.User{}, &model.Invite{},