diff --git a/api/cast/cast.pb.go b/api/cast/cast.pb.go index 438c7f6..dba8eee 100644 --- a/api/cast/cast.pb.go +++ b/api/cast/cast.pb.go @@ -14039,6 +14039,7 @@ type ListCastTagsReq struct { StatusUpdateTimeEnd string `protobuf:"bytes,5,opt,name=statusUpdateTimeEnd,proto3" json:"statusUpdateTimeEnd"` // 状态更新时间结束(字符串格式) CreatedAtStart string `protobuf:"bytes,6,opt,name=createdAtStart,proto3" json:"createdAtStart"` // 创建时间开始(字符串格式,如:2006-01-02 15:04:05) CreatedAtEnd string `protobuf:"bytes,7,opt,name=createdAtEnd,proto3" json:"createdAtEnd"` // 创建时间结束(字符串格式,如:2006-01-02 15:04:05) + IsWatchCountCalled uint32 `protobuf:"varint,12,opt,name=isWatchCountCalled,proto3" json:"isWatchCountCalled"` // 是否调用过观看次数接口(0表示不过滤,1表示已调用,2表示未调用) OrderBy string `protobuf:"bytes,8,opt,name=orderBy,proto3" json:"orderBy"` // 排序字段(表字段名,如:created_at, quote_count等) Sort string `protobuf:"bytes,9,opt,name=sort,proto3" json:"sort"` // 排序方式:asc 或 desc(默认 desc) Page int32 `protobuf:"varint,10,opt,name=page,proto3" json:"page"` // 页码 @@ -14126,6 +14127,13 @@ func (x *ListCastTagsReq) GetCreatedAtEnd() string { return "" } +func (x *ListCastTagsReq) GetIsWatchCountCalled() uint32 { + if x != nil { + return x.IsWatchCountCalled + } + return 0 +} + func (x *ListCastTagsReq) GetOrderBy() string { if x != nil { return x.OrderBy @@ -14160,18 +14168,19 @@ type CastTagInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 话题标签UUID - HashTag string `protobuf:"bytes,2,opt,name=hashTag,proto3" json:"hashTag"` // 话题标签内容 - CreatorUuid string `protobuf:"bytes,3,opt,name=creatorUuid,proto3" json:"creatorUuid"` // 创建人UUID - CreatorName string `protobuf:"bytes,4,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 - Source uint32 `protobuf:"varint,5,opt,name=source,proto3" json:"source"` // 来源 1:人工导入 2:推荐标签 3.自行新增 4.自动标签 - QuoteCount int32 `protobuf:"varint,6,opt,name=quoteCount,proto3" json:"quoteCount"` // 引用次数 - WatchCount int32 `protobuf:"varint,7,opt,name=watchCount,proto3" json:"watchCount"` // 观看次数 - Status uint32 `protobuf:"varint,8,opt,name=status,proto3" json:"status"` // 状态 1:有效 2:被禁 - Remark string `protobuf:"bytes,9,opt,name=remark,proto3" json:"remark"` // 备注 - StatusUpdateTime string `protobuf:"bytes,10,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` // 状态更新时间 - CreatedDate string `protobuf:"bytes,11,opt,name=createdDate,proto3" json:"createdDate"` // 创建时间 - Success bool `protobuf:"varint,12,opt,name=success,proto3" json:"success"` // 是否更新成功(批量更新时使用) + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` // 话题标签UUID + HashTag string `protobuf:"bytes,2,opt,name=hashTag,proto3" json:"hashTag"` // 话题标签内容 + CreatorUuid string `protobuf:"bytes,3,opt,name=creatorUuid,proto3" json:"creatorUuid"` // 创建人UUID + CreatorName string `protobuf:"bytes,4,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 + Source uint32 `protobuf:"varint,5,opt,name=source,proto3" json:"source"` // 来源 1:人工导入 2:推荐标签 3.自行新增 4.自动标签 + QuoteCount int32 `protobuf:"varint,6,opt,name=quoteCount,proto3" json:"quoteCount"` // 引用次数 + WatchCount int32 `protobuf:"varint,7,opt,name=watchCount,proto3" json:"watchCount"` // 观看次数 + Status uint32 `protobuf:"varint,8,opt,name=status,proto3" json:"status"` // 状态 1:有效 2:被禁 + Remark string `protobuf:"bytes,9,opt,name=remark,proto3" json:"remark"` // 备注 + StatusUpdateTime string `protobuf:"bytes,10,opt,name=statusUpdateTime,proto3" json:"statusUpdateTime"` // 状态更新时间 + CreatedDate string `protobuf:"bytes,11,opt,name=createdDate,proto3" json:"createdDate"` // 创建时间 + Success bool `protobuf:"varint,12,opt,name=success,proto3" json:"success"` // 是否更新成功(批量更新时使用) + IsWatchCountCalled uint32 `protobuf:"varint,13,opt,name=isWatchCountCalled,proto3" json:"isWatchCountCalled"` // 是否调用过观看次数接口(0表示未调用,1表示已调用) } func (x *CastTagInfo) Reset() { @@ -14290,6 +14299,13 @@ func (x *CastTagInfo) GetSuccess() bool { return false } +func (x *CastTagInfo) GetIsWatchCountCalled() uint32 { + if x != nil { + return x.IsWatchCountCalled + } + return 0 +} + // 获取话题标签列表响应 type ListCastTagsResp struct { state protoimpl.MessageState @@ -14458,6 +14474,54 @@ func (x *UpdateCastTagBatchResp) GetFailCount() int32 { return 0 } +// 批量更新已存在的话题标签请求(通过uuid) +type BatchUpdateCastTagsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*CastTagInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data"` // 话题标签列表,必须包含uuid +} + +func (x *BatchUpdateCastTagsReq) Reset() { + *x = BatchUpdateCastTagsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_fiee_cast_proto_msgTypes[165] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchUpdateCastTagsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchUpdateCastTagsReq) ProtoMessage() {} + +func (x *BatchUpdateCastTagsReq) ProtoReflect() protoreflect.Message { + mi := &file_pb_fiee_cast_proto_msgTypes[165] + 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 BatchUpdateCastTagsReq.ProtoReflect.Descriptor instead. +func (*BatchUpdateCastTagsReq) Descriptor() ([]byte, []int) { + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{165} +} + +func (x *BatchUpdateCastTagsReq) GetData() []*CastTagInfo { + if x != nil { + return x.Data + } + return nil +} + // 更新话题标签状态请求 type UpdateCastTagStatusReq struct { state protoimpl.MessageState @@ -14473,7 +14537,7 @@ type UpdateCastTagStatusReq struct { func (x *UpdateCastTagStatusReq) Reset() { *x = UpdateCastTagStatusReq{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[165] + mi := &file_pb_fiee_cast_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14486,7 +14550,7 @@ func (x *UpdateCastTagStatusReq) String() string { func (*UpdateCastTagStatusReq) ProtoMessage() {} func (x *UpdateCastTagStatusReq) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[165] + mi := &file_pb_fiee_cast_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14499,7 +14563,7 @@ func (x *UpdateCastTagStatusReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateCastTagStatusReq.ProtoReflect.Descriptor instead. func (*UpdateCastTagStatusReq) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{165} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{166} } func (x *UpdateCastTagStatusReq) GetUuid() string { @@ -14543,7 +14607,7 @@ type RecalculateCastTagQuoteCountResp struct { func (x *RecalculateCastTagQuoteCountResp) Reset() { *x = RecalculateCastTagQuoteCountResp{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[166] + mi := &file_pb_fiee_cast_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14556,7 +14620,7 @@ func (x *RecalculateCastTagQuoteCountResp) String() string { func (*RecalculateCastTagQuoteCountResp) ProtoMessage() {} func (x *RecalculateCastTagQuoteCountResp) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[166] + mi := &file_pb_fiee_cast_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14569,7 +14633,7 @@ func (x *RecalculateCastTagQuoteCountResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RecalculateCastTagQuoteCountResp.ProtoReflect.Descriptor instead. func (*RecalculateCastTagQuoteCountResp) Descriptor() ([]byte, []int) { - return file_pb_fiee_cast_proto_rawDescGZIP(), []int{166} + return file_pb_fiee_cast_proto_rawDescGZIP(), []int{167} } func (x *RecalculateCastTagQuoteCountResp) GetSuccess() bool { @@ -14626,7 +14690,7 @@ type WorkListResp_Info struct { func (x *WorkListResp_Info) Reset() { *x = WorkListResp_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[167] + mi := &file_pb_fiee_cast_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14639,7 +14703,7 @@ func (x *WorkListResp_Info) String() string { func (*WorkListResp_Info) ProtoMessage() {} func (x *WorkListResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[167] + mi := &file_pb_fiee_cast_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14881,7 +14945,7 @@ type MediaAccountsResp_Info struct { func (x *MediaAccountsResp_Info) Reset() { *x = MediaAccountsResp_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[170] + mi := &file_pb_fiee_cast_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14894,7 +14958,7 @@ func (x *MediaAccountsResp_Info) String() string { func (*MediaAccountsResp_Info) ProtoMessage() {} func (x *MediaAccountsResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[170] + mi := &file_pb_fiee_cast_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14972,7 +15036,7 @@ type MediaWorksResp_Info struct { func (x *MediaWorksResp_Info) Reset() { *x = MediaWorksResp_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[171] + mi := &file_pb_fiee_cast_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14985,7 +15049,7 @@ func (x *MediaWorksResp_Info) String() string { func (*MediaWorksResp_Info) ProtoMessage() {} func (x *MediaWorksResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[171] + mi := &file_pb_fiee_cast_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15083,7 +15147,7 @@ type PublishResp_Info struct { func (x *PublishResp_Info) Reset() { *x = PublishResp_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[172] + mi := &file_pb_fiee_cast_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15096,7 +15160,7 @@ func (x *PublishResp_Info) String() string { func (*PublishResp_Info) ProtoMessage() {} func (x *PublishResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[172] + mi := &file_pb_fiee_cast_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15139,7 +15203,7 @@ type RefreshWorkListResp_Info struct { func (x *RefreshWorkListResp_Info) Reset() { *x = RefreshWorkListResp_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[173] + mi := &file_pb_fiee_cast_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15152,7 +15216,7 @@ func (x *RefreshWorkListResp_Info) String() string { func (*RefreshWorkListResp_Info) ProtoMessage() {} func (x *RefreshWorkListResp_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[173] + mi := &file_pb_fiee_cast_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15205,7 +15269,7 @@ type RefreshWorkListResp_Info_PlatformInfo struct { func (x *RefreshWorkListResp_Info_PlatformInfo) Reset() { *x = RefreshWorkListResp_Info_PlatformInfo{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[174] + mi := &file_pb_fiee_cast_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15218,7 +15282,7 @@ func (x *RefreshWorkListResp_Info_PlatformInfo) String() string { func (*RefreshWorkListResp_Info_PlatformInfo) ProtoMessage() {} func (x *RefreshWorkListResp_Info_PlatformInfo) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[174] + mi := &file_pb_fiee_cast_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15291,7 +15355,7 @@ type UpdateOAuthReq_Info struct { func (x *UpdateOAuthReq_Info) Reset() { *x = UpdateOAuthReq_Info{} if protoimpl.UnsafeEnabled { - mi := &file_pb_fiee_cast_proto_msgTypes[175] + mi := &file_pb_fiee_cast_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15304,7 +15368,7 @@ func (x *UpdateOAuthReq_Info) String() string { func (*UpdateOAuthReq_Info) ProtoMessage() {} func (x *UpdateOAuthReq_Info) ProtoReflect() protoreflect.Message { - mi := &file_pb_fiee_cast_proto_msgTypes[175] + mi := &file_pb_fiee_cast_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17705,7 +17769,7 @@ var file_pb_fiee_cast_proto_rawDesc = []byte{ 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x27, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xed, 0x02, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, + 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x9d, 0x03, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, @@ -17722,13 +17786,16 @@ var file_pb_fiee_cast_proto_rawDesc = []byte{ 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x45, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x45, 0x6e, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x73, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, - 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xef, 0x02, 0x0a, 0x0b, 0x43, 0x61, 0x73, 0x74, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x9f, 0x03, 0x0a, 0x0b, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, 0x61, @@ -17751,7 +17818,10 @@ var file_pb_fiee_cast_proto_rawDesc = []byte{ 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x4f, 0x0a, 0x10, 0x4c, 0x69, 0x73, + 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x69, 0x73, 0x57, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x69, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x25, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, @@ -17768,406 +17838,415 @@ var file_pb_fiee_cast_proto_rawDesc = []byte{ 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x76, - 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x68, 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x68, - 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, - 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x4e, 0x0a, 0x20, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x51, 0x75, 0x6f, 0x74, - 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x2a, 0x54, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x49, 0x4b, 0x54, 0x4f, 0x4b, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45, 0x10, 0x02, 0x12, 0x07, - 0x0a, 0x03, 0x49, 0x4e, 0x53, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x4d, 0x10, 0x04, 0x12, - 0x0b, 0x0a, 0x07, 0x42, 0x55, 0x4c, 0x45, 0x53, 0x4b, 0x59, 0x10, 0x05, 0x2a, 0x39, 0x0a, 0x0e, - 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x0f, - 0x0a, 0x0b, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x41, 0x75, 0x74, 0x68, 0x10, 0x00, 0x12, - 0x0a, 0x0a, 0x06, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, - 0x75, 0x74, 0x68, 0x4e, 0x6f, 0x10, 0x02, 0x2a, 0x81, 0x01, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, - 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, - 0x46, 0x49, 0x52, 0x4d, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, - 0x41, 0x4c, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, 0x4c, - 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x50, 0x50, 0x52, 0x4f, - 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, - 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x10, - 0x05, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0x06, 0x2a, 0x56, 0x0a, 0x0f, 0x41, - 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x16, - 0x0a, 0x12, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x55, 0x4e, - 0x4b, 0x4f, 0x4e, 0x57, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, - 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x46, 0x41, 0x4c, 0x53, - 0x45, 0x10, 0x02, 0x2a, 0xa6, 0x01, 0x0a, 0x11, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, - 0x4e, 0x4f, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x49, 0x4e, 0x47, 0x10, 0x01, - 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x1b, 0x0a, - 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x75, + 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3f, + 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, + 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x12, 0x25, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x61, + 0x73, 0x74, 0x54, 0x61, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x76, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x68, 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x68, 0x61, 0x73, 0x68, 0x54, 0x61, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x22, 0x4e, 0x0a, 0x20, 0x52, 0x65, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x51, 0x75, 0x6f, + 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x2a, 0x54, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x49, 0x4b, 0x54, 0x4f, 0x4b, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x59, 0x4f, 0x55, 0x54, 0x55, 0x42, 0x45, 0x10, 0x02, 0x12, + 0x07, 0x0a, 0x03, 0x49, 0x4e, 0x53, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x4d, 0x10, 0x04, + 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x55, 0x4c, 0x45, 0x53, 0x4b, 0x59, 0x10, 0x05, 0x2a, 0x39, 0x0a, + 0x0e, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, 0x55, 0x4d, 0x12, + 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x41, 0x75, 0x74, 0x68, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x75, 0x74, 0x68, 0x4f, 0x6b, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, + 0x41, 0x75, 0x74, 0x68, 0x4e, 0x6f, 0x10, 0x02, 0x2a, 0x81, 0x01, 0x0a, 0x0e, 0x57, 0x6f, 0x72, + 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x0d, 0x0a, 0x09, 0x4e, + 0x4f, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, + 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f, + 0x56, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, + 0x4c, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x50, 0x50, 0x52, + 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x04, 0x12, 0x13, 0x0a, + 0x0f, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, + 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x45, 0x41, 0x44, 0x10, 0x06, 0x2a, 0x56, 0x0a, 0x0f, + 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x45, 0x4e, 0x55, 0x4d, 0x12, + 0x16, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x55, + 0x4e, 0x4b, 0x4f, 0x4e, 0x57, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x54, 0x52, 0x55, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, + 0x11, 0x41, 0x75, 0x74, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x46, 0x41, 0x4c, + 0x53, 0x45, 0x10, 0x02, 0x2a, 0xa6, 0x01, 0x0a, 0x11, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x19, 0x0a, 0x15, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x65, 0x0a, 0x0f, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x4e, 0x55, 0x4d, 0x12, - 0x16, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x4e, - 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x45, 0x4e, - 0x4f, 0x55, 0x47, 0x48, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, - 0x44, 0x10, 0x02, 0x2a, 0x59, 0x0a, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x45, - 0x4e, 0x55, 0x4d, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x43, - 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x49, 0x54, - 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, - 0x02, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, - 0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x32, 0xf4, - 0x2b, 0x0a, 0x04, 0x43, 0x61, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, - 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1c, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x42, - 0x0a, 0x0d, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, - 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, - 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, - 0x72, 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 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, 0x48, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x19, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x18, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, - 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, - 0x13, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, - 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, - 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, - 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 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, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0a, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, - 0x64, 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x07, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x10, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, - 0x1a, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x52, 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x50, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, - 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x35, 0x0a, - 0x07, 0x44, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x10, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x44, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 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, 0x33, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0a, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x57, 0x6f, - 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x5d, - 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4f, 0x0a, - 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, - 0x73, 0x68, 0x4c, 0x6f, 0x67, 0x12, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4c, 0x6f, - 0x67, 0x52, 0x65, 0x71, 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, 0x48, - 0x0a, 0x0f, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, - 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x4f, 0x41, 0x75, 0x74, - 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0e, 0x4f, 0x41, 0x75, - 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x32, 0x12, 0x17, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, - 0x32, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, - 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x4b, 0x0a, 0x10, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, - 0x68, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x1a, - 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, - 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3d, 0x0a, - 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x12, 0x14, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x52, - 0x65, 0x71, 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, 0x3f, 0x0a, 0x0c, - 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x15, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, - 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, - 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x05, 0x54, 0x6f, - 0x6f, 0x6c, 0x73, 0x12, 0x0e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, - 0x52, 0x65, 0x71, 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, 0x4e, 0x0a, - 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x45, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, - 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, - 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x00, 0x12, 0x49, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, - 0x65, 0x71, 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, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 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, 0x36, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x39, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, - 0x71, 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, 0x3f, 0x0a, 0x0c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, - 0x65, 0x71, 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, 0x3f, 0x0a, 0x0c, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x15, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, - 0x52, 0x65, 0x71, 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, 0x36, 0x0a, - 0x09, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x6d, 0x70, 0x74, 0x73, 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, - 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, - 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, - 0x4b, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, - 0x65, 0x71, 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, 0x18, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, - 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x5f, 0x4e, 0x4f, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x49, 0x4e, 0x47, 0x10, + 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, + 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x44, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x1b, + 0x0a, 0x17, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x50, + 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x2a, 0x65, 0x0a, + 0x0f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x4e, 0x55, 0x4d, + 0x12, 0x16, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x45, + 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x4e, 0x4f, 0x54, 0x45, + 0x4e, 0x4f, 0x55, 0x47, 0x48, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, + 0x45, 0x44, 0x10, 0x02, 0x2a, 0x59, 0x0a, 0x0c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x45, 0x4e, 0x55, 0x4d, 0x12, 0x14, 0x0a, 0x10, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, + 0x43, 0x41, 0x54, 0x45, 0x47, 0x4f, 0x52, 0x59, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x49, + 0x54, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, + 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x03, 0x12, 0x10, 0x0a, + 0x0c, 0x4c, 0x4f, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x32, + 0xc3, 0x2c, 0x0a, 0x04, 0x43, 0x61, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, + 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x55, 0x73, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, + 0x42, 0x0a, 0x0d, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, + 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0b, 0x42, 0x69, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x72, 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, 0x65, 0x71, 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, 0x48, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, + 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, + 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, + 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, + 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, + 0x0a, 0x13, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, + 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0a, 0x57, 0x6f, 0x72, + 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, + 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 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, 0x54, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x12, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, - 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, - 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, - 0x79, 0x73, 0x69, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, - 0x71, 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, 0x1c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, - 0x73, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x25, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, - 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x52, + 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, + 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, + 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0a, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, + 0x65, 0x64, 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x07, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x12, + 0x10, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, + 0x71, 0x1a, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x52, 0x65, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x50, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, + 0x65, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x35, + 0x0a, 0x07, 0x44, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x10, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x44, 0x65, 0x6c, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 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, 0x33, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x11, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x57, 0x6f, 0x72, 0x6b, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x0a, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, + 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x57, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, + 0x5d, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x43, 0x61, 0x73, + 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4f, + 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x75, 0x62, 0x6c, + 0x69, 0x73, 0x68, 0x4c, 0x6f, 0x67, 0x12, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4c, + 0x6f, 0x67, 0x52, 0x65, 0x71, 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, + 0x48, 0x0a, 0x0f, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, + 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x57, 0x6f, 0x72, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x4f, 0x41, 0x75, + 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0e, 0x4f, 0x41, + 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x32, 0x12, 0x17, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x56, 0x32, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, + 0x74, 0x68, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x56, 0x32, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, + 0x74, 0x68, 0x43, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, + 0x1a, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x43, 0x6f, 0x64, + 0x65, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3d, + 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x12, 0x14, 0x2e, + 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x41, 0x75, 0x74, 0x68, + 0x52, 0x65, 0x71, 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, 0x3f, 0x0a, + 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x15, 0x2e, + 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x66, 0x72, + 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, + 0x0a, 0x10, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, + 0x43, 0x61, 0x73, 0x74, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x4d, 0x65, 0x64, 0x69, + 0x61, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x05, 0x54, + 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x0e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, + 0x73, 0x52, 0x65, 0x71, 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, 0x4e, + 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x45, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x12, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, + 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, + 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x49, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x52, 0x65, 0x71, 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, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x53, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x12, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 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, 0x36, 0x0a, 0x09, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, + 0x74, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x00, 0x12, 0x39, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x12, + 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x71, 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, 0x45, 0x0a, 0x0e, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, - 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x4f, - 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x1a, 0x16, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, - 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x13, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x63, - 0x0a, 0x18, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, - 0x61, 0x69, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x21, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, - 0x61, 0x69, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x11, 0x54, 0x6f, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x54, 0x6f, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x62, 0x65, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x1c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, - 0x6c, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x43, 0x61, 0x73, - 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, - 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, - 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, - 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x12, 0x1e, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x57, - 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x12, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x15, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x52, 0x65, 0x71, 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, 0x3f, 0x0a, + 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x15, 0x2e, + 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, + 0x74, 0x52, 0x65, 0x71, 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, 0x36, + 0x0a, 0x09, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, + 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, + 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x43, 0x61, + 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, + 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6d, 0x70, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, + 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x12, 0x12, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x51, 0x0a, + 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x71, + 0x1a, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, + 0x12, 0x4b, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x52, 0x65, 0x71, 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, + 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 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, 0x54, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x4c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, + 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x19, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, + 0x71, 0x1a, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, + 0x4b, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, + 0x65, 0x71, 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, 0x1c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, 0x12, 0x25, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x49, 0x44, + 0x52, 0x65, 0x71, 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, 0x45, 0x0a, + 0x0e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0d, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, + 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, + 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x44, 0x61, 0x74, 0x61, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, + 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x1a, + 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x76, 0x65, 0x72, 0x76, + 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x13, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, + 0x12, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1d, + 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, + 0x63, 0x0a, 0x18, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x21, 0x2e, 0x43, 0x61, + 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, + 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, 0x71, 0x1a, 0x22, + 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x11, 0x54, 0x6f, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x54, 0x6f, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x54, 0x6f, 0x62, + 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x1c, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, + 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x25, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, + 0x69, 0x6c, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x43, 0x61, + 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x1b, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, + 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x12, 0x24, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, + 0x6c, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x25, 0x2e, 0x43, 0x61, 0x73, + 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, + 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, + 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x12, 0x1e, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, + 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, + 0x57, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, + 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x12, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, + 0x69, 0x6c, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, - 0x6c, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x44, 0x61, 0x69, 0x6c, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x1c, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x25, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, - 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, - 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, 0x57, 0x6f, 0x72, - 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x1a, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x12, 0x2b, 0x2e, 0x43, 0x61, - 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, - 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, - 0x12, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, - 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x00, 0x12, 0x45, 0x0a, 0x0e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, - 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, - 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, - 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 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, 0x42, 0x0a, 0x0d, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x12, 0x16, 0x2e, - 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, - 0x61, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, - 0x12, 0x3f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, - 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x73, 0x74, - 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x00, 0x12, 0x51, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, - 0x61, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x6c, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x1c, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, + 0x73, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x12, 0x25, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, + 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, 0x57, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x26, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x4d, 0x65, 0x64, 0x69, 0x61, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x79, 0x57, 0x6f, + 0x72, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x81, 0x01, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, + 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x12, 0x2b, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, + 0x53, 0x68, 0x61, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x43, 0x61, 0x73, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x79, 0x72, 0x53, 0x68, 0x61, + 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x79, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x14, 0x4c, 0x69, 0x73, + 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x1d, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, + 0x1a, 0x1e, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x6f, 0x72, 0x6b, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, + 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, + 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, + 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x54, + 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x16, + 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x43, 0x61, 0x73, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 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, 0x42, 0x0a, + 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x12, 0x16, + 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, + 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x22, + 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, + 0x73, 0x12, 0x15, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x73, + 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x00, 0x12, 0x51, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, + 0x54, 0x61, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x2e, 0x43, + 0x61, 0x73, 0x74, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 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, 0x4d, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1c, 0x2e, 0x43, 0x61, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x73, 0x74, 0x54, 0x61, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, @@ -18195,7 +18274,7 @@ func file_pb_fiee_cast_proto_rawDescGZIP() []byte { } var file_pb_fiee_cast_proto_enumTypes = make([]protoimpl.EnumInfo, 7) -var file_pb_fiee_cast_proto_msgTypes = make([]protoimpl.MessageInfo, 176) +var file_pb_fiee_cast_proto_msgTypes = make([]protoimpl.MessageInfo, 177) var file_pb_fiee_cast_proto_goTypes = []interface{}{ (PlatformIDENUM)(0), // 0: Cast.PlatformIDENUM (AuthStatusENUM)(0), // 1: Cast.AuthStatusENUM @@ -18369,18 +18448,19 @@ var file_pb_fiee_cast_proto_goTypes = []interface{}{ (*ListCastTagsResp)(nil), // 169: Cast.ListCastTagsResp (*UpdateCastTagBatchReq)(nil), // 170: Cast.UpdateCastTagBatchReq (*UpdateCastTagBatchResp)(nil), // 171: Cast.UpdateCastTagBatchResp - (*UpdateCastTagStatusReq)(nil), // 172: Cast.UpdateCastTagStatusReq - (*RecalculateCastTagQuoteCountResp)(nil), // 173: Cast.RecalculateCastTagQuoteCountResp - (*WorkListResp_Info)(nil), // 174: Cast.WorkListResp.Info - nil, // 175: Cast.WorkListResp.Info.PublishMediaIDsEntry - nil, // 176: Cast.WorkDetailResp.MediaAccDataEntry - (*MediaAccountsResp_Info)(nil), // 177: Cast.MediaAccountsResp.Info - (*MediaWorksResp_Info)(nil), // 178: Cast.MediaWorksResp.Info - (*PublishResp_Info)(nil), // 179: Cast.PublishResp.Info - (*RefreshWorkListResp_Info)(nil), // 180: Cast.RefreshWorkListResp.Info - (*RefreshWorkListResp_Info_PlatformInfo)(nil), // 181: Cast.RefreshWorkListResp.Info.PlatformInfo - (*UpdateOAuthReq_Info)(nil), // 182: Cast.UpdateOAuthReq.Info - (*emptypb.Empty)(nil), // 183: google.protobuf.Empty + (*BatchUpdateCastTagsReq)(nil), // 172: Cast.BatchUpdateCastTagsReq + (*UpdateCastTagStatusReq)(nil), // 173: Cast.UpdateCastTagStatusReq + (*RecalculateCastTagQuoteCountResp)(nil), // 174: Cast.RecalculateCastTagQuoteCountResp + (*WorkListResp_Info)(nil), // 175: Cast.WorkListResp.Info + nil, // 176: Cast.WorkListResp.Info.PublishMediaIDsEntry + nil, // 177: Cast.WorkDetailResp.MediaAccDataEntry + (*MediaAccountsResp_Info)(nil), // 178: Cast.MediaAccountsResp.Info + (*MediaWorksResp_Info)(nil), // 179: Cast.MediaWorksResp.Info + (*PublishResp_Info)(nil), // 180: Cast.PublishResp.Info + (*RefreshWorkListResp_Info)(nil), // 181: Cast.RefreshWorkListResp.Info + (*RefreshWorkListResp_Info_PlatformInfo)(nil), // 182: Cast.RefreshWorkListResp.Info.PlatformInfo + (*UpdateOAuthReq_Info)(nil), // 183: Cast.UpdateOAuthReq.Info + (*emptypb.Empty)(nil), // 184: google.protobuf.Empty } var file_pb_fiee_cast_proto_depIdxs = []int32{ 0, // 0: Cast.MediaUserListReq.platformID:type_name -> Cast.PlatformIDENUM @@ -18406,28 +18486,28 @@ var file_pb_fiee_cast_proto_depIdxs = []int32{ 9, // 20: Cast.MediaInfoResp.info:type_name -> Cast.MediaUserInfo 0, // 21: Cast.MediaInfoByPlatformReq.platformID:type_name -> Cast.PlatformIDENUM 9, // 22: Cast.MediaInfoByPlatformResp.info:type_name -> Cast.MediaUserInfo - 174, // 23: Cast.WorkListResp.data:type_name -> Cast.WorkListResp.Info + 175, // 23: Cast.WorkListResp.data:type_name -> Cast.WorkListResp.Info 18, // 24: Cast.WorkDetailResp.publishConfig1:type_name -> Cast.PublishConfig 18, // 25: Cast.WorkDetailResp.publishConfig2:type_name -> Cast.PublishConfig 18, // 26: Cast.WorkDetailResp.publishConfig3:type_name -> Cast.PublishConfig 18, // 27: Cast.WorkDetailResp.publishConfig4:type_name -> Cast.PublishConfig 28, // 28: Cast.WorkDetailResp.WorkLogData:type_name -> Cast.WorkLogInfo - 176, // 29: Cast.WorkDetailResp.mediaAccData:type_name -> Cast.WorkDetailResp.MediaAccDataEntry + 177, // 29: Cast.WorkDetailResp.mediaAccData:type_name -> Cast.WorkDetailResp.MediaAccDataEntry 18, // 30: Cast.WorkDetailResp.publishConfig5:type_name -> Cast.PublishConfig 2, // 31: Cast.UpdateStatusReq.workAction:type_name -> Cast.WorkActionENUM 3, // 32: Cast.UpdateStatusReq.autoPublish:type_name -> Cast.AutoPublishENUM 5, // 33: Cast.UpdateStatusReq.confirmFailType:type_name -> Cast.ConfirmFailENUM - 177, // 34: Cast.MediaAccountsResp.data:type_name -> Cast.MediaAccountsResp.Info - 178, // 35: Cast.MediaWorksResp.data:type_name -> Cast.MediaWorksResp.Info - 179, // 36: Cast.PublishResp.data:type_name -> Cast.PublishResp.Info + 178, // 34: Cast.MediaAccountsResp.data:type_name -> Cast.MediaAccountsResp.Info + 179, // 35: Cast.MediaWorksResp.data:type_name -> Cast.MediaWorksResp.Info + 180, // 36: Cast.PublishResp.data:type_name -> Cast.PublishResp.Info 16, // 37: Cast.ImportWorkBatchReq.imageWorks:type_name -> Cast.UpdateWorkImageReq 16, // 38: Cast.ImportWorkBatchResp.imageWorks:type_name -> Cast.UpdateWorkImageReq 4, // 39: Cast.PlatformInfo.publishStatus:type_name -> Cast.PublishStatusENUM 46, // 40: Cast.UpdateWorkPlatformInfoReq.PlatformInfoData:type_name -> Cast.PlatformInfo 0, // 41: Cast.UpdateWorkPublishLogReq.platformID:type_name -> Cast.PlatformIDENUM - 180, // 42: Cast.RefreshWorkListResp.Data:type_name -> Cast.RefreshWorkListResp.Info + 181, // 42: Cast.RefreshWorkListResp.Data:type_name -> Cast.RefreshWorkListResp.Info 0, // 43: Cast.OAuthCodeToTokenReq.platformID:type_name -> Cast.PlatformIDENUM - 182, // 44: Cast.UpdateOAuthReq.Data:type_name -> Cast.UpdateOAuthReq.Info + 183, // 44: Cast.UpdateOAuthReq.Data:type_name -> Cast.UpdateOAuthReq.Info 0, // 45: Cast.RefreshTokenReq.platformID:type_name -> Cast.PlatformIDENUM 71, // 46: Cast.ListVideoScriptsResp.data:type_name -> Cast.VideoScriptInfo 71, // 47: Cast.UpdateVideoScriptBatchReq.data:type_name -> Cast.VideoScriptInfo @@ -18491,166 +18571,169 @@ var file_pb_fiee_cast_proto_depIdxs = []int32{ 168, // 105: Cast.ListCastTagsResp.data:type_name -> Cast.CastTagInfo 168, // 106: Cast.UpdateCastTagBatchReq.data:type_name -> Cast.CastTagInfo 168, // 107: Cast.UpdateCastTagBatchResp.data:type_name -> Cast.CastTagInfo - 175, // 108: Cast.WorkListResp.Info.PublishMediaIDs:type_name -> Cast.WorkListResp.Info.PublishMediaIDsEntry - 9, // 109: Cast.WorkDetailResp.MediaAccDataEntry.value:type_name -> Cast.MediaUserInfo - 181, // 110: Cast.RefreshWorkListResp.Info.PlatformInfoData:type_name -> Cast.RefreshWorkListResp.Info.PlatformInfo - 0, // 111: Cast.RefreshWorkListResp.Info.PlatformInfo.platformID:type_name -> Cast.PlatformIDENUM - 0, // 112: Cast.UpdateOAuthReq.Info.platformID:type_name -> Cast.PlatformIDENUM - 8, // 113: Cast.Cast.MediaUserList:input_type -> Cast.MediaUserListReq - 11, // 114: Cast.Cast.UpdateMediaAccount:input_type -> Cast.UpdateMediaAccountReq - 13, // 115: Cast.Cast.UnbindManager:input_type -> Cast.UnbindManagerReq - 15, // 116: Cast.Cast.BindManager:input_type -> Cast.BindManagerReq - 16, // 117: Cast.Cast.UpdateWorkImage:input_type -> Cast.UpdateWorkImageReq - 19, // 118: Cast.Cast.UpdateWorkVideo:input_type -> Cast.UpdateWorkVideoReq - 21, // 119: Cast.Cast.MediaInfo:input_type -> Cast.MediaInfoReq - 23, // 120: Cast.Cast.MediaInfoByPlatform:input_type -> Cast.MediaInfoByPlatformReq - 25, // 121: Cast.Cast.WorkList:input_type -> Cast.WorkListReq - 27, // 122: Cast.Cast.WorkDetail:input_type -> Cast.WorkDetailReq - 30, // 123: Cast.Cast.UpdateStatus:input_type -> Cast.UpdateStatusReq - 31, // 124: Cast.Cast.MediaAccounts:input_type -> Cast.MediaAccountsReq - 33, // 125: Cast.Cast.MediaWorks:input_type -> Cast.MediaWorksReq - 35, // 126: Cast.Cast.Publish:input_type -> Cast.PublishReq - 37, // 127: Cast.Cast.RePublish:input_type -> Cast.RePublishReq - 39, // 128: Cast.Cast.DelWork:input_type -> Cast.DelWorkReq - 40, // 129: Cast.Cast.WorkInfo:input_type -> Cast.WorkInfoReq - 42, // 130: Cast.Cast.ArtistInfo:input_type -> Cast.ArtistInfoReq - 44, // 131: Cast.Cast.ImportWorkBatch:input_type -> Cast.ImportWorkBatchReq - 47, // 132: Cast.Cast.UpdateWorkPlatformInfo:input_type -> Cast.UpdateWorkPlatformInfoReq - 49, // 133: Cast.Cast.UpdateWorkPublishLog:input_type -> Cast.UpdateWorkPublishLogReq - 50, // 134: Cast.Cast.RefreshWorkList:input_type -> Cast.RefreshWorkListReq - 52, // 135: Cast.Cast.OAuthAccount:input_type -> Cast.OAuthAccountReq - 54, // 136: Cast.Cast.OAuthAccountV2:input_type -> Cast.OAuthAccountV2Req - 58, // 137: Cast.Cast.OAuthCodeToToken:input_type -> Cast.OAuthCodeToTokenReq - 60, // 138: Cast.Cast.UpdateOAuth:input_type -> Cast.UpdateOAuthReq - 61, // 139: Cast.Cast.RefreshToken:input_type -> Cast.RefreshTokenReq - 63, // 140: Cast.Cast.PublishMediaInfo:input_type -> Cast.PublishMediaInfoReq - 65, // 141: Cast.Cast.Tools:input_type -> Cast.ToolsReq - 66, // 142: Cast.Cast.UpdateVideoScript:input_type -> Cast.UpdateVideoScriptReq - 68, // 143: Cast.Cast.GetVideoScript:input_type -> Cast.GetVideoScriptReq - 70, // 144: Cast.Cast.ListVideoScripts:input_type -> Cast.ListVideoScriptsReq - 73, // 145: Cast.Cast.DeleteVideoScript:input_type -> Cast.DeleteVideoScriptReq - 74, // 146: Cast.Cast.UpdateVideoScriptBatch:input_type -> Cast.UpdateVideoScriptBatchReq - 76, // 147: Cast.Cast.UpdateScriptStatus:input_type -> Cast.UpdateScriptStatusReq - 78, // 148: Cast.Cast.GetLayout:input_type -> Cast.GetLayoutReq - 77, // 149: Cast.Cast.SetLayout:input_type -> Cast.SetLayoutReq - 80, // 150: Cast.Cast.UpdatePrompt:input_type -> Cast.UpdatePromptReq - 81, // 151: Cast.Cast.DeletePrompt:input_type -> Cast.DeletePromptReq - 82, // 152: Cast.Cast.GetPrompt:input_type -> Cast.GetPromptReq - 84, // 153: Cast.Cast.ListPrompts:input_type -> Cast.ListPromptsReq - 87, // 154: Cast.Cast.UpdatePromptBatch:input_type -> Cast.UpdatePromptBatchReq - 90, // 155: Cast.Cast.UpdateArtist:input_type -> Cast.UpdateArtistReq - 92, // 156: Cast.Cast.GetArtist:input_type -> Cast.GetArtistReq - 94, // 157: Cast.Cast.CreateWorkAnalysis:input_type -> Cast.CreateWorkAnalysisReq - 96, // 158: Cast.Cast.UpdateWorkAnalysis:input_type -> Cast.UpdateWorkAnalysisReq - 97, // 159: Cast.Cast.UpdateWorkAnalysisStatus:input_type -> Cast.UpdateWorkAnalysisStatusReq - 108, // 160: Cast.Cast.GetWorkAnalysis:input_type -> Cast.GetWorkAnalysisDetailReq - 109, // 161: Cast.Cast.GetLatestWorkAnalysis:input_type -> Cast.GetLatestWorkAnalysisReq - 112, // 162: Cast.Cast.ListWorkAnalysis:input_type -> Cast.ListWorkAnalysisReq - 115, // 163: Cast.Cast.DeleteWorkAnalysis:input_type -> Cast.DeleteWorkAnalysisReq - 134, // 164: Cast.Cast.UpdateWorkAnalysisApprovalID:input_type -> Cast.UpdateWorkAnalysisApprovalIDReq - 116, // 165: Cast.Cast.ArtistDataList:input_type -> Cast.ArtistDataListReq - 119, // 166: Cast.Cast.MediaDataList:input_type -> Cast.MediaDataListReq - 122, // 167: Cast.Cast.DataOverview:input_type -> Cast.DataOverviewReq - 124, // 168: Cast.Cast.ArtistMetricsSeries:input_type -> Cast.ArtistMetricsSeriesReq - 126, // 169: Cast.Cast.ArtistMetricsDailyWindow:input_type -> Cast.ArtistMetricsDailyWindowReq - 131, // 170: Cast.Cast.TobeConfirmedList:input_type -> Cast.TobeConfirmedListReq - 136, // 171: Cast.Cast.UpsertMediaMetricsDailyBatch:input_type -> Cast.UpsertMediaMetricsDailyBatchReq - 139, // 172: Cast.Cast.UpsertWorkMetricsDailyBatch:input_type -> Cast.UpsertWorkMetricsDailyBatchReq - 149, // 173: Cast.Cast.ListMediaMetricsDaily:input_type -> Cast.ListMediaMetricsDailyReq - 152, // 174: Cast.Cast.ListWorkMetricsDaily:input_type -> Cast.ListWorkMetricsDailyReq - 163, // 175: Cast.Cast.CalculateMediaMetricsByWorks:input_type -> Cast.CalculateMediaMetricsByWorksReq - 141, // 176: Cast.Cast.GetArtistAyrShareInfo:input_type -> Cast.GetArtistAyrShareInfoReq - 144, // 177: Cast.Cast.GetArtistAyrShareInfoByPlatformIDs:input_type -> Cast.GetArtistAyrShareInfoByPlatformIDsReq - 146, // 178: Cast.Cast.ListWorkPlatformInfo:input_type -> Cast.ListWorkPlatformInfoReq - 155, // 179: Cast.Cast.UpsertTaskList:input_type -> Cast.UpsertTaskListReq - 157, // 180: Cast.Cast.GetTaskList:input_type -> Cast.GetTaskListReq - 160, // 181: Cast.Cast.ListTaskList:input_type -> Cast.ListTaskListReq - 162, // 182: Cast.Cast.DeleteTaskList:input_type -> Cast.DeleteTaskListReq - 165, // 183: Cast.Cast.UpdateCastTag:input_type -> Cast.UpdateCastTagReq - 167, // 184: Cast.Cast.ListCastTags:input_type -> Cast.ListCastTagsReq - 170, // 185: Cast.Cast.UpdateCastTagBatch:input_type -> Cast.UpdateCastTagBatchReq - 172, // 186: Cast.Cast.UpdateCastTagStatus:input_type -> Cast.UpdateCastTagStatusReq - 183, // 187: Cast.Cast.RecalculateCastTagQuoteCount:input_type -> google.protobuf.Empty - 10, // 188: Cast.Cast.MediaUserList:output_type -> Cast.MediaUserListResp - 12, // 189: Cast.Cast.UpdateMediaAccount:output_type -> Cast.UpdateMediaAccountResp - 14, // 190: Cast.Cast.UnbindManager:output_type -> Cast.UnbindManagerResp - 183, // 191: Cast.Cast.BindManager:output_type -> google.protobuf.Empty - 17, // 192: Cast.Cast.UpdateWorkImage:output_type -> Cast.UpdateWorkImageResp - 20, // 193: Cast.Cast.UpdateWorkVideo:output_type -> Cast.UpdateWorkVideoResp - 22, // 194: Cast.Cast.MediaInfo:output_type -> Cast.MediaInfoResp - 24, // 195: Cast.Cast.MediaInfoByPlatform:output_type -> Cast.MediaInfoByPlatformResp - 26, // 196: Cast.Cast.WorkList:output_type -> Cast.WorkListResp - 29, // 197: Cast.Cast.WorkDetail:output_type -> Cast.WorkDetailResp - 183, // 198: Cast.Cast.UpdateStatus:output_type -> google.protobuf.Empty - 32, // 199: Cast.Cast.MediaAccounts:output_type -> Cast.MediaAccountsResp - 34, // 200: Cast.Cast.MediaWorks:output_type -> Cast.MediaWorksResp - 36, // 201: Cast.Cast.Publish:output_type -> Cast.PublishResp - 38, // 202: Cast.Cast.RePublish:output_type -> Cast.RePublishResp - 183, // 203: Cast.Cast.DelWork:output_type -> google.protobuf.Empty - 41, // 204: Cast.Cast.WorkInfo:output_type -> Cast.WorkInfoResp - 43, // 205: Cast.Cast.ArtistInfo:output_type -> Cast.ArtistInfoResp - 45, // 206: Cast.Cast.ImportWorkBatch:output_type -> Cast.ImportWorkBatchResp - 48, // 207: Cast.Cast.UpdateWorkPlatformInfo:output_type -> Cast.UpdateWorkPlatformInfoResp - 183, // 208: Cast.Cast.UpdateWorkPublishLog:output_type -> google.protobuf.Empty - 51, // 209: Cast.Cast.RefreshWorkList:output_type -> Cast.RefreshWorkListResp - 53, // 210: Cast.Cast.OAuthAccount:output_type -> Cast.OAuthAccountResp - 55, // 211: Cast.Cast.OAuthAccountV2:output_type -> Cast.OAuthAccountV2Resp - 59, // 212: Cast.Cast.OAuthCodeToToken:output_type -> Cast.OAuthCodeToTokenResp - 183, // 213: Cast.Cast.UpdateOAuth:output_type -> google.protobuf.Empty - 62, // 214: Cast.Cast.RefreshToken:output_type -> Cast.RefreshTokenResp - 64, // 215: Cast.Cast.PublishMediaInfo:output_type -> Cast.PublishMediaInfoResp - 183, // 216: Cast.Cast.Tools:output_type -> google.protobuf.Empty - 67, // 217: Cast.Cast.UpdateVideoScript:output_type -> Cast.UpdateVideoScriptResp - 69, // 218: Cast.Cast.GetVideoScript:output_type -> Cast.GetVideoScriptResp - 72, // 219: Cast.Cast.ListVideoScripts:output_type -> Cast.ListVideoScriptsResp - 183, // 220: Cast.Cast.DeleteVideoScript:output_type -> google.protobuf.Empty - 75, // 221: Cast.Cast.UpdateVideoScriptBatch:output_type -> Cast.UpdateVideoScriptBatchResp - 183, // 222: Cast.Cast.UpdateScriptStatus:output_type -> google.protobuf.Empty - 79, // 223: Cast.Cast.GetLayout:output_type -> Cast.GetLayoutResp - 183, // 224: Cast.Cast.SetLayout:output_type -> google.protobuf.Empty - 183, // 225: Cast.Cast.UpdatePrompt:output_type -> google.protobuf.Empty - 183, // 226: Cast.Cast.DeletePrompt:output_type -> google.protobuf.Empty - 83, // 227: Cast.Cast.GetPrompt:output_type -> Cast.GetPromptResp - 86, // 228: Cast.Cast.ListPrompts:output_type -> Cast.ListPromptsResp - 88, // 229: Cast.Cast.UpdatePromptBatch:output_type -> Cast.UpdatePromptBatchResp - 91, // 230: Cast.Cast.UpdateArtist:output_type -> Cast.UpdateArtistResp - 93, // 231: Cast.Cast.GetArtist:output_type -> Cast.GetArtistResp - 95, // 232: Cast.Cast.CreateWorkAnalysis:output_type -> Cast.CreateWorkAnalysisResp - 183, // 233: Cast.Cast.UpdateWorkAnalysis:output_type -> google.protobuf.Empty - 183, // 234: Cast.Cast.UpdateWorkAnalysisStatus:output_type -> google.protobuf.Empty - 111, // 235: Cast.Cast.GetWorkAnalysis:output_type -> Cast.GetWorkAnalysisDetailResp - 110, // 236: Cast.Cast.GetLatestWorkAnalysis:output_type -> Cast.GetWorkAnalysisResp - 114, // 237: Cast.Cast.ListWorkAnalysis:output_type -> Cast.ListWorkAnalysisResp - 183, // 238: Cast.Cast.DeleteWorkAnalysis:output_type -> google.protobuf.Empty - 183, // 239: Cast.Cast.UpdateWorkAnalysisApprovalID:output_type -> google.protobuf.Empty - 118, // 240: Cast.Cast.ArtistDataList:output_type -> Cast.ArtistDataListResp - 121, // 241: Cast.Cast.MediaDataList:output_type -> Cast.MediaDataListResp - 123, // 242: Cast.Cast.DataOverview:output_type -> Cast.DataOverviewResp - 125, // 243: Cast.Cast.ArtistMetricsSeries:output_type -> Cast.ArtistMetricsSeriesResp - 130, // 244: Cast.Cast.ArtistMetricsDailyWindow:output_type -> Cast.ArtistMetricsDailyWindowResp - 133, // 245: Cast.Cast.TobeConfirmedList:output_type -> Cast.TobeConfirmedListResp - 137, // 246: Cast.Cast.UpsertMediaMetricsDailyBatch:output_type -> Cast.UpsertMediaMetricsDailyBatchResp - 140, // 247: Cast.Cast.UpsertWorkMetricsDailyBatch:output_type -> Cast.UpsertWorkMetricsDailyBatchResp - 151, // 248: Cast.Cast.ListMediaMetricsDaily:output_type -> Cast.ListMediaMetricsDailyResp - 154, // 249: Cast.Cast.ListWorkMetricsDaily:output_type -> Cast.ListWorkMetricsDailyResp - 164, // 250: Cast.Cast.CalculateMediaMetricsByWorks:output_type -> Cast.CalculateMediaMetricsByWorksResp - 143, // 251: Cast.Cast.GetArtistAyrShareInfo:output_type -> Cast.GetArtistAyrShareInfoResp - 145, // 252: Cast.Cast.GetArtistAyrShareInfoByPlatformIDs:output_type -> Cast.GetArtistAyrShareInfoByPlatformIDsResp - 148, // 253: Cast.Cast.ListWorkPlatformInfo:output_type -> Cast.ListWorkPlatformInfoResp - 156, // 254: Cast.Cast.UpsertTaskList:output_type -> Cast.UpsertTaskListResp - 159, // 255: Cast.Cast.GetTaskList:output_type -> Cast.GetTaskListResp - 161, // 256: Cast.Cast.ListTaskList:output_type -> Cast.ListTaskListResp - 183, // 257: Cast.Cast.DeleteTaskList:output_type -> google.protobuf.Empty - 166, // 258: Cast.Cast.UpdateCastTag:output_type -> Cast.UpdateCastTagResp - 169, // 259: Cast.Cast.ListCastTags:output_type -> Cast.ListCastTagsResp - 171, // 260: Cast.Cast.UpdateCastTagBatch:output_type -> Cast.UpdateCastTagBatchResp - 183, // 261: Cast.Cast.UpdateCastTagStatus:output_type -> google.protobuf.Empty - 173, // 262: Cast.Cast.RecalculateCastTagQuoteCount:output_type -> Cast.RecalculateCastTagQuoteCountResp - 188, // [188:263] is the sub-list for method output_type - 113, // [113:188] is the sub-list for method input_type - 113, // [113:113] is the sub-list for extension type_name - 113, // [113:113] is the sub-list for extension extendee - 0, // [0:113] is the sub-list for field type_name + 168, // 108: Cast.BatchUpdateCastTagsReq.data:type_name -> Cast.CastTagInfo + 176, // 109: Cast.WorkListResp.Info.PublishMediaIDs:type_name -> Cast.WorkListResp.Info.PublishMediaIDsEntry + 9, // 110: Cast.WorkDetailResp.MediaAccDataEntry.value:type_name -> Cast.MediaUserInfo + 182, // 111: Cast.RefreshWorkListResp.Info.PlatformInfoData:type_name -> Cast.RefreshWorkListResp.Info.PlatformInfo + 0, // 112: Cast.RefreshWorkListResp.Info.PlatformInfo.platformID:type_name -> Cast.PlatformIDENUM + 0, // 113: Cast.UpdateOAuthReq.Info.platformID:type_name -> Cast.PlatformIDENUM + 8, // 114: Cast.Cast.MediaUserList:input_type -> Cast.MediaUserListReq + 11, // 115: Cast.Cast.UpdateMediaAccount:input_type -> Cast.UpdateMediaAccountReq + 13, // 116: Cast.Cast.UnbindManager:input_type -> Cast.UnbindManagerReq + 15, // 117: Cast.Cast.BindManager:input_type -> Cast.BindManagerReq + 16, // 118: Cast.Cast.UpdateWorkImage:input_type -> Cast.UpdateWorkImageReq + 19, // 119: Cast.Cast.UpdateWorkVideo:input_type -> Cast.UpdateWorkVideoReq + 21, // 120: Cast.Cast.MediaInfo:input_type -> Cast.MediaInfoReq + 23, // 121: Cast.Cast.MediaInfoByPlatform:input_type -> Cast.MediaInfoByPlatformReq + 25, // 122: Cast.Cast.WorkList:input_type -> Cast.WorkListReq + 27, // 123: Cast.Cast.WorkDetail:input_type -> Cast.WorkDetailReq + 30, // 124: Cast.Cast.UpdateStatus:input_type -> Cast.UpdateStatusReq + 31, // 125: Cast.Cast.MediaAccounts:input_type -> Cast.MediaAccountsReq + 33, // 126: Cast.Cast.MediaWorks:input_type -> Cast.MediaWorksReq + 35, // 127: Cast.Cast.Publish:input_type -> Cast.PublishReq + 37, // 128: Cast.Cast.RePublish:input_type -> Cast.RePublishReq + 39, // 129: Cast.Cast.DelWork:input_type -> Cast.DelWorkReq + 40, // 130: Cast.Cast.WorkInfo:input_type -> Cast.WorkInfoReq + 42, // 131: Cast.Cast.ArtistInfo:input_type -> Cast.ArtistInfoReq + 44, // 132: Cast.Cast.ImportWorkBatch:input_type -> Cast.ImportWorkBatchReq + 47, // 133: Cast.Cast.UpdateWorkPlatformInfo:input_type -> Cast.UpdateWorkPlatformInfoReq + 49, // 134: Cast.Cast.UpdateWorkPublishLog:input_type -> Cast.UpdateWorkPublishLogReq + 50, // 135: Cast.Cast.RefreshWorkList:input_type -> Cast.RefreshWorkListReq + 52, // 136: Cast.Cast.OAuthAccount:input_type -> Cast.OAuthAccountReq + 54, // 137: Cast.Cast.OAuthAccountV2:input_type -> Cast.OAuthAccountV2Req + 58, // 138: Cast.Cast.OAuthCodeToToken:input_type -> Cast.OAuthCodeToTokenReq + 60, // 139: Cast.Cast.UpdateOAuth:input_type -> Cast.UpdateOAuthReq + 61, // 140: Cast.Cast.RefreshToken:input_type -> Cast.RefreshTokenReq + 63, // 141: Cast.Cast.PublishMediaInfo:input_type -> Cast.PublishMediaInfoReq + 65, // 142: Cast.Cast.Tools:input_type -> Cast.ToolsReq + 66, // 143: Cast.Cast.UpdateVideoScript:input_type -> Cast.UpdateVideoScriptReq + 68, // 144: Cast.Cast.GetVideoScript:input_type -> Cast.GetVideoScriptReq + 70, // 145: Cast.Cast.ListVideoScripts:input_type -> Cast.ListVideoScriptsReq + 73, // 146: Cast.Cast.DeleteVideoScript:input_type -> Cast.DeleteVideoScriptReq + 74, // 147: Cast.Cast.UpdateVideoScriptBatch:input_type -> Cast.UpdateVideoScriptBatchReq + 76, // 148: Cast.Cast.UpdateScriptStatus:input_type -> Cast.UpdateScriptStatusReq + 78, // 149: Cast.Cast.GetLayout:input_type -> Cast.GetLayoutReq + 77, // 150: Cast.Cast.SetLayout:input_type -> Cast.SetLayoutReq + 80, // 151: Cast.Cast.UpdatePrompt:input_type -> Cast.UpdatePromptReq + 81, // 152: Cast.Cast.DeletePrompt:input_type -> Cast.DeletePromptReq + 82, // 153: Cast.Cast.GetPrompt:input_type -> Cast.GetPromptReq + 84, // 154: Cast.Cast.ListPrompts:input_type -> Cast.ListPromptsReq + 87, // 155: Cast.Cast.UpdatePromptBatch:input_type -> Cast.UpdatePromptBatchReq + 90, // 156: Cast.Cast.UpdateArtist:input_type -> Cast.UpdateArtistReq + 92, // 157: Cast.Cast.GetArtist:input_type -> Cast.GetArtistReq + 94, // 158: Cast.Cast.CreateWorkAnalysis:input_type -> Cast.CreateWorkAnalysisReq + 96, // 159: Cast.Cast.UpdateWorkAnalysis:input_type -> Cast.UpdateWorkAnalysisReq + 97, // 160: Cast.Cast.UpdateWorkAnalysisStatus:input_type -> Cast.UpdateWorkAnalysisStatusReq + 108, // 161: Cast.Cast.GetWorkAnalysis:input_type -> Cast.GetWorkAnalysisDetailReq + 109, // 162: Cast.Cast.GetLatestWorkAnalysis:input_type -> Cast.GetLatestWorkAnalysisReq + 112, // 163: Cast.Cast.ListWorkAnalysis:input_type -> Cast.ListWorkAnalysisReq + 115, // 164: Cast.Cast.DeleteWorkAnalysis:input_type -> Cast.DeleteWorkAnalysisReq + 134, // 165: Cast.Cast.UpdateWorkAnalysisApprovalID:input_type -> Cast.UpdateWorkAnalysisApprovalIDReq + 116, // 166: Cast.Cast.ArtistDataList:input_type -> Cast.ArtistDataListReq + 119, // 167: Cast.Cast.MediaDataList:input_type -> Cast.MediaDataListReq + 122, // 168: Cast.Cast.DataOverview:input_type -> Cast.DataOverviewReq + 124, // 169: Cast.Cast.ArtistMetricsSeries:input_type -> Cast.ArtistMetricsSeriesReq + 126, // 170: Cast.Cast.ArtistMetricsDailyWindow:input_type -> Cast.ArtistMetricsDailyWindowReq + 131, // 171: Cast.Cast.TobeConfirmedList:input_type -> Cast.TobeConfirmedListReq + 136, // 172: Cast.Cast.UpsertMediaMetricsDailyBatch:input_type -> Cast.UpsertMediaMetricsDailyBatchReq + 139, // 173: Cast.Cast.UpsertWorkMetricsDailyBatch:input_type -> Cast.UpsertWorkMetricsDailyBatchReq + 149, // 174: Cast.Cast.ListMediaMetricsDaily:input_type -> Cast.ListMediaMetricsDailyReq + 152, // 175: Cast.Cast.ListWorkMetricsDaily:input_type -> Cast.ListWorkMetricsDailyReq + 163, // 176: Cast.Cast.CalculateMediaMetricsByWorks:input_type -> Cast.CalculateMediaMetricsByWorksReq + 141, // 177: Cast.Cast.GetArtistAyrShareInfo:input_type -> Cast.GetArtistAyrShareInfoReq + 144, // 178: Cast.Cast.GetArtistAyrShareInfoByPlatformIDs:input_type -> Cast.GetArtistAyrShareInfoByPlatformIDsReq + 146, // 179: Cast.Cast.ListWorkPlatformInfo:input_type -> Cast.ListWorkPlatformInfoReq + 155, // 180: Cast.Cast.UpsertTaskList:input_type -> Cast.UpsertTaskListReq + 157, // 181: Cast.Cast.GetTaskList:input_type -> Cast.GetTaskListReq + 160, // 182: Cast.Cast.ListTaskList:input_type -> Cast.ListTaskListReq + 162, // 183: Cast.Cast.DeleteTaskList:input_type -> Cast.DeleteTaskListReq + 165, // 184: Cast.Cast.UpdateCastTag:input_type -> Cast.UpdateCastTagReq + 167, // 185: Cast.Cast.ListCastTags:input_type -> Cast.ListCastTagsReq + 170, // 186: Cast.Cast.UpdateCastTagBatch:input_type -> Cast.UpdateCastTagBatchReq + 172, // 187: Cast.Cast.BatchUpdateCastTags:input_type -> Cast.BatchUpdateCastTagsReq + 173, // 188: Cast.Cast.UpdateCastTagStatus:input_type -> Cast.UpdateCastTagStatusReq + 184, // 189: Cast.Cast.RecalculateCastTagQuoteCount:input_type -> google.protobuf.Empty + 10, // 190: Cast.Cast.MediaUserList:output_type -> Cast.MediaUserListResp + 12, // 191: Cast.Cast.UpdateMediaAccount:output_type -> Cast.UpdateMediaAccountResp + 14, // 192: Cast.Cast.UnbindManager:output_type -> Cast.UnbindManagerResp + 184, // 193: Cast.Cast.BindManager:output_type -> google.protobuf.Empty + 17, // 194: Cast.Cast.UpdateWorkImage:output_type -> Cast.UpdateWorkImageResp + 20, // 195: Cast.Cast.UpdateWorkVideo:output_type -> Cast.UpdateWorkVideoResp + 22, // 196: Cast.Cast.MediaInfo:output_type -> Cast.MediaInfoResp + 24, // 197: Cast.Cast.MediaInfoByPlatform:output_type -> Cast.MediaInfoByPlatformResp + 26, // 198: Cast.Cast.WorkList:output_type -> Cast.WorkListResp + 29, // 199: Cast.Cast.WorkDetail:output_type -> Cast.WorkDetailResp + 184, // 200: Cast.Cast.UpdateStatus:output_type -> google.protobuf.Empty + 32, // 201: Cast.Cast.MediaAccounts:output_type -> Cast.MediaAccountsResp + 34, // 202: Cast.Cast.MediaWorks:output_type -> Cast.MediaWorksResp + 36, // 203: Cast.Cast.Publish:output_type -> Cast.PublishResp + 38, // 204: Cast.Cast.RePublish:output_type -> Cast.RePublishResp + 184, // 205: Cast.Cast.DelWork:output_type -> google.protobuf.Empty + 41, // 206: Cast.Cast.WorkInfo:output_type -> Cast.WorkInfoResp + 43, // 207: Cast.Cast.ArtistInfo:output_type -> Cast.ArtistInfoResp + 45, // 208: Cast.Cast.ImportWorkBatch:output_type -> Cast.ImportWorkBatchResp + 48, // 209: Cast.Cast.UpdateWorkPlatformInfo:output_type -> Cast.UpdateWorkPlatformInfoResp + 184, // 210: Cast.Cast.UpdateWorkPublishLog:output_type -> google.protobuf.Empty + 51, // 211: Cast.Cast.RefreshWorkList:output_type -> Cast.RefreshWorkListResp + 53, // 212: Cast.Cast.OAuthAccount:output_type -> Cast.OAuthAccountResp + 55, // 213: Cast.Cast.OAuthAccountV2:output_type -> Cast.OAuthAccountV2Resp + 59, // 214: Cast.Cast.OAuthCodeToToken:output_type -> Cast.OAuthCodeToTokenResp + 184, // 215: Cast.Cast.UpdateOAuth:output_type -> google.protobuf.Empty + 62, // 216: Cast.Cast.RefreshToken:output_type -> Cast.RefreshTokenResp + 64, // 217: Cast.Cast.PublishMediaInfo:output_type -> Cast.PublishMediaInfoResp + 184, // 218: Cast.Cast.Tools:output_type -> google.protobuf.Empty + 67, // 219: Cast.Cast.UpdateVideoScript:output_type -> Cast.UpdateVideoScriptResp + 69, // 220: Cast.Cast.GetVideoScript:output_type -> Cast.GetVideoScriptResp + 72, // 221: Cast.Cast.ListVideoScripts:output_type -> Cast.ListVideoScriptsResp + 184, // 222: Cast.Cast.DeleteVideoScript:output_type -> google.protobuf.Empty + 75, // 223: Cast.Cast.UpdateVideoScriptBatch:output_type -> Cast.UpdateVideoScriptBatchResp + 184, // 224: Cast.Cast.UpdateScriptStatus:output_type -> google.protobuf.Empty + 79, // 225: Cast.Cast.GetLayout:output_type -> Cast.GetLayoutResp + 184, // 226: Cast.Cast.SetLayout:output_type -> google.protobuf.Empty + 184, // 227: Cast.Cast.UpdatePrompt:output_type -> google.protobuf.Empty + 184, // 228: Cast.Cast.DeletePrompt:output_type -> google.protobuf.Empty + 83, // 229: Cast.Cast.GetPrompt:output_type -> Cast.GetPromptResp + 86, // 230: Cast.Cast.ListPrompts:output_type -> Cast.ListPromptsResp + 88, // 231: Cast.Cast.UpdatePromptBatch:output_type -> Cast.UpdatePromptBatchResp + 91, // 232: Cast.Cast.UpdateArtist:output_type -> Cast.UpdateArtistResp + 93, // 233: Cast.Cast.GetArtist:output_type -> Cast.GetArtistResp + 95, // 234: Cast.Cast.CreateWorkAnalysis:output_type -> Cast.CreateWorkAnalysisResp + 184, // 235: Cast.Cast.UpdateWorkAnalysis:output_type -> google.protobuf.Empty + 184, // 236: Cast.Cast.UpdateWorkAnalysisStatus:output_type -> google.protobuf.Empty + 111, // 237: Cast.Cast.GetWorkAnalysis:output_type -> Cast.GetWorkAnalysisDetailResp + 110, // 238: Cast.Cast.GetLatestWorkAnalysis:output_type -> Cast.GetWorkAnalysisResp + 114, // 239: Cast.Cast.ListWorkAnalysis:output_type -> Cast.ListWorkAnalysisResp + 184, // 240: Cast.Cast.DeleteWorkAnalysis:output_type -> google.protobuf.Empty + 184, // 241: Cast.Cast.UpdateWorkAnalysisApprovalID:output_type -> google.protobuf.Empty + 118, // 242: Cast.Cast.ArtistDataList:output_type -> Cast.ArtistDataListResp + 121, // 243: Cast.Cast.MediaDataList:output_type -> Cast.MediaDataListResp + 123, // 244: Cast.Cast.DataOverview:output_type -> Cast.DataOverviewResp + 125, // 245: Cast.Cast.ArtistMetricsSeries:output_type -> Cast.ArtistMetricsSeriesResp + 130, // 246: Cast.Cast.ArtistMetricsDailyWindow:output_type -> Cast.ArtistMetricsDailyWindowResp + 133, // 247: Cast.Cast.TobeConfirmedList:output_type -> Cast.TobeConfirmedListResp + 137, // 248: Cast.Cast.UpsertMediaMetricsDailyBatch:output_type -> Cast.UpsertMediaMetricsDailyBatchResp + 140, // 249: Cast.Cast.UpsertWorkMetricsDailyBatch:output_type -> Cast.UpsertWorkMetricsDailyBatchResp + 151, // 250: Cast.Cast.ListMediaMetricsDaily:output_type -> Cast.ListMediaMetricsDailyResp + 154, // 251: Cast.Cast.ListWorkMetricsDaily:output_type -> Cast.ListWorkMetricsDailyResp + 164, // 252: Cast.Cast.CalculateMediaMetricsByWorks:output_type -> Cast.CalculateMediaMetricsByWorksResp + 143, // 253: Cast.Cast.GetArtistAyrShareInfo:output_type -> Cast.GetArtistAyrShareInfoResp + 145, // 254: Cast.Cast.GetArtistAyrShareInfoByPlatformIDs:output_type -> Cast.GetArtistAyrShareInfoByPlatformIDsResp + 148, // 255: Cast.Cast.ListWorkPlatformInfo:output_type -> Cast.ListWorkPlatformInfoResp + 156, // 256: Cast.Cast.UpsertTaskList:output_type -> Cast.UpsertTaskListResp + 159, // 257: Cast.Cast.GetTaskList:output_type -> Cast.GetTaskListResp + 161, // 258: Cast.Cast.ListTaskList:output_type -> Cast.ListTaskListResp + 184, // 259: Cast.Cast.DeleteTaskList:output_type -> google.protobuf.Empty + 166, // 260: Cast.Cast.UpdateCastTag:output_type -> Cast.UpdateCastTagResp + 169, // 261: Cast.Cast.ListCastTags:output_type -> Cast.ListCastTagsResp + 171, // 262: Cast.Cast.UpdateCastTagBatch:output_type -> Cast.UpdateCastTagBatchResp + 184, // 263: Cast.Cast.BatchUpdateCastTags:output_type -> google.protobuf.Empty + 184, // 264: Cast.Cast.UpdateCastTagStatus:output_type -> google.protobuf.Empty + 174, // 265: Cast.Cast.RecalculateCastTagQuoteCount:output_type -> Cast.RecalculateCastTagQuoteCountResp + 190, // [190:266] is the sub-list for method output_type + 114, // [114:190] is the sub-list for method input_type + 114, // [114:114] is the sub-list for extension type_name + 114, // [114:114] is the sub-list for extension extendee + 0, // [0:114] is the sub-list for field type_name } func init() { file_pb_fiee_cast_proto_init() } @@ -20640,7 +20723,7 @@ func file_pb_fiee_cast_proto_init() { } } file_pb_fiee_cast_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateCastTagStatusReq); i { + switch v := v.(*BatchUpdateCastTagsReq); i { case 0: return &v.state case 1: @@ -20652,7 +20735,7 @@ func file_pb_fiee_cast_proto_init() { } } file_pb_fiee_cast_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RecalculateCastTagQuoteCountResp); i { + switch v := v.(*UpdateCastTagStatusReq); i { case 0: return &v.state case 1: @@ -20664,6 +20747,18 @@ func file_pb_fiee_cast_proto_init() { } } file_pb_fiee_cast_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecalculateCastTagQuoteCountResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_fiee_cast_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*WorkListResp_Info); i { case 0: return &v.state @@ -20675,7 +20770,7 @@ func file_pb_fiee_cast_proto_init() { return nil } } - file_pb_fiee_cast_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + file_pb_fiee_cast_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MediaAccountsResp_Info); i { case 0: return &v.state @@ -20687,7 +20782,7 @@ func file_pb_fiee_cast_proto_init() { return nil } } - file_pb_fiee_cast_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { + file_pb_fiee_cast_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MediaWorksResp_Info); i { case 0: return &v.state @@ -20699,7 +20794,7 @@ func file_pb_fiee_cast_proto_init() { return nil } } - file_pb_fiee_cast_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { + file_pb_fiee_cast_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PublishResp_Info); i { case 0: return &v.state @@ -20711,7 +20806,7 @@ func file_pb_fiee_cast_proto_init() { return nil } } - file_pb_fiee_cast_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { + file_pb_fiee_cast_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshWorkListResp_Info); i { case 0: return &v.state @@ -20723,7 +20818,7 @@ func file_pb_fiee_cast_proto_init() { return nil } } - file_pb_fiee_cast_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { + file_pb_fiee_cast_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RefreshWorkListResp_Info_PlatformInfo); i { case 0: return &v.state @@ -20735,7 +20830,7 @@ func file_pb_fiee_cast_proto_init() { return nil } } - file_pb_fiee_cast_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { + file_pb_fiee_cast_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateOAuthReq_Info); i { case 0: return &v.state @@ -20754,7 +20849,7 @@ func file_pb_fiee_cast_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_fiee_cast_proto_rawDesc, NumEnums: 7, - NumMessages: 176, + NumMessages: 177, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cast/cast.pb.validate.go b/api/cast/cast.pb.validate.go index 732b1d3..f321525 100644 --- a/api/cast/cast.pb.validate.go +++ b/api/cast/cast.pb.validate.go @@ -20493,6 +20493,8 @@ func (m *ListCastTagsReq) validate(all bool) error { // no validation rules for CreatedAtEnd + // no validation rules for IsWatchCountCalled + // no validation rules for OrderBy // no validation rules for Sort @@ -20625,6 +20627,8 @@ func (m *CastTagInfo) validate(all bool) error { // no validation rules for Success + // no validation rules for IsWatchCountCalled + if len(errors) > 0 { return CastTagInfoMultiError(errors) } @@ -21114,6 +21118,142 @@ var _ interface { ErrorName() string } = UpdateCastTagBatchRespValidationError{} +// Validate checks the field values on BatchUpdateCastTagsReq 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 *BatchUpdateCastTagsReq) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on BatchUpdateCastTagsReq 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 +// BatchUpdateCastTagsReqMultiError, or nil if none found. +func (m *BatchUpdateCastTagsReq) ValidateAll() error { + return m.validate(true) +} + +func (m *BatchUpdateCastTagsReq) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + 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, BatchUpdateCastTagsReqValidationError{ + 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, BatchUpdateCastTagsReqValidationError{ + 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 BatchUpdateCastTagsReqValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return BatchUpdateCastTagsReqMultiError(errors) + } + + return nil +} + +// BatchUpdateCastTagsReqMultiError is an error wrapping multiple validation +// errors returned by BatchUpdateCastTagsReq.ValidateAll() if the designated +// constraints aren't met. +type BatchUpdateCastTagsReqMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m BatchUpdateCastTagsReqMultiError) 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 BatchUpdateCastTagsReqMultiError) AllErrors() []error { return m } + +// BatchUpdateCastTagsReqValidationError is the validation error returned by +// BatchUpdateCastTagsReq.Validate if the designated constraints aren't met. +type BatchUpdateCastTagsReqValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e BatchUpdateCastTagsReqValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e BatchUpdateCastTagsReqValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e BatchUpdateCastTagsReqValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e BatchUpdateCastTagsReqValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e BatchUpdateCastTagsReqValidationError) ErrorName() string { + return "BatchUpdateCastTagsReqValidationError" +} + +// Error satisfies the builtin error interface +func (e BatchUpdateCastTagsReqValidationError) 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 %sBatchUpdateCastTagsReq.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = BatchUpdateCastTagsReqValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = BatchUpdateCastTagsReqValidationError{} + // Validate checks the field values on UpdateCastTagStatusReq 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. diff --git a/api/cast/cast_triple.pb.go b/api/cast/cast_triple.pb.go index 7af4483..08029b1 100644 --- a/api/cast/cast_triple.pb.go +++ b/api/cast/cast_triple.pb.go @@ -116,6 +116,7 @@ type CastClient interface { UpdateCastTag(ctx context.Context, in *UpdateCastTagReq, opts ...grpc_go.CallOption) (*UpdateCastTagResp, common.ErrorWithAttachment) ListCastTags(ctx context.Context, in *ListCastTagsReq, opts ...grpc_go.CallOption) (*ListCastTagsResp, common.ErrorWithAttachment) UpdateCastTagBatch(ctx context.Context, in *UpdateCastTagBatchReq, opts ...grpc_go.CallOption) (*UpdateCastTagBatchResp, common.ErrorWithAttachment) + BatchUpdateCastTags(ctx context.Context, in *BatchUpdateCastTagsReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) UpdateCastTagStatus(ctx context.Context, in *UpdateCastTagStatusReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) RecalculateCastTagQuoteCount(ctx context.Context, in *emptypb.Empty, opts ...grpc_go.CallOption) (*RecalculateCastTagQuoteCountResp, common.ErrorWithAttachment) } @@ -198,6 +199,7 @@ type CastClientImpl struct { UpdateCastTag func(ctx context.Context, in *UpdateCastTagReq) (*UpdateCastTagResp, error) ListCastTags func(ctx context.Context, in *ListCastTagsReq) (*ListCastTagsResp, error) UpdateCastTagBatch func(ctx context.Context, in *UpdateCastTagBatchReq) (*UpdateCastTagBatchResp, error) + BatchUpdateCastTags func(ctx context.Context, in *BatchUpdateCastTagsReq) (*emptypb.Empty, error) UpdateCastTagStatus func(ctx context.Context, in *UpdateCastTagStatusReq) (*emptypb.Empty, error) RecalculateCastTagQuoteCount func(ctx context.Context, in *emptypb.Empty) (*RecalculateCastTagQuoteCountResp, error) } @@ -652,6 +654,12 @@ func (c *castClient) UpdateCastTagBatch(ctx context.Context, in *UpdateCastTagBa return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateCastTagBatch", in, out) } +func (c *castClient) BatchUpdateCastTags(ctx context.Context, in *BatchUpdateCastTagsReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { + out := new(emptypb.Empty) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BatchUpdateCastTags", in, out) +} + func (c *castClient) UpdateCastTagStatus(ctx context.Context, in *UpdateCastTagStatusReq, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { out := new(emptypb.Empty) interfaceKey := ctx.Value(constant.InterfaceKey).(string) @@ -755,6 +763,7 @@ type CastServer interface { UpdateCastTag(context.Context, *UpdateCastTagReq) (*UpdateCastTagResp, error) ListCastTags(context.Context, *ListCastTagsReq) (*ListCastTagsResp, error) UpdateCastTagBatch(context.Context, *UpdateCastTagBatchReq) (*UpdateCastTagBatchResp, error) + BatchUpdateCastTags(context.Context, *BatchUpdateCastTagsReq) (*emptypb.Empty, error) UpdateCastTagStatus(context.Context, *UpdateCastTagStatusReq) (*emptypb.Empty, error) RecalculateCastTagQuoteCount(context.Context, *emptypb.Empty) (*RecalculateCastTagQuoteCountResp, error) mustEmbedUnimplementedCastServer() @@ -984,6 +993,9 @@ func (UnimplementedCastServer) ListCastTags(context.Context, *ListCastTagsReq) ( func (UnimplementedCastServer) UpdateCastTagBatch(context.Context, *UpdateCastTagBatchReq) (*UpdateCastTagBatchResp, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateCastTagBatch not implemented") } +func (UnimplementedCastServer) BatchUpdateCastTags(context.Context, *BatchUpdateCastTagsReq) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchUpdateCastTags not implemented") +} func (UnimplementedCastServer) UpdateCastTagStatus(context.Context, *UpdateCastTagStatusReq) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateCastTagStatus not implemented") } @@ -3135,6 +3147,35 @@ func _Cast_UpdateCastTagBatch_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } +func _Cast_BatchUpdateCastTags_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchUpdateCastTagsReq) + 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("BatchUpdateCastTags", 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 _Cast_UpdateCastTagStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { in := new(UpdateCastTagStatusReq) if err := dec(in); err != nil { @@ -3492,6 +3533,10 @@ var Cast_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "UpdateCastTagBatch", Handler: _Cast_UpdateCastTagBatch_Handler, }, + { + MethodName: "BatchUpdateCastTags", + Handler: _Cast_BatchUpdateCastTags_Handler, + }, { MethodName: "UpdateCastTagStatus", Handler: _Cast_UpdateCastTagStatus_Handler, diff --git a/pkg/cron/task.go b/pkg/cron/task.go index e61e24d..c8d5790 100644 --- a/pkg/cron/task.go +++ b/pkg/cron/task.go @@ -5,6 +5,7 @@ import ( "encoding/json" "errors" "fmt" + "fonchain-fiee/api/aryshare" "fonchain-fiee/api/bundle" "fonchain-fiee/api/cast" "fonchain-fiee/pkg/cache" @@ -16,6 +17,7 @@ import ( "log" "math/rand" "strconv" + "strings" "time" "github.com/go-redis/redis" @@ -40,6 +42,9 @@ func InitTasks() error { if err != nil { log.Printf("添加定时任务失败: %v", err) } + + // 每2分钟执行一次标签观看次数更新任务 + // err = cm.AddTask("updateCastTagWatchCount", "0 */2 * * * *", UpdateCastTagWatchCountTask) cm.Start() // 启动队列消费者 @@ -508,3 +513,131 @@ func AyrshareMetricsCollectorTask() { func RefreshArtistOrderTask() { service.CastProvider.Tools(context.Background(), &cast.ToolsReq{Action: "refreshArtistOrder"}) } + +// UpdateCastTagWatchCountTask 更新标签观看次数的定时任务(每5分钟执行一次) +func UpdateCastTagWatchCountTask() { + ctx := context.Background() + + // 计算两天前的00:00:00 + now := time.Now() + twoDaysAgo := now.AddDate(0, 0, -2) + createdAtStart := time.Date(twoDaysAgo.Year(), twoDaysAgo.Month(), twoDaysAgo.Day(), 0, 0, 0, 0, twoDaysAgo.Location()) + createdAtEnd := now + + // 格式化时间字符串:2026-01-01 00:00:00 + createdAtStartStr := createdAtStart.Format("2006-01-02 15:04:05") + createdAtEndStr := createdAtEnd.Format("2006-01-02 15:04:05") + + // 调用 ListCastTags 接口,筛选 IsWatchCountCalled = 2 的数据 + listReq := &cast.ListCastTagsReq{ + CreatedAtStart: createdAtStartStr, + CreatedAtEnd: createdAtEndStr, + IsWatchCountCalled: 2, // 2表示未调用 + Page: 1, + PageSize: 20, + } + + listResp, err := service.CastProvider.ListCastTags(ctx, listReq) + if err != nil { + zap.L().Error("获取标签列表失败", zap.Error(err)) + return + } + + if listResp.Data == nil || len(listResp.Data) == 0 { + return + } + + zap.L().Info("获取到需要更新的标签", zap.Int("count", len(listResp.Data))) + + // 获取有效的 profileKey + profileKey, err := serverCast.GetValidProfileKey(ctx, []uint32{1}) + if err != nil { + zap.L().Error("获取有效profileKey失败", zap.Error(err)) + return + } + + // 准备批量更新的数据 + updateData := make([]*cast.CastTagInfo, 0, len(listResp.Data)) + + // 遍历每个标签,调用 RecommendHashtags 接口 + for _, tag := range listResp.Data { + if tag.HashTag == "" { + zap.L().Warn("标签HashTag为空,跳过", zap.String("uuid", tag.Uuid)) + // 即使HashTag为空,也要更新IsWatchCountCalled为1 + updateData = append(updateData, &cast.CastTagInfo{ + Uuid: tag.Uuid, + WatchCount: 1, + IsWatchCountCalled: 1, + }) + continue + } + + // 调用 RecommendHashtags 接口 + recommendReq := &aryshare.RecommendHashtagsRequest{ + Keyword: tag.HashTag, + ProfileKey: profileKey, + } + + recommendResp, err := service.AyrshareProvider.RecommendHashtags(ctx, recommendReq) + if err != nil { + zap.L().Error("调用RecommendHashtags接口失败", + zap.String("hashTag", tag.HashTag), + zap.String("uuid", tag.Uuid), + zap.Error(err)) + // 调用失败时,将WatchCount更新为1,IsWatchCountCalled更新为1 + updateData = append(updateData, &cast.CastTagInfo{ + Uuid: tag.Uuid, + WatchCount: 1, + IsWatchCountCalled: 1, + }) + continue + } + + // 对比返回结果,查找完全一致的标签 + var matchedViewCount int64 = 0 + if recommendResp.Recommendations != nil { + for _, recommendation := range recommendResp.Recommendations { + // 完全一致匹配(不区分大小写) + if strings.EqualFold(recommendation.Name, tag.HashTag) { + matchedViewCount = recommendation.ViewCount + break + } + } + } + + // 根据匹配结果更新WatchCount + var watchCount int32 = 1 + if matchedViewCount > 0 { + watchCount = int32(matchedViewCount) + } + + // 添加到更新列表 + updateData = append(updateData, &cast.CastTagInfo{ + Uuid: tag.Uuid, + WatchCount: watchCount, + IsWatchCountCalled: 1, + }) + + zap.L().Debug("处理标签完成", + zap.String("hashTag", tag.HashTag), + zap.String("uuid", tag.Uuid), + zap.Int64("matchedViewCount", matchedViewCount), + zap.Int32("watchCount", watchCount)) + } + + // 如果没有需要更新的数据,直接返回 + if len(updateData) == 0 { + return + } + + // 批量更新标签 + batchUpdateReq := &cast.BatchUpdateCastTagsReq{ + Data: updateData, + } + + _, err = service.CastProvider.BatchUpdateCastTags(ctx, batchUpdateReq) + if err != nil { + zap.L().Error("批量更新标签失败", zap.Error(err), zap.Int("count", len(updateData))) + return + } +}